Last active
September 25, 2015 14:44
-
-
Save serngawy/53ed108c8c35f0ba18a2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
source openrc admin admin | |
keystone tenant-create --name=tenant1 --enabled=true 2> /dev/null | |
keystone user-create --name=user1 --pass=user1 [email protected] 2> /dev/null | |
keystone user-role-add --user=user1 --role=_member_ --tenant=tenant1 2> /dev/null | |
keystone tenant-create --name=tenant2 --enabled=true 2> /dev/null | |
keystone user-create --name=user2 --pass=user2 [email protected] 2> /dev/null | |
keystone user-role-add --user=user2 --role=_member_ --tenant=tenant2 2> /dev/null | |
IMG_ID=$(nova image-list | grep 'cirros-0.3..-x86_64-uec\s' | tail -1 | awk '{print $2}') | |
TNT1_ID=$(keystone tenant-list 2> /dev/null | grep '\s'tenant1'' | awk '{print $2}') | |
TNT2_ID=$(keystone tenant-list 2> /dev/null | grep '\s'tenant2'' | awk '{print $2}') | |
neutron net-create ext1 --router:external --tenant_id=${TNT1_ID} --provider:network_type flat \ | |
--provider:physical_network physnetext1 | |
neutron subnet-create --tenant_id=${TNT1_ID} \ | |
--allocation-pool start=192.168.111.21,end=192.168.111.40 --gateway=192.168.111.254 \ | |
--disable-dhcp --name subext1 ext1 192.168.111.0/24 | |
neutron net-create ext2 --router:external --tenant_id=${TNT2_ID} --provider:network_type flat \ | |
--provider:physical_network physnetext2 | |
neutron subnet-create --tenant_id=${TNT2_ID} \ | |
--allocation-pool start=192.168.111.41,end=192.168.111.60 --gateway=192.168.111.254 \ | |
--disable-dhcp --name subext2 ext2 192.168.111.0/24 | |
# -- | |
unset SERVICE_TOKEN SERVICE_ENDPOINT | |
export OS_AUTH_URL=http://192.168.50.20:35357/v2.0/ | |
export OS_REGION_NAME=RegionOne | |
####================= | |
export OS_USERNAME=user1 | |
export OS_TENANT_NAME=tenant1 | |
export OS_PASSWORD=user1 | |
export PS1='[\u@\h \W(keystone_user1)]\$ ' | |
rm -f id_rsa_demo* ; ssh-keygen -t rsa -b 2048 -N '' -f id_rsa_demo > /dev/null | |
nova keypair-add --pub-key id_rsa_demo.pub demo_key > /dev/null | |
neutron router-create rtr1 | |
neutron router-gateway-set rtr1 ext1 | |
## neutron net-create net1 --tenant-id $TNT1_ID --provider:network_type vxlan --provider:segmentation_id 256 > /dev/null | |
neutron net-create net1 | |
neutron subnet-create net1 10.1.0.0/24 --name subnet1 --dns-nameserver 192.168.111.254 | |
neutron router-interface-add rtr1 subnet1 | |
neutron net-create net2 | |
neutron subnet-create net2 10.2.0.0/24 --name subnet2 --dns-nameserver 192.168.111.254 | |
neutron router-interface-add rtr1 subnet2 | |
NET1_ID=$(neutron net-list | grep -w net1 | awk '{print $2}') ; echo "net1 $NET1_ID" | |
NET2_ID=$(neutron net-list | grep -w net2 | awk '{print $2}') ; echo "net2 $NET2_ID" | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET1_ID} vm1 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET1_ID} vm2 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET2_ID} vm3 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET2_ID} vm4 | |
nova list | |
for VMNAME in vm1 vm2 vm3 vm4 ; do \ | |
# Floating ip create | |
neutron floatingip-create ext1 | |
FLOAT_IP=$(neutron floatingip-list | grep 192\.168\.111\. | grep -v 10\..\.0\. | head -1 | awk '{print $5}') | |
echo "Assigning floating ip ${FLOAT_IP} to ${VMNAME}" | |
nova floating-ip-associate ${VMNAME} ${FLOAT_IP} | |
done | |
##------ | |
export OS_USERNAME=user2 | |
export OS_TENANT_NAME=tenant2 | |
export OS_PASSWORD=user2 | |
export PS1='[\u@\h \W(keystone_user2)]\$ ' | |
rm -f id_rsa_demo* ; ssh-keygen -t rsa -b 2048 -N '' -f id_rsa_demo > /dev/null | |
nova keypair-add --pub-key id_rsa_demo.pub demo_key > /dev/null | |
neutron router-create rtr2 | |
neutron router-gateway-set rtr2 ext2 | |
neutron net-create net10 | |
neutron subnet-create net10 10.10.0.0/24 --name subnet10 --dns-nameserver 192.168.111.254 | |
neutron router-interface-add rtr2 subnet10 | |
neutron net-create net20 | |
neutron subnet-create net20 10.20.0.0/24 --name subnet20 --dns-nameserver 192.168.111.254 | |
neutron router-interface-add rtr2 subnet20 | |
NET10_ID=$(neutron net-list | grep -w net10 | awk '{print $2}') ; echo "net10 $NET10_ID" | |
NET20_ID=$(neutron net-list | grep -w net20 | awk '{print $2}') ; echo "net20 $NET20_ID" | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET10_ID} vm5 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET10_ID} vm6 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET20_ID} vm7 | |
nova boot --poll --flavor m1.nano --image $IMG_ID --key-name demo_key --nic net-id=${NET20_ID} vm8 | |
for VMNAME in vm5 vm6 vm7 vm8 ; do \ | |
# Floating ip create | |
neutron floatingip-create ext2 | |
FLOAT_IP=$(neutron floatingip-list | grep 192\.168\.111\. | grep -v 10\...\.0\. | head -1 | awk '{print $5}') | |
echo "Assigning floating ip ${FLOAT_IP} to ${VMNAME}" | |
nova floating-ip-associate ${VMNAME} ${FLOAT_IP} | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment