[virtual] Update openstack version to pike
[fuel.git] / mcp / config / states / networks
index acb039e..d4735ad 100755 (executable)
@@ -1,3 +1,34 @@
-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 --share --external --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 -e
+##############################################################################
+# Copyright (c) 2017 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
+
+# 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"