Hi,
When I execute "install_cluster.sh" to a GCE prject I receive the following error:
fatal: [mytestcluster-hdp-master]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'template'. Error was a <class 'ansible.errors.AnsibleError'>, original message: template error while templating string: expected token 'end of statement block', got '.'. String: {\n "configurations" : [\n{% if security|lower == "mit-kdc" or security|lower == "active-directory" %}\n {\n "kerberos-env": {\n{% if security|lower == "active-directory" %}\n "ldap_url": "{{ security_options.ldap_url }}",\n "container_dn": "{{ security_options.container_dn }}",\n{% endif %}\n "manage_identities": "true",\n "install_packages": "true",\n "realm" : "{{ security_options.realm }}",\n "kdc_type" : "{{ security }}",\n "kdc_hosts" : "{{ security_options.external_hostname|default(ansible_fqdn,true) }}",\n "admin_server_host" : "{{ security_options.external_hostname|default(ansible_fqdn,true) }}"\n }\n },\n {\n "krb5-conf": {\n "manage_krb5_conf" : "true"\n }\n },\n{% endif %}\n{% if rangeradmin_hosts|length > 0 %}\n {\n "admin-properties" : {\n "DB_FLAVOR" : "{{ database|regex_replace('mariadb', 'mysql')|upper }}",\n "SQL_CONNECTOR_JAR" : "{{ hostvars[inventory_hostname][database + '_jdbc_location'] }}",\n "db_host" : "{{ database_options.external_hostname|default(ansible_fqdn,true) }}",\n "db_name" : "{{ database_options.rangeradmin_db_name }}",\n "db_user" : "{{ database_options.rangeradmin_db_username }}",\n "db_password" : "{{ database_options.rangeradmin_db_password }}",\n "policymgr_external_url" : "http://%HOSTGROUP::{{ rangeradmin_groups[0] }}%:6080"\n }\n },\n {\n "ranger-admin-site" : {\n "ranger.externalurl" : "http://%HOSTGROUP::{{ rangeradmin_groups[0] }}%:6080",\n {% if database == "mysql" or database == "mariadb" -%}\n "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver",\n "ranger.jpa.jdbc.url": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.rangeradmin_db_name }}",\n {% endif -%}\n {% if database == "postgres" -%}\n "ranger.jpa.jdbc.driver": "org.postgresql.Driver",\n "ranger.jpa.jdbc.url": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.rangeradmin_db_name }}",\n {% endif -%}\n "ranger.audit.source.type" : "solr",\n "ranger.audit.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% if ranger_options.enable_plugins|default(no) %}\n{% if namenode_groups|length > 0 %}\n {\n "ranger-hdfs-plugin-properties" : {\n "ranger-hdfs-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-hdfs-security" : {\n "ranger.plugin.hdfs.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.hdfs.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-hdfs-audit" : {\n "xasecure.audit.destination.db" : "false",\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n {\n "ranger-hive-plugin-properties" : {\n "ranger-hive-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-hive-security" : {\n "ranger.plugin.hive.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.hive.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-hive-audit" : {\n "xasecure.audit.destination.db" : "false",\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n {\n "ranger-yarn-plugin-properties" : {\n "ranger-yarn-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-yarn-security" : {\n "ranger.plugin.yarn.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.yarn.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-yarn-audit" : {\n "xasecure.audit.destination.db" : "false",\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n {\n "ranger-hbase-plugin-properties" : {\n "ranger-hbase-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-hbase-security" : {\n "ranger.plugin.hbase.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.hbase.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-hbase-audit" : {\n "xasecure.audit.destination.db" : "false",\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% endif %}\n{% if hdf_hosts|length > 0 %}\n {\n "ranger-nifi-plugin-properties" : {\n "ranger-nifi-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-nifi-security" : {\n "ranger.plugin.nifi.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.nifi.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-nifi-audit" : {\n{% if namenode_groups|length > 0 %}\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n{% else %}\n "xasecure.audit.destination.hdfs" : "false",\n{% endif %}\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% endif %}\n{% if security|lower == "mit-kdc" or security|lower == "active-directory" -%}\n {\n "ranger-storm-plugin-properties" : {\n "ranger-storm-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-storm-security" : {\n "ranger.plugin.storm.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.storm.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-storm-audit" : {\n "xasecure.audit.destination.db" : "false",\n{% if namenode_groups|length > 0 %}\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n{% else %}\n "xasecure.audit.destination.hdfs" : "false",\n{% endif %}\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% endif %}\n {\n "ranger-kafka-plugin-properties" : {\n "ranger-kafka-plugin-enabled" : "Yes"\n }\n },\n {\n "ranger-kafka-security" : {\n "ranger.plugin.kafka.policy.rest.url" : "http://{{ hostvars[rangeradmin_hosts|sort|list|first]['ansible_fqdn'] }}:6080",\n "ranger.plugin.kafka.policy.pollIntervalMs" : "30000"\n }\n },\n {\n "ranger-kafka-audit" : {\n "xasecure.audit.destination.db" : "false",\n{% if namenode_groups|length > 0 %}\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n{% else %}\n "xasecure.audit.destination.hdfs" : "false",\n{% endif %}\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% endif %}\n {\n "ranger-env" : {\n{% if ranger_options.enable_plugins|default(no) %}\n{% if namenode_groups|length > 0 %}\n "ranger-hdfs-plugin-enabled" : "Yes",\n "ranger-hive-plugin-enabled" : "Yes",\n "ranger-yarn-plugin-enabled" : "Yes",\n "ranger-hbase-plugin-enabled" : "Yes",\n{% endif %}\n{% if hdf_hosts|length > 0 %}\n "ranger-nifi-plugin-enabled" : "Yes",\n{% endif %}\n{% if security|lower == "mit-kdc" or security|lower == "active-directory" -%}\n "ranger-storm-plugin-enabled" : "Yes",\n{% endif %}\n "ranger-kafka-plugin-enabled" : "Yes",\n{% endif %}\n "admin_username" : "admin",\n "admin_password" : "{{ ranger_options.ranger_admin_password }}",\n "ranger_admin_username" : "amb_ranger_admin",\n "ranger_admin_password" : "{{ ranger_options.ranger_admin_password }}",\n{% if hdp_major_version|int >= 3 -%}\n "rangerusersync_user_password" : "{{ ranger_options.ranger_admin_password }}",\n "rangertagsync_user_password" : "{{ ranger_options.ranger_admin_password }}",\n "keyadmin_user_password" : "{{ ranger_options.ranger_keyadmin_password }}",\n{% endif %}\n "xasecure.audit.destination.db" : "false",\n{% if namenode_groups|length > 0 %}\n "xasecure.audit.destination.hdfs" : "true",\n{% else %}\n "xasecure.audit.destination.hdfs" : "false",\n{% endif %}\n "xasecure.audit.destination.solr" : "true",\n "is_solrCloud_enabled": "true",\n "create_db_dbuser": "false"\n }\n },\n{% endif %}\n{% if rangerkms_hosts|length > 0 %}\n {\n "kms-properties" : {\n "DB_FLAVOR" : "{{ database|regex_replace('mariadb', 'mysql')|upper }}",\n "SQL_CONNECTOR_JAR" : "{{ hostvars[inventory_hostname][database + '_jdbc_location'] }}",\n "KMS_MASTER_KEY_PASSWD" : "{{ ranger_options.kms_master_key_password }}",\n "db_host" : "{{ database_options.external_hostname|default(ansible_fqdn,true) }}",\n "db_name" : "{{ database_options.rangerkms_db_name }}",\n "db_user" : "{{ database_options.rangerkms_db_username }}",\n "db_password" : "{{ database_options.rangerkms_db_password }}"\n }\n },\n {\n "dbks-site" : {\n {% if database == "mysql" or database == "mariadb" -%}\n "ranger.ks.jpa.jdbc.url": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.rangerkms_db_name }}",\n "ranger.ks.jpa.jdbc.driver": "com.mysql.jdbc.Driver"\n {% endif -%}\n {% if database == "postgres" -%}\n "ranger.ks.jpa.jdbc.url": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.rangerkms_db_name }}",\n "ranger.ks.jpa.jdbc.driver": "org.postgresql.Driver"\n {% endif -%}\n }\n },\n {\n "kms-env" : {\n "create_db_user" : "false"\n }\n },\n {\n "kms-site" : {\n{% if rangerkms_hosts|length > 1 %}\n "hadoop.kms.cache.enable" : "false",\n "hadoop.kms.cache.timeout.ms" : "0",\n "hadoop.kms.current.key.cache.timeout.ms" : "0",\n "hadoop.kms.authentication.signer.secret.provider" : "zookeeper",\n "hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}",\n{% endif %}\n "hadoop.kms.proxyuser.HTTP.hosts" : "",\n "hadoop.kms.proxyuser.HTTP.users" : "",\n "hadoop.kms.proxyuser.ranger.groups" : "",\n "hadoop.kms.proxyuser.ranger.hosts" : "",\n "hadoop.kms.proxyuser.ranger.users" : "",\n "hadoop.kms.proxyuser.yarn.groups" : "",\n "hadoop.kms.proxyuser.yarn.hosts" : "",\n "hadoop.kms.proxyuser.yarn.users" : ""\n }\n },\n {\n "ranger-kms-audit" : {\n "xasecure.audit.destination.db" : "false",\n "xasecure.audit.destination.hdfs" : "true",\n "xasecure.audit.destination.hdfs.dir" : "hdfs://{% if namenode_groups|length > 1 %}{{ hdfs_ha_name }}{% else %}{{ hostvars[groups[namenode_groups.0]|sort|list|first]['ansible_fqdn'] }}:8020{% endif %}/ranger/audit",\n "xasecure.audit.destination.solr" : "true",\n "xasecure.audit.destination.solr.zookeepers" : "{% for zk in zookeeper_hosts %}{{ hostvars[zk]['ansible_fqdn'] }}:2181{% if not loop.last %},{% endif %}{% endfor %}/infra-solr"\n }\n },\n{% endif %}\n{% if hdf_hosts|length > 0 %}\n {\n "nifi-ambari-config" : {\n "nifi.node.ssl.port": "9091",\n "nifi.node.port": "9090",\n "nifi.security.encrypt.configuration.password": "{{ default_password }}",\n "nifi.sensitive.props.key": "{{ default_password }}"\n }\n },\n {\n "nifi-env" : {\n "nifi_group" : "nifi",\n "nifi_user" : "nifi"\n }\n },\n{% if streamline_hosts|length > 0 %}\n {\n "streamline-common" : {\n {% if database == "mysql" or database == "mariadb" -%}\n "database_name" : "{{ database_options.streamline_db_name }}",\n "streamline.storage.type": "mysql",\n "streamline.storage.connector.user": "{{ database_options.streamline_db_username }}",\n "streamline.storage.connector.password": "{{ database_options.streamline_db_password }}",\n "streamline.storage.connector.connectURI": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.streamline_db_name }}",\n {% endif -%}\n {% if database == "postgres" -%}\n "database_name" : "{{ database_options.streamline_db_name }}",\n "streamline.storage.type": "postgresql",\n "streamline.storage.connector.user": "{{ database_options.streamline_db_username }}",\n "streamline.storage.connector.password": "{{ database_options.streamline_db_password }}",\n "streamline.storage.connector.connectURI": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.streamline_db_name }}",\n {% endif -%}\n "jar.storage.type" : "local",\n "streamline.storage.query.timeout" : "30"\n }\n },\n{% endif %}\n{% if registry_hosts|length > 0 %}\n {\n "registry-common" : {\n {% if database == "mysql" or database == "mariadb" -%}\n "database_name" : "{{ database_options.registry_db_name }}",\n "registry.storage.type": "mysql",\n "registry.storage.connector.user": "{{ database_options.registry_db_username }}",\n "registry.storage.connector.password": "{{ database_options.registry_db_password }}",\n "registry.storage.connector.connectURI": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.registry_db_name }}",\n {% endif -%}\n {% if database == "postgres" -%}\n "database_name" : "{{ database_options.registry_db_name }}",\n "registry.storage.type": "postgresql",\n "registry.storage.connector.user": "{{ database_options.registry_db_username }}",\n "registry.storage.connector.password": "{{ database_options.registry_db_password }}",\n "registry.storage.connector.connectURI": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.registry_db_name }}",\n {% endif -%}\n "jar.storage.type" : "local",\n "registry.storage.query.timeout" : "30"\n }\n },\n{% endif %}\n{% endif %}\n{% if namenode_groups|length > 0 %}\n {\n "hadoop-env" : {\n "dtnode_heapsize" : "1024m",\n "namenode_heapsize" : "2048m",\n "namenode_opt_maxnewsize" : "384m",\n "namenode_opt_newsize" : "384m"\n }\n },\n {\n "hdfs-site" : {\n {% if namenode_groups|length > 1 -%}\n "dfs.client.failover.proxy.provider.{{ hdfs_ha_name }}" : "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",\n "dfs.ha.automatic-failover.enabled" : "true",\n "dfs.ha.fencing.methods" : "shell(/bin/true)",\n "dfs.ha.namenodes.{{ hdfs_ha_name }}" : "nn1,nn2",\n "dfs.namenode.http-address.{{ hdfs_ha_name }}.nn1" : "%HOSTGROUP::{{ namenode_groups[0] }}%:50070",\n "dfs.namenode.http-address.{{ hdfs_ha_name }}.nn2" : "%HOSTGROUP::{{ namenode_groups[1] }}%:50070",\n "dfs.namenode.https-address.{{ hdfs_ha_name }}.nn1" : "%HOSTGROUP::{{ namenode_groups[0] }}%:50470",\n "dfs.namenode.https-address.{{ hdfs_ha_name }}.nn2" : "%HOSTGROUP::{{ namenode_groups[1] }}%:50470",\n "dfs.namenode.rpc-address.{{ hdfs_ha_name }}.nn1" : "%HOSTGROUP::{{ namenode_groups[0] }}%:8020",\n "dfs.namenode.rpc-address.{{ hdfs_ha_name }}.nn2" : "%HOSTGROUP::{{ namenode_groups[1] }}%:8020",\n "dfs.namenode.shared.edits.dir" : "qjournal://{% for jn in journalnode_groups %}%HOSTGROUP::{{ jn }}%:8485{% if not loop.last %};{% endif %}{% endfor %}/{{ hdfs_ha_name }}",\n "dfs.nameservices" : "{{ hdfs_ha_name }}",\n {% endif -%}\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "dfs.namenode.inode.attributes.provider.class" : "org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer",\n{% endif %}\n{% if rangerkms_hosts|length > 0 %}\n "dfs.encryption.key.provider.uri" : "kms://http@{% for kmshost in rangerkms_hosts %}{{ hostvars[kmshost]['ansible_fqdn'] }}{% if not loop.last %};{% endif %}{% endfor %}:9292/kms",\n{% endif %}\n "dfs.datanode.data.dir" : "/hadoop/hdfs/data",\n "dfs.datanode.failed.volumes.tolerated" : "0",\n "dfs.replication" : "3"\n }\n },\n {\n "yarn-site" : {\n {% if resourcemanager_groups|length > 1 -%}\n "hadoop.registry.zk.quorum": "{% for zk in zookeeper_groups %}%HOSTGROUP::{{ zk }}%:2181{% if not loop.last %},{% endif %}{% endfor %}",\n "yarn.resourcemanager.recovery.enabled": "true",\n "yarn.resourcemanager.store.class" : "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore",\n "yarn.resourcemanager.cluster-id" : "yarn-cluster",\n "yarn.resourcemanager.ha.enabled" : "true",\n "yarn.resourcemanager.ha.automatic-failover.zk-base-path" : "/yarn-leader-election",\n "yarn.resourcemanager.ha.rm-ids" : "rm1,rm2",\n "yarn.resourcemanager.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8050",\n "yarn.resourcemanager.scheduler.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8030",\n "yarn.resourcemanager.resource-tracker.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8025",\n "yarn.resourcemanager.admin.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8141",\n "yarn.resourcemanager.hostname": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8088",\n "yarn.resourcemanager.hostname.rm1": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%",\n "yarn.resourcemanager.hostname.rm2": "%HOSTGROUP::{{ resourcemanager_groups[1] }}%",\n "yarn.resourcemanager.webapp.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8088",\n "yarn.resourcemanager.webapp.address.rm1": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8088",\n "yarn.resourcemanager.webapp.address.rm2": "%HOSTGROUP::{{ resourcemanager_groups[1] }}%:8088",\n "yarn.resourcemanager.webapp.https.address": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8090",\n "yarn.resourcemanager.webapp.https.address.rm1": "%HOSTGROUP::{{ resourcemanager_groups[0] }}%:8090",\n "yarn.resourcemanager.webapp.https.address.rm2": "%HOSTGROUP::{{ resourcemanager_groups[1] }}%:8090",\n "yarn.resourcemanager.zk-address": "{% for zk in zookeeper_groups %}%HOSTGROUP::{{ zk }}%:2181{% if not loop.last %},{% endif %}{% endfor %}",\n {% endif -%}\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "yarn.acl.enable" : "true",\n "yarn.authorization-provider": "org.apache.ranger.authorization.yarn.authorizer.RangerYarnAuthorizer",\n{% endif %}\n "yarn.client.nodemanager-connect.retry-interval-ms" : "10000"\n }\n },\n {\n "hive-site" : {\n {% if database != "embedded" -%}\n {% if database == "mysql" or database == "mariadb" -%}\n "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",\n "javax.jdo.option.ConnectionURL": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.hive_db_name }}",\n {% endif -%}\n {% if database == "postgres" -%}\n "javax.jdo.option.ConnectionDriverName": "org.postgresql.Driver",\n "javax.jdo.option.ConnectionURL": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.hive_db_name }}",\n {% endif -%}\n "javax.jdo.option.ConnectionUserName": "{{ database_options.hive_db_username }}",\n "javax.jdo.option.ConnectionPassword": "{{ database_options.hive_db_password }}",\n {% endif -%}\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "hive.security.authorization.enabled" : "true",\n{% endif %}\n "hive.metastore.failure.retries" : "24"\n }\n },\n {\n "hiveserver2-site" : {\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "hive.security.authorization.enabled" : "true",\n "hive.security.authorization.manager" : "org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory",\n "hive.conf.restricted.list" : "hive.security.authenticator.manager,hive.security.authorization.manager,hive.security.metastore.authorization.manager,hive.security.metastore.authenticator.manager,hive.users.in.admin.role,hive.server2.xsrf.filter.enabled,hive.security.authorization.enabled",\n{% endif %}\n "hive.metastore.metrics.enabled" : "true"\n }\n },\n {\n "hive-env" : {\n {% if database != "embedded" -%}\n {% if database == "mysql" or database == "mariadb" -%}\n "hive_database": "Existing MySQL / MariaDB Database",\n "hive_database_type": "mysql",\n {% endif -%}\n {% if database == "postgres" -%}\n "hive_database": "Existing PostgreSQL Database",\n "hive_database_type": "postgres",\n {% endif -%}\n "hive_database_name": "{{ database_options.hive_db_name }}",\n {% endif -%}\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "hive_security_authorization" : "Ranger",\n{% endif %}\n "hive_user" : "hive"\n }\n },\n {\n "oozie-site" : {\n {% if database != "embedded" -%}\n {% if database == "mysql" or database == "mariadb" -%}\n "oozie.service.JPAService.jdbc.driver": "com.mysql.jdbc.Driver",\n "oozie.service.JPAService.jdbc.url": "jdbc:mysql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ mysql_port }}/{{ database_options.oozie_db_name }}",\n {% endif -%}\n {% if database == "postgres" -%}\n "oozie.service.JPAService.jdbc.driver": "org.postgresql.Driver",\n "oozie.service.JPAService.jdbc.url": "jdbc:postgresql://{{ database_options.external_hostname|default(ansible_fqdn,true) }}:{{ postgres_port }}/{{ database_options.oozie_db_name }}",\n {% endif -%}\n "oozie.db.schema.name": "{{ database_options.oozie_db_name }}",\n "oozie.service.JPAService.jdbc.username": "{{ database_options.oozie_db_username }}",\n "oozie.service.JPAService.jdbc.password": "{{ database_options.oozie_db_password }}",\n {% endif -%}\n{% if (security|lower == "mit-kdc" or security|lower == "active-directory") and security_options.http_authentication|default(no) %}\n "oozie.authentication.cookie.domain" : "{{ security_options.realm|lower }}",\n{% endif %}\n "oozie.action.retry.interval" : "30"\n }\n },\n {\n "oozie-env" : {\n {% if database != "embedded" -%}\n {% if database == "mysql" or database == "mariadb" -%}\n "oozie_database": "Existing MySQL / MariaDB Database",\n {% endif -%}\n {% if database == "postgres" -%}\n "oozie_database": "Existing PostgreSQL Database",\n {% endif -%}\n {% endif -%}\n "oozie_user" : "oozie"\n }\n },\n {\n "hbase-site" : {\n {% if namenode_groups|length > 1 -%}\n "hbase.rootdir": "hdfs://{{ hdfs_ha_name }}/apps/hbase/data",\n {% endif -%}\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "hbase.security.authorization" : "true",\n "hbase.coprocessor.master.classes" : "org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor",\n "hbase.coprocessor.region.classes" : "org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor",\n "hbase.coprocessor.regionserver.classes" : "org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor",\n{% endif %}\n "hbase.client.retries.number" : "35"\n }\n },\n {\n "core-site": {\n {% if namenode_groups|length > 1 -%}\n "fs.defaultFS" : "hdfs://{{ hdfs_ha_name }}",\n "ha.zookeeper.quorum" : "{% for zk in zookeeper_groups %}%HOSTGROUP::{{ zk }}%:2181{% if not loop.last %},{% endif %}{% endfor %}",\n {% endif -%}\n{% if (security|lower == "mit-kdc" or security|lower == "active-directory") and security_options.http_authentication|default(no) %}\n "hadoop.http.authentication.simple.anonymous.allowed" : "false",\n "hadoop.http.authentication.signature.secret.file" : "/etc/security/http_secret",\n "hadoop.http.authentication.type" : "kerberos",\n "hadoop.http.authentication.kerberos.keytab" : "/etc/security/keytabs/spnego.service.keytab",\n "hadoop.http.authentication.kerberos.principal" : "HTTP/_HOST@{{ security_options.realm }}",\n "hadoop.http.filter.initializers" : "org.apache.hadoop.security.AuthenticationFilterInitializer",\n "hadoop.http.authentication.cookie.domain" : "{{ security_options.realm|lower }}",\n{% else %}\n "hadoop.http.authentication.simple.anonymous.allowed" : "true",\n "hadoop.http.authentication.type" : "simple",\n{% endif %}\n{% if rangerkms_hosts|length > 0 %}\n "hadoop.security.key.provider.path" : "kms://http@{% for kmshost in rangerkms_hosts %}{{ hostvars[kmshost]['ansible_fqdn'] }}{% if not loop.last %};{% endif %}{% endfor %}:9292/kms",\n "hadoop.proxyuser.kms.groups" : "*",\n{% endif %}\n "fs.trash.interval" : "360"\n }\n },\n{% endif %}\n {\n "storm-site": {\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) and (security|lower == "mit-kdc" or security|lower == "active-directory") %}\n "nimbus.authorizer" : "org.apache.ranger.authorization.storm.authorizer.RangerStormAuthorizer",\n{% endif %}\n "storm.zookeeper.retry.intervalceiling.millis" : "30000"\n }\n },\n {\n "kafka-broker": {\n{% if rangeradmin_hosts|length > 0 and ranger_options.enable_plugins|default(no) %}\n "authorizer.class.name" : "org.apache.ranger.authorization.kafka.authorizer.RangerKafkaAuthorizer",\n{% endif %}\n "zookeeper.session.timeout.ms" : "30000"\n }\n },\n {\n "zoo.cfg": {\n "clientPort" : "2181"\n }\n }\n ],\n\n "host_groups" : [\n {% set ns = namespace(hivedb_embedded_defined=false) %}\n {% for blueprint_item in blueprint_dynamic if groups[blueprint_item.host_group] is defined and groups[blueprint_item.host_group]|length > 0 -%}\n\n {\n "name" : "{{ blueprint_item.host_group }}",\n "configurations" : [ ],\n "components" : [\n {% for client in blueprint_item.clients -%}\n { "name" : "{{ client }}" },\n {% endfor %}\n{% if security|lower == "mit-kdc" or security|lower == "active-directory" -%}\n { "name" : "KERBEROS_CLIENT" },\n{% endif %}\n\n {% for service in blueprint_item.services -%}\n { "name" : "{{ service }}" }{% if service == "HIVE_METASTORE" and database == "embedded" and not ns.hivedb_embedded_defined %},{ "name" : "MYSQL_SERVER" }{% set ns.hivedb_embedded_defined=true %}{% endif %}{% if not loop.last %},{% endif %}\n\n {% endfor %}\n\n ]\n }{% if not loop.last and groups[blueprint_item.host_group]|length > 0 %},{% endif %}\n\n {% endfor %}\n\n ],\n "Blueprints" : {\n{% if security|lower == "mit-kdc" or security|lower == "active-directory" %}\n "security" : {\n "type" : "KERBEROS"\n },\n{% endif %}\n "stack_name" : "{% if namenode_groups|length > 0 %}HDP{% else %}HDF{% endif %}",\n "stack_version" : "{% if namenode_groups|length > 0 %}{{ hdp_minor_version }}{% else %}{{ hdf_minor_version }}{% endif %}"\n }\n}\n"}
I'm using the last commit