We are psyched to announce the release of: python-tripleoclient 17.1.0: TripleO client The source is available from: https://opendev.org/openstack/python-tripleoclient Download the package from: https://tarballs.openstack.org/python-tripleoclient/ For more details, please see below. 17.1.0 ^^^^^^ Prelude ******* During a minor update of the overcloud. It was previously necessary to execute 3 steps. - Update Prepare - Update Run - Update Converge Starting in W, it is no longer necessary to perform a Stack update during the converge. This change removes the stack update from the converge step. Now, we will just run the deploy_steps_playbook instead. New Features ************ * Added options for "overcloud delete" command to unprovision networks provisioned with "overcloud deploy" or with "overcloud network provision". * The commands *openstack overcloud node import* and *openstack overcloud node configure* now have a --boot-mode arguement which allows the boot mode for all affected nodes to be set to UEFI boot (uefi) or legacy BIOS boot (bios). This allows some nodes to have a different boot mode to the default (uefi). * The "enable_mistral" parameter and the "enable_zaqar" parameter in undercloud/standalone deployment have been deprecated and will be removed in a future release. * Neutron resources for overcloud deployments on the undercloud is now managed with tooling external to the Heat stack. Networks and subnet resources as well as Virtual IPs for an overcloud can either be manged using separate commands or the all- in-one "overcloud deploy" by using the new network data YAML definition as "--networks-file" and the "--vip-file" arguments with this command. Overcloud node network ports are now managed by the baremetal node provisioning workflow. Baremeteal nodes, and the network resources, can be provisioned using the separate "overcloud node provision" command. Alternatively the all-in-one "overcloud deploy" command will run the baremetal node provisioning steps if the "--baremetal- deployment" argument is used. Please refer to the Networking Version 2 (Two) (https://docs.openstack.org/project-deploy-guide/tripleo- docs/latest/deployment/network_v2.html). documentation page for more details. * Undercloud is now deployed without keystone and deploys standalone openstack services with http_basic authentication. A new option 'enable_keystone' has been added to enable keystone in the undercloud if required. * An ephemeral Heat process is now used by default for overcloud deployment. On each overcloud management operation (deploy/update/upgrade), a containerized Heat process will be started, the stack will be created new, and then the Heat process will be stopped. The enable_heat option is undercloud.conf is now defaulted to False. * A new command "openstack overcloud ceph deploy" is added. The command 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. During overcloud deployment the Ceph cluster is then configured to host OpenStack. E.g. cephx keys and pools are still created on the Ceph cluster by "openstack overcloud deploy". Upgrade Notes ************* * The following two options have been removed. * "docker_registry_mirror" * "docker_insecure_registries" * The "container_cli" parameter no longer accepts "docker". Now only "podman" is accepted as a valid value. * The network data defintion used with the overcloud deployement must be updated to version 2. The undercloud upgrade will execute the command ("openstack overcloud network extract") to generate the network data definition for each deployed overcloud. The undercloud upgrade will save the new file in the working directory for each stack, defaults to "overcloud- deploy/<STACK_NAME>/tripleo-<STACK_NAME>-network-data.yaml". * A new YAML definition file for overcloud stack virtual IPs must be used. The undercloud upgrade will execute the command ("overcloud network vip extract") to generate this file for each deployed overcloud. The undercloud upgrade will save the new file in the working directory for each stack, defaults to "overcloud-deploy/< STACK_NAME>/tripleo-<STACK_NAME>-virtual-ips.yaml". * The baremetal node defintion has been extended to support neutron port resource managment, this requires additional input in the YAML definition used for baremetal node provisioning. The undercloud upgrade will execute the command ("overcloud node extract provisioned") to generate this file for each deployed overcloud. The undercloud upgrade will save the new file in the working directory for each stack, defaults to "overcloud- deploy/<STACK_NAME>/tripleo-<STACK_NAME>-baremetal- deployment.yaml.yaml". * keystone service would not be deployed by default in the undercloud. Deprecation Notes ***************** * The "--local" argument to the "openstack overcloud image upload" command has been deprecated and a "--no-local" argument has been added. Earlier we used to fallback to upload locally when glance was not available. As glance is not installed in the undercloud by default, we would upload images locally unless "--no-local" is used. * The "enable_novajoin" parameter in undercloud/standalone deployment has been deprecated. * To enable management of neutron resources external to Heat the network data YAML definition schema has been updated. The previous schema version has been deprecated, using the deprecated v1 schema is only possible when the deprecated non-ephemeral Heat on the Undercloud. * Managing netron resources for composable networks is now enabled by default when provisioning baremetal nodes. The option "--network- ports" has been deprecated, and is a NOOP until it is fully removed. * Setting enable_heat=True in undercloud.conf is deprecated. * Using --heat-type=installed is deprecated with the openstack overcloud commands. Other Notes *********** * Removed --standalone from *openstack tripleo deploy* command. Changes in python-tripleoclient 17.0.0..17.1.0 ---------------------------------------------- 06d55449 Deprecate and ignore --skip-nodes-and-networks 3d28153e Check for passwords at old path during tripleo deploy 4dbb4531 Drop minion 9ec11521 Drop python2 logic for upgrades 4d511679 Drop six d5457bfb Use real tmpdir for ansible runner tests f9e5d79f Remove ipxe_enabled ppc64le validation d66861b2 Remove --no-workflow option 5719f37e Release note for network-v2 51753617 Donot install policycoreutils-python for cs9 17fd85ab bnr enabled ramdisk as deploy interfaces on the ironic/undercloud e8d1da4b Update deployment status after upgrade converge 13a9ced0 Deprecate network data v1 definition 40d1be0a Remove zaqar 081922a6 Remove mistral b6a1b081 Return "overcloud status" output without debug 1d2c6981 Add `--heat-type` in overcloud delete 99d4ac50 Update overcloud deploy help for default heat type 5020a8a6 Fix update run for Ephemeral Heat 81cd1056 Dynamic defaults for roles, networks, vips and bm fb6daace Allow to pass arbitrary parameters to TCIB image config ae6958a8 Add --boot-mode to import and configure 3652fb41 Update default images for "tripleo launch heat" 0a4f9c7a Add network unprovision to overcloud delete 5cbc2b8e Remove --standalone option 9c2e909c Ensure directories exist before copying fdd98894 Eliminating a race condition in the export_stack function 2939ed85 New test case and documentation for the export_stack function. bc95bc6c Changing MD5 hash to SHA512 61e4f4c7 Introduce "openstack overcloud ceph deploy" 24ee6925 Enabling cover job in the zuul 812681dc Overriding the log path argument for tripleoclient cli 86381b4b Enable py38 test d3e63bc3 Remove reference to --network-ports 377c081f Workaround py36 encoding pip bug 7dd1f6e2 Fetch stack after updating it a3c726c2 Restore kernel and ramdisk arguments to node configure e6e90bd9 Check for neutron resources with ephemeral Heat b7b934b6 Update playbooks to use consistent working dir 12d9efbd Fix 'cell export' no attribute exception 6780cd74 Make the "success" message more "success"-like 98839093 Tidy up lingering todo's f1084284 Remove name parameter from cell export 0adc5bb9 Fix --stack-only to download ansible playbooks 253bd6e7 make net_config_override of undercloud.conf work with yaml d7e8bfb0 Enabling pylint no-else-return c455a414 Fail the overcloud deploy is ceph-ansible.yaml is included 1016c8c2 Tests for tripleo_config bdc976e4 Add --reproduce-command option for tripleo deploy efdefd92 Passes playbook to the validation action as a list 26213f3a Use 'all' for ANSIBLE_VARS_PLUGIN_STAGE 6a0adcbb Unmount heat-all tmpfs dir when done 0cde1bff Fix get_deployment_status() for ephemeral heat c5347fba Allow for cron programming of backups 3f6f67c1 Remove cyclic import between export and utils 817c8e33 Always write ansible-playbook-command.sh f0f1d271 Remove deprecation warnings for the role command 078f67ec Correct exception b7879044 Add option to enable keystone in undercloud b3bcf63f Deprecate --network-ports, enable it by default ee1990ef Remove redundant defaults e7a42695 Remove deprecated docker_* options 4ac60f88 Validate the container_cli option 86522255 Implement protected resource types 9c997ff0 Add '--templates' arg to node and net provision a586cb77 Honor role and networks file constants 56e3ca0d Update description of the templates option 8e861fa2 Move FakeFlavor class to fakes.py 92d11b96 Switch inventory to directory 5595057d Fix copying of deployment archive a9d4d523 Deprecate enable_novajoin 4de40a06 Deprecate enable_mistral and enable_zaqar 5f8bd778 Standalone: Remove undercloud from parameter descriptions 429055ef Use same config download method as overcloud for tripleo deploy e7680909 Unprovision composable networks command 952eb85a Option to disable Node, Net and VIP provisioning 2400624b Moving the 'export_data' dict into constants 915ddcb6 Image upload: handle whole-disk image as default 3f303b90 Always run growvols playbook after provision 268f638f Default Heat images to container image prepare defaults 761b791b Drop noauth_policy and use the default cc2ac4a8 Restoration of the 'export_passwords' exclusion 4cf79c5c Copy the deployment archive to /var/lib/tripleo 10722b5f Deprecate overcloud image upload to glance e895c326 Use {{role.name}}Services parameters 9facf538 Drop deprecated "macs" field in nodes_json 654331cc Trigger Validation on standalone job with tripleo CLI command 8df2e97d Use upper constraints with install command 05b47bc0 overcloud deploy - net ports with baremetal deploy c3a8abfd Make 'ansible_playbooks' pre-network config only ef077696 overcloud deploy - provision virtual ips 28722a7b Drop mistralclient from requirements 030e9f0b Use ephemeral Heat by default 8de4d4a3 Fix overcloud node provide 91fa0eeb Only use undercloud.conf ipxe_enabled for inspection 299276e7 Check for the service queue with ephemeral heat dc8b39ad Refactor _validate_args and _update_args_from_answers_file bf03fe4a Simplify validate_args_environment_dir f44c7e25 Move copy_env_files to utils 83328357 Move build_image_params to utils 8ba7a7a8 Move get_undercloud_host_entry to utils 864eae15 Adding EndpointNotFound exception during scale_down a792bbd8 Add --db-only option in undercloud_backup. Diffstat (except docs and test files) ------------------------------------- .pylintrc | 1 - bindep.txt | 2 +- ...rovision-overcloud-delete-5c36ff706ab809ea.yaml | 5 + releasenotes/notes/boot_mode-ef25d1a032dcae56.yaml | 7 + .../cleanup-docker_opts-65aa01111417cadb.yaml | 7 + .../notes/container_cli-803238248de9c60a.yaml | 5 + ...ecate-glance-image-upload-ef23d3078f430ccf.yaml | 9 + ...precate-mistral-and-zaqar-aee14846fe3662d7.yaml | 6 + .../notes/deprecate-novajoin-6493fa10ee3e09cf.yaml | 5 + ...eprecated-network-data-v1-f1490ba769f6aa7a.yaml | 54 ++ ...sable-keystone-by-default-ee9cb13ee2e37f9f.yaml | 8 + ...ephemeral-heat-by-default-4ed05e8b82f41c4b.yaml | 10 + ...hemeral-heat-minor-update-db24c2f190c1c8a7.yaml | 10 + .../overcloud_ceph_deploy-485f59b64eb93c70.yaml | 11 + .../notes/remove-no-workflow-b3ad07729d3768d1.yaml | 8 + ...emove-standalone-paramter-e7f4d978c7f6261c.yaml | 4 + requirements.txt | 4 +- setup.cfg | 5 +- templates/ephemeral-heat/heat-pod.yaml.j2 | 11 +- templates/ephemeral-heat/heat.conf.j2 | 3 - tox.ini | 33 +- tripleoclient/command.py | 34 +- tripleoclient/config/minion.py | 158 ----- tripleoclient/config/standalone.py | 81 ++- tripleoclient/config/undercloud.py | 15 +- tripleoclient/constants.py | 86 ++- tripleoclient/export.py | 118 ++-- tripleoclient/heat_launcher.py | 116 ++-- tripleoclient/noauth_policy.json | 93 --- tripleoclient/plugin.py | 73 --- .../v1/overcloud_deploy/test_overcloud_deploy.py | 463 ++++++++++----- .../test_overcloud_external_update.py | 4 +- .../test_overcloud_external_upgrade.py | 4 +- .../v1/overcloud_image/test_overcloud_image.py | 244 ++++++-- .../v1/overcloud_update/test_overcloud_update.py | 51 +- .../v1/overcloud_upgrade/test_overcloud_upgrade.py | 12 +- .../test_tripleo_container_image.py | 4 +- .../minion => v2/overcloud_ceph}/__init__.py | 0 .../v2/overcloud_delete/test_overcloud_delete.py | 37 +- .../v2/overcloud_network/test_overcloud_network.py | 48 +- tripleoclient/utils.py | 652 +++++++++++++++++---- tripleoclient/v1/container_image.py | 6 +- tripleoclient/v1/minion_config.py | 421 ------------- tripleoclient/v1/overcloud_admin.py | 15 + tripleoclient/v1/overcloud_backup.py | 24 +- tripleoclient/v1/overcloud_cell.py | 15 +- tripleoclient/v1/overcloud_deploy.py | 633 +++++++++++--------- tripleoclient/v1/overcloud_export.py | 4 +- tripleoclient/v1/overcloud_external_update.py | 6 - tripleoclient/v1/overcloud_external_upgrade.py | 6 - tripleoclient/v1/overcloud_image.py | 89 ++- tripleoclient/v1/overcloud_netenv_validate.py | 11 +- tripleoclient/v1/overcloud_node.py | 34 +- tripleoclient/v1/overcloud_roles.py | 13 +- tripleoclient/v1/overcloud_update.py | 125 ++-- tripleoclient/v1/overcloud_upgrade.py | 29 +- tripleoclient/v1/tripleo_deploy.py | 115 ++-- tripleoclient/v1/tripleo_launch_heat.py | 21 +- tripleoclient/v1/tripleo_validator.py | 7 + tripleoclient/v1/undercloud.py | 12 +- tripleoclient/v1/undercloud_backup.py | 90 ++- tripleoclient/v1/undercloud_config.py | 83 ++- tripleoclient/v1/undercloud_minion.py | 162 ----- tripleoclient/v1/undercloud_preflight.py | 9 +- tripleoclient/v2/overcloud_ceph.py | 272 +++++++++ tripleoclient/v2/overcloud_delete.py | 44 +- tripleoclient/v2/overcloud_network.py | 106 +++- tripleoclient/v2/overcloud_node.py | 120 ++-- tripleoclient/v2/tripleo_container_image.py | 28 +- tripleoclient/workflows/baremetal.py | 57 +- tripleoclient/workflows/deployment.py | 82 +-- tripleoclient/workflows/parameters.py | 42 +- tripleoclient/workflows/roles.py | 12 +- tripleoclient/workflows/scale.py | 3 +- zuul.d/layout.yaml | 21 +- 102 files changed, 3997 insertions(+), 3010 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 0176d8ce..7299c5bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11 +10,0 @@ python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,>=2.3.0 # Apache-2.0 -python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0 @@ -14 +12,0 @@ simplejson>=3.5.1 # MIT -six>=1.10.0 # MIT @@ -19 +17 @@ ansible-runner>=1.4.5 # Apache 2.0 -validations-libs>=1.0.4 # Apache-2.0 +validations-libs>=1.2.0 # Apache-2.0