Install OpenStack DevStack and configure it to use a Ceph cluster for Glance and Cinder. Requires one node with a role 'devstack' Since devstack runs rampant on the system it's used on, typically you will want to reprovision that machine after using devstack on it. Also,
(ctx, config)
| 33 | |
| 34 | @contextlib.contextmanager |
| 35 | def install(ctx, config): |
| 36 | """ |
| 37 | Install OpenStack DevStack and configure it to use a Ceph cluster for |
| 38 | Glance and Cinder. |
| 39 | |
| 40 | Requires one node with a role 'devstack' |
| 41 | |
| 42 | Since devstack runs rampant on the system it's used on, typically you will |
| 43 | want to reprovision that machine after using devstack on it. |
| 44 | |
| 45 | Also, the default 2GB of RAM that is given to vps nodes is insufficient. I |
| 46 | recommend 4GB. Downburst can be instructed to give 4GB to a vps node by |
| 47 | adding this to the yaml: |
| 48 | |
| 49 | downburst: |
| 50 | ram: 4G |
| 51 | |
| 52 | This was created using documentation found here: |
| 53 | https://github.com/openstack-dev/devstack/blob/master/README.md |
| 54 | http://docs.ceph.com/en/latest/rbd/rbd-openstack/ |
| 55 | """ |
| 56 | if config is None: |
| 57 | config = {} |
| 58 | if not isinstance(config, dict): |
| 59 | raise TypeError("config must be a dict") |
| 60 | |
| 61 | devstack_node = next(iter(ctx.cluster.only(is_devstack_node).remotes.keys())) |
| 62 | an_osd_node = next(iter(ctx.cluster.only(is_osd_node).remotes.keys())) |
| 63 | |
| 64 | devstack_branch = config.get("branch", "master") |
| 65 | install_devstack(devstack_node, devstack_branch) |
| 66 | try: |
| 67 | configure_devstack_and_ceph(ctx, config, devstack_node, an_osd_node) |
| 68 | yield |
| 69 | finally: |
| 70 | pass |
| 71 | |
| 72 | |
| 73 | def install_devstack(devstack_node, branch="master"): |
no test coverage detected