From e9dfa531d405fc67651aedaf8ac16fb311ffa3d8 Mon Sep 17 00:00:00 2001 From: Amol Kahat Date: Wed, 25 Aug 2021 15:54:05 -0400 Subject: [PATCH] Added Ephemeral Heat CLI in overcloud_deploy role Added missing Ephemeral Heat supported vars and command options. Signed-off-by: Amol Kahat Change-Id: Iabf9df14c20403d38d2d7729228afd85ca3da72a --- roles/tripleo_overcloud_deploy/README.md | 5 ++ .../defaults/main.yml | 5 ++ .../molecule/default/converge.yml | 70 +++++++++++++++++++ roles/tripleo_overcloud_deploy/tasks/main.yml | 8 +++ 4 files changed, 88 insertions(+) diff --git a/roles/tripleo_overcloud_deploy/README.md b/roles/tripleo_overcloud_deploy/README.md index 06f4efc..42f2f63 100644 --- a/roles/tripleo_overcloud_deploy/README.md +++ b/roles/tripleo_overcloud_deploy/README.md @@ -26,6 +26,11 @@ Role Variables * `tripleo_overcloud_deploy_force_postconfig`: (Boolean) Force the overcloud post-deployment configuration. Default: false * `tripleo_overcloud_deploy_generate_scripts`: (Boolean) Write out a shell script that can be used to reproduce the command being executed. By default uses the value of `tripleo_generate_scripts` or False if `tripleo_generate_scripts` isn't defined. * `tripleo_overcloud_deploy_generate_scripts_only`: (Boolean) Do not run the actual command - to be used in conjunction with `tripleo_overcloud_deploy_generate_scripts`. By default uses the value of `tripleo_generate_scripts_only` or False if `tripleo_generate_scripts_only` is not defined. +* `tripleo_overcloud_deploy_heat_type`: (String) Ephemeral heat type. +* `tripleo_overcloud_deploy_heat_container_api_image`: (String) Heat container api image. +* `tripleo_overcloud_deploy_heat_container_engine_image`: (String) Heat container engine image. +* `tripleo_overcloud_deploy_remove_heat`:(Boolean) Remove ephemeral heat. Deafult: false +* `tripleo_overcloud_deploy_skip_heat_pull`: (Boolean) When --heat-type is pod or container assume the container image has already been pulled. Default: false * `tripleo_overcloud_deploy_home_dir`: (String) Home directory to where the command is run from. Default: "{{ ansible_env.HOME }}" * `tripleo_overcloud_deploy_inflight_validations`: (Boolean) Flag to enable in-flight validations. Default: false * `tripleo_overcloud_deploy_libvirt_type`: (String) Libvirt domain time. Setting `NovaComputeLibvirtType` in an environment file is preferred over this option. diff --git a/roles/tripleo_overcloud_deploy/defaults/main.yml b/roles/tripleo_overcloud_deploy/defaults/main.yml index 29b98d6..543dd1c 100644 --- a/roles/tripleo_overcloud_deploy/defaults/main.yml +++ b/roles/tripleo_overcloud_deploy/defaults/main.yml @@ -16,6 +16,11 @@ tripleo_overcloud_deploy_environment_files: [] tripleo_overcloud_deploy_force_postconfig: false tripleo_overcloud_deploy_generate_scripts: "{{ tripleo_generate_scripts | default(False) }}" tripleo_overcloud_deploy_generate_scripts_only: "{{ tripleo_generate_scripts_only | default(False) }}" +tripleo_overcloud_deploy_heat_type: "" +tripleo_overcloud_deploy_heat_container_api_image: "" +tripleo_overcloud_deploy_heat_container_engine_image: "" +tripleo_overcloud_deploy_remove_heat: false +tripleo_overcloud_deploy_skip_heat_pull: false tripleo_overcloud_deploy_home_dir: "{{ ansible_env.HOME }}" tripleo_overcloud_deploy_inflight_validations: false tripleo_overcloud_deploy_libvirt_type: diff --git a/roles/tripleo_overcloud_deploy/molecule/default/converge.yml b/roles/tripleo_overcloud_deploy/molecule/default/converge.yml index 4f8fe50..16bce8e 100644 --- a/roles/tripleo_overcloud_deploy/molecule/default/converge.yml +++ b/roles/tripleo_overcloud_deploy/molecule/default/converge.yml @@ -518,3 +518,73 @@ assert: that: - tripleo_overcloud_deploy_output == "overcloud deploy --vip-file vips.yaml" + + - name: Check parameter "tripleo_overcloud_deploy_heat_type" + include_role: + name: "tripleo_overcloud_deploy" + vars: + tripleo_overcloud_deploy_stack: + tripleo_overcloud_deploy_templates: + tripleo_overcloud_deploy_timeout_arg: + tripleo_overcloud_deploy_heat_type: "pod" + + - name: Assert "tripleo_overcloud_deploy_heat_type" + assert: + that: + - tripleo_overcloud_deploy_output == "overcloud deploy --heat-type pod" + + - name: Check parameter "tripleo_overcloud_deploy_heat_container_api_image" + include_role: + name: "tripleo_overcloud_deploy" + vars: + tripleo_overcloud_deploy_stack: + tripleo_overcloud_deploy_templates: + tripleo_overcloud_deploy_timeout_arg: + tripleo_overcloud_deploy_heat_container_api_image: "foo.iso" + + - name: Assert "tripleo_vercloud_deploy_heat_container_api_image" + assert: + that: + - tripleo_overcloud_deploy_output == "overcloud deploy --heat-container-api-image foo.iso" + + - name: Check parameter "tripleo_overcloud_deploy_heat_container_engine_image" + include_role: + name: "tripleo_overcloud_deploy" + vars: + tripleo_overcloud_deploy_stack: + tripleo_overcloud_deploy_templates: + tripleo_overcloud_deploy_timeout_arg: + tripleo_overcloud_deploy_heat_container_engine_image: "foo.iso" + + - name: Assert "tripleo_overcloud_deploy_heat_container_engine_image" + assert: + that: + - tripleo_overcloud_deploy_output == "overcloud deploy --heat-container-engine-image foo.iso" + + - name: Check parameter "tripleo_overcloud_deploy_skip_heat_pull" + include_role: + name: "tripleo_overcloud_deploy" + vars: + tripleo_overcloud_deploy_stack: + tripleo_overcloud_deploy_templates: + tripleo_overcloud_deploy_timeout_arg: + tripleo_overcloud_deploy_skip_heat_pull: true + + - name: Assert "tripleo_vercloud_deploy_skip_heat_pull" + assert: + that: + - tripleo_overcloud_deploy_output == "overcloud deploy --skip-heat-pull" + + - name: Check parameter "tripleo_overcloud_deploy_remove_heat" + include_role: + name: "tripleo_overcloud_deploy" + vars: + tripleo_overcloud_deploy_stack: + tripleo_overcloud_deploy_templates: + tripleo_overcloud_deploy_timeout_arg: + tripleo_overcloud_deploy_remove_heat: true + + - name: Assert "tripleo_overcloud_deploy_remove_heat" + assert: + that: + - tripleo_overcloud_deploy_output == "overcloud deploy --rm-heat" diff --git a/roles/tripleo_overcloud_deploy/tasks/main.yml b/roles/tripleo_overcloud_deploy/tasks/main.yml index 58e6468..c84838e 100644 --- a/roles/tripleo_overcloud_deploy/tasks/main.yml +++ b/roles/tripleo_overcloud_deploy/tasks/main.yml @@ -43,6 +43,11 @@ {{ tripleo_overcloud_deploy_config_download_timeout | ternary('--config-download-timeout $DEPLOY_CONFIG_DOWNLOAD_TIMEOUT', '') }} {{ tripleo_overcloud_deploy_deployment_python_interpreter | ternary('--deployment-python-interpreter $DEPLOY_PYTHON_INTERPRETER', '') }} {{ tripleo_overcloud_deploy_baremetal_deployment | ternary('--baremetal-deployment $DEPLOY_BAREMETAL_DEPLOYMENT', '') }} + {{ tripleo_overcloud_deploy_heat_type | ternary('--heat-type $DEPLOY_HEAT_TYPE', '') }} + {{ tripleo_overcloud_deploy_heat_container_api_image | ternary('--heat-container-api-image $DEPLOY_HEAT_CONTAINER_API_IMAGE', '') }} + {{ tripleo_overcloud_deploy_heat_container_engine_image | ternary('--heat-container-engine-image $DEPLOY_HEAT_CONTAINER_ENGINE_IMAGE', '') }} + {{ tripleo_overcloud_deploy_skip_heat_pull | ternary('--skip-heat-pull', '') }} + {{ tripleo_overcloud_deploy_remove_heat | ternary('--rm-heat', '') }} {{ tripleo_overcloud_deploy_log_output | ternary((">" ~ tripleo_overcloud_deploy_log), '') }} {{ tripleo_overcloud_deploy_log_combine | ternary("2>&1", '') }} _deploy_env: @@ -67,6 +72,9 @@ DEPLOY_CONFIG_DOWNLOAD_TIMEOUT: "{{ tripleo_overcloud_deploy_config_download_timeout }}" DEPLOY_PYTHON_INTERPRETER: "{{ tripleo_overcloud_deploy_deployment_python_interpreter }}" DEPLOY_BAREMETAL_DEPLOYMENT: "{{ tripleo_overcloud_deploy_baremetal_deployment }}" + DEPLOY_HEAT_TYPE: "{{ tripleo_overcloud_deploy_heat_type }}" + DEPLOY_HEAT_CONTAINER_API_IMAGE: "{{ tripleo_overcloud_deploy_heat_container_api_image }}" + DEPLOY_HEAT_CONTAINER_ENGINE_IMAGE: "{{ tripleo_overcloud_deploy_heat_container_engine_image }}" OS_CLOUD: "{{ tripleo_overcloud_deploy_os_cloud }}" - name: Preserve existing log file if exists