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: | If you want to use the novarc file (recommended): 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 |
(Starting with Juju 3.3) 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