diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-22 21:01:34 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-22 21:04:21 +0200 |
commit | 33a0cd38130e1b8ff466572baa1b8f92ddc5aef3 (patch) | |
tree | 1a5a608b9d583fdbfad42d8860f100067f13708b /patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch | |
parent | a6f5b5b13b3d9b62a9ee13d7bf19b695802bc5ce (diff) |
p/fuel: Re-parametrize Openstack public net
Instead of passing public net via local_env, deduce its range
based on compute external IPs.
Change-Id: Ib736921c1d0f4002ea33677e7d794fd3e22001ba
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch')
-rw-r--r-- | patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch b/patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch new file mode 100644 index 00000000..4d776bcd --- /dev/null +++ b/patches/opnfv-fuel/0000-states-network-parametrize-Openstack-public-net.patch @@ -0,0 +1,45 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Thu, 17 Aug 2017 18:54:16 +0200 +Subject: [PATCH] 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> +--- + mcp/config/states/networks | 28 +++++++++++++++++++++++++--- + 1 file changed, 25 insertions(+), 3 deletions(-) + +diff --git a/mcp/config/states/networks b/mcp/config/states/networks +index 205e0a9..6f294ce 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" |