Created
November 28, 2017 16:46
-
-
Save mcornea/af5ed4b98ea83a0bbd64973364dd4b71 to your computer and use it in GitHub Desktop.
convert_roles.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- name: Convert roles_data file | |
hosts: localhost | |
gather_facts: false | |
vars: | |
overcloud_deploy_script: /home/stack/overcloud_deploy.sh | |
tasks: | |
- name: Register roles data file location if exists | |
shell: "grep '\\-r\\ \\|\\-\\-roles' {{ overcloud_deploy_script }} | awk {'print $2'}" | |
register: custom_roles_file | |
ignore_errors: true | |
- name: Check if roles data has already been adjusted | |
stat: | |
path: "{{ custom_roles_file.stdout }}.pre_pike_upgrade" | |
register: custom_roles_adjusted | |
- block: | |
- name: Make a copy of the custom roles data file | |
copy: | |
src: "{{ custom_roles_file.stdout }}" | |
dest: "{{ custom_roles_file.stdout }}.pre_pike_upgrade" | |
remote_src: true | |
- name: Assigns deprecated params to Controller role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: "^(- name: Controller( # the 'primary' role goes first)?$)" | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n deprecated_param_image: "controllerImage"' | |
- '\1\n deprecated_param_flavor: "OvercloudControlFlavor"' | |
- '\1\n deprecated_param_extraconfig: "controllerExtraConfig"' | |
- '\1\n uses_deprecated_params: True' | |
- name: Assigns network attributes to Controller role or custom controller roles | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Controller.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - External\n - InternalApi\n - Storage\n - StorageMgmt\n - Tenant' | |
- '\1\n tags:\n - primary\n - controller' | |
- '\1\n description: |\n Controller role that has all the controler services loaded and handles\n Database, Messaging and Network functions.' | |
- name: Assigns deprecated params to Compute role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Compute$)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n deprecated_server_resource_name: "NovaCompute"' | |
- '\1\n deprecated_param_ips: "NovaComputeIPs"' | |
- '\1\n deprecated_param_scheduler_hints: "NovaComputeSchedulerHints"' | |
- '\1\n deprecated_param_metadata: "NovaComputeServerMetadata"' | |
- '\1\n deprecated_param_extraconfig: "NovaComputeExtraConfig"' | |
- '\1\n deprecated_param_image: "NovaImage"' | |
- '\1\n uses_deprecated_params: True' | |
- name: Assigns network attributes to Compute role or custom compute roles | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Compute.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi\n - Storage\n - Tenant' | |
- '\1\n description: |\n Basic Compute Node role' | |
- name: Assigns new attributes to AltCompute role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: AltCompute.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi\n - Storage\n - Tenant' | |
- '\1\n description: |\n Basic Compute Node role' | |
- name: Assigns new attributes to BlockStorage role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: BlockStorage.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi\n - Storage\n - StorageMgmt' | |
- '\1\n description: |\n Cinder Block Storage node role' | |
- name: Assigns deprecated params to ObjectStorage role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: ObjectStorage$)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n deprecated_param_flavor: "OvercloudSwiftStorageFlavor"' | |
- '\1\n deprecated_param_image: "SwiftStorageImage"' | |
- '\1\n deprecated_param_ips: "SwiftStorageIPs"' | |
- '\1\n deprecated_param_metadata: "SwiftStorageServerMetadata"' | |
- '\1\n uses_deprecated_params: True' | |
- name: Assigns network attributes to ObjectStorage role or custom object storage roles | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: ObjectStorage.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi\n - Storage\n - StorageMgmt' | |
- '\1\n description: |\n Swift Object Storage node role' | |
- name: Assigns new attributes to CephStorage role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: CephStorage.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - Storage\n - StorageMgmt' | |
- '\1\n description: |\n Ceph OSD Storage node role' | |
- name: Assigns new attributes to Database role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Database.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi' | |
- '\1\n description: |\n Standalone database role with the database being managed via Pacemaker' | |
- name: Assigns new attributes to Galera role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Galera.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi' | |
- '\1\n description: |\n Standalone database role with the database being managed via Pacemaker' | |
- name: Assigns new attributes to Networker role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Networker.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi\n - Tenant' | |
- '\1\n description: |\n Standalone networking role to run Neutron agents' | |
- name: Assigns new attributes to Messaging role | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '^(- name: Messaging.*)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n networks:\n - InternalApi' | |
- '\1\n description: |\n Standalone messaging role with RabbitMQ being managed via Pacemaker' | |
- name: Add services common to all roles introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::Timezone)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::CertmongerUser' | |
- '\1\n - OS::TripleO::Services::Docker' | |
- '\1\n - OS::TripleO::Services::Securetty' | |
- '\1\n - OS::TripleO::Services::Tuned' | |
- '\1\n - OS::TripleO::Services::ContainersLogrotateCrond' | |
- name: Add CinderBackend services introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- .*CinderVolume)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::CinderBackendVRTSHyperScale' | |
- '\1\n - OS::TripleO::Services::CinderBackendDellEMCUnity' | |
- '\1\n - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI' | |
- name: Add Clustercheck service introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::MySQL$)' | |
replace: '\1\n - OS::TripleO::Services::Clustercheck' | |
- name: Add ExternalSwiftProxy service introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::SwiftProxy)' | |
replace: '\1\n - OS::TripleO::Services::ExternalSwiftProxy' | |
- name: Add Iscsid service introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: "{{ item }}" | |
replace: '\1\n - OS::TripleO::Services::Iscsid' | |
with_items: | |
- '(- .*CinderVolume)' | |
- '(- OS::TripleO::Services::NovaCompute)' | |
- name: Add Neutron API services introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::NeutronApi)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::NeutronBgpVpnApi' | |
- '\1\n - OS::TripleO::Services::NeutronL2gwApi' | |
- name: Add Neutron agents introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::NeutronL3Agent)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::NeutronL2gwAgent' | |
- '\1\n - OS::TripleO::Services::NeutronLbaasv2Agent' | |
- name: Add Neutron agents introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- .*NeutronOvsAgent)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::NeutronVppAgent' | |
- '\1\n - OS::TripleO::Services::NeutronLinuxbridgeAgent' | |
- '\1\n - OS::TripleO::Services::Vpp' | |
- name: Add NovaMigrationTarget service introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::NovaCompute)' | |
replace: '\1\n - OS::TripleO::Services::NovaMigrationTarget' | |
- name: Add OVNController service introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::OVNDBs)' | |
replace: '\1\n - OS::TripleO::Services::OVNController' | |
- name: Add Manila backend services introduced in Pike | |
replace: | |
dest: '{{ custom_roles_file.stdout }}' | |
regexp: '(- OS::TripleO::Services::ManilaShare)' | |
replace: "{{ item }}" | |
with_items: | |
- '\1\n - OS::TripleO::Services::ManilaBackendIsilon' | |
- '\1\n - OS::TripleO::Services::ManilaBackendUnity' | |
- '\1\n - OS::TripleO::Services::ManilaBackendVMAX' | |
- '\1\n - OS::TripleO::Services::ManilaBackendVNX' | |
when: custom_roles_file.stdout|length > 0 and not custom_roles_adjusted.stat.exists |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment