os_coe_cluster_template – Add/Remove COE cluster template from OpenStack Cloud

From Get docs
Ansible/docs/2.7/modules/os coe cluster template module


os_coe_cluster_template – Add/Remove COE cluster template from OpenStack Cloud

New in version 2.7.


Synopsis

  • Add or Remove COE cluster template from the OpenStack Container Infra service.

Requirements

The below requirements are needed on the host that executes this module.

  • openstacksdk
  • python >= 2.7

Parameters

Parameter Choices/Defaults Comments

api_timeout

-

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.

auth

-

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 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.

auth_type

-

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.

availability_zone

-

Ignored. Present for backwards compatibility

cacert

-

A path to a CA Cert bundle that can be used as part of verifying SSL API requests.

cert

-

A path to a client certificate to use as part of the SSL transaction.

cloud

-

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.

coe

-

  • kubernetes
  • swarm
  • mesos

The Container Orchestration Engine for this clustertemplate

dns_nameserver

-

Default:

"8.8.8.8"

The DNS nameserver address

docker_storage_driver

-

  • devicemapper
  • overlay

Docker storage driver

docker_volume_size

-

The size in GB of the docker volume

external_network_id

-

The external network to attach to the Cluster

fixed_network

-

The fixed network name to attach to the Cluster

fixed_subnet

-

The fixed subnet name to attach to the Cluster

flavor_id

-

The flavor of the minion node for this ClusterTemplate

floating_ip_enabled

boolean

  • no
  • yes

Indicates whether created clusters should have a floating ip or not

http_proxy

-

Address of a proxy that will receive all HTTP requests and relay them The format is a URL including a port number

https_proxy

-

Address of a proxy that will receive all HTTPS requests and relay them. The format is a URL including a port number

image_id

-

Image id the cluster will be based on

interface

-

added in 2.3

  • public

  • internal
  • admin

Endpoint URL type to fetch from the service catalog.


aliases: endpoint_type

key

-

A path to a client key to use as part of the SSL transaction.

keypair_id

-

Name or ID of the keypair to use.

labels

-

One or more key/value pairs

master_flavor_id

-

The flavor of the master node for this ClusterTemplate

master_lb_enabled

boolean

  • no

  • yes

Indicates whether created clusters should have a load balancer for master nodes or not

name

- / required

Name that has to be given to the cluster template

network_driver

-

  • flannel
  • calico
  • docker

The name of the driver used for instantiating container networks

no_proxy

-

A comma separated list of IPs for which proxies should not be used in the cluster

public

boolean

  • no

  • yes

Indicates whether the ClusterTemplate is public or not

region_name

-

Name of the region.

registry_enabled

boolean

  • no

  • yes

Indicates whether the docker registry is enabled

server_type

-

  • vm

  • bm

Server type for this ClusterTemplate

state

-

  • present

  • absent

Indicate desired state of the resource.

timeout

-

Default:

180

How long should ansible wait for the requested resource.

tls_disabled

boolean

  • no

  • yes

Indicates whether the TLS should be disabled

verify

boolean

  • no
  • yes

Whether or not SSL API requests should be verified. Before 2.3 this defaulted to True.


aliases: validate_certs

volume_driver

-

  • cinder
  • rexray

The name of the driver used for instantiating container volumes

wait

boolean

  • no
  • yes

Should ansible wait until the requested resource is complete.



Notes

Note

  • The standard OpenStack environment variables, such as OS_USERNAME may be used instead of providing explicit values.
  • Auth information is driven by os-client-config, 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 http://docs.openstack.org/developer/os-client-config


Examples

# Create a new Kubernetes cluster template
- os_coe_cluster_template:
    name: k8s
    coe: kubernetes
    keypair_id: mykey
    image_id: 2a8c9888-9054-4b06-a1ca-2bb61f9adb72
    public: no

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

cluster_template

complex

On success when state is 'present'

Dictionary describing the template.


coe

string

The Container Orchestration Engine for this clustertemplate


Sample:

kubernetes

dns_nameserver

string

The DNS nameserver address


Sample:

8.8.8.8

docker_storage_driver

string

Docker storage driver


Sample:

devicemapper

docker_volume_size

integer

The size in GB of the docker volume


Sample:

5

external_network_id

string

The external network to attach to the Cluster


Sample:

public

fixed_network

string

The fixed network name to attach to the Cluster


Sample:

07767ec6-85f5-44cb-bd63-242a8e7f0d9d

fixed_subnet

string

The fixed subnet name to attach to the Cluster


Sample:

05567ec6-85f5-44cb-bd63-242a8e7f0d9d

flavor_id

string

The flavor of the minion node for this ClusterTemplate


Sample:

c1.c1r1

floating_ip_enabled

boolean

Indicates whether created clusters should have a floating ip or not


http_proxy

string

Address of a proxy that will receive all HTTP requests and relay them The format is a URL including a port number


Sample:

https_proxy

string

Address of a proxy that will receive all HTTPS requests and relay them. The format is a URL including a port number


Sample:

image_id

string

Image id the cluster will be based on


Sample:

05567ec6-85f5-44cb-bd63-242a8e7f0e9d

keypair_id

string

Name or ID of the keypair to use.


Sample:

mykey

labels

dictionary

One or more key/value pairs


Sample:

{'key1': 'value1', 'key2': 'value2'}

master_flavor_id

string

The flavor of the master node for this ClusterTemplate


Sample:

c1.c1r1

master_lb_enabled

boolean

Indicates whether created clusters should have a load balancer for master nodes or not


Sample:

True

name

string

Name that has to be given to the cluster template


Sample:

k8scluster

network_driver

string

The name of the driver used for instantiating container networks


Sample:

calico

no_proxy

string

A comma separated list of IPs for which proxies should not be used in the cluster


Sample:

10.0.0.4,10.0.0.5

public

boolean

Indicates whether the ClusterTemplate is public or not


registry_enabled

boolean

Indicates whether the docker registry is enabled


server_type

string

Server type for this ClusterTemplate


Sample:

vm

tls_disabled

boolean

Indicates whether the TLS should be disabled


volume_driver

string

The name of the driver used for instantiating container volumes


Sample:

cinder

id

string

On success when state is 'present'

The cluster UUID.


Sample:

39007a7e-ee4f-4d13-8283-b4da2e037c69




Status

Authors

  • Feilong Wang (@flwang)

Hint

If you notice any issues in this documentation you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/os_coe_cluster_template_module.html