cloudera.cluster.cm_service module – Manage Cloudera Manager service

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.

New in cloudera.cluster 4.4.0

Synopsis

  • Manage the Cloudera Manager service (CMS), its role config groups and roles, and its operations.

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"

config

aliases: params, parameters

dictionary

The service-wide configuration to set.

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 service 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 service-wide configurations, role config groups, and roles should update existing configuration or reset to match the declared state only.

To clear configurations - service-wide, role config groups, and roles - set config={}, i.e. an empty dictionary, or omit entirely, and set purge=True.

To clear role config groups and roles, set role_config_groups=[] or roles=[], i.e. an empty list, or omit entirely, and set purge=True.

Choices:

  • false ← (default)

  • true

role_config_groups

list / elements=dictionary

A list of one or more role config groups to manage.

Each role config group is the base for the role_config_groups[].type.

config

aliases: params, parameters

dictionary / required

The configuration for the role config group.

To unset a configuration, use None as the value.

This configuration is applied to role instances.

To override these configuration values, use role overrides.

type

aliases: role_type

string / required

The role type defining the role config group.

roles

list / elements=dictionary

A list of one or more role instances to manage.

Each role instance is the application and configuration of a role type to a host.

cluster_host_id

string

The host ID of the instance for the role.

If the host ID is different than that of the existing instance for the roles[].type, the role will be destroyed and rebuilt on the declared host.

Mutually exclusive with roles[].cluster_hostname.

cluster_hostname

aliases: cluster_host

string

The hostname of an instance for the role.

If the hostname is different than that of the existing instance for the roles[].type, the role will be destroyed and rebuilt on the declared host.

Mutually exclusive with roles[].cluster_host_id.

config

aliases: params, parameters

dictionary

The configuration for the role overrides.

To unset a configuration, use None as the value.

This configuration is applied to role, overriding any role config group or default values.

type

aliases: role_type

string / required

The role type of the role to manage on the instance.

ssl_ca_cert

aliases: tls_cert, ssl_cert

path

Path to SSL CA certificate to use for validation.

state

string

The operating state of the service.

The restarted value will always restart the service and set changed=True.

Choices:

  • "started" ← (default)

  • "stopped"

  • "absent"

  • "present"

  • "restarted"

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_role

Manage a Cloudera Manager Service role.

cloudera.cluster.cm_service_role_config_group

Manage a Cloudera Manager Service role config group.

Examples

- name: Define and start the Cloudera Manager service and its roles
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    state: started
    roles:
      - type: SERVICEMONITOR
        cluster_hostname: "services01.example.com"
      - type: HOSTMONITOR
        cluster_hostname: "services02.example.com"
      - type: EVENTSERVER
        cluster_hostname: "services02.example.com"
      - type: ALERTPUBLISHER
        cluster_hostname: "services01.example.com"

- name: Set the service-wide configuration for Cloudera Manager service
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    config:
      mgmt_pause_duration_window: 10
      ldap_monitoring_enabled: false

- name: Unset a service-wide configuration for Cloudera Manager service
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    config:
      ldap_monitoring_enabled: None

- name: Set the role config group for the Host Monitor role
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    role_config_groups:
      - type: HOSTMONITOR
        config:
          mgmt_num_descriptor_fetch_tries: 25
          process_start_secs: 30

- name: Unset a configuration in the role config group for the Host Monitor role
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    role_config_groups:
      - type: HOSTMONITOR
        config:
          process_start_secs: None

- name: Set the role overrides for the Host Monitor role instance
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    roles:
      - type: HOSTMONITOR
        cluster_hostname: "services02.example.com"
        config:
          mgmt_num_descriptor_fetch_tries: 30
          process_start_secs: 45

- name: Unset a role override for the Host Monitor role instance
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    roles:
      - type: HOSTMONITOR
        cluster_hostname: "services02.example.com"
        config:
          process_start_secs: None

- name: Update the service state to only the declared configuration
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    state: started
    purge: true
    config:
      mgmt_pause_duration_window: 10
    role_config_groups:
      - type: HOSTMONITOR
        config:
          mgmt_num_descriptor_fetch_tries: 25
          process_start_secs: 30
    roles:
      - type: SERVICEMONITOR
        cluster_hostname: "services01.example.com"
      - type: HOSTMONITOR
        cluster_hostname: "services02.example.com"
        config:
          mgmt_num_descriptor_fetch_tries: 30
      - type: EVENTSERVER
        cluster_hostname: "services02.example.com"
      - type: ALERTPUBLISHER
        cluster_hostname: "services01.example.com"

- name: Stop the Cloudera Manager service
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    state: "stopped"

- name: Remove the Cloudera Manager service and its roles and role config groups
  cloudera.cluster.cm_service:
    host: "cm.example.com"
    username: "jane_smith"
    password: "S&peR4Ec*re"
    state: "absent"

Return Values

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

Key

Description

service

dictionary

The Cloudera Manager service.

Returned: success

client_config_staleness_status

string

Status of client configuration for the Cloudera Manager service.

Returned: optional

cluster_name

string

The associated cluster name.

Returned: optional

config

dictionary

Service-wide configuration for the Cloudera Manager service.

Returned: optional

config_staleness_status

string

Status of configuration staleness for the Cloudera Manager service.

Returned: optional

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

display_name

string

Display name of the Cloudera Manager service.

Returned: always

health_checks

list / elements=dictionary

Lists all available health checks for the Cloudera Manager service.

Returned: optional

explanation

string

A descriptor for the health check.

Returned: optional

name

string

Unique name fore the health check.

Returned: always

summary

string

The summary status of the health check.

Returned: always

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

suppressed

boolean

Whether the health check is suppressed.

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

Returned: always

health_summary

string

Health of the Cloudera Manager service.

Returned: always

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

maintenance_mode

boolean

Whether maintance mode is enabled for the Cloudera Manager service.

Returned: always

maintenance_owners

list / elements=string

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

Returned: optional

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

name

string

Name (identifier) of the Cloudera Manager service.

Returned: always

role_config_groups

list / elements=dictionary

List of role configuration groups for Cloudera Manager service.

Returned: optional

base

boolean

Whether the role config group is a base (default) group.

Returned: always

config

dictionary

Configuration for the role config group.

Returned: optional

display_name

string

Display name for the role config group.

Returned: always

name

string

Name (identifier) of the role config group.

Returned: always

role_type

string

The type of roles in this group.

Returned: always

service_name

string

Name (identifier) of the associated service of the role config group.

Returned: always

roles

list / elements=dictionary

List of role instances for Cloudera Manager service.

Returned: optional

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

service_state

string

Run state of the Cloudera Manager service.

Returned: always

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

service_version

string

Version of Cloudera Manager service.

Returned: always

tags

list / elements=string

List of tags for Cloudera Manager service.

Returned: optional

type

string

Type of the Cloudera Manager service, i.e. MGMT.

Returned: always

Sample: "['MGMT']"

Authors

  • Ronald Suplina (@rsuplina)

  • Webster Mudge (@wmudge)