This change
- sets static IP for controller nodes' vxlan bridges as stated
in osa documentation: compute and network hosts must have an IP [1]
- configures IPs for controller nodes' vxlan bridges.
- removes the additional vlan ip from compute nodes as it seems to
be there for all in one.
- removes glean.rules as they mess with the network configuration once
the network changes are applied.
- removes the contents of interfaces.d as osa populates config for
lxc bridges and includes this config in interfaces file thus all the
files in interfaces.d must be removed in order not to mess with the
network configuration.
- updates modules appropriately.
[1] https://docs.openstack.org/project-deploy-guide/openstack-ansible/draft/app-config-prod.html
Change-Id: I84d5f07216c8d0246da06080fb0ed19f917d6637
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
- - name: configure modules
- copy:
- src: ../file/modules
- dest: /etc/modules
- hosts: controller
remote_user: root
- hosts: controller
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
- hosts: compute
remote_user: root
- hosts: compute
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
- hosts: compute01
remote_user: root
- hosts: compute01
remote_user: root
---
host_info: {
'opnfv': {
---
host_info: {
'opnfv': {
- 'MGMT_IP': '172.29.236.10',
'VLAN_IP': '192.168.122.2',
'VLAN_IP': '192.168.122.2',
+ 'MGMT_IP': '172.29.236.10',
+ 'VXLAN_IP': '172.29.240.10',
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
- 'MGMT_IP': '172.29.236.11',
'VLAN_IP': '192.168.122.3',
'VLAN_IP': '192.168.122.3',
+ 'MGMT_IP': '172.29.236.11',
+ 'VXLAN_IP': '172.29.240.11',
'STORAGE_IP': '172.29.244.11'
},
'controller01': {
'STORAGE_IP': '172.29.244.11'
},
'controller01': {
- 'MGMT_IP': '172.29.236.12',
'VLAN_IP': '192.168.122.4',
'VLAN_IP': '192.168.122.4',
+ 'MGMT_IP': '172.29.236.12',
+ 'VXLAN_IP': '172.29.240.12',
'STORAGE_IP': '172.29.244.12'
},
'controller02': {
'STORAGE_IP': '172.29.244.12'
},
'controller02': {
- 'MGMT_IP': '172.29.236.13',
'VLAN_IP': '192.168.122.5',
'VLAN_IP': '192.168.122.5',
+ 'MGMT_IP': '172.29.236.13',
+ 'VXLAN_IP': '172.29.240.13',
'STORAGE_IP': '172.29.244.13'
},
'compute00': {
'STORAGE_IP': '172.29.244.13'
},
'compute00': {
- 'MGMT_IP': '172.29.236.14',
'VLAN_IP': '192.168.122.6',
'VLAN_IP': '192.168.122.6',
- 'STORAGE_IP': '172.29.244.14',
- 'VLAN_IP_SECOND': '173.29.241.1',
- 'VXLAN_IP': '172.29.240.14'
+ 'MGMT_IP': '172.29.236.14',
+ 'VXLAN_IP': '172.29.240.14',
+ 'STORAGE_IP': '172.29.244.14'
- 'MGMT_IP': '172.29.236.15',
'VLAN_IP': '192.168.122.7',
'VLAN_IP': '192.168.122.7',
- 'STORAGE_IP': '172.29.244.15',
- 'VLAN_IP_SECOND': '173.29.241.2',
- 'VXLAN_IP': '172.29.240.15'
+ 'MGMT_IP': '172.29.236.15',
+ 'VXLAN_IP': '172.29.240.15',
+ 'STORAGE_IP': '172.29.244.15'
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
- - name: configure modules
- copy:
- src: ../file/modules
- dest: /etc/modules
- hosts: controller
remote_user: root
- hosts: controller
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
- hosts: compute
remote_user: root
- hosts: compute
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
# TODO: this role is for configuring NFS on xenial and adjustment needed for other distros
- role: configure-nfs
# TODO: this role is for configuring NFS on xenial and adjustment needed for other distros
- role: configure-nfs
---
host_info: {
'opnfv': {
---
host_info: {
'opnfv': {
- 'MGMT_IP': '172.29.236.10',
'VLAN_IP': '192.168.122.2',
'VLAN_IP': '192.168.122.2',
+ 'MGMT_IP': '172.29.236.10',
+ 'VXLAN_IP': '172.29.240.10',
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
- 'MGMT_IP': '172.29.236.11',
'VLAN_IP': '192.168.122.3',
'VLAN_IP': '192.168.122.3',
+ 'MGMT_IP': '172.29.236.11',
+ 'VXLAN_IP': '172.29.240.11',
'STORAGE_IP': '172.29.244.11'
},
'compute00': {
'STORAGE_IP': '172.29.244.11'
},
'compute00': {
- 'MGMT_IP': '172.29.236.12',
'VLAN_IP': '192.168.122.4',
'VLAN_IP': '192.168.122.4',
- 'VLAN_IP_SECOND': '173.29.241.1',
+ 'MGMT_IP': '172.29.236.12',
'VXLAN_IP': '172.29.240.12',
'STORAGE_IP': '172.29.244.12'
},
'VXLAN_IP': '172.29.240.12',
'STORAGE_IP': '172.29.244.12'
},
+++ /dev/null
-# /etc/modules: kernel modules to load at boot time.
-#
-# This file contains the names of kernel modules that should be loaded
-# at boot time, one per line. Lines beginning with "#" are ignored.
-# Parameters can be specified after the module name.
-
-bonding
-8021q
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
copy:
src: ../file/authorized_keys
dest: /root/.ssh/authorized_keys
- - name: configure modules
- copy:
- src: ../file/modules
- dest: /etc/modules
- hosts: controller
remote_user: root
- hosts: controller
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
- hosts: compute
remote_user: root
- hosts: compute
remote_user: root
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- ../var/flavor-vars.yml
roles:
# TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
+ - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
- hosts: compute01
remote_user: root
- hosts: compute01
remote_user: root
---
host_info: {
'opnfv': {
---
host_info: {
'opnfv': {
- 'MGMT_IP': '172.29.236.10',
'VLAN_IP': '192.168.122.2',
'VLAN_IP': '192.168.122.2',
+ 'MGMT_IP': '172.29.236.10',
+ 'VXLAN_IP': '172.29.240.10',
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
'STORAGE_IP': '172.29.244.10'
},
'controller00': {
- 'MGMT_IP': '172.29.236.11',
'VLAN_IP': '192.168.122.3',
'VLAN_IP': '192.168.122.3',
+ 'MGMT_IP': '172.29.236.11',
+ 'VXLAN_IP': '172.29.240.11',
'STORAGE_IP': '172.29.244.11'
},
'compute00': {
'STORAGE_IP': '172.29.244.11'
},
'compute00': {
- 'MGMT_IP': '172.29.236.12',
'VLAN_IP': '192.168.122.4',
'VLAN_IP': '192.168.122.4',
- 'VLAN_IP_SECOND': '173.29.241.1',
+ 'MGMT_IP': '172.29.236.12',
'VXLAN_IP': '172.29.240.12',
'STORAGE_IP': '172.29.244.12'
},
'compute01': {
'VXLAN_IP': '172.29.240.12',
'STORAGE_IP': '172.29.244.12'
},
'compute01': {
- 'MGMT_IP': '172.29.236.13',
'VLAN_IP': '192.168.122.5',
'VLAN_IP': '192.168.122.5',
- 'VLAN_IP_SECOND': '173.29.241.2',
+ 'MGMT_IP': '172.29.236.13',
'VXLAN_IP': '172.29.240.13',
'STORAGE_IP': '172.29.244.13'
}
'VXLAN_IP': '172.29.240.13',
'STORAGE_IP': '172.29.244.13'
}
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
# TODO: this role needs to be adjusted for different distros
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
# TODO: this role needs to be adjusted for different distros
-- name: configure network for {{ ansible_os_family }} on interface {{ interface }}
- template:
- src: "{{ src }}"
- dest: "{{ dest }}"
-- name: restart ubuntu xenial network service
- shell: "/sbin/ifconfig {{ interface }} 0 &&/sbin/ifdown -a && /sbin/ifup -a"
+- block:
+ - name: configure modules
+ lineinfile:
+ dest: /etc/modules
+ state: present
+ create: yes
+ line: "8021q"
+ - name: add modules
+ modprobe:
+ name: 8021q
+ state: present
+ - name: ensure glean rules are removed
+ file:
+ path: "/etc/udev/rules.d/99-glean.rules"
+ state: absent
+ - name: ensure interfaces.d folder is empty
+ shell: "/bin/rm -rf /etc/network/interfaces.d/*"
+ - name: ensure interfaces file is updated
+ template:
+ src: "{{ src }}"
+ dest: "{{ dest }}"
+ - name: restart network service
+ shell: "/sbin/ifconfig {{ interface }} 0 && /sbin/ifdown -a && /sbin/ifup -a"
+ when: ansible_distribution_release == "xenial"
-# This file describes the network interfaces available on your system
-# and how to activate them. For more information, see interfaces(5).
-
# The loopback network interface
auto lo
iface lo inet loopback
# The loopback network interface
auto lo
iface lo inet loopback
# Physical interface
auto {{ interface }}
iface {{ interface }} inet manual
# Physical interface
auto {{ interface }}
iface {{ interface }} inet manual
iface {{ interface }}.30 inet manual
vlan-raw-device {{ interface }}
iface {{ interface }}.30 inet manual
vlan-raw-device {{ interface }}
-# Storage network VLAN interface (optional)
+# Storage network VLAN interface
auto {{ interface }}.20
iface {{ interface }}.20 inet manual
vlan-raw-device {{ interface }}
auto {{ interface }}.20
iface {{ interface }}.20 inet manual
vlan-raw-device {{ interface }}
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
address {{host_info[inventory_hostname].VLAN_IP}}
netmask 255.255.255.0
gateway 192.168.122.1
+ dns-nameserver 8.8.8.8 8.8.4.4
offload-sg off
# Create veth pair, don't bomb if already exists
pre-up ip link add br-vlan-veth type veth peer name eth12 || true
offload-sg off
# Create veth pair, don't bomb if already exists
pre-up ip link add br-vlan-veth type veth peer name eth12 || true
post-down ip link del br-vlan-veth || true
bridge_ports br-vlan-veth
post-down ip link del br-vlan-veth || true
bridge_ports br-vlan-veth
-# Add an additional address to br-vlan
-iface br-vlan inet static
- # Flat network default gateway
- # -- This needs to exist somewhere for network reachability
- # -- from the router namespace for floating IP paths.
- # -- Putting this here is primarily for tempest to work.
- address {{host_info[inventory_hostname].VLAN_IP_SECOND}}
- netmask 255.255.252.0
- dns-nameserver 8.8.8.8 8.8.4.4
-
-# compute1 Storage bridge
+# OpenStack Storage bridge
auto br-storage
iface br-storage inet static
bridge_stp off
auto br-storage
iface br-storage inet static
bridge_stp off
-# This file describes the network interfaces available on your system
-# and how to activate them. For more information, see interfaces(5).
-
# The loopback network interface
auto lo
iface lo inet loopback
# The loopback network interface
auto lo
iface lo inet loopback
netmask 255.255.252.0
# OpenStack Networking VXLAN (tunnel/overlay) bridge
netmask 255.255.252.0
# OpenStack Networking VXLAN (tunnel/overlay) bridge
-#
-# Only the COMPUTE and NETWORK nodes must have an IP address
-# on this bridge. When used by infrastructure nodes, the
-# IP addresses are assigned to containers which use this
-# bridge.
-#
-iface br-vxlan inet manual
+iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports {{ interface }}.30
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports {{ interface }}.30
+ address {{host_info[inventory_hostname].VXLAN_IP}}
+ netmask 255.255.252.0
# OpenStack Networking VLAN bridge
auto br-vlan
# OpenStack Networking VLAN bridge
auto br-vlan
gateway 192.168.122.1
dns-nameserver 8.8.8.8 8.8.4.4
gateway 192.168.122.1
dns-nameserver 8.8.8.8 8.8.4.4
-# compute1 Storage bridge
+# OpenStack Storage bridge
auto br-storage
iface br-storage inet static
bridge_stp off
auto br-storage
iface br-storage inet static
bridge_stp off
-# This file describes the network interfaces available on your system
-# and how to activate them. For more information, see interfaces(5).
-
# The loopback network interface
auto lo
iface lo inet loopback
# The loopback network interface
auto lo
iface lo inet loopback
netmask 255.255.252.0
# OpenStack Networking VXLAN (tunnel/overlay) bridge
netmask 255.255.252.0
# OpenStack Networking VXLAN (tunnel/overlay) bridge
-#
-# Only the COMPUTE and NETWORK nodes must have an IP address
-# on this bridge. When used by infrastructure nodes, the
-# IP addresses are assigned to containers which use this
-# bridge.
-#
-iface br-vxlan inet manual
+iface br-vxlan inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports {{ interface }}.30
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports {{ interface }}.30
+ address {{ host_info[inventory_hostname].VXLAN_IP }}
+ netmask 255.255.252.0
# OpenStack Networking VLAN bridge
auto br-vlan
# OpenStack Networking VLAN bridge
auto br-vlan
gateway 192.168.122.1
dns-nameserver 8.8.8.8 8.8.4.4
gateway 192.168.122.1
dns-nameserver 8.8.8.8 8.8.4.4
-# compute1 Storage bridge
+# OpenStack Storage bridge
auto br-storage
iface br-storage inet static
bridge_stp off
auto br-storage
iface br-storage inet static
bridge_stp off