Bug fix for CentOS BM deployment 31/48631/6
authorYifei Xue <xueyifei@huawei.com>
Mon, 11 Dec 2017 08:08:16 +0000 (16:08 +0800)
committerYifei Xue <xueyifei@huawei.com>
Tue, 12 Dec 2017 09:49:13 +0000 (17:49 +0800)
JIRA: -

In order to configure network for OSA deployment,
it's needed to install some packages, such as
bridge-utils, iputils, etc. So we configure
external network before using yum to install
packages.

Change-Id: I87864d6bdae79184aa82223f77b6ced1d0e9cf26
Signed-off-by: Yifei Xue <xueyifei@huawei.com>
17 files changed:
deploy/adapters/ansible/roles/config-compute/tasks/RedHat.yml
deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-mgmt
deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.storage
deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.tenant
deploy/adapters/ansible/roles/config-compute/vars/main.yml
deploy/adapters/ansible/roles/config-controller/tasks/RedHat.yml
deploy/adapters/ansible/roles/config-controller/templates/ifcfg-br-mgmt
deploy/adapters/ansible/roles/config-controller/templates/ifcfg-if.storage
deploy/adapters/ansible/roles/config-controller/templates/ifcfg-if.tenant
deploy/adapters/ansible/roles/config-controller/vars/main.yml
deploy/adapters/ansible/roles/post-osa/tasks/RedHat.yml
deploy/adapters/ansible/roles/post-osa/templates/ifcfg-storage.j2
deploy/adapters/ansible/roles/post-osa/templates/ifcfg-tenant.j2
deploy/adapters/ansible/roles/post-osa/vars/main.yml
deploy/adapters/ansible/roles/pre-openstack/tasks/RedHat.yml
deploy/adapters/ansible/roles/pre-openstack/templates/ifcfg-external.j2 [new file with mode: 0644]
deploy/adapters/ansible/roles/pre-openstack/vars/main.yml

index 3ec1659..ff91393 100644 (file)
   shell: "echo 'nfs        2049/tcp' >>  /etc/services; \
           echo 'nfs        2049/udp' >>  /etc/services"
 
-# yamllint disable rule:line-length
 - name: generate ifcfg-if.tenant
   template:
     src: ifcfg-if.tenant
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["tenant"]["interface"]}}.{{compu_sys_mappings["tenant"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_tenant }}
 
 - name: generate ifcfg-if.storage
   template:
     src: ifcfg-if.storage
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["storage"]["interface"]}}.{{compu_sys_mappings["storage"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_storage }}
 
 - name: add br-external to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["external"]["interface"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_external }}
     line: "BRIDGE=br-external"
 
 - name: remove eth0 ip addresss
 
 - name: add br-vlan to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["storage"]["interface"]}}.{{compu_sys_mappings["storage"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_storage }}
     line: "BRIDGE=br-storage"
 
 - name: add br-tenant to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["tenant"]["interface"]}}.{{compu_sys_mappings["tenant"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_tenant }}
     line: "BRIDGE=br-tenant"
-# yamllint enable rule:line-length
 
 - name: generate ifcfg-br-mgmt script
   template:
index 2e40920..eecc7a4 100644 (file)
@@ -1,4 +1,9 @@
-DEVICE={{compu_sys_mappings["storage"]["interface"]}}.{{compu_sys_mappings["storage"]["vlan_tag"]}}
+DEVICE={{ intf_storage }}
 BOOTPROTO=none
 ONBOOT=yes
-VLAN=yes
+{% if compu_sys_mappings["storage"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
index 2a114f7..b36fa10 100644 (file)
@@ -1,4 +1,9 @@
-DEVICE={{compu_sys_mappings["tenant"]["interface"]}}.{{compu_sys_mappings["tenant"]["vlan_tag"]}}
+DEVICE={{ intf_tenant }}
 BOOTPROTO=none
 ONBOOT=yes
-VLAN=yes
+{% if compu_sys_mappings["tenant"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
index 783ea0d..b157f91 100644 (file)
@@ -8,3 +8,24 @@
 # #############################################################################
 ---
 LOCAL_REPOSITORY_IP: "192.168.137.222"
+
+intf_external: |-
+  {%- set intf_external = compu_sys_mappings["external"]["interface"] %}
+  {%- if compu_sys_mappings["external"]["vlan_tag"] | int %}
+  {%- set intf_external = intf_external + '.' + compu_sys_mappings["external"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_external }}
+
+intf_tenant: |-
+  {%- set intf_tenant = compu_sys_mappings["tenant"]["interface"] %}
+  {%- if compu_sys_mappings["tenant"]["vlan_tag"] | int %}
+  {%- set intf_tenant = intf_tenant + '.' + compu_sys_mappings["tenant"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_tenant }}
+
+intf_storage: |-
+  {%- set intf_storage = compu_sys_mappings["storage"]["interface"] %}
+  {%- if compu_sys_mappings["storage"]["vlan_tag"] | int %}
+  {%- set intf_storage = intf_storage + '.' + compu_sys_mappings["storage"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_storage }}
index cc14347..58bc2bf 100644 (file)
@@ -7,32 +7,30 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
-# yamllint disable rule:line-length
 - name: generate tenant vlan ifcfg-if script
   template:
     src: ifcfg-if.tenant
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{contr_sys_mappings["tenant"]["interface"]}}.{{contr_sys_mappings["tenant"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_tenant }}
 
 - name: generate storage vlan ifcfg-if script
   template:
     src: ifcfg-if.storage
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{contr_sys_mappings["storage"]["interface"]}}.{{contr_sys_mappings["storage"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_storage }}
 
 - name: add br-external to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{contr_sys_mappings["external"]["interface"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_external }}
     line: "BRIDGE=br-external"
 
 - name: add br-storage to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{contr_sys_mappings["storage"]["interface"]}}.{{contr_sys_mappings["storage"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_storage }}
     line: "BRIDGE=br-storage"
 
 - name: add br-tenant to interface script
   lineinfile:
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{contr_sys_mappings["tenant"]["interface"]}}.{{contr_sys_mappings["tenant"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_tenant }}
     line: "BRIDGE=br-tenant"
-# yamllint enable rule:line-length
 
 - name: remove eth0 ip addresss
   lineinfile:
index b71a80c..c0a1404 100644 (file)
@@ -1,4 +1,9 @@
-DEVICE={{contr_sys_mappings["storage"]["interface"]}}.{{contr_sys_mappings["storage"]["vlan_tag"]}}
-BOOTPROTO=none
+DEVICE={{ intf_storage }}
 ONBOOT=yes
-VLAN=yes
+{% if contr_sys_mappings["storage"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
+BOOTPROTO=none
index bc9f2a5..b45c001 100644 (file)
@@ -1,4 +1,9 @@
-DEVICE={{contr_sys_mappings["tenant"]["interface"]}}.{{contr_sys_mappings["tenant"]["vlan_tag"]}}
+DEVICE={{ intf_tenant }}
 BOOTPROTO=none
 ONBOOT=yes
-VLAN=yes
+{% if contr_sys_mappings["tenant"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
index 783ea0d..701ec52 100644 (file)
@@ -8,3 +8,24 @@
 # #############################################################################
 ---
 LOCAL_REPOSITORY_IP: "192.168.137.222"
+
+intf_external: |-
+  {%- set intf_external = contr_sys_mappings["external"]["interface"] %}
+  {%- if contr_sys_mappings["external"]["vlan_tag"] | int %}
+  {%- set intf_external = intf_external + '.' + contr_sys_mappings["external"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_external }}
+
+intf_tenant: |-
+  {%- set intf_tenant = contr_sys_mappings["tenant"]["interface"] %}
+  {%- if contr_sys_mappings["tenant"]["vlan_tag"] | int %}
+  {%- set intf_tenant = intf_tenant + '.' + contr_sys_mappings["tenant"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_tenant }}
+
+intf_storage: |-
+  {%- set intf_storage = contr_sys_mappings["storage"]["interface"] %}
+  {%- if contr_sys_mappings["storage"]["vlan_tag"] | int %}
+  {%- set intf_storage = intf_storage + '.' + contr_sys_mappings["storage"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_storage }}
index 287fd51..dce89ef 100644 (file)
 - name: generate ifcfg-external
   template:
     src: ifcfg-external.j2
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["external"]["interface"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_external }}
 
 - name: generate ifcfg-storage
   template:
     src: ifcfg-storage.j2
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["storage"]["interface"]}}.{{compu_sys_mappings["storage"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_storage }}
 
 - name: generate ifcfg-tenant
   template:
     src: ifcfg-tenant.j2
-    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["tenant"]["interface"]}}.{{compu_sys_mappings["tenant"]["vlan_tag"]}}
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ intf_tenant }}
 
 # yamllint enable rule:line-length
 
index 338da8c..98cce6c 100644 (file)
@@ -1,7 +1,12 @@
-DEVICE={{compu_sys_mappings["storage"]["interface"]}}.{{compu_sys_mappings["storage"]["vlan_tag"]}}
+DEVICE={{ intf_storage }}
 BOOTPROTO=none
 ONBOOT=yes
-VLAN=yes
 IPADDR={{ ip_settings[inventory_hostname]["storage"]["ip"] }}
 NETMASK=255.255.255.0
 DEFROUTE="no"
+{% if contr_sys_mappings["storage"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
index 15230c9..fce9b57 100644 (file)
@@ -1,7 +1,12 @@
-DEVICE={{compu_sys_mappings["tenant"]["interface"]}}.{{compu_sys_mappings["tenant"]["vlan_tag"]}}
+DEVICE={{ intf_tenant }}
 BOOTPROTO=none
 ONBOOT=yes
-VLAN=yes
 IPADDR={{ ip_settings[inventory_hostname]["tenant"]["ip"] }}
 NETMASK=255.255.255.0
 DEFROUTE="no"
+{% if contr_sys_mappings["tenant"]["vlan_tag"] | int %}
+{% set intf_vlan = "yes" %}
+{% else %}
+{% set intf_vlan = "no" %}
+{% endif %}
+VLAN={{ intf_vlan }}
index 4feb975..da88602 100644 (file)
@@ -3,3 +3,24 @@
 sfc_plugins:
   src: sfc.conf
   dst: /opt/sfc.conf
+
+intf_external: |-
+  {%- set intf_external = compu_sys_mappings["external"]["interface"] %}
+  {%- if compu_sys_mappings["external"]["vlan_tag"] | int %}
+  {%- set intf_external = intf_external + '.' + compu_sys_mappings["external"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_external }}
+
+intf_tenant: |-
+  {%- set intf_tenant = compu_sys_mappings["tenant"]["interface"] %}
+  {%- if compu_sys_mappings["tenant"]["vlan_tag"] | int %}
+  {%- set intf_tenant = intf_tenant + '.' + compu_sys_mappings["tenant"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_tenant }}
+
+intf_storage: |-
+  {%- set intf_storage = compu_sys_mappings["storage"]["interface"] %}
+  {%- if compu_sys_mappings["storage"]["vlan_tag"] | int %}
+  {%- set intf_storage = intf_storage + '.' + compu_sys_mappings["storage"]["vlan_tag"]|string %}
+  {%- endif %}
+  {{- intf_storage }}
index 5456c9f..6ac191a 100644 (file)
     - /tmp/ssh-keys-*
     - /root/.ssh/id_rsa.pub
 
+- name: configure BOOTPROTO to static
+  replace:
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{ compu_sys_mappings["external"]["interface"] }}
+    regexp: 'BOOTPROTO=.*'
+    replace: 'BOOTPROTO=static'
+
+- name: remove default route for mgmt
+  lineinfile:
+    dest: /etc/sysconfig/network-scripts/ifcfg-eth0
+    line: "DEFROUTE=\"no\""
+
+- name: backup external configure
+  shell: |
+    mv /etc/sysconfig/network-scripts/ifcfg-{{ compu_sys_mappings["external"]["interface"] }} \
+       /home/ifcfg-{{ compu_sys_mappings["external"]["interface"] }}
+
+- name: configure external network
+  template:
+    src: ifcfg-external.j2
+    dest: /etc/sysconfig/network-scripts/ifcfg-{{compu_sys_mappings["external"]["interface"]}}
+
+- name: restart network
+  shell: systemctl restart network
+
 - name: change sources(yum) list
   copy:
     src: centos_base.repo
 
 - name: restart ssh service
   shell: service sshd restart
+
+- name: recovery external configure
+  shell: |
+    mv /home/ifcfg-{{ compu_sys_mappings["external"]["interface"] }} \
+       /etc/sysconfig/network-scripts/ifcfg-{{ compu_sys_mappings["external"]["interface"] }}
+
+- name: add default route for mgmt
+  lineinfile:
+    dest: /etc/sysconfig/network-scripts/ifcfg-eth0
+    regexp: "^DEFROUTE=\"no\""
+    state: absent
+
+- name: restart network
+  shell: systemctl restart network
diff --git a/deploy/adapters/ansible/roles/pre-openstack/templates/ifcfg-external.j2 b/deploy/adapters/ansible/roles/pre-openstack/templates/ifcfg-external.j2
new file mode 100644 (file)
index 0000000..05ad69f
--- /dev/null
@@ -0,0 +1,8 @@
+DEVICE={{compu_sys_mappings["external"]["interface"]}}
+ONBOOT=yes
+BOOTPROTO=static
+TYPE=Ethernet
+IPADDR={{ ip_settings[inventory_hostname]["external"]["ip"] }}
+GATEWAY={{ ip_settings[inventory_hostname]["external"]["gw"] }}
+NETMASK=255.255.255.0
+DEFROUTE=yes
index f44a9f9..1b8c238 100644 (file)
@@ -1,20 +1,22 @@
 ---
 aptpackages:
-- bridge-utils
-- debootstrap
-- ifenslave
-- ifenslave-2.6
-- lsof
-- lvm2
-- ntp
-- ntpdate
-- sudo
-- vlan
-- tcpdump
+  - bridge-utils
+  - debootstrap
+  - ifenslave
+  - ifenslave-2.6
+  - lsof
+  - lvm2
+  - ntp
+  - ntpdate
+  - sudo
+  - vlan
+  - tcpdump
 
 yumpackages:
-- bridge-utils
-- iputils
-- lvm2
-- ntp
-- tcpdump
+  - bridge-utils
+  - iputils
+  - lvm2
+  - ntp
+  - tcpdump
+  - net-tools
+  - vim