Node roles are atomic, composable classes of nodes
Infrastructure Node runs a database and a message queue (MySQL + RabbitMQ).
Authentication Node Runs the OpenStack Identifty Service (Keystone) providing authentication
API Node procides ReSTful endpoints to Openstack services
Controller node provides scheduling and registraion services internal to OpenStack
Network Node provides network connectivity within the cloud (Neutron).
Compute Node(s) hosts and runs VMs (Nova).
Block Storage Node provides storage (Glance).
Dashboard Node provides unified user interface (Horizon).
Metering Node to collect metering data from a unified event stream (Ceilometer).
Orchestration node runs and orachestration service (Heat).
Tutorial Architecture
Using one node (alice) running all the node services except:
bob will run computes
Charlie will be the network node (this would normally have pone interface that is public)
Puppet node running... a puppet master.
Resources
Stackforge is a collection of puppet modules for OpenStack (and other things).
KickStack - OpenStack deployment with puppet made easy
Tutorial
Test the puppet architecture:
$ puppet agent --test
Set classes via puppet dashboard to define the node's roles
$ puppet agent --runinterval 10
Packstack is RedHat's tool and is RDO specific, based on StackForge. Good for all Centos / RHEL OpenStack infrastructure. Not granular enough.
Crowbar is a DELL project's deployment platform and is used by SuSE (along with Chef)
Juju is Canonical's deployment tool using a yaml file generated from "charms".
TripleO/Tusker (OpenStack on OpenStack). Uses Openstack scheduling and deployment for deploying hardware via PXE and IPMI - manage hardware like a VM.
Foreman "puppet on steroids"
Presentation tools is reveal.js, shell in a box in an iframe
TroubleShooting
Horizon:
* A good understanding of the architecture is required to effectively troubleshoot
* Start in the nova-api logs for an error
* Check the scheduler logs
* Has it found a suitable host?
* available hosts may be out of memory
* Not responded
* nova list or nova show can you which hypervizor has been selected to run it up
* Look at the logs for nova compute on that host.
Spot Instances allow you to name your own price for EC2, and you get the resources what you pay for - dynamic resource allocation based on market prices