Tuesday, August 13th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. With Sean Winn's help, we cover Neutron, the OpenStack Networking Service formerly known as Quantum. Neutron configures network access and services for your OpenStack instances. Credit to Ken Pepple for the OpenStack Project Diagram, and to Dan Wendlandt and the VMware Team for the workflow used in the lab
2. - Deploy an additional node
- Modify resource allocations as needed
- … Let’s take a look:
Vagrantfile Review
3. - BEFORE you vagrant up:
- Make sure you have at least 8 GB RAM available just for
the VMs
- You can decrease RAM required by modifying the
Vagrantfile
- git clone https://github.com/bunchc/Couch_to_OpenStack.git
- cd Couch_to_OpenStack
- vagrant up
Build Time!
4. - Subscribe & Recordings: http://bit.ly/BrownbagPodcast
- Sign up for the rest of the series:
http://openstack.prov12n.com/about-couch-to-openstack/
Some Logistics
6. - New Edition: http://www.packtpub.com/openstack-cloud-
computing-cookbook-second-edition/book
- Old Edition: http://amzn.to/12eI6rX
Buy the Book
7. 7/2/2013 – Intro to OpenStack
7/9/2013 – Vagrant Primer
7/16/2013 – Identity services (Keystone)
7/23/2013 – Image services (Glance)
7/30/2013 – Compute Services (Nova)
8/6/2013 – Block Storage / Volume Services (Cinder)
8/13/2013 – Networking Services (Neutron fka Quantum) << We Are Here
8/20/2013 – C2OS Office Hours (Review, catch-up, Q&A)
8/27/2013 – VMworld US Break
9/3/2013 – Monitoring & Troubleshooting
9/10/2013 – HA OpenStack
9/17/2013 – DevOps Deployments
Note: Dates are subject to change depending on how far we get in each lesson.
The Rest of the Series
8. Use the automated Cinder Install and manually install
Quantum
Remember we have a G+ Support group here:
http://bit.ly/C2OSGooglePlus
Homework Review
9. - Creates the Controller, Compute, Cinder and Quantum
Nodes
- Sets variables required for Quantum deployment
- Creates a Quantum Service and Endpoint in Keystone
- Updates MySQL
- Creates a Quantum DB
- Assigns the Quantum User to the DB
- Installs Quantum
- Configures Quantum settings
Build – What’s it doing?
10. - Networking Services for Cloud Instances
- Replaces nova-network
- Advanced capabilities such as plugins for managing
network vendor gear and software, load balancing, API
for applications to interact with and respond to network
management
Neutron Intro
12. Neutron Components
Component Purpose
neutron-server Allow API access for users and other OpenStack services
neutron-*-plugin-
agent
Allow Neutron to dictate network policy to Open
vSwitch
neutron-l3-agent Provide L3 Services to the OpenStack Instances
neutron-dhcp-agent Provide DHCP addressing to the Instances
ovs-vswitchd* Open vSwitch – provide networking for the Instances
19. - Create a certificate file for communication with your VM
nova keypair-add demo > demo.pem
chmod 0600 *.pem
- Verify your images
nova image-list OR glance image-list
+--------------------------------------+----------------------------+-------------+-----------+
| ID | Name | Disk Format | Size |
+--------------------------------------+----------------------------+-------------+-----------+
| bc670eb3-67dc-42f3-82b2-91e96f5eca52 | Cirros 0.3 | qcow2 | 9761280 |
| 90c17ca9-6447-4d45-b862-86366881c13a | Ubuntu 12.04 x86_64 Server | qcow2 | 252641280 |
+--------------------------------------+----------------------------+-------------+-----------+
- Boot a new instance of an image
nova boot --image <uuid> --flavor 2 --nic net-id=$PRIVATE_NET_UUID --key_name demo --
security_groups ssh myInstance
Create a Nova Instance
20. - Let’s get the port ID of the Instance NIC and store it in a variable
quantum port-list -c id -c fixed_ips -c device_owner
+---------+-----------------------------------------------------+--------------------------+
| id | fixed_ips | device_owner |
+---------+-----------------------------------------------------+--------------------------+
| 30...c3 | {"subnet_id": "...", "ip_address": "10.10.80.35"} | network:dhcp |
| 6c...a7 | {"subnet_id": "...", "ip_address": "10.10.80.34"} | compute:None |
| 7d...51 | {"subnet_id": "...", "ip_address": "10.10.80.33"} | network:router_interface |
| 8c...21 | {"subnet_id": "...", "ip_address": "192.168.80.34"} | network:router_gateway |
+---------+-----------------------------------------------------+--------------------------+
INSTANCUUID=6c4d5102-d72a-4bb0-ad30-934e4830baa7
- Attach the external network to your Instance NIC
quantum floatingip-create --port-id $INSTANCEUUID public-net
Created a new floatingip:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| fixed_ip_address | 10.10.80.34 |
| floating_ip_address | 192.168.80.35 | <--- External IP to use for ssh access
| floating_network_id | 20b71d30-0610-470c-a15d-063c85146aea |
| id | 05887958-1e21-4e96-931c-0217ecdd1618 |
| port_id | 6c4d5102-d72a-4bb0-ad30-934e4830baa7 |
| router_id | 53d2821d-a868-4707-98e5-27c51038f89d |
| tenant_id | 5870b183cef346249511993a96f4e38e |
+---------------------+--------------------------------------+
Enable External Access
21. Thanks Sean Winn for helping out with the Neutron Session tonight. I look forward to him
coming back for a session of his own on a future podcast.
Thank you Dan Wendlandt and your team at VMware for the great workflow that I used in the
Neutron lab. Viewers can see the VMware Team’s OpenStack Summit session on the OpenStack
Foundation YouTube Channel: http://www.youtube.com/watch?v=_pLPtGiGh9M
Acknowledgements
22. For next week’s session, we will be having C2OS Office Hours. This will allow us to review
what we have accomplished up until this point
1. If you have not had a chance to try out the test environments, now is the perfect time to
do so.
2. If you are already caught up with what we’ve done so far, try extending your environment
add another node to the deployment:
1. Additional Nova nodes
2. Additional Cinder nodes
1. Post ideas, questions, comments on the Google Plus Community: http://bit.ly/C2OSGooglePlus
Homework!
Notas del editor
If you see the following after deploying your Instance:root@compute:~# ps -ef | grep dns107 4450 1 0 14:31 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.confroot 6003 5897 0 19:17 pts/3 00:00:00 grep --color=auto dnsMay need to do the following:killalldnsmasqservice nova-network restartroot@compute:~# ps -ef | grepdnsnobody 6259 1 0 19:22 ? 00:00:00 /usr/sbin/dnsmasq --strict-order --bind-interfaces --conf-file= --pid-file=/var/lib/nova/networks/nova-br100.pid --listen-address=10.10.139.1 --except-interface=lo --dhcp-range=set:privateNet,10.10.139.3,static,255.255.255.224,120s --dhcp-lease-max=32 --dhcp-hostsfile=/var/lib/nova/networks/nova-br100.conf --dhcp-script=/usr/bin/nova-dhcpbridge --leasefile-ro --domain=novalocalroot 6260 6259 0 19:22 ? 00:00:00 /usr/sbin/dnsmasq --strict-order --bind-interfaces --conf-file= --pid-file=/var/lib/nova/networks/nova-br100.pid --listen-address=10.10.139.1 --except-interface=lo --dhcp-range=set:privateNet,10.10.139.3,static,255.255.255.224,120s --dhcp-lease-max=32 --dhcp-hostsfile=/var/lib/nova/networks/nova-br100.conf --dhcp-script=/usr/bin/nova-dhcpbridge --leasefile-ro --domain=novalocalroot 6775 5897 0 19:26 pts/3 00:00:00 grep --color=auto dns