From 8f876f8d2d2854a99573bc871c80d7178cbc0e3a Mon Sep 17 00:00:00 2001 From: Marius Cornea Date: Fri, 23 Feb 2018 15:01:52 -0500 Subject: [PATCH] Add support for using custom FFU repository scripts This change adds support for passing custom repository scripts for the FFU repositories setup. This makes use of the custom-script option enabled by this change: https://review.openstack.org/#/c/539503/ Change-Id: I70f348409ddb7773dd68a1022c6f3697bb82b64c --- defaults/main.yml | 6 ++++++ infrared_plugin/main.yml | 7 +++++++ infrared_plugin/plugin.spec | 17 +++++++++++++++++ .../create-prepare-scripts.yaml | 7 +++++++ .../fast-forward-upgrade/ffu_repos.yaml.j2 | 4 ++++ 5 files changed, 41 insertions(+) create mode 100644 templates/fast-forward-upgrade/ffu_repos.yaml.j2 diff --git a/defaults/main.yml b/defaults/main.yml index 16e921f5..df4d9ec3 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -167,3 +167,9 @@ ffu_undercloud_repo_args: # Tripleo OOOQ variables. composable_scenario: False upgrade_composable_scenario: False + +## ffu overcloud upgrade +ffu_overcloud_releases: ['ocata', 'pike', 'queens'] + +## ffu overcloud to use custom scripts instead of tripleo-repos +ffu_overcloud_repo_type: tripleo-repos diff --git a/infrared_plugin/main.yml b/infrared_plugin/main.yml index 428a804d..3eeb34f1 100644 --- a/infrared_plugin/main.yml +++ b/infrared_plugin/main.yml @@ -149,5 +149,12 @@ ffu_overcloud_upgrade: true when: install.overcloud.ffu.upgrade + - name: Set overcloud FFU upgrade releases + set_fact: + ffu_overcloud_releases: "{{ install.overcloud.ffu.releases }}" + + - name: Set overcloud FFU upgrade repo + set_fact: + ffu_overcloud_repo_type: "{{ install.overcloud.ffu.repo }}" roles: - tripleo-upgrade diff --git a/infrared_plugin/plugin.spec b/infrared_plugin/plugin.spec index 1cb803e1..a281e157 100644 --- a/infrared_plugin/plugin.spec +++ b/infrared_plugin/plugin.spec @@ -155,3 +155,20 @@ subparsers: help: | Apply FFU upgrade workarounds default: false + overcloud-ffu-releases: + type: ListValue + help: | + Overcloud FFU upgrade releases + default: 11,12,13 + overcloud-ffu-repo: + type: Value + help: | + Overcloud FFU upgrade repository method + default: 'rhos-release' + - title: Set up FFU packages + options: + mirror: + type: Value + help: | + Enable usage of specified mirror (for rpm, pip etc) [brq,qeos,tlv - or hostname]. + (Specified mirror needs to proxy multiple rpm source hosts and pypi packages.) diff --git a/tasks/fast-forward-upgrade/create-prepare-scripts.yaml b/tasks/fast-forward-upgrade/create-prepare-scripts.yaml index be1fc1b9..206574ac 100644 --- a/tasks/fast-forward-upgrade/create-prepare-scripts.yaml +++ b/tasks/fast-forward-upgrade/create-prepare-scripts.yaml @@ -40,6 +40,12 @@ set_fact: deployment_with_ha: "{{ is_upstream.rc == 0 and pacemaker_present.rc == 0 }}" +- name: Create FFU custom repos environment + template: + src: fast-forward-upgrade/ffu_repos.yaml.j2 + dest: "{{working_dir}}/ffu_repos.yaml" + when: "'tripleo-repos' not in ffu_overcloud_repo_type" + - name: create ffu overcloud upgrade scripts include: ../upgrade/step_upgrade.yml loop_control: @@ -52,6 +58,7 @@ - "{% if upstream_container_images and deployment_with_ha %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}" - "{{ working_dir}}/{{ container_registry_file }}" - "{{ tht_directory }}/environments/fast-forward-upgrade.yaml" + - "{% if 'tripleo-repos' not in ffu_overcloud_repo_type %}{{working_dir}}/ffu_repos.yaml{% endif %}" - "{{ tht_directory }}/environments/config-download-environment.yaml" - name: Adjust ffu scenario file. diff --git a/templates/fast-forward-upgrade/ffu_repos.yaml.j2 b/templates/fast-forward-upgrade/ffu_repos.yaml.j2 new file mode 100644 index 00000000..82cd6c21 --- /dev/null +++ b/templates/fast-forward-upgrade/ffu_repos.yaml.j2 @@ -0,0 +1,4 @@ +parameter_defaults: + FastForwardRepoType: custom-script + FastForwardCustomRepoScriptContent: | + {{ ffu_repo_script | default('') | indent(4) }}