4 - name: Generate SSH key for stack if missing
5 shell: test -e ~/.ssh/id_rsa || ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
6 - name: Fix ssh key for stack
7 shell: restorecon -r /home/stack
10 path: /home/stack/nics
16 src: /root/.ssh/id_rsa.pub
17 dest: /home/stack/jumphost_id_rsa.pub
22 src: "{{ apex_temp_dir }}/{{ item }}.yaml"
23 dest: "/home/stack/nics/{{ item }}.yaml"
30 - name: Copy container prep env file to undercloud
32 src: "{{ apex_temp_dir }}/containers-prepare-parameter.yaml"
33 dest: "/home/stack/containers-prepare-parameter.yaml"
39 regexp: 'Defaults\s*requiretty'
43 path: /etc/environment
45 line: "http_proxy={{ http_proxy }}"
49 path: /etc/environment
50 regexp: '^https_proxy'
51 line: "https_proxy={{ https_proxy }}"
54 - name: openstack-configs undercloud
55 shell: openstack-config --set undercloud.conf DEFAULT {{ item }}
56 with_items: "{{ undercloud_config }}"
57 - name: openstack-configs undercloud network
58 shell: openstack-config --set undercloud.conf ctlplane-subnet {{ item }}
59 with_items: "{{ undercloud_network_config }}"
61 - name: undercloud install
62 shell: openstack undercloud install &> apex-undercloud-install.log
66 - name: undercloud install retry
67 shell: openstack undercloud install >> apex-undercloud-install.log 2>&1
71 - name: fetch undercloud log
73 src: /home/stack/apex-undercloud-install.log
74 dest: "{{ apex_temp_dir }}/"
76 - name: openstack-configs nova
77 shell: openstack-config --set /var/lib/config-data/nova/etc/nova/nova.conf DEFAULT {{ item }}
79 with_items: "{{ nova_config }}"
80 - name: restart nova services
81 shell: "docker restart {{ item }}"
88 - name: openstack-configs neutron
89 shell: openstack-config --set /var/lib/config-data/neutron/etc/neutron/neutron.conf DEFAULT {{ item }}
91 with_items: "{{ neutron_config }}"
92 - name: restart neutron services
93 shell: "docker restart {{ item }}"
98 - name: openstack-configs ironic
99 shell: openstack-config --set /var/lib/config-data/ironic/etc/ironic/ironic.conf {{ item }}
101 with_items: "{{ ironic_config }}"
102 - name: restart ironic services
103 shell: "docker restart {{ item }}"
109 # will need to modify the below to patch the container
111 path: /usr/lib/python2.7/site-packages/ironic/common/pxe_utils.py
112 regexp: '_link_ip_address_pxe_configs'
113 line: ' _link_mac_pxe_configs(task)'
115 - name: configure external network vlan ifcfg
117 src: external_vlan_ifcfg.yml.j2
118 dest: "/etc/sysconfig/network-scripts/ifcfg-vlan{{ external_network.vlan }}"
124 - external_network.vlan != "native"
125 - external_network.enabled
126 - name: bring up vlan ifcfg
127 shell: "ifup vlan{{ external_network.vlan }}"
130 - external_network.vlan != "native"
131 - external_network.enabled
132 - name: assign IP to native eth2
133 shell: ip a a {{ external_network.ip }}/{{ external_network.prefix }} dev eth2
136 - external_network.vlan == "native"
137 - external_network.enabled
139 - name: bring up eth2
140 shell: ip link set up dev eth2
142 - external_network.vlan == "native"
143 - external_network.enabled
146 - name: assign IP to native eth0 if aarch64
147 shell: ip a a {{ external_network.ip }}/{{ external_network.prefix }} dev eth0
150 - external_network.vlan == "native"
151 - external_network.enabled
153 - name: bring up eth0 if aarch64
154 shell: ip link set up dev eth0
156 - external_network.vlan == "native"
157 - external_network.enabled
161 - name: Undercloud NAT - MASQUERADE interface
167 - name: Undercloud NAT - MASQUERADE interface with subnet
173 source: "{{ nat_cidr }}"
174 - name: Undercloud NAT - Allow Forwarding
179 - name: Undercloud NAT - Allow Stateful Forwarding
184 source: "{{ nat_cidr }}"
185 ctstate: ESTABLISHED,RELATED
186 - name: Undercloud NAT - Save iptables
187 shell: service iptables save
190 - not nat_network_ipv6
192 - name: fetch storage environment file
194 src: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
195 dest: "{{ apex_temp_dir }}/"
197 - name: fetch sriov environment file
199 src: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-opendaylight-sriov.yaml
200 dest: "{{ apex_temp_dir }}/"
202 - name: Restorecon for root ssh
203 shell: restorecon -r -v /root/.ssh
206 - include: undercloud_aarch64.yml