cloudera.cluster.cm_service_role module – Manage a Cloudera Manager Service role

Note

This module is part of the cloudera.cluster collection (version 5.0.0).

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

To use it in a playbook, specify: cloudera.cluster.cm_service_role.

New in cloudera.cluster 5.0.0

Synopsis

  • Manage a Cloudera Manager Service role.

Requirements

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

  • cm-client

Parameters

Parameter

Comments

agent_header

aliases: user_agent

string

Set the HTTP user agent header when interacting with the CM API endpoint.

Default: "ClouderaFoundry"

cluster_host_id

string

The host ID of an instance for the role.

If the host ID is different that the existing host for the type, the role will be destroyed and rebuilt on the declared host.

Mutually exclusive with cluster_hostname.

cluster_hostname

aliases: cluster_host

string

The hostname of an instance for the role.

If the hostname is different that the existing host for the type, the role will be destroyed and rebuilt on the declared host.

Mutually exclusive with cluster_host_id.

config

aliases: params, parameters

dictionary

The role configuration to set, i.e. role overrides, for the instance.

To unset a parameter, use None as the value.

debug

aliases: debug_endpoints

boolean

Capture the HTTP interaction logs with the CM API endpoint.

Choices:

  • false ← (default)

  • true

force_tls

boolean

Flag to force TLS during CM API endpoint discovery.

If False, discovery will first try HTTP and follow any redirects.

Choices:

  • false ← (default)

  • true

host

aliases: hostname

string

Hostname of the CM API endpoint.

If set, the host parameter will trigger CM API endpoint discovery, which will follow redirects.

Mutually exclusive with url.

maintenance

aliases: maintenance_mode

boolean

Flag for whether the role should be in maintenance mode.

Choices:

  • false

  • true

message

aliases: msg

string

Message to log for any changes to the entity.

Default: "Managed by Ansible"

password

string / required

Password for access to the CM API endpoint.

This parameter is set to no_log.

port

integer

Port of the CM API endpoint.

If set, CM API endpoint discovery will connect to the designated port first and will follow redirects.

Default: 7180

proxy_server

aliases: proxy, http_proxy

string

Set the HTTP/S proxy server when interacting with the CM API endpoint.

purge

boolean

Flag for whether the declared role configurations should append or overwrite any existing configurations.

To clear all role configurations, set config={}, i.e. an empty dictionary, or omit entirely, and set purge=True.

Choices:

  • false ← (default)

  • true

ssl_ca_cert

aliases: tls_cert, ssl_cert

path

Path to SSL CA certificate to use for validation.

state

string

The state of the role.

Note, if the declared state is invalid for the role, the module will return an error.

Note, restarted is always force a change of state of the role.

Choices:

  • "present" ← (default)

  • "absent"

  • "restarted"

  • "started"

  • "stopped"

type

aliases: role_type

string / required

A role type for the role.

url

aliases: endpoint, cm_endpoint_url

string

The CM API endpoint URL and should include scheme, host, port, and API root path.

Mutually exclusive with host.

username

aliases: user

string / required

Username for access to the CM API endpoint.

verify_tls

boolean

Verify the TLS certificates for the CM API endpoint.

Choices:

  • false

  • true ← (default)

version

aliases: api_version

string

API version of the CM API endpoint.

Default: "True"

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target, if not supported the action will be skipped.

diff_mode

Support: full

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode

platform

Platforms: all

Target OS/families that can be operated against

See Also

See also

cloudera.cluster.cm_service

Manage Cloudera Manager service.

cloudera.cluster.cm_service_role_config_group

Manage a Cloudera Manager Service role config group.

Examples

- name: Establish a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    cluster_hostname: worker-01.cloudera.internal

- name: Set a Cloudera Manager Service role to maintenance mode
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    maintenance: true

- name: Update (append) role configurations to a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    config:
      some_config: value_one
      another_config: value_two

- name: Set (purge) role configurations to a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    type: HOSTMONITOR
    config:
      yet_another_config: value_three
    purge: true

- name: Remove all role configurations on a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    purge: true

- name: Start a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    state: started

- name: Force a restart to a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    state: restarted

- name: Remove a Cloudera Manager Service role
  cloudera.cluster.cm_service_role:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    type: HOSTMONITOR
    state: absent

Return Values

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

Key

Description

role

dictionary

Details about the Cloudera Manager service role.

Returned: always

commission_state

string

Commission state of the Cloudera Manager service role.

Returned: always

Sample: "['COMMISSIONED', 'DECOMMISSIONING', 'DECOMMISSIONED', 'UNKNOWN', 'OFFLINING', 'OFFLINED']"

config

dictionary

Role override configuration for the Cloudera Manager service.

Returned: optional

config_staleness_status

string

Status of configuration staleness for the Cloudera Manager service role.

Returned: always

Sample: "['FRESH', 'STALE_REFRESHABLE', 'STALE']"

ha_status

string

High-availability status for the Cloudera Manager service.

Returned: optional

Sample: "['ACTIVE', 'STANDBY', 'UNKNOWN']"

health_checks

list / elements=dictionary

List of all available health checks for Cloudera Manager service role.

Returned: optional

explanation

string

The explanation of this health check.

Returned: optional

name

string

Unique name of this health check.

Returned: always

summary

string

The high-level health status of the health check.

Returned: always

Sample: "['DISABLED', 'HISTORY_NOT_AVAILABLE', 'NOT_AVAILABLE', 'GOOD', 'CONCERNING', 'BAD']"

suppressed

boolean

Whether this health check is suppressed.

A suppressed health check is not considered when computing the role’s overall health.

Returned: optional

health_summary

string

The high-level health status of the Cloudera Manager service role.

Returned: always

Sample: "['DISABLED', 'HISTORY_NOT_AVAILABLE', 'NOT_AVAILABLE', 'GOOD', 'CONCERNING', 'BAD']"

host_id

string

The unique ID of the cluster host.

Returned: always

maintenance_mode

boolean

Whether the Cloudera Manager service role is in maintenance mode.

Returned: always

maintenance_owners

list / elements=string

List of objects that trigger the Cloudera Manager service role to be in maintenance mode.

Returned: optional

Sample: ["CLUSTER", "SERVICE", "ROLE", "HOST", "CONTROL_PLANE"]

name

string

The Cloudera Manager service role name.

Note, this is an auto-generated name and cannot be changed.

Returned: always

role_config_group_name

string

The name of the Cloudera Manager Service role config group, which uniquely identifies it in a Cloudera Manager installation.

Returned: always

role_state

string

State of the Cloudera Manager service role.

Returned: always

Sample: "['HISTORY_NOT_AVAILABLE', 'UNKNOWN', 'STARTING', 'STARTED', 'STOPPING', 'STOPPED', 'NA']"

service_name

string

The name of the Cloudera Manager service, which uniquely identifies it in a deployment.

Returned: always

tags

dictionary

Set of tags for the Cloudera Manager service role.

Returned: optional

type

string

The Cloudera Manager service role type.

Returned: always

Sample: "['HOSTMONITOR', 'ALERTPUBLISHER', 'SERVICEMONITOR', 'REPORTSMANAGER', 'EVENTSERVER']"

zoo_keeper_server_mode

string

The Zookeeper server mode for this Cloudera Manager service role.

Note that for non-Zookeeper Server roles, this will be null.

Returned: optional

Authors

  • Webster Mudge (@wmudge)