List of supported clouds > OpenStack
This document describes details specific to using your existing OpenStack cloud with Juju.
See more: OpenStack
When using the OpenStack cloud with Juju, it is important to keep in mind that it is a (1) machine cloud and (2) not some other cloud.
See more: Cloud differences in Juju
As the differences related to (1) are already documented generically in our Tutorial, How-to guides, and Reference docs, here we record just those that follow from (2).
Juju points of variation | Notes for the OpenStack cloud |
---|---|
setup (chronological order): | |
CLOUD | |
supported versions: | Any version that supports: - compute v2 (Nova) - network v2 (Neutron) (optional) - volume2 (Cinder) (optional) - identity v2 or v3 (Keystone) |
requirements: | TBA |
definition: | ![]() Source the OpenStack RC file ( source <path to file> ). This will allow Juju to detect values from preset OpenStack environment variables. Run add-cloud in interactive mode and accept the suggested defaults. |
- name: | user-defined |
- type: | openstack |
- authentication types: | [access-key, userpass] |
- regions: | [TO BE ADDED] |
- cloud-specific model configuration keys: | external-network (string) The network label or UUID to create floating IP addresses on when multiple external networks exist. network (string) policy-target-group (string) The UUID of Policy Target Group to use for Policy Targets created. use-default-secgroup (bool) Whether new machine instances should have the default Openstack security group assigned in addition to juju defined security groups. use-openstack-gbp (bool) Whether to use Neutrons Group-Based Policy. |
CREDENTIAL | |
definition: | If you want to use environment variables (recommended): Source the OpenStack RC file (see above). Run add-credential and accept the suggested defaults. |
CONTROLLER | |
notes on bootstrap: | You will need to create an OpenStack machine metadata. If the metadata is available locally, you can pass it to Juju via juju bootstrap ... --metadata-source <path to metadata simplestreams . > See more: How to configure machine image metadata If your cloud has multiple private networks: You will need to specify the one that you want the instances to boot from via If your cloud’s topology requires that its instances are accessed via floating IP addresses: Pass the |
other (alphabetical order:) | |
CONSTRAINT | |
conflicting: | [instance-type] vs. [mem, root-disk, cores] |
supported? | |
- allocate-public-ip |
![]() |
- arch |
![]() |
- container |
![]() |
- cores |
![]() |
- cpu-power |
![]() |
- image-id |
![]() Type: String. Valid values: An OpenStack image ID. |
- instance-role |
![]() |
- instance-type |
![]() Valid values: Any (cloud admin) user defined OpenStack flavor. |
- mem |
![]() |
- root-disk |
![]() |
- root-disk-source |
![]() root-disk-source is either local or volume . |
- spaces |
![]() |
- tags |
![]() |
- virt-type |
![]() Valid values: [kvm, lxd] . |
- zones |
![]() |
PLACEMENT DIRECTIVE | |
<machine> |
TBA |
subnet=... |
![]() |
system-id=... |
![]() |
zone=... |
![]() |
MACHINE | – |
RESOURCE (cloud) Consistent naming, tagging, and the ability to add user-controlled tags to created instances. |
![]() |
Contributors: @hallback