cloudera.cloud.datahub_cluster_repair module – Repair CDP Datahub instances or instance groups

Note

This module is part of the cloudera.cloud collection (version 2.5.1).

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 cloudera.cloud. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cloudera.cloud.datahub_cluster_repair.

Synopsis

  • Execute a repair (remove and/or replace) on one or more instances or instance groups within a CDP Datahub.

Requirements

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

  • cdpy

Parameters

Parameter

Comments

cdp_region

aliases: cdp_endpoint_region, endpoint_region

string

Specify the Cloudera Data Platform endpoint region.

Default: "default"

datahub

string / required

The name or CRN of the datahub.

debug

aliases: debug_endpoints

boolean

Capture the CDP SDK debug log.

Choices:

  • false ← (default)

  • true

delay

integer

Number of seconds for the wait polling interval.

Default: 15

delete_volumes

boolean

Flag to recreate disk volumes on instances.

If false, the existing volumes will be reattached to the new instances.

Choices:

  • false ← (default)

  • true

instance_groups

aliases: groups

list / elements=string

A list of CDP Datahub instance group names.

Required if instances is not defined.

instances

list / elements=string

A list of CDP Datahub instance IDs .

Required if instance_groups is not defined.

profile

string

If provided, the CDP SDK will use this value as its profile.

restart

boolean

Flag to restart (replace) removed instances.

Choices:

  • false

  • true ← (default)

timeout

integer

Number of elapsed seconds for the wait polling timeout.

Default: 1200

verify_endpoint_tls

aliases: endpoint_tls

boolean

Verify the TLS certificates for the CDP endpoint.

Choices:

  • false

  • true ← (default)

wait

boolean

Flag to wait for the repair to complete.

Choices:

  • false

  • true ← (default)

Notes

Note

  • This module supports check_mode.

Examples

# Note: These examples do not set authentication details.

- name: Replace a single instance group
  cloudera.cloud.datahub_cluster_repair:
    datahub: example-datahub
    instance_groups: core_broker

- name: Replace multiple instance groups
  cloudera.cloud.datahub_cluster_repair:
    datahub: example-datahub
    instance_groups:
      - core_broker
      - master

- name: Replace a single instance
  cloudera.cloud.datahub_cluster_repair:
    datahub: example-datahub
    instances: i-08fa9ff7694dca0a8

- name: Replace multiple instances and remove their volumes
  cloudera.cloud.datahub_cluster_repair:
    datahub: example-datahub
    instances:
      - i-08fa9ff7694dca0a8
      - i-0ea1b60d9a103ab36
    delete_volumes: yes

- name: Replace multiple instances sequentially (i.e. rollout)
  cloudera.cloud.datahub_cluster_repair:
    datahub: example-datahub
    instances: "{{ instance_id }}"
    wait: yes # implied
  loop: "{{ query('cloudera.cloud.datahub_instance', 'core_broker', datahub='example-datahub', detailed=True) | flatten | map(attribute='id') | list }}"
  loop_control:
    loop_var: instance_id

Return Values

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

Key

Description

datahub

dictionary

The information about the Datahub

Returned: always

clouderaManager

dictionary

The Cloudera Manager details.

Returned: success

platformVersion

string

CDP Platform version.

Returned: when supported

version

string

Cloudera Manager version.

Returned: always

cloudPlatform

string

The cloud platform.

Returned: when supported

clusterName

string

The name of the cluster.

Returned: always

clusterStatus

string

The status of the cluster.

Returned: when supported

clusterTemplateCrn

string

The CRN of the cluster template used for the cluster creation.

Returned: when supported

creationDate

string

The date when the cluster was created.

Return value is a date timestamp.

Returned: when supported

credentialCrn

string

The CRN of the credential.

Returned: when supported

crn

string

The CRN of the cluster.

Returned: always

datalakeCrn

string

The CRN of the attached datalake.

Returned: when supported

endpoints

list / elements=dictionary

The exposed service API endpoints.

Returned: when supported

endpoint

list / elements=dictionary

The endpoints.

Returned: always

displayName

string

The more consumable name of the exposed service.

Returned: always

knoxService

string

The related knox entry.

Returned: always

mode

string

The SSO mode of the given service.

Returned: always

open

boolean

Flag of the access status of the given endpoint.

Returned: always

serviceName

string

The name of the exposed service.

Returned: always

serviceUrl

string

The server url for the given exposed service’s API.

Returned: always

environmentCrn

string

The CRN of the environment.

Returned: when supported

environmentName

string

The name of the environment.

Returned: when supported

imageDetails

dictionary

The image details.

Returned: when supported

catalogName

string

The image catalog name.

Returned: when supported

catalogUrl

string

The image catalog URL.

Returned: when supported

id

string

The ID of the image used for cluster instances.

This is internally generated by the cloud provider to uniquely identify the image.

Returned: when supported

name

string

The name of the image used for cluster instances.

Returned: when supported

instanceGroups

list / elements=dictionary

The instance details.

Returned: when supported

availabilityZones

list / elements=string

List of availability zones associated with the instance group.

Returned: when supported

instances

list / elements=dictionary

List of instances in this instance group.

Returned: always

attachedVolumes

list / elements=dictionary

List of volumes attached to this instance.

Returned: when supported

count

integer

The number of volumes.

Returned: when supported

size

integer

The size of each volume in GB.

Returned: when supported

volumeType

string

The type of volumes.

Returned: when supported

availabilityZone

string

The availability zone of the instance.

Returned: when supported

clouderaManagerServer

boolean

Flag indicating if Cloudera Manager has been deployed or not.

Returned: when supported

fqdn

string

The fully-qualified domain name (FQDN) of the instance.

Returned: when supported

id

string

The ID of the given instance.

Returned: always

instanceGroup

string

The name of the instance group associated with the instance.

Returned: when supported

instanceType

string

The type of the given instance.

Values are GATEWAY, GATEWAY_PRIMARY, or CORE.

Returned: always

instanceVmType

string

The VM type of the instance.

Supported values depend on the cloud platform.

Returned: when supported

privateIp

string

The private IP of the given instance.

Returned: when supported

publicIp

string

The public IP of the given instance.

Returned: when supported

rackId

string

The rack ID of the instance in Cloudera Manager.

Returned: when supported

sshPort

integer

The SSH port for the instance.

Returned: when supported

state

string

The health state of the instance.

UNHEALTHY represents instances with unhealthy services, lost instances, or failed operations.

Returned: always

status

string

The status of the instance.

This includes information like whether the instance is being provisioned, stopped, decommissioning failures etc.

Returned: when supported

statusReason

string

The reason for the current status of this instance.

Returned: when supported

subnetId

string

The subnet ID of the instance.

Returned: when supported

name

string

The name of the instance group where the given instance is located.

Returned: always

subnetIds

list / elements=string

The list of subnet IDs in case of multi-availability zone setup.

Returned: when supported

nodeCount

integer

The cluster node count.

Returned: when supported

status

string

The status of the stack.

Returned: when supported

statusReason

string

The status reason.

Returned: when supported

workloadType

string

The workload type for the cluster.

Returned: when supported

sdk_out

string

Returns the captured CDP SDK log.

Returned: when supported

sdk_out_lines

list / elements=string

Returns a list of each line of the captured CDP SDK log.

Returned: when supported

Authors

  • Webster Mudge (@wmudge)