Last active
June 28, 2018 15:45
-
-
Save congto/ec37da10e4a6a7ed5c813ecca3566260 to your computer and use it in GitHub Desktop.
packstack_create_vm.sh
This file contains 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
#!/bin/bash | |
## IP PROVIDER Network for VMs | |
PROVIDER_IP_START=192.168.20.170 | |
PROVIDER_IP_END=192.168.20.190 | |
PROVIDER_DNS=8.8.8.8 | |
PROVIDER_GATEWAY=192.168.20.1 | |
PROVIDER_SUBNET=192.168.20.0/24 | |
## IP PRIVATE Network for VMs | |
PRIVATE_IP_START=172.16.85.10 | |
PRIVATE_IP_END=172.16.85.90 | |
PRIVATE_DNS=8.8.8.8 | |
PRIVATE_GATEWAY=172.16.85.1 | |
PRIVATE_SUBNET=172.16.85.0/24 | |
source /root/keystonerc_admin | |
############################################################################### | |
# Ham dinh nghia mau cho cac thong bao in ra man hinh | |
function echocolor { | |
echo "$(tput setaf 2)##### $1 #####$(tput sgr0)" | |
} | |
############################################################################### | |
### Upload image to Glance | |
echocolor "Upload image to Glance" | |
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img | |
openstack image create "cirros" \ | |
--file cirros-0.3.5-x86_64-disk.img \ | |
--disk-format qcow2 --container-format bare \ | |
--public | |
echocolor "Tao flavor" | |
sleep 3 | |
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano | |
echocolor "Mo rule ping" | |
sleep 5 | |
openstack security group rule create --proto icmp default | |
openstack security group rule create --proto tcp --dst-port 22 default | |
echocolor "Tao provider network" | |
sleep 3 | |
openstack network create --share --external \ | |
--provider-physical-network extnet \ | |
--provider-network-type flat public_net | |
echocolor "Tao subnet cho provider network" | |
sleep 3 | |
openstack subnet create --network public_net \ | |
--allocation-pool start=$PROVIDER_IP_START,end=$PROVIDER_IP_END \ | |
--dns-nameserver $PROVIDER_DNS --gateway $PROVIDER_GATEWAY \ | |
--subnet-range $PROVIDER_SUBNET sub1_public_net | |
echocolor "Tao VM gan vao provider network" | |
sleep 5 | |
PROVIDER_NET_ID=`openstack network list | egrep -w public_net | awk '{print $2}'` | |
ID_ADMIN_PROJECT=`openstack project list | grep admin | awk '{print $2}'` | |
ID_SECURITY_GROUP=`openstack security group list | grep $ID_ADMIN_PROJECT | awk '{print $2}'` | |
openstack server create --flavor m1.nano --image cirros \ | |
--nic net-id=$PROVIDER_NET_ID --security-group $ID_SECURITY_GROUP \ | |
provider-VM1 | |
############################################################################### | |
echocolor "Tao private network (selfservice network)" | |
sleep 3 | |
openstack network create selfservice | |
echocolor "Tao subnnet cho private network" | |
sleep 3 | |
openstack subnet create --network selfservice \ | |
--dns-nameserver $PRIVATE_DNS --gateway $PRIVATE_GATEWAY \ | |
--subnet-range $PRIVATE_SUBNET selfservice | |
echocolor "Tao va gan inteface cho ROUTER" | |
sleep 3 | |
openstack router create R1 | |
neutron router-interface-add R1 selfservice | |
neutron router-gateway-set R1 public_net | |
echocolor "Tao may ao gan vao private network (selfservice network)" | |
sleep 5 | |
ID_ADMIN_PROJECT=`openstack project list | grep admin | awk '{print $2}'` | |
ID_SECURITY_GROUP=`openstack security group list | grep $ID_ADMIN_PROJECT | awk '{print $2}'` | |
PRIVATE_NET_ID=`openstack network list | egrep -w selfservice | awk '{print $2}'` | |
openstack server create --flavor m1.nano --image cirros \ | |
--nic net-id=$PRIVATE_NET_ID --security-group $ID_SECURITY_GROUP \ | |
selfservice-VM1 | |
echocolor "Floatig IP" | |
sleep 5 | |
FLOATING_IP=`openstack floating ip create public_net | egrep -w floating_ip_address | awk '{print $4}'` | |
openstack server add floating ip selfservice-VM1 $FLOATING_IP |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment