diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2015-04-10 17:13:54 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2015-04-10 17:15:03 +0000 |
commit | 4229fbc896fe9b8e77d149ee7bb434b1b6c13cab (patch) | |
tree | 3e2f4ae053a8771aa140582a07438436d8e0ba9c | |
parent | bacbecb5c354b25d2654bfdfe1fc8624e790a9f8 (diff) | |
download | definitions-4229fbc896fe9b8e77d149ee7bb434b1b6c13cab.tar.gz |
openstack-network: Add possibility of specifying external interface
-rw-r--r-- | openstack-network.configure | 12 | ||||
-rw-r--r-- | openstack/usr/share/openstack/network.yml | 12 |
2 files changed, 23 insertions, 1 deletions
diff --git a/openstack-network.configure b/openstack-network.configure index 7f2a08cc..3fa2c3d1 100644 --- a/openstack-network.configure +++ b/openstack-network.configure @@ -24,3 +24,15 @@ ln -sf "/usr/lib/systemd/system/openvswitch-setup.service" \ ln -sf "/usr/lib/systemd/system/openstack-network-setup.service" \ "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-network-setup.service" + +python <<'EOF' >"$ROOT/etc/openstack/network.conf" +import os, sys, yaml + +optional_keys = ('EXTERNAL_INTERFACE') + +for key in optional_keys: + if key in os.environ: + network_configuration[key]=os.environ[key] + +yaml.dump(network_configuration, sys.stdout, default_flow_style=False) +EOF diff --git a/openstack/usr/share/openstack/network.yml b/openstack/usr/share/openstack/network.yml index 4179145b..0228b5cf 100644 --- a/openstack/usr/share/openstack/network.yml +++ b/openstack/usr/share/openstack/network.yml @@ -1,5 +1,7 @@ --- - hosts: localhost + vars-files: + - /etc/openstack/network.conf tasks: # Create the bridges to use the External network mapped # This configuration is for 1 node and it was taken from: @@ -13,13 +15,21 @@ # Abort if there number of interfaces != 1 - fail: msg: More than one, or none network interfaces found. - when: number_interfaces.stdout != "1" + when: EXTERNAL_INTERFACE is not defined and number_interfaces.stdout != "1" - shell: ls /sys/class/net | grep ^e.* register: interface_name + when: EXTERNAL_INTERFACE is not defined - set_fact: ETH_INTERFACE: "{{ interface_name.stdout }}" + when: EXTERNAL_INTERFACE is not defined + + - set_fact: + ETH_INTERFACE: "{{ EXTERNAL_INTERFACE }}" + when: EXTERNAL_INTERFACE is defined + + - set_fact: ETH_MAC_ADDRESS: "{{ hostvars['localhost']['ansible_' + interface_name.stdout]['macaddress'] }}" - name: Create the /run/systemd/network |