diff options
author | Narinder Gupta <narinder.gupta@canoncial.com> | 2015-08-29 14:31:22 -0500 |
---|---|---|
committer | Narinder Gupta <narinder.gupta@canoncial.com> | 2015-08-29 14:36:03 -0500 |
commit | b5c5f74a35b7c2a3413bfac94811d8e6035aa3ae (patch) | |
tree | 56745cbb089883fb3c5708c654136b31bcd51fc4 /ci/opencontrail/juju-deployer/scripts | |
parent | 62101c28c8245ebe97c548669c27cd2899cbfbab (diff) |
restructure the directory structure so that we can have directories per
SDN and then we can have same structure for new distro by adding just
the yaml file. Deleted the old file structure.
Change-Id: Ibd544c340fdb53813bc34ee8ff6931ed4b4dee6c
JIRA:JOID-1
Diffstat (limited to 'ci/opencontrail/juju-deployer/scripts')
-rwxr-xr-x | ci/opencontrail/juju-deployer/scripts/cloud-setup.sh | 29 | ||||
-rwxr-xr-x | ci/opencontrail/juju-deployer/scripts/glance.sh | 8 | ||||
-rwxr-xr-x | ci/opencontrail/juju-deployer/scripts/openstack.sh | 48 |
3 files changed, 85 insertions, 0 deletions
diff --git a/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh b/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh new file mode 100755 index 00000000..47e625c9 --- /dev/null +++ b/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh @@ -0,0 +1,29 @@ +#!/bin/sh -e + +. ~/admin-openrc + +# adjust tiny image +nova flavor-delete m1.tiny +nova flavor-create m1.tiny 1 512 8 1 + +# configure external network +neutron net-create --router:external=True public-net +neutron subnet-create --name public-subnet --no-gateway --allocation-pool start=10.0.10.2,end=10.0.10.254 --disable-dhcp public-net 10.0.10.0/24 + +# create vm network +neutron net-create ubuntu-net +neutron subnet-create --name ubuntu-subnet --gateway 10.0.5.1 ubuntu-net 10.0.5.0/24 + +# create pool of floating ips +i=0 +while [ $i -ne 10 ]; do + neutron floatingip-create public-net + i=$((i + 1)) +done + +# configure security groups +neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol icmp --remote-ip-prefix 0.0.0.0/0 default +neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol tcp --port-range-min 22 --port-range-max 22 --remote-ip-prefix 0.0.0.0/0 default + +# import key pair +nova keypair-add --pub-key id_rsa.pub ubuntu-keypair diff --git a/ci/opencontrail/juju-deployer/scripts/glance.sh b/ci/opencontrail/juju-deployer/scripts/glance.sh new file mode 100755 index 00000000..467932ff --- /dev/null +++ b/ci/opencontrail/juju-deployer/scripts/glance.sh @@ -0,0 +1,8 @@ +#!/bin/sh -e + +. ~/admin-openrc + +wget http://cloud-images.ubuntu.com/trusty/current/MD5SUMS + +wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img +glance image-create --name ubuntu-trusty-daily --disk-format qcow2 --container-format bare --owner admin --file trusty-server-cloudimg-amd64-disk1.img --checksum $(grep trusty-server-cloudimg-amd64-disk1.img MD5SUMS | cut -d " " -f 1) --is-public True diff --git a/ci/opencontrail/juju-deployer/scripts/openstack.sh b/ci/opencontrail/juju-deployer/scripts/openstack.sh new file mode 100755 index 00000000..7c0a8ab0 --- /dev/null +++ b/ci/opencontrail/juju-deployer/scripts/openstack.sh @@ -0,0 +1,48 @@ +#!/bin/sh -ex + +configOpenrc() +{ + cat <<-EOF + export OS_USERNAME=$1 + export OS_PASSWORD=$2 + export OS_TENANT_NAME=$3 + export OS_AUTH_URL=$4 + export OS_REGION_NAME=$5 + EOF +} + +unitAddress() +{ + juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null +} + +unitMachine() +{ + juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null +} + +mkdir -m 0700 -p cloud +controller_address=$(unitAddress keystone 0) +configOpenrc admin openstack admin http://$controller_address:5000/v2.0 RegionOne > cloud/admin-openrc +chmod 0600 cloud/admin-openrc + +machine=$(unitMachine nova-cloud-controller 0) +juju scp cloud-setup.sh cloud/admin-openrc ~/.ssh/id_rsa.pub $machine: +juju run --machine $machine ./cloud-setup.sh + +# setup contrail routing +juju set contrail-configuration "floating-ip-pools=[ { project: admin, network: public-net, pool-name: floatingip_pool, target-projects: [ admin ] } ]" +juju set neutron-contrail "virtual-gateways=[ { project: admin, network: public-net, interface: vgw, subnets: [ 10.0.10.0/24 ], routes: [ 0.0.0.0/0 ] } ]" + +machine=$(unitMachine glance 0) +juju scp glance.sh cloud/admin-openrc $machine: +juju run --machine $machine ./glance.sh + +# setup host routing +if [ -n "$CONFIGURE_HOST_ROUTING" ]; then + compute_address=$(dig +short $(unitAddress nova-compute 0) | tail -n 1) + sudo ip route replace 10.0.10.0/24 via $compute_address + sudo iptables -C FORWARD -s 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 1 -s 10.0.10.0/24 -j ACCEPT + sudo iptables -C FORWARD -d 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 2 -d 10.0.10.0/24 -j ACCEPT + sudo iptables -t nat -C POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE 2> /dev/null || sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE +fi |