From 7107ed60659e23863ffcd227600bf741489f24d8 Mon Sep 17 00:00:00 2001 From: wutianwei Date: Wed, 21 Jun 2017 11:02:26 +0800 Subject: Support Centos7 1. install the yum packages 2. add the ifcfg scripts to adapt Centos7 3. change MaxSession to 100 4. if setup-host failed, retry to run the failed container Change-Id: I57589d38f6af1677cb889875c85d6b8bac5c80d0 Signed-off-by: wutianwei --- .../ansible/roles/config-compute/tasks/RedHat.yml | 105 +++++++++++++++++++++ .../ansible/roles/config-compute/tasks/Ubuntu.yml | 36 +++++++ .../ansible/roles/config-compute/tasks/main.yml | 30 +----- .../roles/config-compute/templates/ifcfg-br-mgmt | 7 ++ .../config-compute/templates/ifcfg-br-storage | 8 ++ .../roles/config-compute/templates/ifcfg-br-vlan | 11 +++ .../roles/config-compute/templates/ifcfg-br-vxlan | 8 ++ .../config-compute/templates/ifcfg-if.storage | 4 + .../roles/config-compute/templates/ifcfg-if.vxlan | 4 + 9 files changed, 187 insertions(+), 26 deletions(-) create mode 100644 deploy/adapters/ansible/roles/config-compute/tasks/RedHat.yml create mode 100644 deploy/adapters/ansible/roles/config-compute/tasks/Ubuntu.yml create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-mgmt create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-storage create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vlan create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vxlan create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.storage create mode 100644 deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.vxlan (limited to 'deploy/adapters/ansible/roles/config-compute') diff --git a/deploy/adapters/ansible/roles/config-compute/tasks/RedHat.yml b/deploy/adapters/ansible/roles/config-compute/tasks/RedHat.yml new file mode 100644 index 00000000..4c6d2465 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/tasks/RedHat.yml @@ -0,0 +1,105 @@ +############################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: make nfs dircetory + file: "dest=/images mode=0777 state=directory" + +- name: configure service + shell: "echo 'nfs 2049/tcp' >> /etc/services; \ + echo 'nfs 2049/udp' >> /etc/services" + +# yamllint disable rule:line-length +- name: generate ifcfg-if.vxlan + template: + src: ifcfg-if.vxlan + dest: /etc/sysconfig/network-scripts/ifcfg-{{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}} + +- name: generate ifcfg-if.storage + template: + src: ifcfg-if.storage + dest: /etc/sysconfig/network-scripts/ifcfg-{{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}} + +- name: add br-vlan to interface script + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-{{ network_cfg["provider_net_mappings"][0]["interface"] }} + line: "BRIDGE=br-vlan" + +- name: remove eth0 ip addresss + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-eth0 + regexp: "^IPADDR=*" + state: absent + +- name: remove eth0 netmask + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-eth0 + regexp: "^NETMASK=*" + state: absent + +- name: add br-mgmt to eth0 script + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-eth0 + line: "BRIDGE=br-mgmt" + +- name: add br-vlan to interface script + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-{{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}} + line: "BRIDGE=br-storage" + +- name: add br-vxlan to interface script + lineinfile: + dest: /etc/sysconfig/network-scripts/ifcfg-{{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}} + line: "BRIDGE=br-vxlan" +# yamllint enable rule:line-length + +- name: generate ifcfg-br-mgmt script + template: + src: ifcfg-br-mgmt + dest: /etc/sysconfig/network-scripts/ + +- name: generate ifcfg-br-vlan script + template: + src: ifcfg-br-vlan + dest: /etc/sysconfig/network-scripts/ + +- name: generate ifcfg-br-storage script + template: + src: ifcfg-br-storage + dest: /etc/sysconfig/network-scripts/ + +- name: generate ifcfg-br-vxlan script + template: + src: ifcfg-br-vxlan + dest: /etc/sysconfig/network-scripts/ + +- name: restart the network + shell: systemctl restart network + +- name: Install apt packages + yum: + pkg: "{{item}}" + state: "present" + with_items: + - nfs-utils + - rpcbind + +- name: configure NFS + template: + src: exports + dest: /etc/exports + +- name: exportfs + shell: exportfs -r + +- name: start nfs + shell: | + service rpcbind start; + service nfs start; + chkconfig rpcbind on; + chkconfig nfs on; diff --git a/deploy/adapters/ansible/roles/config-compute/tasks/Ubuntu.yml b/deploy/adapters/ansible/roles/config-compute/tasks/Ubuntu.yml new file mode 100644 index 00000000..886a407f --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/tasks/Ubuntu.yml @@ -0,0 +1,36 @@ +############################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: configure network + template: + src: compute.j2 + dest: /etc/network/interfaces + notify: + - restart network service + +- meta: flush_handlers + +- name: Install apt packages + apt: + pkg: "nfs-kernel-server" + state: "present" + +- name: make nfs dircetory + file: "dest=/images mode=0777 state=directory" + +- name: configure service + shell: "echo 'nfs 2049/tcp' >> /etc/services; \ + echo 'nfs 2049/udp' >> /etc/services" + +- name: configure NFS + template: + src: exports + dest: /etc/exports + notify: + - restart nfs service diff --git a/deploy/adapters/ansible/roles/config-compute/tasks/main.yml b/deploy/adapters/ansible/roles/config-compute/tasks/main.yml index 886a407f..674c80cc 100644 --- a/deploy/adapters/ansible/roles/config-compute/tasks/main.yml +++ b/deploy/adapters/ansible/roles/config-compute/tasks/main.yml @@ -7,30 +7,8 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- -- name: configure network - template: - src: compute.j2 - dest: /etc/network/interfaces - notify: - - restart network service +- include: "{{ ansible_distribution }}.yml" + when: ansible_distribution == 'Ubuntu' -- meta: flush_handlers - -- name: Install apt packages - apt: - pkg: "nfs-kernel-server" - state: "present" - -- name: make nfs dircetory - file: "dest=/images mode=0777 state=directory" - -- name: configure service - shell: "echo 'nfs 2049/tcp' >> /etc/services; \ - echo 'nfs 2049/udp' >> /etc/services" - -- name: configure NFS - template: - src: exports - dest: /etc/exports - notify: - - restart nfs service +- include: "{{ ansible_os_family }}.yml" + when: ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7' diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-mgmt b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-mgmt new file mode 100644 index 00000000..7f1931c8 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-mgmt @@ -0,0 +1,7 @@ +DEVICE=br-mgmt +TYPE=Bridge +IPADDR={{host_info[inventory_hostname].MGMT_IP}} +PREFIX=24 +BOOTPROTO=none +ONBOOT=yes +DELAY=0 diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-storage b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-storage new file mode 100644 index 00000000..3c1db126 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-storage @@ -0,0 +1,8 @@ +DEVICE=br-storage +TYPE=Bridge +IPADDR={{ ip_settings[inventory_hostname]["storage"]["ip"] }} +NETMASK=255.255.255.0 +BOOTPROTO=none +DEFROUTE="no" +ONBOOT=yes +DELAY=0 diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vlan b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vlan new file mode 100644 index 00000000..4349a3f1 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vlan @@ -0,0 +1,11 @@ +DEVICE=br-vlan +TYPE=Bridge +IPADDR={{ ip_settings[inventory_hostname]["br-prv"]["ip"] }} +PREFIX=24 +GATEWAY={{ ip_settings[inventory_hostname]["br-prv"]["gw"] }} +BOOTPROTO=none +ONBOOT=yes +DELAY=0 +DEFROUTE="yes" +DNS1=8.8.8.8 +DNS2=8.8.4.4 diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vxlan b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vxlan new file mode 100644 index 00000000..d2a0cb86 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-br-vxlan @@ -0,0 +1,8 @@ +DEVICE=br-vxlan +TYPE=Bridge +IPADDR={{host_info[inventory_hostname].VXLAN_IP}} +NETMASK=255.255.252.0 +BOOTPROTO=none +DEFROUTE="no" +ONBOOT=yes +DELAY=0 diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.storage b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.storage new file mode 100644 index 00000000..96afb1bd --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.storage @@ -0,0 +1,4 @@ +DEVICE={{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}} +BOOTPROTO=none +ONBOOT=yes +VLAN=yes diff --git a/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.vxlan b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.vxlan new file mode 100644 index 00000000..9fb19b0c --- /dev/null +++ b/deploy/adapters/ansible/roles/config-compute/templates/ifcfg-if.vxlan @@ -0,0 +1,4 @@ +DEVICE={{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}} +BOOTPROTO=none +ONBOOT=yes +VLAN=yes -- cgit 1.2.3-korg