We are glad to announce the release of: tripleo-common 10.0.0: A common library for TripleO workflows. This release is part of the stein release series. The source is available from: http://git.openstack.org/cgit/openstack/tripleo-common Download the package from: https://tarballs.openstack.org/tripleo-common/ Please report issues through launchpad: https://bugs.launchpad.net/tripleo-common For more details, please see below. 10.0.0 ^^^^^^ Bug Fixes ********* * Fixes bug 1793605 so when nodes are blacklisted, they are not included in the Overcloud config. A warning will show that the server_id that was ignored if the it can't be found in the stack. * The config_download_deploy workflow now has a config_download_timeout input that will honor the user requested timeout. Previously, no timeout was honored even though the user could request one via tripleoclient. * The tripleo-bootstrap ansible role will no longer fail if yum fails to install the required packages. This fixed behavior aligns with previous requirements where enabled package repositories and a working package manager are not required on the initially deployed images. Errors are ignored on the package install task, and then a subsequent task will cause a failure indicating the required packages are not present. * tripleo.access.v1.enable_ssh_admin now honors the server blacklist if one is set. Servers in the blacklist will not be used by the workflow. * Previously, running ansible-playbook with --check would cause a failure during the individual server deployments when checking the result of a previous attempt. * The tripleo.deployment.v1.get_deployment_status workflow will no longer error when requesting the deployment status for a non- existant plan. A message is sent in the output instead of failing the workflow. * The ServerAliveInterval and ServerAliveCountMax SSH options are now set in the mistral ansible action so that when networking configuration is performed on the overcloud nodes SSH will not drop the connection. * A new workflow, config_download_export, for exporting the config- download files via a Swift tempurl is added so that the openstack overcloud config download tripleoclient command can use the API. Other Notes *********** * Switched to a versionless Keystone url in the overcloudrc. Previously, /v3 was being appended to the OS_AUTH_URL url but is not required when configuring OS_IDENTITY_API_VERSION Changes in tripleo-common 9.3.0..10.0.0 --------------------------------------- 87a1d6e images: install libseccomp beside podman 57ea8b1 Hardcoding x86_64 in template overrides for the opendaylight repository ef77853 Fix check mode for server deployments baf8b36 Upgrade docker ceph container 1706489 Increase upload concurrency fb978f9 Remove non-voting jobs from the gate e29cb1d Optimize Heat stack check when processing roles 1089420 Don't fail tripleo-bootstrap on package installs 1e13e46 Handle non-existant plan when getting deployment status 272bd17 config: ignore missing server_id from the stack c0f41ca Set SSH server keep alive options 0442e4f Tag openshift images for Infra service 19388f5 Add container-registry image to openshift master role 8bb72ca Switch to origin-docker-build 2ed70a6 Make ODL healthcheck IPv6 compatible e28b552 Revert "Use YAML output of ansible instead of JSON" 79a1a4b Add bashate in gate jobs and fix existing errors 37a5c78 Fix formatting options 93ebf89 Run prepare during package_update workflow b02e329 Revert "Use swift bulk-delete when deleting a plan" af108b8 Revert "Reintroduce empty_container for tripleoclient" 305445b Add container runtime packages for cron image 4925b45 Revert "Add nvmetcli to cinder volume packages" 29051e8 Remove instack-undercloud from image building 699d500 Disable external plugins in rabbitmq container e87da02 Improve logging for modify image during prepare bdde61d Update swift_rings_backup workflow to also backup ceph fetch dir f4be399 Handle missing or bad dmidecode a639639 Reintroduce empty_container for tripleoclient 105da3b Add validations pkg to mistral-executor image 5550a8d Refactor non-docker upload functions into base class f563281 Activate remaining set of healthchecks 6d52f5b Allow networks in roles_data to be dict or list 44b8b93 Use YAML output of ansible instead of JSON ec26073 Fix validation runs in a containerized environment 7719756 Add config_download_timeout input a26410f Handle sparse resource registry in build_service_filter 0099628 add python 3.6 unit test job 42745f6 switch documentation job to new PTI 7f1682b import zuul job settings from project-config f689182 Use swift bulk-delete when deleting a plan 2680046 Add health check script for Sahara API d03c53c Add Ironic inspector health checks eba4912 Simplify tenacity sleep mocking d9e27e7 Switch to openshift 3.10 a82c431 Do not require username/password when enrolling Redfish nodes 14b7b3c Drop version from OS_AUTH_URL 3b7dd42 Update error string to be unicode 213968b Adjust tenacity mock 9fe0371 Update reno for stable/rocky 206dd5d Clean up node registration output. 8f88e78 Add support for custom validations 893cd2a Honor blacklist with enable_ssh_admin 1be8eb8 Enable Ansible error handling per role 5b1c4c0 Add on-error task to parse_node_data_lookup d83b4bf Fix available roles listing edacca4 Add override_ansible_cfg 0f17aec Use keystone group for loading auth params e155648 Add workflow for config-download export 575fde1 Add health checks for Swift services Diffstat (except docs and test files) ------------------------------------- container-images/overcloud_containers.yaml | 18 +- container-images/overcloud_containers.yaml.j2 | 21 +- .../tripleo_kolla_template_overrides.j2 | 76 +++- healthcheck/README.md | 10 +- healthcheck/aodh-api | 2 +- healthcheck/aodh-evaluator | 8 +- healthcheck/aodh-listener | 8 +- healthcheck/aodh-notifier | 8 +- healthcheck/barbican-api | 2 +- healthcheck/barbican-keystone-listener | 8 +- healthcheck/barbican-worker | 8 +- healthcheck/ceilometer-agent-central | 8 +- healthcheck/ceilometer-agent-compute | 8 +- healthcheck/ceilometer-agent-ipmi | 8 +- healthcheck/ceilometer-agent-notification | 8 +- healthcheck/cinder-api | 2 +- healthcheck/cinder-backup | 8 +- healthcheck/cinder-scheduler | 8 +- healthcheck/cinder-volume | 8 +- healthcheck/common.sh | 106 +++-- healthcheck/fluentd | 2 +- healthcheck/glance-api | 4 +- healthcheck/gnocchi-api | 2 +- healthcheck/gnocchi-metricd | 8 +- healthcheck/gnocchi-statsd | 4 +- healthcheck/heat-api | 2 +- healthcheck/heat-api-cfn | 2 +- healthcheck/heat-engine | 8 +- healthcheck/horizon | 6 +- healthcheck/ironic-api | 2 +- healthcheck/ironic-conductor | 8 +- healthcheck/ironic-inspector | 16 + healthcheck/ironic-pxe | 2 +- healthcheck/keystone-admin | 2 +- healthcheck/keystone-public | 2 +- healthcheck/manila-scheduler | 8 +- healthcheck/mariadb | 14 +- healthcheck/memcached | 2 +- healthcheck/mistral-api | 2 +- healthcheck/mistral-engine | 8 +- healthcheck/mistral-event-engine | 8 +- healthcheck/mistral-executor | 8 +- healthcheck/neutron-api | 4 +- healthcheck/neutron-dhcp | 8 +- healthcheck/neutron-l3 | 8 +- healthcheck/neutron-metadata | 8 +- healthcheck/neutron-ovs-agent | 8 +- healthcheck/neutron-sriov-agent | 8 +- healthcheck/nova-api | 10 +- healthcheck/nova-compute | 22 +- healthcheck/nova-conductor | 8 +- healthcheck/nova-consoleauth | 8 +- healthcheck/nova-ironic | 8 +- healthcheck/nova-libvirt | 2 +- healthcheck/nova-metadata | 2 +- healthcheck/nova-placement | 2 +- healthcheck/nova-scheduler | 8 +- healthcheck/nova-vnc-proxy | 2 +- healthcheck/octavia-api | 4 +- healthcheck/octavia-health-manager | 8 +- healthcheck/octavia-housekeeping | 8 +- healthcheck/octavia-worker | 8 +- healthcheck/opendaylight-api | 9 +- healthcheck/ovn-controller | 8 +- healthcheck/ovn-dbs | 0 healthcheck/ovn-metadata | 8 +- healthcheck/panko-api | 2 +- healthcheck/rabbitmq | 2 +- healthcheck/redis | 20 +- healthcheck/sahara-api | 12 + healthcheck/sahara-engine | 8 +- healthcheck/sensu-client | 8 +- healthcheck/swift-account-server | 40 +- healthcheck/swift-container-server | 40 +- healthcheck/swift-object-expirer | 12 + healthcheck/swift-object-server | 49 ++- healthcheck/swift-proxy | 39 +- healthcheck/swift-rsync | 14 + healthcheck/tacker | 4 +- image-yaml/overcloud-hardened-images-uefi.yaml | 11 +- image-yaml/overcloud-hardened-images.yaml | 11 +- image-yaml/overcloud-images.yaml | 6 +- image-yaml/overcloud-odl-rhel7.yaml | 7 +- image-yaml/overcloud-realtime-compute.yaml | 2 +- ...acklisted_serverid_config-e079e64e8a04cdb4.yaml | 7 + .../config-download-timeout-7296683716f78022.yaml | 5 + ...tstrap-on-package-install-a00cd921b0af7168.yaml | 8 + ...ssh-admin-honor-blacklist-f1371554ab1b38f6.yaml | 4 + ...ck-mode-server-deployment-098bcae9e0227c57.yaml | 5 + ...ndle-no-deployment-status-a70a4b950171afbe.yaml | 5 + ...ionless-keystone-endpoint-9cdc1a4e1341a933.yaml | 7 + ...server-keep-alive-options-071e1b3b570e78a7.yaml | 5 + ...ow-config-download-export-d22f3eb958b8c97a.yaml | 5 + releasenotes/source/index.rst | 1 + releasenotes/source/rocky.rst | 6 + roles/tripleo-bootstrap/tasks/main.yml | 7 + scripts/bootstrap_host_exec | 12 +- scripts/bootstrap_host_only_eval | 12 +- scripts/bootstrap_host_only_exec | 12 +- scripts/upload-swift-artifacts | 114 +++-- test-requirements.txt | 1 + tools/check_duplicate_jinja_blocks.sh | 14 +- tools/releasenotes_tox.sh | 3 +- tox.ini | 15 + tripleo_common/actions/ansible.py | 20 +- tripleo_common/actions/config.py | 11 +- tripleo_common/actions/templates.py | 19 +- tripleo_common/actions/validations.py | 40 +- tripleo_common/constants.py | 3 + tripleo_common/image/image_builder.py | 1 - tripleo_common/image/image_uploader.py | 331 ++++++++------- tripleo_common/image/kolla_builder.py | 20 +- tripleo_common/templates/deployments.yaml | 15 +- tripleo_common/templates/group_var_role.j2 | 4 + tripleo_common/utils/config.py | 34 +- tripleo_common/utils/keystone.py | 58 ++- tripleo_common/utils/nodes.py | 2 +- tripleo_common/utils/overcloudrc.py | 2 +- tripleo_common/utils/roles.py | 18 +- tripleo_common/utils/swift.py | 32 +- tripleo_common/utils/validations.py | 111 +++-- workbooks/access.yaml | 28 +- workbooks/baremetal.yaml | 26 -- workbooks/ceph-ansible.yaml | 7 + workbooks/deployment.yaml | 87 +++- workbooks/package_update.yaml | 19 +- workbooks/plan_management.yaml | 29 +- workbooks/swift_backup.yaml | 76 ++++ workbooks/swift_rings_backup.yaml | 88 ---- workbooks/validations.yaml | 9 +- zuul.d/layout.yaml | 22 +- 145 files changed, 1998 insertions(+), 1125 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index ae066f5..6963e85 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -19,0 +20 @@ urllib3>=1.21.1 # MIT +bashate>=0.2 # Apache-2.0