Add `openstack overcloud ceph user enable | disable`
command line option. As requested by those who wish to
disable cephadm and the user which supports it after
deployment. The SSH user and cephadm may be re-enabled
when it is necessary to administer the Ceph cluster.
This also allows the cephadm SSH user to be created
in a separate step.
Add --skip-user-create to 'openstack overcloud ceph deploy'
in case 'openstack overcloud ceph user enable' was used to
handle that step earlier.
Depends-On: I648cdf8c8920c120049f05f13f8b7b73513899f1
Change-Id: Ibd4513183f59ebb94d841a847ecfab0425ba8f5a
The following commands have been removed:
overcloud container image upload
overcloud container image build
overcloud container image prepare
overcloud container image tag discover
They were replaced by the tripleo container based commands and no longer
function.
Change-Id: Ic1f4d76c9e7bf3579b7e47d87b0ee2c86251c0d6
- Adding a new command overcloud backup restore for running the
the restoration process. This command includes a required
argument for specifying the node "--node-name".
- tests/v1/overcloud_restore/test_backup.py added for
unit testing the command
Change-Id: Id78443453718f8174bf95ad9209e7163b6afef64
Update converge is largely unnecessary now with
ephemeral Heat. There is no Heat stack to update,
so we are doing nothing more than executing a
standard deployment using Ansible. Removing
the requirement for update converge will simplify
the process and improve user experience by reducing
the time it takes to perform minor updates.
Depends-On: https://review.opendev.org/c/openstack/tripleo-upgrade/+/810134
Change-Id: I750a733b722353d1ea0c6f904bafc769d7ddb9ff
The new "openstack overcloud ceph deploy" is used to deploy
Ceph after the hardware has been provisioned with networking
and before the overcloud is deployed. The command takes the
output of "openstack overcloud node provision" as input and
returns a Heat enviornment file, e.g. deployed_ceph.yaml,
as output. The deployed_ceph.yaml file may then be passed
to the "openstack overcloud deploy" command as input.
Change-Id: Ie0032190f0c07fd47a36a1915c02f0ba1a9ae2a4
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: Ic09b4713ad38a93b7ff0abda7b6a81c2f64c1f40
This revert is done due to several reasons:
* The move of the CLI wont be backported in the stable branches so
we will have to maintain one CLI in tripleo-validations for Master
and tripleoclient for the older branches
* We plan to form tripleo-validations as an Ansible collection so
having the dedicated tripleo validations CLI outside now make sense
* We are creating a core CLI in the framework itself in order to converge
all the logics in one uniq place. The tripleoclient implementation will
be only caller on top of this, without almost no logic in the code, just
a specific tripleo layer
Change-Id: Iac8601399a835e55b53c4820e280e255f624ceec
Add command to extract Virtual IPs information from
a deployed overcloud. This writes a 'vip_data' file
that should be used when managing neutron Virtual IP
resources "outside" the overcloud Heat stack.
Add command to provision Virtual IPs using 'vip_data'
file as input. This command will output a
'vip_environment' file with the resource_registry and
paramters to replace the neutron resources in the
overcloud Heat stack.
Depends-On: https://review.opendev.org/774857
Partial-Implements: blueprint network-data-v2-ports
Change-Id: Id9b5c621c25158bb72559c3d3c52a62c840b3a6a
Add a new subclass, HeatPodLauncher to launching an emphemeral Heat
within a podman pod. The pod contains separate processes for Heat API
and engine, allowing for multiple engine workers (defaults to cpu
logical core count / 2).
The pod makes use of the undercloud's already installed database and
message bus.
Change-Id: Ie8b4a5ca83284f66dceae32c6f2fc99cdc8c9ffb
Signed-off-by: James Slagle <jslagle@redhat.com>
Now that the plan is gone, you can just use an environment
file with the new parameters. This was mostly useful with
tripleo-ui which leveraged the plan.
Change-Id: I998cc9631e15677939e2b8f7a112ccba5606662d
- fixes two issues identified by newer flake8
- upgrades flake8 and keeps it pinned
- removes hacking as this is no longer needed, as pre-commit does
its own pinning.
- enables us to easily add other linters, pylint would come in
follow-up
Change-Id: If26234fad0cd982bd7d3dc23c42021b357c6bde9
Related-Bug: #1910543
This patch remove tripleo validator from tripleoclient to
tripleo-validations repository.
The change is related to the effort to make the validation
act as a plugin/component on top of tripleo and not being
part of the core of tripleo.
Change-Id: I1e08eb07ce1f0d138f9c5101b9fe770c5da9b3f9
Add a new command to export Ceph information from one or
more Heat stacks to be used as input of another stack.
Creates a valid YAML file with the CephExternalMultiConfig
parameter populated.
Also have export's export_password use yaml.safe_load in
place of the deprecated yaml.load.
Closes-Bug: #1895034
Change-Id: Ibdf9115e92c6b476b99d6df785b0c7e9f23991de
Now that the FFU process relies on the openstack overcloud upgrade
commands there is no need to keep the old ffwd-upgrade command
available.
This patch removes the three ffwd-upgrade (run, prepare and converge)
as well as their tests, utils functions and constants.
Change-Id: If0c0ed9a44a51cf367fd060c77e10055f367694c
To keep consistency between class names for the upgrade
library, this patch renames the UpgradeConvergeOvercloud
into UpgradeConverge.
Change-Id: Ib73a803bf24af876c00583b3793e828fb528a26d
These translation sections are not needed anymore, Babel can
generate translation files without them.
Remove babel.cfg as well, this is the default role and not needed
anymore.
also remove Babel from requirements[1]
[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014227.html
Change-Id: I8a5b7c3fc87a27c774deb368b877a9697ba320f3
This will allow administrators to perform a backup of the undercloud or
overcloud from the existing backup and restore role which is included
in the tripleo-anisble project.
Depends-on: https://review.opendev.org/720087
Change-Id: If25b71ae4d12208875d0fbcd9e16188a6f018f99
This change adds a CLI command to invoke hotfixes via the TripleO modify
image role. This CLI command will ensure a uniform experience for operators
when needing to apply a hotfixes to containers.
Change-Id: I364fb42a41b4cb4ae076f07704c72c6ea442a198
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change adds a v2 entry point to allow us to build images within the
native tripleoclient. Images will leverage the new
`tripleo_container_image_build` role which will produce simplified
container files and and an image structure inline with the simple
container generation spec.
Depends-On: https://review.opendev.org/722486
Change-Id: I279e95722fe7a10148d36c99c7179c33a3a767a0
Signed-off-by: Kevin Carter <kecarter@redhat.com>
As a first step to upgrade to a nova-less undercloud, the baremetal
deployment yaml which represents the current overcloud needs to be
built.
This command builds the yaml for an existing overcloud using the
heat stack output AnsibleHostVarsMap and a list of all baremetal
nodes. When the generated yaml is used to run "openstack overcloud
node provision" no changes will be made to any nodes.
Blueprint: nova-less-deploy
Change-Id: I47c885697bf36b999fd0ad9bd99a23990440ed62
This was added to fetch the ansible errors via mistral api. We had
long removed the json_error.py callback plugin that used to write
ansible-errors.json, when moving ansible code to tripleo-ansible
repo and the command is useless now. Also, users won't need it as
they can get the errors from ansible.log.
Change-Id: Iceb4c282f3ae9fcb2c3836263ba66f5792e42334
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: I45b5b8582b67b39823a6e21221c491842b390b96
This inteface is probably not used and does not work by default as
we've disabled os-collect-config on overcloud nodes since rocky.
This uses heat software deployments and swift temp url based signaling
which does not go with config-download and ansible based roadmap without
mistral and swift.
If required users/operators can write custom playbooks to do additional
configuration required on nodes.
Change-Id: I931bae6953b00290c006a02cc24c6c9718d5d6ac
This patch adds logging support for validations. It introduces two new
Tripleo Validator commands to allow the user to get the executions
history and get the details of them.
Change-Id: Ie80318a7fa684adb7c3bf7c99d526b0de64b0904
Depends-On: I502c38d3f27db3c6f62a47190136dd03627956bc
Depends-On: I0cb2743d1d4d118320a799c6820d48f9b917498f
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
This change converts the support deployment and workflow process to use an ansible
playbook instead of a mistral workflow. The overcloud_support module has been
updated and moved to the V2 client and all tests in support of this new process
have been updated.
Story: 2007212
Task: 38431
Task: 38432
Depends-On: I606f1ee3bc323e5c83d09ca9bc8f7e4033e81e70
Change-Id: If47e1e64e251e72d5bc8d0eb253d931257fd2ca8
Signed-off-by: Kevin Carter <kecarter@redhat.com>
The overcloud delete command will now use the ansible playbook found
within the tripleo-ansible project to process the stack delete workflow.
story: 2007212
task: 2007212
Depends-On: Ic0bd173ad34d1c01a58a66d9a754acd3093a972c
Change-Id: I9f461803ecf3abdf46c0b2b629e6e6708f3160cb
The baremetal introspection command has been implemented in v2 using
an ansible playbook instead of a mistral workflow.
Story: 2007212
Task: 38444
Task: 38445
Change-Id: I61a4d1ae241bd3877abbc77bf4bad226d2502379
This playbook reflects the same behaviour as the mistral workbook
of the same name and adds functionality discussed on this external
bug: https://bugzilla.redhat.com/show_bug.cgi?id=1659888
This also adds a --save-swift parameter (default false)
that makes the backup be saved on swift otherwise it will
be saved on the filesystem.
Depends-On: I309d52eb424a73bd04af167a2a7411ba3bf35674
Change-Id: I054a805e820087a30bd8d27a0b460b6e519849ac
Signed-off-by: Kevin Carter <kecarter@redhat.com>
Adds a new command under the tripleo namespace for launching the all in
one heat-all process in the foreground. The new command reuses the code
from heat_launcher.py already in place for the tripleo deploy commands.
Launching the heat-all process separately from tripleo deploy allows for
easily spinning up a heat-all environment for stack creation and
generating the config-download ansible content for development and test.
Change-Id: I16d23faca6d8c2d0abf13dbdf91b810717ac585e
This patch hardly refactors the TripleO Validator CLI. The 'List'
subcommand has been split in different new subcommands which does "one
thing and only one thing". It also adds the support for the TripleO
history file and integrates better the CLI with the openstack client
library, which simplifies it a lot.
The subcommands are:
- To display the full list of validations or by group(s):
```
$ openstack tripleo validator list
```
- To display full details about one validation:
```
$ openstack tripleo validator show
```
- To display the available parameters for one or multiple validations,
export them in a JSON or YAML file:
```
$ openstack tripleo validator show parameter
```
- To display full details about the groups used by the validations:
```
$ openstack tripleo validator group info
```
- To run one or several validations by names or by groups:
```
$ openstack tripleo validator run
```
Depends-On: I56b9d39c113cfb30695fe8cf2740ae147b0dd3e4
Change-Id: I09e2cba484d3a91915fb9294bc351b5d7f3aca0f
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Add a new command to export the data from a control plane stack for
multi-stack. The created export file can be used as input into a compute
stack for the multi-stack feature.
Also refactors the overcloud cell export command to use the same common
code.
Closes-Bug: #1850636
Change-Id: I6e145d7a54dcd306c4633ebd4d7471a19a967a86
This is a companion command to "openstack overcloud node provision"
which is required for scale-down and should be run after "openstack
overcloud deploy".
It will undeploy any instance which has provisioned=False in the
supplied roles yaml, see this change[1] for the provisioned format.
[1] https://review.opendev.org/#/c/672605/
Change-Id: Ic7705c290220df7c55656fa080ff74315fb2030f
Blueprint: nova-less-deploy
Depends-On: https://review.opendev.org/#/c/672848/
This patch implements the tripleo container image push command.
Change-Id: Ifc2588e9e62582530f19c852715dea3ff68d9fa4
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
[1] provides the steps on how to setup multiple cells using tripleo.
This requires to extract deployment information from the overcloud
/control plane stack which then is used as input for the cell
deployment.
With this patch we provide a new tripleoclient functionality which
helps
to automate the export steps from [1]:
* Export the default cell EndpointMap
* Export the default cell HostsEntry
* Export AllNodesConfig and GlobalConfig information
* Export passwords
[1] https://docs.openstack.org/tripleo-docs/latest/install/advanced_deployment/deploy_cellv2.html#deploy-an-additional-nova-cell-v2
Depends-On: https://review.opendev.org/672415
Change-Id: Id7fdbf029a6dd1b45e9801c9cf8814a15a157ee0
This was a left over from the development of the containerized
undercloud and has been deprecated for some time. Additionally it just
redirected to the undercloud install logic anyway.
Change-Id: I96709e67064c8b3347c9dfcd511ba823eb9dc370
Add the ability to install an undercloud minion which is connected to an
original undercloud. This minion can have either heat-engine or
ironic-conductor deployed on it.
Adds two new openstack commands for the minion install and a new
minion.conf can be used to configure them.
openstack undercloud minion install
openstack undercloud minion upgrade
Depends-On: https://review.opendev.org/#/c/656984
Change-Id: I61832f5088be172eaf31b36a9cca8dc289580bb2
Related-Blueprint: undercloud-minion
This patch implements the tripleo container image list command, reading
for a remote registry URL, e.g. localhost:8787.
Returns a single column ascii table with full names of each image
discovered.
Change-Id: I44d19692fb7ab16797460215a98baf75e6b82034