Comment 16 for bug 1961325

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/python-tripleoclient/+/845482
Committed: https://opendev.org/openstack/python-tripleoclient/commit/46919b64db6764fa74c7500422cce85728d04f4a
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 46919b64db6764fa74c7500422cce85728d04f4a
Author: John Fulton <email address hidden>
Date: Tue Dec 21 17:04:50 2021 +0000

    Squash standalone deployed_ceph for pythonclient to Wallaby

    This squash backports the standalone deployed_ceph feature to
    Wallaby without introducing related bugs. It has 5 commits.

    Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/845595

    1. Add --mon-ip option to deployed ceph

    Add --mon-ip option to 'openstack overcloud
    ceph deploy', to easily override the variable
    tripleo_cephadm_first_mon_ip from the CLI.

    This option makes deployed ceph easier when
    using standalone.

    Change-Id: Id9a61356e8fd4618ce68faa2677f4ed30981b7d6
    (cherry picked from commit 2ac3953410337361777974cb2dccde3231ee3116)

    2. Make deployed ceph baremetal file optional

    If the --ceph-spec option is passed to 'openstack
    overcloud ceph deploy', then it is not necessary
    for the path to the environment file output from
    'openstack overcloud node provision' to be passed.

    Add conditional to ensure that either --ceph-spec
    or <deployed_baremetal.yaml> are used and add two
    unit tests to cover all three scenarios: a. metal
    is passed, b. spec is passed and c. neither are
    passed so a failure is asserted.

    Change-Id: Ibd350956f401fa48aaeae89fdd5e0bd9c28d0685
    (cherry picked from commit 84055814f9303a3fea6a252a24c2d9d123535bea)

    3. Introduce "openstack overcloud ceph spec"

    This command may be used to create a cephadm spec file as
    a function of the output of metalsmith and a TripleO roles
    file.

    Calls cli-deployed-ceph.yaml with ceph_spec tag so users
    may create the Ceph spec in a separate step from the Ceph
    Deployment. The Ceph spec file may be then be passed to
    "openstack overcloud ceph deploy".

    Also, supports a --standalone feature which directly calls
    the ceph_spec library in tripleo-common in the depends-on
    chain. As Ansible is used less the tripleo-pythonclient can
    use the ceph_spec library directly for more than just the
    --standalone feature.

    Change-Id: Icd18de08ebc818441e45ff7ce9f348fbc5813253
    (cherry picked from commit 3701f2ac318373250210c85f3483cd4f1be17dc7)

    4. Add --standalone to overcloud ceph user and deploy

    Both 'openstack overcloud ceph user enable' and 'openstack
    overcloud ceph deploy' currently use Ansible and require an
    inventory with hosts matching those in the Ceph spec. The
    inventory is created in the working directory when 'openstack
    overcloud node provision' runs but for a standalone deployment
    the user would need to create it manually. Abstract this detail
    away by providing a --standalone option for single node deploys
    which do not use metalsmith.

    Change-Id: Icb785f015ee69d45dd513aef09fac625de421250
    (cherry picked from commit 88ec87caf625f3a28382c484ec93ebdae1fe33b6)

    5. Build standalone ceph_spec with Ansible

    Instead of calling the ceph_spec library directly from
    the python-tripleoclient call an ansible wrapper to it
    instead so that the library does not need to live in
    tripleo-common and bug 1961325 can be avoided.

    Closes-Bug: 1961325
    Change-Id: I7514c95b5c3c24a82e8703556d4205b272270511
    (cherry picked from commit ec411b93297f2c841b03f7afb55a51bf2a0f0d0e)