We've made an easy to deploy Juju bundle for Openstack:

  1. Configure Juju with an environment:

  2. Save the text at the bottom of this page as openstack.cfg
  3. 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"
},

}

UbuntuCloudInfrastructure/JujuBundle (last edited 2013-09-11 18:10:46 by jorge)