Add update prepare role

Adds tripleo_overcloud_update_prepare role

Change-Id: I5e0c9df530e2b9ac1e0d35a7bb74e01db2120839
This commit is contained in:
Alex Schultz 2020-02-19 13:21:56 -07:00
parent c3cd250ac1
commit f3585df8be
10 changed files with 823 additions and 0 deletions

View File

@ -0,0 +1,97 @@
tripleo_overcloud_update_prepare
================================
A role to execute an overcloud update prepare.
Requirements
------------
None.
Role Variables
--------------
* `tripleo_overcloud_update_prepare_answers_file`: (String) File path to a deployment answers file.
* `tripleo_overcloud_update_prepare_baremetal_update_preparement`: (String) File path to a baremetal deployment configuration.
* `tripleo_overcloud_update_prepare_config_download`: (Boolean) Flag to add --config-download option. This is the default as of Rocky and enabling this should have no effect. Default: false
* `tripleo_overcloud_update_prepare_config_download_timeout`: (Integer) Timeout in minutes for the config-download steps.
* `tripleo_overcloud_update_prepare_debug`: (Boolean) Flag to print out the command that is run. Default: false
* `tripleo_overcloud_update_prepare_update_prepareed_server`: (Boolean) Flag to use pre-provisioned nodes. Default: false
* `tripleo_overcloud_update_prepare_update_preparement_python_interpreter`: (String) Path to a python interpreter for the deployment actions.
* `tripleo_overcloud_update_prepare_disable_password_generation`: (Boolean) Flag to disable password generation. Default: false
* `tripleo_overcloud_update_prepare_disable_validations`: (Boolean) Flag to disable validations. Default: false
* `tripleo_overcloud_update_prepare_dry_run`: (Boolean) Flag to enabel dry run. Default: false
* `tripleo_overcloud_update_prepare_environment_dirs`: (List) A list of directory paths containing environment files for the deployment. Should not be used with environment files.
* `tripleo_overcloud_update_prepare_environment_files`: (List) A list of environment file paths for the deployment. Should not be used with environment dirs.
* `tripleo_overcloud_update_prepare_force_postconfig`: (Boolean) Force the overclodu post-deployment configuration. Default: false
* `tripleo_overcloud_update_prepare_home_dir`: (String) Home directory to where the command is run from. Default: "{{ ansible_env.HOME }}"
* `tripleo_overcloud_update_prepare_inflight_validations`: (Boolean) Flag to enable inflight validations. Default: false
* `tripleo_overcloud_update_prepare_libvirt_type`: (String) Libvirt domain time. Setting `NovaComputeLibvirtType` in an environment file is prefered over this option.
* `tripleo_overcloud_update_prepare_log`: (String) Path to a log file for the command output. Default: "{{ tripleo_overcloud_update_prepare_home_dir }}/overcloud_update_prepare.log"
* `tripleo_overcloud_update_prepare_log_combine`: (Boolean) Flag to enable captching stderr with stdout. Default: true
* `tripleo_overcloud_update_prepare_log_output`: (Boolean) Flag to enable logging to a file. Since the output of this command can be large, it is not recommended to disable this. Default: true
* `tripleo_overcloud_update_prepare_networks_file`: (String) File path to a networks file for the deployment.
* `tripleo_overcloud_update_prepare_no_cleanup`: (Boolean) String to enable no cleanup. Default: false
* `tripleo_overcloud_update_prepare_no_config_download`: (Boolean) String to disable the config download software configuration. Default: false
* `tripleo_overcloud_update_prepare_no_proxy`: (String) String containing a comma seperated list of hosts to skip proxing when http_proxy and https_proxy are used.
* `tripleo_overcloud_update_prepare_ntp_server`: (String) String containing a comma seperated list of ntp servers. Setting `NtpServer` in an environment file is prefered over this option.
* `tripleo_overcloud_update_prepare_os_cloud`: (String) (String) OS_CLOUD value to use when running the command. If `tripleo_os_cloud` is defined, it will be the default. Otherwise the default is ''. This variable takes precedence over `tripleo_overcloud_update_prepare_rc_file`.
* `tripleo_overcloud_update_prepare_output_dir`: (String) Path to a directory to output for the configuration download output.
* `tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout`: (Integer) Timeout for the ssh enable process to finish.
* `tripleo_overcloud_update_prepare_overcloud_ssh_key`: (String) Path to an ssh key file to use to access the overcloud nodes.
* `tripleo_overcloud_update_prepare_overcloud_ssh_network`: (String) Network name to use for the ssh access to the overcloud nodes.
* `tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout`: (Integer) Timeout to wait for the ssh port to become active.
* `tripleo_overcloud_update_prepare_overcloud_ssh_user`: (String) User for ssh access to the overcloud nodes.
* `tripleo_overcloud_update_prepare_override_ansible_cfg`: (String) File path to an ansible.cfg containing override values.
* `tripleo_overcloud_update_prepare_plan_environment_file`: (String) File path to a plan environment file.
* `tripleo_overcloud_update_prepare_poll`: (Integer) Number of seconds to wait between each checks to see if the deployment command has completed. Default: 10
* `tripleo_overcloud_update_prepare_rc_file`: (String) (String) Path to the credential file to use. If `tripleo_rc_file` is defined, it will be the default. Default: "{{ ansible_env.HOME }}/stackrc"
* `tripleo_overcloud_update_prepare_roles_file`: (String) File path to a deployment roles file.
* `tripleo_overcloud_update_prepare_run_validations`: (Boolean) Flag to enable running validations. Default: false
* `tripleo_overcloud_update_prepare_skip_update_prepare_identifier`: (Boolean) Flag to enable skip deploy identifier. Default: false
* `tripleo_overcloud_update_prepare_skip_postconfig`: (Boolean) Flag to enable skip postconfig. Default: false
* `tripleo_overcloud_update_prepare_stack`: (String) Name of the stack to deploy. Default: overcloud
* `tripleo_overcloud_update_prepare_templates`: (String) Path to a directory containing the tripleo-heat-templates for the deployment. Default: /usr/share/openstack-tripleo-heat-templates/
* `tripleo_overcloud_update_prepare_timeout`: (Integer) Number in seconds to wait for the ansible execution of the deployment command to finish. This should be larger than the `tripleo_overcloud_update_prepare_timeout_arg` value. Default: 5700
* `tripleo_overcloud_update_prepare_timeout_arg`: (Integer) Number in minutes for the deployment to run. Default: 90
* `tripleo_overcloud_update_prepare_update_plan_only`: (Boolean) Flag to enable only updating the plan. Default: false
* `tripleo_overcloud_update_prepare_validation_errors_nonfatal`: (Boolean) Flag to make validation errors not fatal. Default: false
* `tripleo_overcloud_update_prepare_validation_warnings_fatal`: (Boolean) Flag to make validation warnings fatal. Default: false
NOTE: Please note that this command should be run against the undercloud so the
OS_CLOUD or rc file variables should be set to use the 'undercloud' when
calling this role. If you are not defining `tripleo_os_cloud` or `tripleo_rc_file`,
stackrc will be used by default.
Output Variables
----------------
* `tripleo_overcloud_update_prepare_output`: (String) The command standard output.
* `tripleo_overcloud_update_prepare_result`: Ansible shell execution results
Dependencies
------------
None.
Example Playbook
----------------
Example overcloud update prepare execution playbook
```yaml
- hosts: undercloud
gather_facts: true
tasks:
- name: Run overcloud update prepare
import_role:
name: tripleo_overcloud_update_prepare
vars:
tripleo_overcloud_update_prepare_environment_files:
- /usr/share/openstack-tripleo-heat-templates/environments/enable-swap.yaml
```
License
-------
Apache-2.0

View File

@ -0,0 +1,49 @@
---
# defaults file for tripleo_overcloud_update_prepare
openstack_bin: openstack
tripleo_overcloud_update_prepare_answers_file:
tripleo_overcloud_update_prepare_baremetal_update_preparement:
tripleo_overcloud_update_prepare_config_download: false
tripleo_overcloud_update_prepare_config_download_timeout:
tripleo_overcloud_update_prepare_debug: false
tripleo_overcloud_update_prepare_update_prepareed_server: false
tripleo_overcloud_update_prepare_update_preparement_python_interpreter:
tripleo_overcloud_update_prepare_disable_password_generation: false
tripleo_overcloud_update_prepare_disable_validations: false
tripleo_overcloud_update_prepare_dry_run: false
tripleo_overcloud_update_prepare_environment_dirs: []
tripleo_overcloud_update_prepare_environment_files: []
tripleo_overcloud_update_prepare_force_postconfig: false
tripleo_overcloud_update_prepare_home_dir: "{{ ansible_env.HOME }}"
tripleo_overcloud_update_prepare_inflight_validations: false
tripleo_overcloud_update_prepare_libvirt_type:
tripleo_overcloud_update_prepare_log: "{{ tripleo_overcloud_update_prepare_home_dir }}/overcloud_update_prepare.log"
tripleo_overcloud_update_prepare_log_combine: true
tripleo_overcloud_update_prepare_log_output: true
tripleo_overcloud_update_prepare_networks_file:
tripleo_overcloud_update_prepare_no_cleanup: false
tripleo_overcloud_update_prepare_no_config_download: false
tripleo_overcloud_update_prepare_no_proxy:
tripleo_overcloud_update_prepare_ntp_server:
tripleo_overcloud_update_prepare_os_cloud: "{{ tripleo_os_cloud | default('') }}"
tripleo_overcloud_update_prepare_output_dir:
tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout:
tripleo_overcloud_update_prepare_overcloud_ssh_key:
tripleo_overcloud_update_prepare_overcloud_ssh_network:
tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout:
tripleo_overcloud_update_prepare_overcloud_ssh_user:
tripleo_overcloud_update_prepare_override_ansible_cfg:
tripleo_overcloud_update_prepare_plan_environment_file:
tripleo_overcloud_update_prepare_poll: 10
tripleo_overcloud_update_prepare_rc_file: "{{ tripleo_rc_file | default(ansible_env.HOME ~ '/stackrc') }}"
tripleo_overcloud_update_prepare_roles_file:
tripleo_overcloud_update_prepare_run_validations: false
tripleo_overcloud_update_prepare_skip_update_prepare_identifier: false
tripleo_overcloud_update_prepare_skip_postconfig: false
tripleo_overcloud_update_prepare_stack: overcloud
tripleo_overcloud_update_prepare_templates: /usr/share/openstack-tripleo-heat-templates
tripleo_overcloud_update_prepare_timeout: 5700
tripleo_overcloud_update_prepare_timeout_arg: 90
tripleo_overcloud_update_prepare_update_plan_only: false
tripleo_overcloud_update_prepare_validation_errors_nonfatal: false
tripleo_overcloud_update_prepare_validation_warnings_fatal: false

View File

@ -0,0 +1,42 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
galaxy_info:
author: OpenStack
description: TripleO Operator Role -- tripleo_overcloud_update_prepare
company: Red Hat
license: Apache-2.0
min_ansible_version: 2.8
#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
platforms:
- name: CentOS
versions:
- 7
- 8
galaxy_tags:
- tripleo
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.
dependencies: []

View File

@ -0,0 +1,487 @@
---
- name: Converge
hosts: all
collections:
- tripleo.operator
vars:
openstack_bin: echo
tripleo_os_cloud: undercloud
tripleo_overcloud_update_prepare_debug: true
tripleo_overcloud_update_prepare_log_output: false
tripleo_overcloud_update_prepare_log_combine: false
tripleo_overcloud_update_prepare_poll: 1
tasks:
- name: "Include tripleo_overcloud_update_prepare"
include_role:
name: "tripleo_overcloud_update_prepare"
- name: Check role
assert:
that:
- tripleo_overcloud_update_prepare_output ==
"overcloud update prepare --templates /usr/share/openstack-tripleo-heat-templates --stack overcloud --timeout 90"
- name: Check parameter "tripleo_overcloud_update_prepare_stack"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack: test
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
- name: Assert "tripleo_overcloud_update_prepare_stack"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --stack test"
- name: Check parameter "tripleo_overcloud_update_prepare_libvirt_type"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_libvirt_type: qemu
- name: Assert "tripleo_overcloud_update_prepare_libvirt_type"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --libvirt-type qemu"
- name: Check parameter "tripleo_overcloud_update_prepare_ntp_server"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_ntp_server: 0.pool.ntp.org,1.pool.ntp.org
- name: Assert "tripleo_overcloud_update_prepare_ntp_server"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --ntp-server 0.pool.ntp.org,1.pool.ntp.org"
- name: Check parameter "tripleo_overcloud_update_prepare_no_proxy"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_no_proxy: 192.168.24.1
- name: Assert "tripleo_overcloud_update_prepare_no_proxy"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --no-proxy 192.168.24.1"
- name: Check parameter "tripleo_overcloud_update_prepare_overcloud_ssh_user"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_overcloud_ssh_user: bob
- name: Assert "tripleo_overcloud_update_prepare_overcloud_ssh_user"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --overcloud-ssh-user bob"
- name: Check parameter "tripleo_overcloud_update_prepare_overcloud_ssh_key"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_overcloud_ssh_key: /tmp/foo
- name: Assert "tripleo_overcloud_update_prepare_overcloud_ssh_key"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --overcloud-ssh-key /tmp/foo"
- name: Check parameter "tripleo_overcloud_update_prepare_overcloud_ssh_network"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_overcloud_ssh_network: external
- name: Assert "tripleo_overcloud_update_prepare_overcloud_ssh_network"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --overcloud-ssh-network external"
- name: Check parameter "tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout: 12
- name: Assert "tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --overcloud-ssh-enable-timeout 12"
- name: Check parameter "tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout: 200
- name: Assert "tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --overcloud-ssh-port-timeout 200"
- name: Check parameter "tripleo_overcloud_update_prepare_environment_files"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_environment_files:
- a.yaml
- b.yaml
- name: Assert "tripleo_overcloud_update_prepare_environment_files"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare -e a.yaml -e b.yaml"
- name: Check parameter "tripleo_overcloud_update_prepare_environment_dirs"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_environment_dirs:
- /home/foo/overcloud/
- name: Assert "tripleo_overcloud_update_prepare_environment_dirs"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --environment-directory /home/foo/overcloud/"
- name: Check parameter "tripleo_overcloud_update_prepare_roles_files"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_roles_file: roles.yaml
- name: Assert "tripleo_overcloud_update_prepare_roles_files"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare -r roles.yaml"
- name: Check parameter "tripleo_overcloud_update_prepare_networks_file"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_networks_file: networks.yaml
- name: Assert "tripleo_overcloud_update_prepare_networks_file"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare -n networks.yaml"
- name: Check parameter "tripleo_overcloud_update_prepare_plan_environment_file"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_no_cleanup: true
- name: Assert "tripleo_overcloud_update_prepare_no_cleanup"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --no-cleanup"
- name: Check parameter "tripleo_overcloud_update_prepare_update_plan_only"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_update_plan_only: true
- name: Assert "tripleo_overcloud_update_prepare_update_plan_only"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --update-plan-only"
- name: Check parameter "tripleo_overcloud_update_prepare_validation_errors_nonfatal"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_validation_errors_nonfatal: true
- name: Assert "tripleo_overcloud_update_prepare_validation_errors_nonfatal"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --validation-errors-nonfatal"
- name: Check parameter "tripleo_overcloud_update_prepare_validation_warnings_fatal"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_validation_warnings_fatal: true
- name: Assert "tripleo_overcloud_update_prepare_validation_warnings_fatal"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --validation-warnings-fatal"
- name: Check parameter "tripleo_overcloud_update_prepare_disable_validations"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_disable_validations: true
- name: Assert "tripleo_overcloud_update_prepare_disable_validations"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --disable-validations"
- name: Check parameter "tripleo_overcloud_update_prepare_inflight_validations"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_inflight_validations: true
- name: Assert "tripleo_overcloud_update_prepare_inflight_validations"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --inflight-validations"
- name: Check parameter "tripleo_overcloud_update_prepare_dry_run"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_dry_run: true
- name: Assert "tripleo_overcloud_update_prepare_dry_run"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --dry-run"
- name: Check parameter "tripleo_overcloud_update_prepare_run_validations"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_run_validations: true
- name: Assert "tripleo_overcloud_update_prepare_run_validations"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --run-validations"
- name: Check parameter "tripleo_overcloud_update_prepare_skip_postconfig"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_skip_postconfig: true
- name: Assert "tripleo_overcloud_update_prepare_skip_postconfig"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --skip-postconfig"
- name: Check parameter "tripleo_overcloud_update_prepare_force_postconfig"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_force_postconfig: true
- name: Assert "tripleo_overcloud_update_prepare_force_postconfig"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --force-postconfig"
- name: Check parameter "tripleo_overcloud_update_prepare_answers_file"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_answers_file: foo.yaml
- name: Assert "tripleo_overcloud_update_prepare_answers_file"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --answers-file foo.yaml"
- name: Check parameter "tripleo_overcloud_update_prepare_disable_password_generation"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_disable_password_generation: true
- name: Assert "tripleo_overcloud_update_prepare_disable_password_generation"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --disable-password-generation"
- name: Check parameter "tripleo_overcloud_update_prepare_update_prepareed_server"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_update_prepareed_server: true
- name: Assert "tripleo_overcloud_update_prepare_update_prepareed_server"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --deployed-server"
- name: Check parameter "tripleo_overcloud_update_prepare_config_download"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_config_download: true
- name: Assert "tripleo_overcloud_update_prepare_config_download"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --config-download"
- name: Check parameter "tripleo_overcloud_update_prepare_no_config_download"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_no_config_download: true
- name: Assert "tripleo_overcloud_update_prepare_no_config_download"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --no-config-download"
- name: Check parameter "tripleo_overcloud_update_prepare_output_dir"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_output_dir: /tmp/output
- name: Assert "tripleo_overcloud_update_prepare_output_dir"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --output-dir /tmp/output"
- name: Check parameter "tripleo_overcloud_update_prepare_override_ansible_cfg"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_override_ansible_cfg: foo.cfg
- name: Assert "tripleo_overcloud_update_prepare_override_ansible_cfg"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --override-ansible-cfg foo.cfg"
- name: Check parameter "tripleo_overcloud_update_prepare_config_download_timeout"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_config_download_timeout: 12
- name: Assert "tripleo_overcloud_update_prepare_config_download_timeout"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --config-download-timeout 12"
- name: Check parameter "tripleo_overcloud_update_prepare_update_preparement_python_interpreter"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_update_preparement_python_interpreter: python3
- name: Assert "tripleo_overcloud_update_prepare_update_preparement_python_interpreter"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --deployment-python-interpreter python3"
- name: Check parameter "tripleo_overcloud_update_prepare_baremetal_update_preparement"
include_role:
name: "tripleo_overcloud_update_prepare"
vars:
tripleo_overcloud_update_prepare_stack:
tripleo_overcloud_update_prepare_templates:
tripleo_overcloud_update_prepare_timeout_arg:
tripleo_overcloud_update_prepare_baremetal_update_preparement: bare.yaml
- name: Assert "tripleo_overcloud_update_prepare_baremetal_update_preparement"
assert:
that:
- tripleo_overcloud_update_prepare_output == "overcloud update prepare --baremetal-deployment bare.yaml"

View File

@ -0,0 +1,19 @@
---
driver:
name: delegated
options:
managed: false
ansible_connection_options:
ansible_connection: local
log: true
platforms:
- name: instance
provisioner:
name: ansible
scenario:
name: default
test_sequence:
- prepare
- syntax
- converge
- verify

View File

@ -0,0 +1,8 @@
---
- name: Prepare
hosts: all
tasks:
- name: Include molecule prep
include_role:
name: test_molecule_prep

View File

@ -0,0 +1,100 @@
---
# tasks file for tripleo_overcloud_update_prepare
- name: Setup overcloud update prepare facts
set_fact:
_update_prepare_cmd: >-
{{ tripleo_overcloud_update_prepare_os_cloud | ternary('', "source " ~ tripleo_overcloud_update_prepare_rc_file ~ "; ") }}
{{ openstack_bin }} overcloud update prepare
{{ tripleo_overcloud_update_prepare_templates | ternary('--templates $UPDATE_TEMPLATES', '') }}
{{ tripleo_overcloud_update_prepare_stack | ternary('--stack $UPDATE_STACK', '') }}
{{ tripleo_overcloud_update_prepare_timeout_arg | ternary('--timeout $UPDATE_TIMEOUT_ARG', '') }}
{{ tripleo_overcloud_update_prepare_libvirt_type | ternary('--libvirt-type $UPDATE_LIBVIRT_TYPE', '') }}
{{ tripleo_overcloud_update_prepare_ntp_server | ternary('--ntp-server $UPDATE_NTP_SERVER', '') }}
{{ tripleo_overcloud_update_prepare_no_proxy | ternary('--no-proxy $UPDATE_NO_PROXY', '') }}
{{ tripleo_overcloud_update_prepare_overcloud_ssh_user | ternary('--overcloud-ssh-user $UPDATE_OVERCLOUD_SSH_USER', '') }}
{{ tripleo_overcloud_update_prepare_overcloud_ssh_key | ternary('--overcloud-ssh-key $UPDATE_OVERCLOUD_SSH_KEY', '') }}
{{ tripleo_overcloud_update_prepare_overcloud_ssh_network | ternary('--overcloud-ssh-network $UPDATE_OVERCLOUD_SSH_NETWORK', '') }}
{{ tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout | ternary('--overcloud-ssh-enable-timeout $UPDATE_OVERCLOUD_SSH_ENABLE_TIMEOUT', '') }}
{{ tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout | ternary('--overcloud-ssh-port-timeout $UPDATE_OVERCLOUD_SSH_PORT_TIMEOUT', '') }}
{{ tripleo_overcloud_update_prepare_environment_files | tripleo.operator.shell_arg_list(parameter='-e') }}
{{ tripleo_overcloud_update_prepare_environment_dirs | tripleo.operator.shell_arg_list(parameter='--environment-directory') }}
{{ tripleo_overcloud_update_prepare_roles_file | ternary('-r $UPDATE_ROLES_FILE', '') }}
{{ tripleo_overcloud_update_prepare_networks_file | ternary('-n $UPDATE_NETWORKS_FILE', '') }}
{{ tripleo_overcloud_update_prepare_plan_environment_file | ternary('-p $UPDATE_PLAN_ENV_FILE', '') }}
{{ tripleo_overcloud_update_prepare_no_cleanup | ternary('--no-cleanup', '') }}
{{ tripleo_overcloud_update_prepare_update_plan_only | ternary('--update-plan-only', '') }}
{{ tripleo_overcloud_update_prepare_validation_errors_nonfatal | ternary('--validation-errors-nonfatal', '') }}
{{ tripleo_overcloud_update_prepare_validation_warnings_fatal | ternary('--validation-warnings-fatal', '') }}
{{ tripleo_overcloud_update_prepare_disable_validations | ternary('--disable-validations', '') }}
{{ tripleo_overcloud_update_prepare_inflight_validations | ternary('--inflight-validations', '') }}
{{ tripleo_overcloud_update_prepare_dry_run | ternary('--dry-run', '') }}
{{ tripleo_overcloud_update_prepare_run_validations | ternary('--run-validations', '') }}
{{ tripleo_overcloud_update_prepare_skip_postconfig | ternary('--skip-postconfig', '') }}
{{ tripleo_overcloud_update_prepare_force_postconfig | ternary('--force-postconfig', '') }}
{{ tripleo_overcloud_update_prepare_skip_update_prepare_identifier | ternary('--skip-deploy-identifier', '') }}
{{ tripleo_overcloud_update_prepare_answers_file | ternary('--answers-file $UPDATE_ANSWERS_FILE', '') }}
{{ tripleo_overcloud_update_prepare_disable_password_generation | ternary('--disable-password-generation', '') }}
{{ tripleo_overcloud_update_prepare_update_prepareed_server | ternary('--deployed-server', '') }}
{{ tripleo_overcloud_update_prepare_config_download | ternary('--config-download', '') }}
{{ tripleo_overcloud_update_prepare_no_config_download | ternary('--no-config-download', '') }}
{{ tripleo_overcloud_update_prepare_output_dir | ternary('--output-dir $UPDATE_OUTPUT_DIR', '') }}
{{ tripleo_overcloud_update_prepare_override_ansible_cfg | ternary('--override-ansible-cfg $UPDATE_OVERRIDE_ANSIBLE_CFG', '') }}
{{ tripleo_overcloud_update_prepare_config_download_timeout | ternary('--config-download-timeout $UPDATE_CONFIG_DOWNLOAD_TIMEOUT', '') }}
{{ tripleo_overcloud_update_prepare_update_preparement_python_interpreter | ternary('--deployment-python-interpreter $UPDATE_PYTHON_INTERPRETER', '') }}
{{ tripleo_overcloud_update_prepare_baremetal_update_preparement | ternary('--baremetal-deployment $UPDATE_BAREMETAL_DEPLOYMENT', '') }}
{{ tripleo_overcloud_update_prepare_log_output | ternary((">" ~ tripleo_overcloud_update_prepare_log), '') }}
{{ tripleo_overcloud_update_prepare_log_combine | ternary("2>&1", '') }}
_update_prepare_env:
UPDATE_TEMPLATES: "{{ tripleo_overcloud_update_prepare_templates }}"
UPDATE_STACK: "{{ tripleo_overcloud_update_prepare_stack }}"
UPDATE_TIMEOUT_ARG: "{{ tripleo_overcloud_update_prepare_timeout_arg }}"
UPDATE_LIBVIRT_TYPE: "{{ tripleo_overcloud_update_prepare_libvirt_type }}"
UPDATE_NTP_SERVER: "{{ tripleo_overcloud_update_prepare_ntp_server }}"
UPDATE_NO_PROXY: "{{ tripleo_overcloud_update_prepare_no_proxy }}"
UPDATE_OVERCLOUD_SSH_USER: "{{ tripleo_overcloud_update_prepare_overcloud_ssh_user }}"
UPDATE_OVERCLOUD_SSH_KEY: "{{ tripleo_overcloud_update_prepare_overcloud_ssh_key }}"
UPDATE_OVERCLOUD_SSH_NETWORK: "{{ tripleo_overcloud_update_prepare_overcloud_ssh_network }}"
UPDATE_OVERCLOUD_SSH_ENABLE_TIMEOUT: "{{ tripleo_overcloud_update_prepare_overcloud_ssh_enable_timeout }}"
UPDATE_OVERCLOUD_SSH_PORT_TIMEOUT: "{{ tripleo_overcloud_update_prepare_overcloud_ssh_port_timeout }}"
UPDATE_ROLES_FILE: "{{ tripleo_overcloud_update_prepare_roles_file }}"
UPDATE_NETWORKS_FILE: "{{ tripleo_overcloud_update_prepare_networks_file }}"
UPDATE_PLAN_ENV_FILE: "{{ tripleo_overcloud_update_prepare_plan_environment_file }}"
UPDATE_ANSWERS_FILE: "{{ tripleo_overcloud_update_prepare_answers_file }}"
UPDATE_OUTPUT_DIR: "{{ tripleo_overcloud_update_prepare_output_dir }}"
UPDATE_OVERRIDE_ANSIBLE_CFG: "{{ tripleo_overcloud_update_prepare_override_ansible_cfg }}"
UPDATE_CONFIG_DOWNLOAD_TIMEOUT: "{{ tripleo_overcloud_update_prepare_config_download_timeout }}"
UPDATE_PYTHON_INTERPRETER: "{{ tripleo_overcloud_update_prepare_update_preparement_python_interpreter }}"
UPDATE_BAREMETAL_DEPLOYMENT: "{{ tripleo_overcloud_update_prepare_baremetal_update_preparement }}"
OS_CLOUD: "{{ tripleo_overcloud_update_prepare_os_cloud }}"
- name: Preserve existing log file if exists
timestamp_file:
path: "{{ tripleo_overcloud_update_prepare_log }}"
when: tripleo_overcloud_update_prepare_log_output|bool
- name: Show debug information
when: tripleo_overcloud_update_prepare_debug|bool
block:
- name: Show the overcloud update prepare command
debug:
var: _update_prepare_cmd
- name: Show the overcloud update prepare environment
debug:
var: _update_prepare_env
- name: Overcloud update prepare
shell: "{{ _update_prepare_cmd }}" # noqa 305
environment: "{{ _update_prepare_env }}"
args:
chdir: "{{ tripleo_overcloud_update_prepare_home_dir }}"
warn: false
register: tripleo_overcloud_update_prepare_result
async: "{{ tripleo_overcloud_update_prepare_timeout }}"
poll: "{{ tripleo_overcloud_update_prepare_poll }}"
changed_when: false
when: not ansible_check_mode|bool
- name: Set output fact
set_fact:
tripleo_overcloud_update_prepare_output: "{{ tripleo_overcloud_update_prepare_result.stdout }}"

View File

@ -0,0 +1 @@
localhost

View File

@ -0,0 +1,4 @@
---
- hosts: localhost
roles:
- tripleo_overcloud_update_prepare

View File

@ -24,6 +24,7 @@
- tripleo-operator-molecule-tripleo_overcloud_node_discover
- tripleo-operator-molecule-tripleo_overcloud_node_introspect
- tripleo-operator-molecule-tripleo_overcloud_node_import
- tripleo-operator-molecule-tripleo_overcloud_update_prepare
- tripleo-operator-molecule-tripleo_undercloud_backup
- tripleo-operator-molecule-tripleo_undercloud_install
- tripleo-operator-molecule-tripleo_undercloud_minion_install
@ -54,6 +55,7 @@
- tripleo-operator-molecule-tripleo_overcloud_node_discover
- tripleo-operator-molecule-tripleo_overcloud_node_introspect
- tripleo-operator-molecule-tripleo_overcloud_node_import
- tripleo-operator-molecule-tripleo_overcloud_update_prepare
- tripleo-operator-molecule-tripleo_undercloud_backup
- tripleo-operator-molecule-tripleo_undercloud_install
- tripleo-operator-molecule-tripleo_undercloud_minion_install
@ -347,6 +349,20 @@
vars:
tox_extra_args: tripleo_container_image_prepare_default
- job:
files:
- ^roles/tripleo_overcloud_update_prepare/.*
- ^bindep.txt
- ^galaxy.yml
- ^requirements.txt
- ^setup.cfg
- ^test-requirements.txt
- ^tox.ini
name: tripleo-operator-molecule-tripleo_overcloud_update_prepare
parent: tripleo-operator-molecule-base
vars:
tox_extra_args: tripleo_overcloud_update_prepare
- job:
files:
- ^roles/tripleo_undercloud_backup/.*