odl: Make odl_hostconfig patching idempotent
[fuel.git] / mcp / config / states / networks
1 #!/bin/bash -e
2 ##############################################################################
3 # Copyright (c) 2017 Mirantis Inc., Enea AB and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
11
12 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
13
14 PUBLIC_NET=$(get_nova_compute_pillar_data 'opnfv_net_public')
15 PUBLIC_NET_GATEWAY=$(get_nova_compute_pillar_data 'opnfv_net_public_gw')
16 POOL_START_IP=$(get_nova_compute_pillar_data 'opnfv_net_public_pool_start')
17 POOL_END_IP=$(get_nova_compute_pillar_data 'opnfv_net_public_pool_end')
18
19 # Default values
20 PUBLIC_NET="${PUBLIC_NET:-10.16.0.0/24}"
21 PUBLIC_NET_GATEWAY="${PUBLIC_NET_GATEWAY:-10.16.0.1}"
22 POOL_START_IP="${POOL_START_IP:-10.16.0.130}"
23 POOL_END_IP="${POOL_END_IP:-10.16.0.254}"
24
25 # Print openstack status and setup network
26 salt -C 'I@nova:controller and *01*' cmd.run ". /root/keystonercv3; \
27   openstack compute service list; \
28   openstack network agent list; \
29   openstack stack list; \
30   openstack volume service list"
31 salt -C 'I@nova:controller and *01*' cmd.run ". /root/keystonercv3; \
32   openstack network create --external --default --provider-network-type flat \
33   --provider-physical-network physnet1 floating_net"
34 salt -C 'I@nova:controller and *01*' cmd.run ". /root/keystonercv3; \
35   openstack subnet create --gateway ${PUBLIC_NET_GATEWAY} --no-dhcp \
36   --allocation-pool start=${POOL_START_IP},end=${POOL_END_IP} \
37   --network floating_net --subnet-range ${PUBLIC_NET} floating_subnet"
38
39 # Discover compute hosts after they are registered
40 salt -C 'I@nova:controller and *01*' state.sls_id nova_controller_discover_hosts nova