Chapter 9. Examples Use the following examples to understand how to launch a compute instance post-deployment with various network configurations. 9.1. Example 1: Launching a Compute node with one NIC on the project and provider networks Use this example to understand how to launch a Compute node with the private project network and the provider network after you deploy the all-in-one Red Hat OpenStack Platform environment. This example is based on a single NIC configuration and requires at least three IP addresses. Prerequisites To complete this example successfully, you must have the following IP addresses available in your environment: One IP address for the OpenStack services. One IP address for the virtual router to provide connectivity to the project network. This IP address is assigned automatically in this example. At least one IP address for floating IPs on the provider network. Procedure Create configuration helper variables: Create a basic flavor: Download CirrOS and create an OpenStack image: Configure SSH: Create a simple network security group: Configure the new network security group: Enable SSH: Enable ping: Enable DNS: Create Neutron networks: Create a virtual router: Create a floating IP: Launch the instance: Assign the floating IP: Replace FLOATING_IP with the address of the floating IP that you create in a step. Test SSH: Replace FLOATING_IP with the address of the floating IP that you create in a step. Network Architecture 9.2. Example 2: Launching a Compute node with one NIC on the provider network Use this example to understand how to launch a Compute node with the provider network after you deploy the all-in-one Red Hat OpenStack Platform environment. This example is based on a single NIC configuration and requires at least four IP addresses. Prerequisites To complete this example successfully, you must have the following IP addresses available in your environment: One IP address for the OpenStack services. One IP address for the virtual router to provide connectivity to the project network. This IP address is assigned automatically in this example. One IP address for DHCP on the provider network. At least one IP address for floating IPs on the provider network. Procedure Create configuration helper variables: Create a basic flavor: Download CirrOS and create an OpenStack image: Configure SSH: Create a simple network security group: Configure the new network security group: Enable SSH: Enable ping: Enable DNS: Create Neutron networks: Create a virtual router: Launch the instance: Test SSH: Replace VM_IP with the address of the virtual machine that you create in the step. Network Architecture 9.3. Example 3: Launching a Compute node with two NICs on the project and provider networks Use this example to understand how to launch a Compute node with the private project network and the provider network after you deploy the all-in-one Red Hat OpenStack Platform environment. This example is based on a dual NIC configuration and requires at least three IP addresses on the provider network. Prerequisites One IP address for a gateway on the provider network. One IP address for OpenStack endpoints. One IP address for the virtual router to provide connectivity to the project network. This IP address is assigned automatically in this example. At least one IP address for floating IPs on the provider network. Procedure Create configuration helper variables: Create a basic flavor: Download CirrOS and create an OpenStack image: Configure SSH: Create a simple network security group: Configure the new network security group: Enable SSH: Enable ping: Enable DNS: Create Neutron networks: Create a virtual router: Create a floating IP: Launch the instance: Assign the floating IP: Replace FLOATING_IP with the address of the floating IP that you create in a step. Test SSH: Replace FLOATING_IP with the address of the floating IP that you create in a step. Network Architecture

Commands:
standalone with project networking and provider networking export OS_CLOUD=standalone export GATEWAY=192.168.24.1 export STANDALONE_HOST=192.168.24.2 export PUBLIC_NETWORK_CIDR=192.168.24.0/24 export PRIVATE_NETWORK_CIDR=192.168.100.0/24 export PUBLIC_NET_START=192.168.24.4 export PUBLIC_NET_END=192.168.24.5 export DNS_SERVER=1.1.1.1
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
ssh-keygen openstack keypair create --public-key ~/.ssh/id_rsa.pub default
openstack security group create basic
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
openstack security group rule create --protocol icmp basic
openstack security group rule create --protocol udp --dst-port 53:53 basic
openstack network create --external --provider-physical-network datacentre --provider-network-type flat public openstack network create --internal private openstack subnet create public-net --subnet-range USDPUBLIC_NETWORK_CIDR --no-dhcp --gateway USDGATEWAY --allocation-pool start=USDPUBLIC_NET_START,end=USDPUBLIC_NET_END --network public openstack subnet create private-net --subnet-range USDPRIVATE_NETWORK_CIDR --network private
NOTE: In this case an IP will be automatically assigned from the allocation pool for the subnet. openstack router create vrouter openstack router set vrouter --external-gateway public openstack router add subnet vrouter private-net
openstack floating ip create public
openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
openstack server add floating ip myserver <FLOATING_IP>
ssh cirros@<FLOATING_IP>
standalone with project networking and provider networking export OS_CLOUD=standalone export GATEWAY=192.168.24.1 export STANDALONE_HOST=192.168.24.2 export VROUTER_IP=192.168.24.3 export PUBLIC_NETWORK_CIDR=192.168.24.0/24 export PUBLIC_NET_START=192.168.24.4 export PUBLIC_NET_END=192.168.24.5 export DNS_SERVER=1.1.1.1
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
ssh-keygen openstack keypair create --public-key ~/.ssh/id_rsa.pub default
openstack security group create basic
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
openstack security group rule create --protocol icmp basic
openstack security group rule create --protocol udp --dst-port 53:53 basic
openstack network create --external --provider-physical-network datacentre --provider-network-type flat public openstack network create --internal private openstack subnet create public-net --subnet-range USDPUBLIC_NETWORK_CIDR --gateway USDGATEWAY --allocation-pool start=USDPUBLIC_NET_START,end=USDPUBLIC_NET_END --network public --host-route destination=169.254.169.254/32,gateway=USDVROUTER_IP --host-route destination=0.0.0.0/0,gateway=USDGATEWAY --dns-nameserver USDDNS_SERVER
NOTE: In this case an IP will be automatically assigned from the allocation pool for the subnet. openstack router create vrouter openstack port create --network public --fixed-ip subnet=public-net,ip-address=USDVROUTER_IP vrouter-port openstack router add port vrouter vrouter-port
openstack server create --flavor tiny --image cirros --key-name default --network public --security-group basic myserver
ssh cirros@<VM_IP>
standalone with project networking and provider networking export OS_CLOUD=standalone export GATEWAY=192.168.24.1 export STANDALONE_HOST=192.168.0.2 export PUBLIC_NETWORK_CIDR=192.168.24.0/24 export PRIVATE_NETWORK_CIDR=192.168.100.0/24 export PUBLIC_NET_START=192.168.0.3 export PUBLIC_NET_END=192.168.24.254 export DNS_SERVER=1.1.1.1
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
ssh-keygen openstack keypair create --public-key ~/.ssh/id_rsa.pub default
openstack security group create basic
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
openstack security group rule create --protocol icmp basic
openstack security group rule create --protocol udp --dst-port 53:53 basic
openstack network create --external --provider-physical-network datacentre --provider-network-type flat public openstack network create --internal private openstack subnet create public-net --subnet-range USDPUBLIC_NETWORK_CIDR --no-dhcp --gateway USDGATEWAY --allocation-pool start=USDPUBLIC_NET_START,end=USDPUBLIC_NET_END --network public openstack subnet create private-net --subnet-range USDPRIVATE_NETWORK_CIDR --network private
NOTE: In this case an IP will be automatically assigned from the allocation pool for the subnet. openstack router create vrouter openstack router set vrouter --external-gateway public openstack router add subnet vrouter private-net
openstack floating ip create public
openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
openstack server add floating ip myserver <FLOATING_IP>
ssh cirros@<FLOATING_IP>