openstack.cloud.coe_cluster_template module – Manage COE cluster template in OpenStack Cloud
Note
This module is part of the openstack.cloud collection (version 2.2.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install openstack.cloud
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: openstack.cloud.coe_cluster_template
.
Synopsis
Add or remove a COE (Container Orchestration Engine) cluster template via OpenStack’s Magnum aka Container Infrastructure Management API.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.6
openstacksdk >= 1.0.0
Parameters
Parameter |
Comments |
---|---|
How long should the socket layer wait before timing out for API calls. If this is omitted, nothing will be passed to the requests library. |
|
Dictionary containing auth information as needed by the cloud’s auth plugin strategy. For the default password plugin, this would contain auth_url, username, password, project_name and any information about domains (for example, user_domain_name or project_domain_name) if the cloud supports them. For other plugins, this param will need to contain whatever parameters that auth plugin requires. This parameter is not needed if a named cloud is provided or OpenStack OS_* environment variables are present. |
|
Name of the auth plugin to use. If the cloud uses something other than password authentication, the name of the plugin should be indicated here and the contents of the auth parameter should be updated accordingly. |
|
A path to a CA Cert bundle that can be used as part of verifying SSL API requests. |
|
A path to a client certificate to use as part of the SSL transaction. |
|
A path to a client key to use as part of the SSL transaction. |
|
Named cloud or cloud config to operate against. If cloud is a string, it references a named cloud config as defined in an OpenStack clouds.yaml file. Provides default values for auth and auth_type. This parameter is not needed if auth is provided or if OpenStack OS_* environment variables are present. If cloud is a dict, it contains a complete cloud configuration like would be in a section of clouds.yaml. |
|
The Container Orchestration Engine for this cluster template Required if state is Choices:
|
|
The DNS nameserver address. Magnum’s default value for dns_nameserver is |
|
Docker storage driver. Choices:
|
|
The size in GB of the docker volume. |
|
The external network to attach to the cluster. When is_floating_ip_enabled is set to |
|
The fixed network name or id to attach to the cluster. |
|
The fixed subnet name or id to attach to the cluster. |
|
The flavor of the minion node for this cluster template. |
|
Address of a proxy that will receive all HTTP requests and relay them. The format is a URL including a port number. |
|
Address of a proxy that will receive all HTTPS requests and relay them. The format is a URL including a port number. |
|
Image id the cluster will be based on. Required if state is |
|
Endpoint URL type to fetch from the service catalog. Choices:
|
|
Indicates whether created clusters should have a floating ip or not. When is_floating_ip_enabled is set to Choices:
|
|
Indicates whether created clusters should have a load balancer for master nodes or not. Magnum’s default value for is_master_lb_enabled is Choices:
|
|
Indicates whether the cluster template is public or not. Magnum’s default value for is_public is Choices:
|
|
Indicates whether the docker registry is enabled. Magnum’s default value for is_registry_enabled is Choices:
|
|
Indicates whether the TLS should be disabled. Magnum’s default value for is_tls_disabled is Choices:
|
|
Name or ID of the keypair to use. |
|
One or more key/value pairs. |
|
The flavor of the master node for this cluster template. |
|
Name that has to be given to the cluster template. |
|
The name of the driver used for instantiating container networks. Choices:
|
|
A comma separated list of IPs for which proxies should not be used in the cluster. |
|
Name of the region. |
|
Log level of the OpenStackSDK Choices:
|
|
Path to the logfile of the OpenStackSDK. If empty no log is written |
|
Server type for this cluster template. Magnum’s default value for server_type is Choices:
|
|
Indicate desired state of the resource. Choices:
|
|
How long should ansible wait for the requested resource. Default: |
|
Whether or not SSL API requests should be verified. Before Ansible 2.3 this defaulted to Choices:
|
|
The name of the driver used for instantiating container volumes. Choices:
|
|
Should ansible wait until the requested resource is complete. Choices:
|
Notes
Note
The standard OpenStack environment variables, such as
OS_USERNAME
may be used instead of providing explicit values.Auth information is driven by openstacksdk, which means that values can come from a yaml config file in /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml or ~/.config/openstack/clouds.yaml, then from standard environment variables, then finally by explicit parameters in plays. More information can be found at https://docs.openstack.org/openstacksdk/
Examples
- name: Create a new Kubernetes cluster template
openstack.cloud.coe_cluster_template:
cloud: devstack
coe: kubernetes
image_id: 2a8c9888-9054-4b06-a1ca-2bb61f9adb72
keypair_id: mykey
name: k8s
is_public: false
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Dictionary describing the template. Returned: On success when state is |
|
The exposed port of COE API server. Returned: success |
|
Display the attribute os_distro defined as appropriate metadata in image for the bay/cluster driver. Returned: success |
|
The Container Orchestration Engine for this cluster template. Supported COEs include kubernetes, swarm, mesos. Returned: success Sample: |
|
The date and time when the resource was created. Returned: success |
|
The DNS nameserver for the servers and containers in the bay/cluster to use. Returned: success Sample: |
|
The name of a driver to manage the storage for the images and the container’s writable layer. Returned: success |
|
The size in GB for the local storage on each server for the Docker daemon to cache the images and host the containers. Returned: success Sample: |
|
The name or network ID of a Neutron network to provide connectivity to the external internet for the bay/cluster. Returned: success Sample: |
|
The fixed network name to attach to the cluster. Returned: success Sample: |
|
The fixed subnet name to attach to the cluster. Returned: success Sample: |
|
The nova flavor ID or name for booting the node servers. Returned: success Sample: |
|
Address of a proxy that will receive all HTTP requests and relay them. The format is a URL including a port number. Returned: success Sample: |
|
Address of a proxy that will receive all HTTPS requests and relay them. The format is a URL including a port number. Returned: success Sample: |
|
The UUID of the cluster template. Returned: success |
|
The name or UUID of the base image in Glance to boot the servers for the bay/cluster. Returned: success Sample: |
|
The URL pointing to users’s own private insecure docker registry to deploy and run docker containers. Returned: success |
|
Indicates whether created clusters should have a floating ip or not. Returned: success Sample: |
|
Indicates whether the cluster template is hidden or not. Returned: success Sample: |
|
Indicates whether created clusters should have a load balancer for master nodes or not. Returned: success Sample: |
|
Access to a baymodel/cluster template is normally limited to the admin, owner or users within the same tenant as the owners. Setting this flag makes the baymodel/cluster template public and accessible by other users. The default is not public. Returned: success Sample: |
|
Docker images by default are pulled from the public Docker registry, but in some cases, users may want to use a private registry. This option provides an alternative registry based on the Registry V2: Magnum will create a local registry in the bay/cluster backed by swift to host the images. The default is to use the public registry. Returned: success Sample: |
|
Transport Layer Security (TLS) is normally enabled to secure the bay/cluster. In some cases, users may want to disable TLS in the bay/cluster, for instance during development or to troubleshoot certain problems. Specifying this parameter will disable TLS so that users can access the COE endpoints without a certificate. The default is TLS enabled. Returned: success Sample: |
|
Name of the SSH keypair to configure in the bay/cluster servers for ssh access. Returned: success Sample: |
|
One or more key/value pairs. Returned: success Sample: |
|
The flavor of the master node for this cluster template. Returned: success Sample: |
|
Name that has to be given to the cluster template. Returned: success Sample: |
|
The name of a network driver for providing the networks for the containers Returned: success Sample: |
|
A comma separated list of IPs for which proxies should not be used in the cluster. Returned: success Sample: |
|
The servers in the bay/cluster can be vm or baremetal. Returned: success Sample: |
|
The date and time when the resource was updated. Returned: success |
|
The UUID of the cluster template. Returned: success |
|
The name of a volume driver for managing the persistent storage for the containers. Returned: success Sample: |