python-tripleoclient/releasenotes/notes/overcloud_ceph_spec-e1cfd358c4db2b22.yaml
John Fulton 46919b64db 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 2ac3953410)

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 84055814f9)

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 3701f2ac31)

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 88ec87caf6)

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 ec411b9329)
2022-06-23 16:23:47 +00:00

15 lines
844 B
YAML

---
features:
- |
New command "openstack overcloud ceph spec" has been added. This command
may be used to create a cephadm spec file as a function of the output of
metalsmith and a TripleO roles file. For example, if metalsmith output a
file with multiple hosts of differing roles and each role contained various
Ceph services, then a cephadm spec file could parse these files and return
input compatible with cephadm. The ceph spec file may be then be passed to
"openstack overcloud ceph deploy" so that cephadm deploys only those Ceph
services on those hosts. This feature should save users from the need to
create two different files containing much of the same data and make it
easier and less error prone to include Ceph in a deployment without the
need to manually create the Ceph spec file.