Enables containerized overcloud deployments
[apex.git] / lib / ansible / playbooks / configure_undercloud.yml
index bd06c0f..fbac6ee 100644 (file)
         regexp: 'Defaults\s*requiretty'
         state: absent
       become: yes
+    - lineinfile:
+        path: /etc/environment
+        regexp: '^http_proxy'
+        line: "http_proxy={{ http_proxy }}"
+      become: yes
+      when: http_proxy
+    - lineinfile:
+        path: /etc/environment
+        regexp: '^https_proxy'
+        line: "https_proxy={{ https_proxy }}"
+      become: yes
+      when: https_proxy
     - name: openstack-configs undercloud
       shell: openstack-config --set undercloud.conf DEFAULT {{ item }}
       with_items: "{{ undercloud_config }}"
       shell: openstack-config --set /etc/ironic/ironic.conf {{ item }}
       become: yes
       with_items: "{{ ironic_config }}"
-    - name: openstack-configs undercloud aarch64
-      shell: openstack-config --set undercloud.conf DEFAULT ipxe_enabled false
-      when: aarch64
     - lineinfile:
         path: /usr/lib/python2.7/site-packages/ironic/common/pxe_utils.py
         regexp: '_link_ip_address_pxe_configs'
-        line: '_link_mac_pxe_configs(task)'
+        line: '        _link_mac_pxe_configs(task)'
       when: aarch64
-    - name: undercloud install
-      shell: openstack undercloud install &> apex-undercloud-install.log
-      become: yes
-      become_user: stack
+    - block:
+        - name: undercloud install
+          shell: openstack undercloud install &> apex-undercloud-install.log
+          become: yes
+          become_user: stack
+      rescue:
+        - name: undercloud install retry
+          shell: openstack undercloud install >> apex-undercloud-install.log 2>&1
+          become: yes
+          become_user: stack
+      always:
+        - name: fetch undercloud log
+          fetch:
+            src: /home/stack/apex-undercloud-install.log
+            dest: "{{ apex_temp_dir }}/"
+            flat: yes
     - name: openstack-configs nova
       shell: openstack-config --set /etc/nova/nova.conf DEFAULT {{ item }}
       become: yes
         - external_network.enabled
         - aarch64
       become: yes
+    - block:
+        - name: Undercloud NAT - MASQUERADE interface
+          iptables:
+            table: nat
+            chain: POSTROUTING
+            out_interface: eth0
+            jump: MASQUERADE
+        - name: Undercloud NAT - MASQUERADE interface with subnet
+          iptables:
+            table: nat
+            chain: POSTROUTING
+            out_interface: eth0
+            jump: MASQUERADE
+            source: "{{ nat_cidr }}"
+        - name: Undercloud NAT - Allow Forwarding
+          iptables:
+            chain: FORWARD
+            in_interface: eth2
+            jump: ACCEPT
+        - name: Undercloud NAT - Allow Stateful Forwarding
+          iptables:
+            chain: FORWARD
+            in_interface: eth2
+            jump: ACCEPT
+            source: "{{ nat_cidr }}"
+            ctstate: ESTABLISHED,RELATED
+        - name: Undercloud NAT - Save iptables
+          shell: service iptables save
+      become: yes
+      when:
+        - not nat_network_ipv6
+        - virtual_overcloud
     - name: fetch storage environment file
       fetch:
         src: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
         dest: "{{ apex_temp_dir }}/"
         flat: yes
+    - name: fetch sriov environment file
+      fetch:
+        src: /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-sriov.yaml
+        dest: "{{ apex_temp_dir }}/"
+        flat: yes
 
 - include: undercloud_aarch64.yml
   when: aarch64