diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-17 18:54:16 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-22 20:55:47 +0200 |
commit | 7161058d87d2012074eb37109396a20651b586bc (patch) | |
tree | d8cfe8f917735d5f4c46721cf1452e2ba0e61e6b | |
parent | f021e694f6cae29d245f8455daad8d608d6af1ae (diff) |
states/network: parametrize Openstack public net
Determine public network based on public IPs of compute nodes.
Change-Id: I5a6b29a0458b0b839f8fdb3e32616a41d7a621f7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rwxr-xr-x | mcp/config/states/networks | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/mcp/config/states/networks b/mcp/config/states/networks index 205e0a97c..6f294cea1 100755 --- a/mcp/config/states/networks +++ b/mcp/config/states/networks @@ -1,3 +1,25 @@ -salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack compute service list; openstack network agent list; openstack stack list; openstack volume service list" -salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack network create --external --default --provider-network-type flat --provider-physical-network physnet1 floating_net" -salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack subnet create --gateway 10.16.0.1 --no-dhcp --allocation-pool start=10.16.0.130,end=10.16.0.254 --network floating_net --subnet-range 10.16.0.0/24 floating_subnet" +#!/bin/bash + +# Determine public network based on external IPs from compute node +# NOTE: mask currently hardcoded to /24 +PUBLIC_NET=$(salt --out yaml 'cmp*' pillar.get _param:external_address | \ + awk --re-interval '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/{print $2; exit}') + +[ -n "${PUBLIC_NET}" ] || PUBLIC_NET=$(salt --out yaml 'cmp*' \ + pillar.get _param:openstack_compute_node01_external_address | \ + awk --re-interval '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/{print $2; exit}') + +[ -n "${PUBLIC_NET}" ] && PUBLIC_NET="${PUBLIC_NET%.*}.0/24" || PUBLIC_NET="10.16.0.0/24" + +salt 'ctl01*' cmd.run ". /root/keystonercv3; \ + openstack compute service list; \ + openstack network agent list; \ + openstack stack list; \ + openstack volume service list" +salt 'ctl01*' cmd.run ". /root/keystonercv3; \ + openstack network create --external --default --provider-network-type flat \ + --provider-physical-network physnet1 floating_net" +salt 'ctl01*' cmd.run ". /root/keystonercv3; \ + openstack subnet create --gateway ${PUBLIC_NET%.*}.1 --no-dhcp \ + --allocation-pool start=${PUBLIC_NET%.*}.130,end=${PUBLIC_NET%.*}.254 \ + --network floating_net --subnet-range ${PUBLIC_NET} floating_subnet" |