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"
},
}