Last active
February 25, 2016 19:35
-
-
Save agentultra/4d91fcde74a8a270b191 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
git clone https://git.openstack.org/openstack-dev/devstack | |
cd devstack | |
cat << EOF > local.conf | |
[[local|localrc]] | |
HOST_IP=192.168.33.33 | |
PUBLIC_NETWORK_CIDR=10.0.1.0/24 | |
DEST=/opt/stack | |
DATA_DIR=/opt/stack/data | |
SCREEN_LOGDIR=/opt/stack/data/logs/ | |
LOGFILE=/opt/stack/data/logs/devstacklog.txt | |
VERBOSE=True | |
USE_SCREEN=True | |
LOG_COLOR=True | |
RABBIT_PASSWORD=secret | |
MYSQL_PASSWORD=secret | |
SERVICE_TOKEN=secret | |
SERVICE_PASSWORD=secret | |
ADMIN_PASSWORD=secret | |
SERVICE_HOST=127.0.0.1 | |
FORCE_CONFIG_DRIVE=True | |
VIRT_DRIVER=libvirt | |
# To use nested KVM, un-comment the below line | |
LIBVIRT_TYPE=kvm | |
IMAGE_URLS="http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img" | |
# If you have `dnf` package manager, use it to improve speedups in DevStack build/tear down | |
# export YUM=dnf | |
Q_PLUGIN=ml2 | |
Q_AGENT=linuxbridge | |
Q_USE_PROVIDERNET_FOR_PUBLIC=True | |
PUBLIC_PHYSICAL_NETWORK=republic | |
Q_ML2_PLUGIN_TYPE_DRIVERS=vxlan,flat | |
Q_ML2_PLUGIN_MECHANISM_DRIVERS=linuxbridge | |
enable_plugin astara https://github.com/openstack/astara | |
enable_service g-api g-reg key n-api n-cpu n-sch n-cond mysql rabbit dstat q-svc q-agt astara | |
disable_service n-net | |
[[post-extras|/$Q_PLUGIN_CONF_FILE]] | |
[ml2] | |
tenant_network_types = vxlan,flat | |
type_drivers = flat,vxlan | |
mechanism_drivers = linuxbridge | |
[vxlan] | |
enable_vxlan = True | |
local_ip = $HOST_IP | |
[ml2_type_vxlan] | |
vni_ranges = 1001:2000 | |
[ml2_type_flat] | |
flat_networks = republic | |
[linux_bridge] | |
# virtualbox: these interfaces need promiscuous mode enabled | |
physical_interface_mappings = republic:eth1 | |
[securitygroup] | |
enable_security_group = True | |
EOF | |
./stack.sh | |
. openrc admin admin | |
DEFAULT_GATEWAY=$(route -n | grep UG | awk '{print $2}') | |
DEFAULT_DNS_SERVER=$(cat /etc/resolv.conf | grep -m 1 'nameserver' | awk '{print $2}') | |
echo "Public network CIDR is $PUBLIC_NETWORK_CIDR" | |
echo "Discovered gateway $DEFAULT_GATEWAY" | |
echo "Setting public net DNS server to $DEFAULT_DNS_SERVER" | |
neutron net-create republic --shared --provider:physical_network republic \ | |
--provider:network_type flat | |
neutron subnet-create republic $PUBLIC_NETWORK_CIDR --name sub-republic \ | |
--allocation-pool start=10.0.1.101,end=10.0.1.200 \ | |
--dns-nameserver $DEFAULT_DNS_SERVER \ | |
--gateway $DEFAULT_GATEWAY | |
. openrc demo demo | |
openstack security group rule create --proto icmp --src-ip 0.0.0.0/0 default | |
openstack security group rule create --proto tcp --dst-port 22 default | |
PRIV_NET=$(openstack network list | grep thenet | awk '{print $2}') | |
PUB_NET=$(openstack network list | grep republic | awk '{print $2}') | |
openstack keypair create oskey0 > oskey1.priv | |
chmod 600 oskey1.priv | |
openstack server create \ | |
--image cirros-0.3.3-x86_64-disk \ | |
--nic net-id=$PRIV_NET --flavor m1.tiny \ | |
--key-name oskey0 \ | |
--security-group default \ | |
cirrvm1 | |
echo "Waiting for cirrvm1 to boot..." | |
sleep 10 | |
openstack server create \ | |
--image cirros-0.3.3-x86_64-disk \ | |
--nic net-id=$PUB_NET --flavor m1.tiny \ | |
--key-name oskey0 \ | |
--security-group default \ | |
cirrvm2 | |
echo "Waiting for cirrvm2 to boot..." | |
sleep 10 | |
INSTANCE_ID=$(openstack server list | grep -i active | awk '{print $2}') | |
openstack ip floating create public | |
FLOATING_IP=$(openstack ip floating list | grep public | awk '{print $6}') | |
sleep 5 # give a little time for neutron to bring it to active | |
echo "Attempting to associate $FLOATING_IP to $INSTANCE_ID" | |
openstack ip floating add $FLOATING_IP $INSTANCE_ID | |
nova list | |
echo "done." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment