with_items:
- network-environment.yaml
- instackenv.json
- - opnfv-environment.yaml
- overcloud-full.qcow2
+ - overcloud-full.vmlinuz
+ - overcloud-full.initrd
+ - ironic-python-agent.initramfs
+ - ironic-python-agent.kernel
- deploy_command
- virtual-environment.yaml
- baremetal-environment.yaml
+ - kubernetes-environment.yaml
+ - "{{ apex_env_file }}"
+ - name: Copy ansible.cfg data to undercloud in aarch64
+ copy:
+ src: "{{ apex_temp_dir }}/ansible.cfg"
+ dest: "/home/stack/ansible.cfg"
+ owner: stack
+ group: stack
+ mode: 0644
+ when: aarch64
+ - name: Copy network data to undercloud
+ copy:
+ src: "{{ apex_temp_dir }}/network_data.yaml"
+ dest: "/home/stack/network_data.yaml"
+ owner: stack
+ group: stack
+ mode: 0644
+ when: os_version != 'ocata'
- copy:
src: "{{ apex_temp_dir }}/storage-environment.yaml"
dest: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
owner: root
group: root
mode: 0664
- - systemd:
- name: openstack-swift-proxy
- state: restarted
- enabled: yes
+ - copy:
+ src: "{{ apex_temp_dir }}/neutron-opendaylight-sriov.yaml"
+ dest: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-opendaylight-sriov.yaml
+ owner: root
+ group: root
+ mode: 0664
+ - name: Remove Ceph OSD from ceph storage role
+ lineinfile:
+ path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
+ line: ' - OS::TripleO::Services::CephOSD'
+ owner: root
+ group: root
+ state: absent
+ become: yes
+ - name: Insert Ceph OSDs into Compute role
+ lineinfile:
+ path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
+ insertbefore: '^\s*-\sOS::TripleO::Services::NovaCompute$'
+ line: ' - OS::TripleO::Services::CephOSD'
+ owner: root
+ group: root
+ become: yes
+ - name: Insert Ceph OSDs into Controller role
+ lineinfile:
+ path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
+ insertbefore: '^\s*-\sOS::TripleO::Services::CephRbdMirror$'
+ line: ' - OS::TripleO::Services::CephOSD'
+ owner: root
+ group: root
become: yes
- name: Upload glance images
shell: "{{ stackrc }} && openstack overcloud image upload"
become: yes
become_user: stack
- name: Import inventory (baremetal)
- shell: "{{ stackrc }} && {{ item }}"
- with_items:
- - openstack overcloud node import instackenv.json
- - openstack overcloud node introspect --all-manageable --provide
- when: not virtual
+ shell: "{{ stackrc }} && openstack overcloud node import instackenv.json"
+ when: introspect
+ - name: Introspect inventory (baremetal)
+ shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide"
+ when: introspect
- name: Import inventory (virtual)
shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json"
- when: virtual
+ when: not introspect
- name: Set flavors
- shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="x86_64" {{ item }}'
+ shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}'
with_items:
- baremetal
- control
- compute
+ - name: Downgrade ceph
+ yum:
+ allow_downgrade: yes
+ name: ceph-ansible-3.1.6
+ become: yes
+ - name: Re-enable ceph config for aarch64
+ replace:
+ path: "/usr/share/ceph-ansible/roles/ceph-client/tasks/create_users_keys.yml"
+ regexp: "x86_64"
+ replace: "aarch64"
+ backup: yes
+ when: aarch64
- name: Configure DNS server for ctlplane network
shell: "{{ stackrc }} && openstack subnet set ctlplane-subnet {{ dns_server_args }}"
- - name: Execute Overcloud Deployment
- shell: "{{ stackrc }} && bash deploy_command"
+ - block:
+ - name: Execute Overcloud Deployment
+ shell: "{{ stackrc }} && bash deploy_command"
+ become: yes
+ become_user: stack
+ rescue:
+ - name: Show overcloud failures
+ shell: "{{ stackrc }} && openstack stack failures list overcloud --long"
+ become: yes
+ become_user: stack
+ always:
+ - name: Archive Mistral logs
+ archive:
+ path:
+ - /var/lib/mistral
+ - /var/log/mistral
+ dest: /root/mistral_logs.tar.gz
+ become: yes
+ - name: Fetch mistral logs
+ fetch:
+ src: /root/mistral_logs.tar.gz
+ dest: "{{ apex_temp_dir }}/"
+ flat: yes
+ become: yes
- name: Show Keystone output
shell: "{{ overcloudrc }} && {{ item }}"
- when: debug
+ when: debug and vim == 'openstack'
with_items:
- openstack endpoint list
- openstack service list