Skip to content

Instantly share code, notes, and snippets.

Created July 17, 2015 02:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/2b3aca972ee689d31560 to your computer and use it in GitHub Desktop.
Save anonymous/2b3aca972ee689d31560 to your computer and use it in GitHub Desktop.
cd /home/vagrant/devstack/
source openrc admin admin
keystone tenant-create --name=tenant1 --enabled=true 2> /dev/null
keystone user-create --name=user1 --pass=user1 --email=user1@example.com 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=user2@example.com 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
sleep 5
## 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
sleep 5
neutron router-interface-add rtr1 subnet1
sleep 5
neutron net-create net2
neutron subnet-create net2 10.2.0.0/24 --name subnet2 --dns-nameserver 192.168.111.254
sleep 5
neutron router-interface-add rtr1 subnet2
sleep 5
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
sleep 5
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
sleep 5
neutron net-create net10
neutron subnet-create net10 10.10.0.0/24 --name subnet10 --dns-nameserver 192.168.111.254
sleep 5
neutron router-interface-add rtr2 subnet10
sleep 5
neutron net-create net20
neutron subnet-create net20 10.20.0.0/24 --name subnet20 --dns-nameserver 192.168.111.254
sleep 5
neutron router-interface-add rtr2 subnet20
sleep 5
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
sleep 5
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
nova list
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
## =================
### while : ; do for x in 22 23 24 25 42 43 44 45 ; do echo $x ; ping -c 3 192.168.111.${x} ; done ; sleep 3 ; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment