summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-04-07 13:03:22 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-04-07 13:03:22 +0000
commit467adc6c991fc05714a16695048f0ead25e94e6f (patch)
tree1502837283aaffdb7f8ec2d3df8e6e9830a04d12
parentb356f4478897d7399338e8931967f74d3151c5b3 (diff)
downloaddefinitions-467adc6c991fc05714a16695048f0ead25e94e6f.tar.gz
continue moving network configuration to network.yml
-rw-r--r--openstack/usr/share/openstack/network.yml75
1 files changed, 20 insertions, 55 deletions
diff --git a/openstack/usr/share/openstack/network.yml b/openstack/usr/share/openstack/network.yml
index 8cb35e29..4ea20672 100644
--- a/openstack/usr/share/openstack/network.yml
+++ b/openstack/usr/share/openstack/network.yml
@@ -6,44 +6,39 @@
# https://fosskb.wordpress.com/2014/10/18/openstack-juno-on-ubuntu-14-10/
# and https://fosskb.wordpress.com/2014/06/10/managing-openstack-internaldataexternal-network-in-one-interface/
+# Count number of network interfaces (interfaces starting with 'e')
- shell: ls /sys/class/net | grep ^e.* | wc -l
register: number_interfaces
- - set_fact:
- ETH_INTERFACE: "{{ ansible_default_ipv4.interface }}"
- when: ansible_default_ipv4.interface
- - set_fact:
- ETH_INTERFACE: br-eth0
- when: not ansible_default_ipv4.interface
+# Abort if there number of interfaces != 1
+ - fail:
+ msg: More than one, or none network interfaces found.
+ when: number_interfaces.stdout != "1"
+
+ - shell: ls /sys/class/net | grep ^e.*
+ register: interface_name
- set_fact:
- ETH_MAC_ADDRESS: "{{ ansible_default_ipv4.macaddress }}"
- ETH_IP_ADDRESS: "{{ ansible_default_ipv4.address }}"
- when: ETH_INTERFACE != "br-eth0"
+ ETH_INTERFACE: "{{ interface_name.stdout }}"
+ ETH_MAC_ADDRESS: "{{ hostvars['localhost']['ansible_'] + interface_name.stdout }}"
+
+ - name: Create the /run/systemd/network
+ file:
+ path: /run/systemd/network
+ state: directory
-# if is not br-eth0
- name: Disable dhcp on the bound physical interface
template:
src: /usr/share/openstack/extras/00-disable-device.network
- dest: /etc/systemd/network/00-disable-{{ item }}-config.network
+ dest: /run/systemd/network/00-disable-{{ item }}-config.network
with_items:
- "{{ ETH_INTERFACE }}"
- when: ETH_INTERFACE != "br-eth0"
-# if is not br-eth0
- - name: >
- Deallocate ip address for external interface so we don't try to route
- connections out of an interface that not longer works. Run only when
- we are not connecting through the br-eth0 bridge
- shell: ip addr del {{ ETH_IP_ADDRESS }} dev {{ ETH_INTERFACE }}
- when: ETH_INTERFACE != "br-eth0"
-
-# If is not br-eth0
- name: Disable dhcp on all the internal interfaces
template:
src: /usr/share/openstack/extras/00-disable-device.network
- dest: /etc/systemd/network/00-disable-{{ item }}-config.network
+ dest: /run/systemd/network/00-disable-{{ item }}-config.network
with_items:
- br-eth1
- br-ex
@@ -51,13 +46,6 @@
- proxy-br-eth1
- proxy-br-ex
- ovs-system
- register: internal_dhcp_disabled
-
- - name: Restart networkd so it understands to not bring up the interfaces disabled
- service:
- name: systemd-networkd.service
- state: restarted
- when: internal_dhcp_disabled|changed
#ovs-vsctl \
# -- add-br br-eth0 \
@@ -69,28 +57,21 @@
- openvswitch_bridge:
bridge: br-eth0
state: present
-# if is not br-eth0
+
- openvswitch_port:
bridge: br-eth0
port: "{{ ETH_INTERFACE }}"
state: present
- when: ETH_INTERFACE != "br-eth0"
-# if is not br-eth0
+
- shell: ovs-vsctl set bridge br-eth0 other-config:hwaddr={{ ETH_MAC_ADDRESS }}
- when: ETH_INTERFACE != "br-eth0"
- name: Enable dhcp on the Open vSwitch device that replaces our external interface
template:
src: /usr/share/openstack/extras/10-device-dhcp.network
- dest: /etc/systemd/network/10-{{ item }}-dhcp.network
+ dest: /run/systemd/network/10-{{ item }}-dhcp.network
with_items:
- br-eth0
- - name: Restart networkd again so it will DHCP in the Open vSwitch interface
- service:
- name: systemd-networkd.service
- state: restarted
-
#ovs-vsctl \
# -- add-br br-eth1 \
# -- add-port br-eth1 eth1-br-proxy \
@@ -130,19 +111,3 @@
port: proxy-br-ex
state: present
- shell: ovs-vsctl set interface proxy-br-ex type=patch options:peer=ex-br-proxy
-
-
-## SERVICES
- - name: Enable and start openstack-neutron services
- service:
- name: "{{ item }}"
- enabled: yes
- state: started
- with_items:
- - openstack-neutron-ovs-cleanup.service
- - openstack-neutron-server.service
- - openstack-neutron-dhcp-agent.service
- - openstack-neutron-l3-agent.service
- - openstack-neutron-metadata-agent.service
- - openstack-neutron-plugin-openvswitch-agent.service
-