diff options
-rw-r--r-- | xci/installer/kubespray/playbooks/configure-kubenet.yml | 4 | ||||
-rwxr-xr-x | xci/installer/osa/deploy.sh | 31 | ||||
-rw-r--r-- | xci/opnfv-scenario-requirements.yml | 16 | ||||
-rwxr-xr-x | xci/playbooks/dynamic_inventory.py | 14 | ||||
-rw-r--r-- | xci/playbooks/roles/bootstrap-host/tasks/network_debian.yml | 2 | ||||
-rw-r--r-- | xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml | 2 | ||||
-rw-r--r-- | xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml | 2 | ||||
-rw-r--r-- | xci/var/idf.yml | 77 |
8 files changed, 85 insertions, 63 deletions
diff --git a/xci/installer/kubespray/playbooks/configure-kubenet.yml b/xci/installer/kubespray/playbooks/configure-kubenet.yml index 3b1cb013..18a126c1 100644 --- a/xci/installer/kubespray/playbooks/configure-kubenet.yml +++ b/xci/installer/kubespray/playbooks/configure-kubenet.yml @@ -38,14 +38,14 @@ with_items: "{{ kubenet_xci_static_routes }}" loop_control: label: "{{ item.network }}" - when: deploy_scenario == 'k8-nosdn-nofeature' + when: deploy_scenario.find('k8-nosdn-') != -1 - name: Ensure rp_filter is disabled on localhost sysctl: name: net.ipv4.conf.all.rp_filter sysctl_set: yes state: present - value: "{{ deploy_scenario == 'k8-nosdn-nofeature' | ternary(0, 1) }}" + value: "{{ (kubenet_xci_static_routes is defined) | ternary(0, 1) }}" reload: yes delegate_to: localhost run_once: True diff --git a/xci/installer/osa/deploy.sh b/xci/installer/osa/deploy.sh index fd794d01..8b3a67d0 100755 --- a/xci/installer/osa/deploy.sh +++ b/xci/installer/osa/deploy.sh @@ -160,6 +160,22 @@ echo echo "Info: OpenStack installation is successfully completed!" #------------------------------------------------------------------------------- +# Execute post-installation tasks +#------------------------------------------------------------------------------- +# Playbook post.yml is used in order to execute any post-deployment tasks that +# are required for the scenario under test. +#------------------------------------------------------------------------------- +echo "-----------------------------------------------------------------------" +echo "Info: Running post-deployment scenario role" +echo "-----------------------------------------------------------------------" +cd $OSA_XCI_PLAYBOOKS +ansible-playbook ${XCI_ANSIBLE_PARAMS} -i ${XCI_PLAYBOOKS}/dynamic_inventory.py \ + post-deployment.yml +echo "-----------------------------------------------------------------------" +echo +echo "Info: Post-deployment scenario role execution done" + +#------------------------------------------------------------------------------- # - Getting OpenStack login information #------------------------------------------------------------------------------- echo "Info: Openstack login details" @@ -180,19 +196,4 @@ echo "Info: Admin username - ${USERNAME##*=}" echo "Info: Admin password - ${PASSWORD##*=}" echo "Info: It is recommended to change the default password." -#------------------------------------------------------------------------------- -# Execute post-installation tasks -#------------------------------------------------------------------------------- -# Playbook post.yml is used in order to execute any post-deployment tasks that -# are required for the scenario under test. -#------------------------------------------------------------------------------- -echo "-----------------------------------------------------------------------" -echo "Info: Running post-deployment scenario role" -echo "-----------------------------------------------------------------------" -cd $OSA_XCI_PLAYBOOKS -ansible-playbook ${XCI_ANSIBLE_PARAMS} -i ${XCI_PLAYBOOKS}/dynamic_inventory.py \ - post-deployment.yml -echo "-----------------------------------------------------------------------" -echo -echo "Info: Post-deployment scenario role execution done" # vim: set ts=4 sw=4 expandtab: diff --git a/xci/opnfv-scenario-requirements.yml b/xci/opnfv-scenario-requirements.yml index 1c7c8d5b..f5fc62df 100644 --- a/xci/opnfv-scenario-requirements.yml +++ b/xci/opnfv-scenario-requirements.yml @@ -167,3 +167,19 @@ - ubuntu - centos - opensuse + +- scenario: k8-nosdn-istio + scm: git + src: https://gerrit.opnfv.org/gerrit/releng-xci-scenarios + version: master + role: scenarios/k8-nosdn-istio/role/k8-nosdn-istio + installers: + - installer: kubespray + flavors: + - ha + - mini + - noha + distros: + - ubuntu + - centos + - opensuse diff --git a/xci/playbooks/dynamic_inventory.py b/xci/playbooks/dynamic_inventory.py index bf9483da..9a1624b0 100755 --- a/xci/playbooks/dynamic_inventory.py +++ b/xci/playbooks/dynamic_inventory.py @@ -42,8 +42,8 @@ class XCIInventory(object): self.opnfv_networks = {} self.opnfv_networks['opnfv'] = {} - self.opnfv_networks['opnfv']['admin'] = {} - self.opnfv_networks['opnfv']['admin']['address'] = '172.29.236.10/22' + self.opnfv_networks['opnfv']['mgmt'] = {} + self.opnfv_networks['opnfv']['mgmt']['address'] = '172.29.236.10/22' self.opnfv_networks['opnfv']['public'] = {} self.opnfv_networks['opnfv']['public']['address'] = '192.168.122.2/24' self.opnfv_networks['opnfv']['public']['gateway'] = '192.168.122.1' @@ -93,15 +93,15 @@ class XCIInventory(object): print(e) sys.exit(1) - valid_host = (host for host in idf['xci'][self.installer]['nodes_roles'] \ + valid_host = (host for host in idf['xci']['installers'][self.installer]['nodes_roles'] \ if host in idf['xci']['flavors'][self.flavor] \ and host != 'opnfv') for host in valid_host: nodes.append(host) - hostname = idf['xci'][self.installer]['hostnames'][host] + hostname = idf['xci']['installers'][self.installer]['hostnames'][host] self.add_host(hostname) - for role in idf['xci'][self.installer]['nodes_roles'][host]: + for role in idf['xci']['installers'][self.installer]['nodes_roles'][host]: self.add_to_group(role, hostname) pdf_host_info = filter(lambda x: x['name'] == host, pdf['nodes'])[0] @@ -124,8 +124,8 @@ class XCIInventory(object): self.add_groupvar('all', 'host_info', host_networks) # Now add the additional groups - for parent in idf['xci'][self.installer]['groups'].keys(): - map(lambda x: self.add_group(x, parent), idf['xci'][self.installer]['groups'][parent]) + for parent in idf['xci']['installers'][self.installer]['groups'].keys(): + map(lambda x: self.add_group(x, parent), idf['xci']['installers'][self.installer]['groups'][parent]) # Read additional group variables self.read_additional_group_vars() diff --git a/xci/playbooks/roles/bootstrap-host/tasks/network_debian.yml b/xci/playbooks/roles/bootstrap-host/tasks/network_debian.yml index 3cac1e22..f2a138f8 100644 --- a/xci/playbooks/roles/bootstrap-host/tasks/network_debian.yml +++ b/xci/playbooks/roles/bootstrap-host/tasks/network_debian.yml @@ -45,7 +45,7 @@ - { name: "{{ ansible_local.xci.network.xci_interface }}.10", vlan_id: 10 } - { name: "{{ ansible_local.xci.network.xci_interface }}.30", vlan_id: 30 } - { name: "{{ ansible_local.xci.network.xci_interface }}.20", vlan_id: 20 } - - { name: "br-mgmt", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.10", network: "{{ host_info[inventory_hostname].admin }}" } + - { name: "br-mgmt", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.10", network: "{{ host_info[inventory_hostname].mgmt }}" } - { name: "br-vxlan", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.30", network: "{{ host_info[inventory_hostname].private }}" } - { name: "br-vlan", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}", network: "{{ host_info[inventory_hostname].public }}" } - { name: "br-storage", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.20", network: "{{ host_info[inventory_hostname].storage }}" } diff --git a/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml b/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml index c360f15d..288fdf65 100644 --- a/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml +++ b/xci/playbooks/roles/bootstrap-host/tasks/network_redhat.yml @@ -18,7 +18,7 @@ - { name: "{{ ansible_local.xci.network.xci_interface }}.20", bridge: "br-storage", vlan_id: 20 } - { name: "{{ ansible_local.xci.network.xci_interface }}.30", bridge: "br-vxlan" , vlan_id: 30 } - { name: "br-vlan" , network: "{{ host_info[inventory_hostname].public }}" } - - { name: "br-mgmt" , network: "{{ host_info[inventory_hostname].admin }}" } + - { name: "br-mgmt" , network: "{{ host_info[inventory_hostname].mgmt }}" } - { name: "br-storage", network: "{{ host_info[inventory_hostname].storage }}" } - { name: "br-vxlan" , network: "{{ host_info[inventory_hostname].private }}" } loop_control: diff --git a/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml b/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml index e2b5aa4a..569644bf 100644 --- a/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml +++ b/xci/playbooks/roles/bootstrap-host/tasks/network_suse.yml @@ -17,7 +17,7 @@ - { name: "{{ ansible_local.xci.network.xci_interface }}.10", vlan_id: 10 } - { name: "{{ ansible_local.xci.network.xci_interface }}.30", vlan_id: 30 } - { name: "{{ ansible_local.xci.network.xci_interface }}.20", vlan_id: 20 } - - { name: "br-mgmt", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.10", network: "{{ host_info[inventory_hostname].admin }}" } + - { name: "br-mgmt", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.10", network: "{{ host_info[inventory_hostname].mgmt }}" } - { name: "br-vxlan", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.30", network: "{{ host_info[inventory_hostname].private }}" } - { name: "br-vlan", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}", network: "{{ host_info[inventory_hostname].public }}" } - { name: "br-storage", bridge_ports: "{{ ansible_local.xci.network.xci_interface }}.20", network: "{{ host_info[inventory_hostname].storage }}" } diff --git a/xci/var/idf.yml b/xci/var/idf.yml index 4d743cda..628e1b8c 100644 --- a/xci/var/idf.yml +++ b/xci/var/idf.yml @@ -13,6 +13,10 @@ idf: version: 0.1 net_config: &net_config admin: + interface: 2 + network: 192.168.122.0 + mask: 22 + mgmt: interface: 0 network: 172.29.236.0 mask: 22 @@ -30,29 +34,7 @@ idf: interface: 3 network: 172.29.244.0 mask: 22 - -xci: - pod_name: vpod1 - net_config: *net_config - flavors: - mini: - - opnfv - - node1 - - node2 - noha: - - opnfv - - node1 - - node2 - - node3 - ha: - - opnfv - - node1 - - node2 - - node3 - - node4 - - node5 - - osa: + osa: &idf_osa nodes_roles: opnfv: [deployment] node1: [controller] @@ -72,9 +54,20 @@ xci: node3: compute01 node4: controller01 node5: controller02 - kubespray: + network: + # network mapping + network_mapping: + # Management network used by installer components to communicate + net-mgmt: mgmt + # Storage Network + net-storage: storage + # Internal network for communication between VNF + net-internal: private + # Public network for VNF remote acces (ext-net in Openstack) + net-vnf: public + kubespray: &idf_kubespray nodes_roles: - opnvf: [opnfv] + opnfv: [opnfv] node1: [kube-master, etcd, vault] node2: [kube-node] node3: [kube-node] @@ -91,7 +84,26 @@ xci: node3: node2 node4: master2 node5: master3 - +xci: + pod_name: vpod1 + net_config: *net_config + flavors: + mini: + - opnfv + - node1 + - node2 + noha: + - opnfv + - node1 + - node2 + - node3 + ha: + - opnfv + - node1 + - node2 + - node3 + - node4 + - node5 # net_config network to be used by the PXE pxe_network: public @@ -104,13 +116,6 @@ xci: extra_addresses: opnfv: 192.168.122.2 - # network mapping - network_mapping: - # Management network used by installer components to communicate - net-mgmt: admin - # Storage Network - net-storage: storage - # Internal network for communication between VNF - net-internal: private - # Public network for VNF remote acces (ext-net in Openstack) - net-vnf: public + installers: + osa: *idf_osa + kubespray: *idf_kubespray |