We are chuffed to announce the release of: python-tripleoclient 13.2.0: TripleO client This release is part of the ussuri release series. The source is available from: https://opendev.org/openstack/python-tripleoclient Download the package from: https://tarballs.openstack.org/python-tripleoclient/ Please report issues through: https://bugs.launchpad.net/tripleo/+bugs For more details, please see below. 13.2.0 ^^^^^^ New Features ************ * *openstack overcloud node delete* now can take *--overcloud-ssh- port-timeout* to configure connection timeout for Ansible. While *--timeout* configures the command timeout as expected. * Add --work-dir to openstack overcloud container image build command and every run will create a unique workspace which where will be stored Kolla configs and build logs. Default directory will be in /tmp/container-builds. UUIDs are used to identify each time we run the command and will be the directory name in the work dir. * A new interface has been created allowing deployers to run arbitrary playbooks which are defined within a deployment plan. This interface is being created to replace the existing Mistral interface, which is largely used for HCI and NFV use cases. The interface will now process playbooks when they're defined within a plan under the *playbook_parameters* key. Playbook entries can be defined with, and without the base path. If no base path is defined within the entry, the interface will fall back to the constant tripleo playbook path, */usr/share/ansible /tripleo-playbooks*. Options fined within a playbook entry will be passed into the playbook at runtime using extra-vars. * Interface usage example playbook_parameters: sample-playbook-0.yaml: x: 1 y: a /path/to/sample-playbook-1.yaml: x: a y: 1 * The network interface drivers for the Baremetal service on the undercloud is now configurable. New undercloud.conf options "enabled_network_interfaces" (Default: "flat") and "default_network_interface" (Default: "flat") control the enabled network interface and the default network interface when enrolling nodes. * ReportExecute has been moved to the V2 client version where it will now execute an ansible playbook when running all log collection tasks. This playbook will run *sosreport* and collect a log archive on the undercloud host. * Starting with "Ussuri", the default images that are built when running the *openstack overcloud image build* action are python3 and centos8 based. * The TripleO Validator CLI has now a new logging feature which keep every validation execution log in the Undercloud (/var/log/validations/). The CLI is able to display the history and allow the user to get the full execution details. Deprecation Notes ***************** * The log collection process will no longer store logs within swift. All collected logs will be stored in the *--output* path as provided by the CLI switch, using a default of **/var/lib/tripleo/support**. * The following ReportExecute CLI switches no longer have any effect; *--container*, *--skip-container-delete*, *--timeout*, *--concurrency*, *--collect-only*, *--download-only*. These options have been retained to ensure we're not breaking legacy compatibility, however, they will be removed in a future release. Bug Fixes ********* * Ansible connection timeout used for config download and the deployment timeout now will be given proper values. It fixes bug 1868063. Changes in python-tripleoclient 13.1.0..13.2.0 ---------------------------------------------- 9c602da4 Fix misused deployment vs connection timeouts 0227a544 Update necessary packages before undercloud upgarde. d9174e83 Invoke ansible from writeable workdirs 624a61f2 Update verbosity so it is consistently set 7decad83 Remove update parameters workflows a671c96e Remove mistral from the plan_undeploy workflows a9634098 Remove unused baremetal provision workflow code bbf50400 Remove overcloud remote execute command 0e7c4bd3 Remove OrchestrationDeployAction call in ffwd upgrade prepare 6c626e68 Bump python-openstackclient 5600af10 Stop testing python 2 in tox. 3ca82dc1 clean up tripleoclient zuul layout, remove centos-7 9c655a97 tripleo_deploy: finish the loop of operations early if wrong rc 24b87f19 Improve container_images_file comments 62c43e76 Fix GlanceClientAdapter to use new osc release 360a26da Get event marker before doing update ae6e20cf scale: add missing stack name in scale.ScaleDownAction dc719c7c Set scp_if_ssh to True in ansible client configuration 71ca2d10 Remove usage of GenerateFencingParametersAction action class 98258c1a Remove usage of GetFlattenedParametersAction action class bd0588e3 overcloud node delete, use ansible for unprovision ed3cee86 overcloud deploy, use ansible for bm provision 708afba0 Switch to ansible for overcloud node (un)provision 197f5cf9 Remove CreateContinerAction usage 08567fb0 Create *-messages container when setting deployment status 50191cdd Remove usage of swifthelper.SwiftTempUrlAction 14fb60ad Use tripleo_common library directly for package_update 74a6c6eb Switch default images to py3 4ea6cdf1 Clean unit tests from OS::TripleO::Hosts::SoftwareConfig d38c7c32 Ensure the undercloud output dir constant is consistent 8dc32734 Normalize the 'undercloud-passwords.conf' return data 7c4ed8ff Add mistral workflow module path to ansible-runner 0464bdc1 Add new interface to run arbitrary playbooks from a plan becee11a Use ansible playbook for plan deploy 4a55e5b9 Use ansible playbooks for plan creation/update 39a9e8aa Don't encode to utf8 data read from logfile e7693eb1 Fix order of parameters to isinstance() 520ae1d2 Pass container_config to get_config() a6fdd93d Update help output 7cfe4d4f Correct YAML load warning 026e9801 Remove mistral when running the provide workflows 7e677b0c Remove the mistral from the clean_.*_nodes workflow bb639bc6 Remove mistral from the introspection workflows af719b79 Remove mistral from the configure workflows 72cfa4f6 Client code to do node import with ansible instead of mistral 4e5a4af6 Remove mistral from the bios_configuration workflows 6d568175 Remove the mistral from the create_raid_configuration workflow 5a99ff8e Remove mistral from the undeploy_roles workflow ad9c7a75 Remove mistral when running the register_or_update workflow 74d4b37c baremetal provision expose concurrency and timeout 6745f102 Fix command docs generation af4721b7 Add option to control ironic network interfaces bba24caa Make _get_undercloud_host_entry(self) python3 friendly 9c7bd247 Remove mistral when running the validate_nodes bf2e56b1 Partial Revert "Replace ansible shell with python runner" 31e631e9 Fix delete plan 14f52713 Fix KeyError exception on check_deprecated_parameters 9bab4be3 update containers-multinode, minion to centos-8 d8a7eaf8 Skip network check with stack env when validations disabled 5685cd24 overcloud: set DeployIdentifier to '' if --skip-deploy-identifier is used 1ce32574 Avoid TZ issues in test_image test b5df6b26 Update undercloud.conf with correct SSL information f6121c4b migrate from centos7 -> centos-8 for standalone jobs 3e695291 Relax ~/.config permissions 3ee3bea8 Remove Mistral from the plan export 0e901cda Remove mistral when creating the overcloudrc file. 84165539 Remove the mistral from the check_deprecated_parameters workflow afb9887a Get validation groups info from groups.yaml file 0eb3573c Fix create_container regression 4fbd5ffe TripleO Validations Logging CLI Introduction aa0504a4 Fix unit test_get_image timezone issue 5f9b43a8 Pass verbose boolean value to wait_for_stack_ready() 1458e275 Increase ssh port timeout 8526ad0d Add source auth to image push dbe5169d Remove mistral from the generate_fencing_parameters deploy workflow 7aeba8f5 Add --work-dir option to container image build command 2c028c4a Convert the support deployment and workflow to ansible c94f64ef Migrate the openstack overcloud delete command to use Ansible 818c7a7a Start moving the import CLI command to the Ansible implementation 4fa34236 Cleanup playbook execution 9902d746 Add handler for exception raising 77db88b7 Improve the way of handling inventory for ansible_runner af749d1a Use correct default key file and normalize the usage 8d2e1516 Revert "Default to zero verbosity when using Ansible." abe56405 Remove three unused exceptions 2f1afe62 Remove the unused backup method 53986c2f Remove capabilities-map.yaml related functionality 5304c343 Local file based image uploader eee13397 Remove mistral from the expand_roles deploy workflow a14e145f Remove mistral from the get_deployment_failures deploy workflow aefda7f2 Remove mistral from the create_container deploy workflow b49610ce Remove mistral from the list_available_roles deploy workflow 7d3f274a Fix default image registry address lookup 73dfcd1b Migrate the CLI introspection from Mistral to Ansible 56ecf27f Remove mistral from the deploy_on_servers workflow 95aa0253 Remove mistral from the package_update_* workflows 6fa0e3d1 Remove left over mistral layers of abstration 70d9d309 Remove extra whitespaces from getent. dc9ae1ac Remove mistral from the config_download deploy workflow 712d8d7a update ironclient requirements 5bcf139b Don't use the delete_deployment_plan workflow, call the action directly ede75ea1 Refactor redundant exception type checking c88da0a6 Refactor image upload command Diffstat (except docs and test files) ------------------------------------- lower-constraints.txt | 6 +- ...nsible_connection_timeout-78e45f20ff91f672.yaml | 11 + .../notes/container_work_dir-edb40007cb25168e.yaml | 8 + ...playbook-runner-interface-219d00b486ee2d7a.yaml | 26 + ...ironic-network-interfaces-7e185f5fd67c7500.yaml | 8 + .../notes/sos-reporting-fc36aa73c7c5b85a.yaml | 15 + ...ercloud-images-to-centos8-df7cb0c197f646e4.yaml | 5 + ...lidation_logging_features-a7c096868197c42a.yaml | 7 + requirements.txt | 7 +- setup.cfg | 18 +- test-requirements.txt | 2 +- tox.ini | 15 +- tripleoclient/command.py | 57 ++ tripleoclient/config/standalone.py | 15 +- tripleoclient/config/undercloud.py | 23 +- tripleoclient/constants.py | 56 +- tripleoclient/exceptions.py | 12 - tripleoclient/export.py | 2 +- .../v1/overcloud_delete/test_overcloud_delete.py | 90 -- .../v1/overcloud_deploy/test_overcloud_deploy.py | 266 +++-- .../test_overcloud_external_update.py | 63 +- .../test_overcloud_external_upgrade.py | 63 +- .../test_overcloud_ffwd_upgrade.py | 55 +- .../v1/overcloud_image/test_overcloud_image.py | 941 +++++++++++------ .../v1/overcloud_support/test_overcloud_support.py | 133 --- .../v1/overcloud_update/test_overcloud_update.py | 82 +- .../v1/overcloud_upgrade/test_overcloud_upgrade.py | 295 +----- .../v2/overcloud_delete/test_overcloud_delete.py | 67 ++ .../overcloud_node}/__init__.py | 0 .../v2/overcloud_support/test_overcloud_support.py | 68 ++ tripleoclient/utils.py | 372 +++++-- tripleoclient/v1/container_image.py | 155 ++- tripleoclient/v1/overcloud_admin.py | 13 +- tripleoclient/v1/overcloud_bios.py | 21 +- tripleoclient/v1/overcloud_deploy.py | 181 ++-- tripleoclient/v1/overcloud_execute.py | 83 -- tripleoclient/v1/overcloud_external_update.py | 64 +- tripleoclient/v1/overcloud_external_upgrade.py | 60 +- tripleoclient/v1/overcloud_ffwd_upgrade.py | 68 +- tripleoclient/v1/overcloud_image.py | 507 ++++++---- tripleoclient/v1/overcloud_node.py | 441 ++------ tripleoclient/v1/overcloud_parameters.py | 40 +- tripleoclient/v1/overcloud_plan.py | 29 +- tripleoclient/v1/overcloud_plan_roles.py | 2 +- tripleoclient/v1/overcloud_raid.py | 11 +- tripleoclient/v1/overcloud_support.py | 107 -- tripleoclient/v1/overcloud_update.py | 97 +- tripleoclient/v1/overcloud_upgrade.py | 112 +- tripleoclient/v1/tripleo_deploy.py | 27 +- tripleoclient/v1/tripleo_validator.py | 287 +++++- tripleoclient/v1/undercloud.py | 39 +- tripleoclient/v1/undercloud_config.py | 5 + tripleoclient/v1/undercloud_preflight.py | 17 +- tripleoclient/{v1 => v2}/overcloud_delete.py | 49 +- tripleoclient/v2/overcloud_node.py | 373 +++++++ tripleoclient/v2/overcloud_support.py | 98 ++ tripleoclient/v2/undercloud_backup.py | 1 + tripleoclient/workflows/baremetal.py | 724 ++++++------- tripleoclient/workflows/base.py | 15 - tripleoclient/workflows/deployment.py | 461 ++++++--- tripleoclient/workflows/package_update.py | 147 +-- tripleoclient/workflows/parameters.py | 274 +++-- tripleoclient/workflows/plan_management.py | 158 ++- tripleoclient/workflows/roles.py | 69 +- tripleoclient/workflows/scale.py | 81 +- tripleoclient/workflows/stack_management.py | 47 - tripleoclient/workflows/support.py | 143 --- tripleoclient/workflows/undercloud_backup.py | 35 - zuul.d/layout.yaml | 26 +- 107 files changed, 6139 insertions(+), 6177 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 3392053b..01a7d678 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12 +12,2 @@ python-heatclient>=1.10.0 # Apache-2.0 -python-ironicclient>=2.3.0 # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,>=2.3.0,<4.0.0;python_version=='2.7' # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,>=2.3.0;python_version>='3.6' # Apache-2.0 @@ -14 +15 @@ python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0 -python-openstackclient>=3.12.0 # Apache-2.0 +python-openstackclient>=5.2.0 # Apache-2.0 @@ -19 +20 @@ websocket-client>=0.44.0 # LGPLv2+ -tripleo-common>=11.3.1 # Apache-2.0 +tripleo-common>=12.2.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 3a42b24d..4c821db0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9 +9 @@ fixtures>=3.0.0 # Apache-2.0/BSD -mock>=2.0.0 # BSD +mock>=3.0.0 # BSD