diff --git a/group_vars/all b/group_vars/all index cecb867..b6ee730 100644 --- a/group_vars/all +++ b/group_vars/all @@ -7,3 +7,6 @@ ad_domain: "{{ krb5_realm.lower() }}" computer_ou: ou=Hosts,ou=morhidi,ou=HadoopClusters,ou=morhidi,dc=ad,dc=sec,dc=cloudera,dc=com domain: vpc.cloudera.com kdc: w2k8-1.ad.sec.cloudera.com + +# hostname_var can be set to 'ansible_fqdn' (to use the internal hostname) or 'inventory_hostname' (default, uses the public/inventory hostname) +hostname_var: 'inventory_hostname' diff --git a/roles/cdh/tasks/main.yml b/roles/cdh/tasks/main.yml index 840abf9..10c6a64 100644 --- a/roles/cdh/tasks/main.yml +++ b/roles/cdh/tasks/main.yml @@ -53,7 +53,7 @@ - debug: msg="Import cluster template command ID - {{ command_id }}" when: cluster_exists == False -- debug: msg="Login to Cloudera Manager to monitor import progress - http://{{ hostvars[scm_hostname]['inventory_hostname'] }}:{{ scm_port }}/cmf/commands/commands" +- debug: msg="Login to Cloudera Manager to monitor import progress - http://{{ hostvars[scm_hostname][hostname_var] }}:{{ scm_port }}/cmf/commands/commands" when: cluster_exists == False - file: diff --git a/roles/cdh/templates/hive.j2 b/roles/cdh/templates/hive.j2 index dd336cf..e8a813b 100644 --- a/roles/cdh/templates/hive.j2 +++ b/roles/cdh/templates/hive.j2 @@ -4,7 +4,7 @@ "serviceConfigs": [ { "name": "hive_metastore_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "hive_metastore_database_type", "value": "{{ databases.metastore.type }}" diff --git a/roles/cdh/templates/hue.j2 b/roles/cdh/templates/hue.j2 index 1a391ac..abaa917 100644 --- a/roles/cdh/templates/hue.j2 +++ b/roles/cdh/templates/hue.j2 @@ -4,7 +4,7 @@ "serviceConfigs": [ { "name": "database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "database_type", "value": "{{ databases.hue.type }}" diff --git a/roles/cdh/templates/oozie.j2 b/roles/cdh/templates/oozie.j2 index 29a0078..868b76d 100644 --- a/roles/cdh/templates/oozie.j2 +++ b/roles/cdh/templates/oozie.j2 @@ -26,7 +26,7 @@ "configs": [ { "name": "oozie_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "oozie_database_type", "value": "{{ databases.oozie.type }}" diff --git a/roles/cdh/templates/sentry.j2 b/roles/cdh/templates/sentry.j2 index 840bc69..e5fffe6 100644 --- a/roles/cdh/templates/sentry.j2 +++ b/roles/cdh/templates/sentry.j2 @@ -4,7 +4,7 @@ "serviceConfigs": [ { "name": "sentry_server_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "sentry_server_database_type", "value": "{{ databases.sentry.type }}" diff --git a/roles/cm_agents/tasks/main.yml b/roles/cm_agents/tasks/main.yml index 88919fe..bb8ada0 100644 --- a/roles/cm_agents/tasks/main.yml +++ b/roles/cm_agents/tasks/main.yml @@ -9,7 +9,7 @@ - cloudera-manager-agent - name: Configure Cloudera Manager Agent 'server_host' - lineinfile: dest=/etc/cloudera-scm-agent/config.ini regexp=^server_host line=server_host={{ hostvars[scm_hostname]['inventory_hostname'] }} + lineinfile: dest=/etc/cloudera-scm-agent/config.ini regexp=^server_host line=server_host={{ hostvars[scm_hostname][hostname_var] }} - name: Restart Cloudera Manager Agents service: name=cloudera-scm-agent state=restarted enabled=yes diff --git a/roles/krb5_server/templates/krb5.conf.j2 b/roles/krb5_server/templates/krb5.conf.j2 index cb12ba4..bf351bf 100644 --- a/roles/krb5_server/templates/krb5.conf.j2 +++ b/roles/krb5_server/templates/krb5.conf.j2 @@ -16,8 +16,8 @@ [realms] {{ default_realm|upper }} = { - kdc = {{ hostvars[groups['krb5_server'][0]]['inventory_hostname'] }} - admin_server = {{ hostvars[groups['krb5_server'][0]]['inventory_hostname'] }} + kdc = {{ hostvars[groups['krb5_server'][0]][hostname_var] }} + admin_server = {{ hostvars[groups['krb5_server'][0]][hostname_var] }} default_domain = {{ ansible_fqdn.split('.')[1:]|join('.') }} } diff --git a/roles/scm/handlers/main.yml b/roles/scm/handlers/main.yml index 8b83546..ba75aea 100644 --- a/roles/scm/handlers/main.yml +++ b/roles/scm/handlers/main.yml @@ -8,8 +8,9 @@ - name: wait cloudera-scm-server wait_for: - host={{ hostvars[scm_hostname]['inventory_hostname'] }} + host={{ scm_hostname }} port={{ scm_port }} delay=5 state=started - timeout=300 \ No newline at end of file + timeout=300 + \ No newline at end of file diff --git a/roles/scm/tasks/main.yml b/roles/scm/tasks/main.yml index 99bdb3b..7869c77 100644 --- a/roles/scm/tasks/main.yml +++ b/roles/scm/tasks/main.yml @@ -12,7 +12,7 @@ - name: Prepare Cloudera Manager Server External Database command: /usr/share/cmf/schema/scm_prepare_database.sh -f - --host {{ hostvars[db_hostname]['inventory_hostname'] }} + --host {{ hostvars[db_hostname][hostname_var] }} mysql {{ databases.scm.name }} {{ databases.scm.user }} {{ databases.scm.pass }} changed_when: False @@ -29,7 +29,7 @@ - name: Get Cloudera Manager API version uri: - url: http://{{ hostvars[scm_hostname]['inventory_hostname'] }}:{{ scm_port }}/api/version + url: http://{{ scm_hostname }}:{{ scm_port }}/api/version method: GET status_code: 200 user: "{{ scm_default_user }}" @@ -39,7 +39,7 @@ register: result # Set base CM API URL -- set_fact: cm_api_url="http://{{ hostvars[scm_hostname]['inventory_hostname'] }}:{{ scm_port }}/api/{{ result.content }}" +- set_fact: cm_api_url="http://{{ scm_hostname }}:{{ scm_port }}/api/{{ result.content }}" - debug: var=cm_api_url # Install Cloudera Manager Python API diff --git a/roles/scm/templates/cms_base.j2 b/roles/scm/templates/cms_base.j2 index 0b08ca6..7139478 100644 --- a/roles/scm/templates/cms_base.j2 +++ b/roles/scm/templates/cms_base.j2 @@ -77,7 +77,7 @@ "items": [ { "name": "firehose_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "firehose_database_name", "value": "{{ databases.amon.name }}" @@ -105,7 +105,7 @@ "items": [ { "name": "headlamp_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "headlamp_database_name", "value": "{{ databases.rman.name }}" @@ -133,7 +133,7 @@ "items": [ { "name": "navigator_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "navigator_database_name", "value": "{{ databases.nav.name }}" @@ -161,7 +161,7 @@ "items": [ { "name": "nav_metaserver_database_host", - "value": "{{ hostvars[db_hostname]['inventory_hostname'] }}" + "value": "{{ hostvars[db_hostname][hostname_var] }}" }, { "name": "nav_metaserver_database_name", "value": "{{ databases.navms.name }}" diff --git a/roles/scm/templates/scm.j2 b/roles/scm/templates/scm.j2 index a2b1c38..495c94f 100644 --- a/roles/scm/templates/scm.j2 +++ b/roles/scm/templates/scm.j2 @@ -3,7 +3,7 @@ {% if krb5_kdc_type != 'none' %} { "name" : "KDC_HOST", - "value" : "{{ hostvars[groups['krb5_server'][0]]['inventory_hostname'] }}" + "value" : "{{ hostvars[groups['krb5_server'][0]][hostname_var] }}" }, { "name" : "KDC_TYPE", {% if krb5_kdc_type == 'ad' %}