We've made an easy to deploy Juju bundle for Openstack:
Configure Juju with an environment:
- Save the text at the bottom of this page as openstack.cfg
- Then deploy with
juju-deployer -c openstack.cfg -eenvironmentname precise-grizzly
environmentname is what you named your cloud environment; note that this will NOT work on local environments!
OpenStack Bundle
Vanilla OpenStack with Ceph, one machine per service, save this as "openstack.cfg":
{ "openstack-services": { "services": { "mysql": { "branch": "lp:charms/mysql", }, "rabbitmq-server": { "branch": "lp:charms/rabbitmq-server", }, "ceph": { "branch": "lp:charms/ceph", "options": { "monitor-count": "1", "fsid": "6547bd3e-1397-11e2-82e5-53567c8d32dc", "monitor-secret": "AQCXrnZQwI7KGBAAiPofmKEXKxu5bUzoYLVkbQ==", "osd-devices": "/dev/vdb", "osd-reformat": "yes", "ephemeral-unmount": "/mnt" } }, "keystone": { "branch": "lp:charms/keystone", "options": { "admin-password": "openstack", "admin-token": "ubuntutesting" } }, "openstack-dashboard": { "branch": "lp:charms/openstack-dashboard" }, "nova-compute": { "branch": "lp:charms/nova-compute", "options": { "config-flags": "auto_assign_floating_ip=False", "enable-live-migration": "True", "migration-auth-type": "ssh", } }, "nova-cloud-controller": { "branch": "lp:charms/nova-cloud-controller", "options": { "network-manager": "Quantum", } }, "quantum-gateway": { "branch": "lp:charms/quantum-gateway", "options": { "ext-port": "eth1", } }, "cinder": { "branch": "lp:charms/cinder", "options": { "block-device": "None" } }, "glance": { "branch": "lp:charms/glance" }, "swift-proxy": { "branch": "lp:charms/swift-proxy", "options": { "zone-assignment": "manual", "replicas": 1, "swift-hash": "fdfef9d4-8b06-11e2-8ac0-531c923c8fae" } }, "swift-storage-z1": { "branch": "lp:charms/swift-storage", "options": { "zone": 1, "block-device": "vdb", "overwrite": "true" } } }, "relations": { "keystone": { "weight": 100, "consumes": [ "mysql" ] }, "nova-cloud-controller": { "weight": 90, "consumes": [ "mysql", "rabbitmq-server", "glance", "keystone"] }, "nova-compute": { "weight": 50, "consumes": [ "nova-cloud-controller", "mysql", "rabbitmq-server:amqp", "glance", "ceph" ] }, "glance": { "weight": 70, "consumes": [ "mysql", "keystone", "ceph" ] }, "cinder": { "weight": 65, "consumes": [ "mysql", "rabbitmq-server", "nova-cloud-controller", "keystone", "ceph", "glance" ] }, "quantum-gateway": { "weight": 60, "consumes": [ "mysql", "rabbitmq-server", "nova-cloud-controller" ] }, "openstack-dashboard": { "weight": 55, "consumes": [ "keystone" ] }, "swift-proxy": { "weight": 80, "consumes": [ "keystone", "swift-storage-z1" ] } } }, "precise-grizzly": { "inherits": "openstack-services", "series": "precise", "overrides": { "openstack-origin": "cloud:precise-grizzly", "source": "cloud:precise-updates/grizzly" } }, "raring-grizzly": { "inherits": "openstack-services", "series": "raring" }, }