Usage¶
Using stsstack-bundles
involves generating a bundle and overlays, deploying them then performing some post-deployment actions.
As an example, let’s say you want to deploy OpenStack using the Caracal release on Jammy and you want to enable Ceph and heat with Keystone in HA:
$ cd openstack
$ ./generate-bundle.sh --name mytest -r caracal --ceph --heat --keystone-ha
Creating Juju model mytest
add-model mytest
model-config -m mytest default-series=jammy
model-config test-mode=true
set-model-constraints root-disk-source=volume root-disk=20G
Created jammy-caracal bundle and overlays:
+ openstack/glance.yaml
+ openstack/keystone.yaml
+ ceph/ceph.yaml
+ openstack/openstack-ceph.yaml
+ ceph/ceph-juju-storage.yaml
+ openstack/heat.yaml
+ openstack/keystone-ha.yaml
+ openstack/neutron-ovn.yaml
+ vault.yaml
+ openstack/vault-openstack-secrets.yaml
+ openstack/vault-openstack-certificates.yaml
+ openstack/vault-openstack-certificates-heat.yaml
+ openstack/vault-openstack-certificates-placement.yaml
+ ceph/vault-ceph.yaml
+ openstack/neutron-ml2dns.yaml
+ mysql-innodb-cluster.yaml
+ mysql-innodb-cluster-router.yaml
+ openstack/placement.yaml
Command to deploy:
juju deploy /home/ubuntu/stsstack-bundles/openstack/b/mytest/openstack.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/glance.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/keystone.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/ceph/ceph.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/openstack-ceph.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/ceph/ceph-juju-storage.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/heat.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/keystone-ha.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/neutron-ovn.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/vault.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/vault-openstack-secrets.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/vault-openstack-certificates.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/vault-openstack-certificates-heat.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/vault-openstack-certificates-placement.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/ceph/vault-ceph.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/neutron-ml2dns.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/mysql-innodb-cluster.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/mysql-innodb-cluster-router.yaml\
--overlay /home/ubuntu/stsstack-bundles/openstack/b/mytest/o/openstack/placement.yaml
Post-Deployment Info/Actions:
[common]
- run ./tools/vault-unseal-and-authorise.sh
- run ./configure to initialise your deployment
- source novarc
- add rules to default security group: ./tools/sec_groups.sh
If you need to manually edit a bundle/overlay prior to deploying you can skip the --run
argument and either manually run the deploy command once you have made your changes or alternatively re-run with --replay
(which will prevent the files from being re-generated).
Note that an OpenStack deployment will almost certainly require the OpenStack command line client. At the time of this writing, installing openstackclients
via snap
is not fully supported. Instead, please install the client via package:
sudo apt install python3-openstackclient python3-neutronclient