2. Outline
• Overall Architecture
• Instance Launching Internals
• Devstack in 30s
• Single Node Development Deployment (OVS)
• Multi-Node Development Deployment (OVS)
• Tips and Tricks
3. Nova/Quantum Architecture
http
Dashboard
EC2/Openstack API
EC2/Admin API
Glance API
Glance API Nova API
Nova
Compute
Glance Image Nova Nova Nova Network/
Registry Store Queue Database Quantum Manager
(swift,etc)
Glance
Database
Volume Nova Nova
Storage Volume Schedule
Adapted from http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/
4. Instance Launching Internals
API server receives run_instance
command from user.
1. api server relays message to cloud
controller (authentication).
2. controller sends message to
scheduler
3. scheduler casts message to a
“random” host and requests
instance start
4. compute worker on host grabs the
message
5. compute worker needs IP to launch
new instance so it sends a message
to the network controller (5,6,7,8).
Compute worker continues with
spawning a new instance.
Adapted from http://www.laurentluce.com/posts/openstack-nova-internals-of-instance-launching/
5. Devstack in 30s
• Quickstart
– http://devstack.org
– git clone https://github.com/openstack-
dev/devstack.git
cd devstack && ./stack.sh
• Important files:
– localrc: node settings
– stackrc: git repo and branch information, image
download location
– tools/info.sh: capture system information, git
project/branch/commit, package version
information, local node settings
7. Quantum Images, Patches, and Scripts
• Default devstack vm images currently don’t support
multiple interfaces (patch available at:
https://bugs.launchpad.net/devstack/+bug/940693)
• quantum.sh script is useful for automating your quantum
setups and testing. Currently under review at:
https://review.openstack.org/#change,4665
• OVS Plugin provides some really nice features but requires
VLAN support for multi-node in basic non-tunneled mode.
If developing in virtualized environment, make sure your
ethernet drivers/hypervisor don’t strip tagging:
– Virtual Box works fine (with virtio-net driver – haven’t tested
others yet)
12. Quantum Images, Patches, and Scripts
• As for single node development deployment
• Devstack patches under submission or to be
submitted
• Patches will also be available on Quantum
Wiki next week:
– http://wiki.openstack.org/Quantum
15. Tips and Tricks Summary
• devstack is your friend
• Default images currently don’t support multiple interfaces (patch available
at: https://bugs.launchpad.net/devstack/+bug/940693)
• devstack/tools/info.sh is also your friend
– Version information is critical for reproducible environment (particularly
during periods of high code churn)
• devstack needs some minor patching to work with multi-node quantum
(to be submitted for review next week)
• quantum.sh script is useful for automating your quantum setups and
testing. Currently under review at:
https://review.openstack.org/#change,4665
• OVS Plugin provides some really nice features but requires VLAN support
for multi-node in basic non-tunneled mode. If developing in virtualized
environment, make sure your ethernet drivers/hypervisor don’t strip
tagging:
– Virtual Box works fine (with virtio-net driver – haven’t tested others yet)