def knox(): import params XmlConfig( "gateway-site.xml", conf_dir=params.knox_conf_dir, configurations=params.config['configurations']['gateway-site'], configuration_attributes=params.config['configuration_attributes'] ['gateway-site'], owner=params.knox_user) # Manually overriding service logon user & password set by the installation package ServiceConfig(params.knox_gateway_win_service_name, action="change_user", username=params.knox_user, password=Script.get_password(params.knox_user)) File(os.path.join(params.knox_conf_dir, "gateway-log4j.properties"), owner=params.knox_user, content=params.gateway_log4j) File(os.path.join(params.knox_conf_dir, "topologies", "default.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.topology_template)) File(os.path.join(params.knox_conf_dir, "topologies", "admin.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.admin_topology_template)) if Script.is_hdp_stack_greater_or_equal_to(params.version_formatted, "2.3.8.0"): File(os.path.join(params.knox_conf_dir, "topologies", "knoxsso.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.knoxsso_topology_template)) if params.security_enabled: TemplateConfig(os.path.join(params.knox_conf_dir, "krb5JAASLogin.conf"), owner=params.knox_user, template_tag=None) if not os.path.isfile(params.knox_master_secret_path): cmd = format( 'cmd /C {knox_client_bin} create-master --master {knox_master_secret!p}' ) Execute(cmd) cmd = format( 'cmd /C {knox_client_bin} create-cert --hostname {knox_host_name_in_cluster}' ) Execute(cmd)
def get_hadoop_dir_for_stack_version(target, stack_version): """ Return the hadoop shared directory for the provided stack version. This is necessary when folder paths of downgrade-source stack-version are needed after hdp-select. :target: the target directory :stack_version: stack version to get hadoop dir for """ if not target in HADOOP_DIR_DEFAULTS: raise Fail("Target {0} not defined".format(target)) hadoop_dir = HADOOP_DIR_DEFAULTS[target] formatted_stack_version = format_hdp_stack_version(stack_version) if Script.is_hdp_stack_greater_or_equal_to(formatted_stack_version, "2.2"): # home uses a different template if target == "home": hadoop_dir = HADOOP_HOME_DIR_TEMPLATE.format(stack_version, "hadoop") else: hadoop_dir = HADOOP_DIR_TEMPLATE.format(stack_version, "hadoop", target) return hadoop_dir
def get_hadoop_dir_for_stack_version(target, stack_version): """ Return the hadoop shared directory for the provided stack version. This is necessary when folder paths of downgrade-source stack-version are needed after hdp-select. :target: the target directory :stack_version: stack version to get hadoop dir for """ if not target in HADOOP_DIR_DEFAULTS: raise Fail("Target {0} not defined".format(target)) hadoop_dir = HADOOP_DIR_DEFAULTS[target] formatted_stack_version = format_hdp_stack_version(stack_version) if Script.is_hdp_stack_greater_or_equal_to(formatted_stack_version, "2.2"): # home uses a different template if target == "home": hadoop_dir = HADOOP_HOME_DIR_TEMPLATE.format(stack_version, "hadoop") else: hadoop_dir = HADOOP_DIR_TEMPLATE.format(stack_version, "hadoop", target) return hadoop_dir
def knox(): import params Directory( [ params.knox_data_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir, os.path.join(params.knox_conf_dir, "topologies") ], owner=params.knox_user, group=params.knox_group, create_parents=True, cd_access="a", mode=0755, recursive_ownership=True, ) XmlConfig( "gateway-site.xml", conf_dir=params.knox_conf_dir, configurations=params.config['configurations']['gateway-site'], configuration_attributes=params.config['configuration_attributes'] ['gateway-site'], owner=params.knox_user, group=params.knox_group, ) File(format("{params.knox_conf_dir}/gateway-log4j.properties"), mode=0644, group=params.knox_group, owner=params.knox_user, content=params.gateway_log4j) File(format("{params.knox_conf_dir}/topologies/default.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.topology_template)) File(format("{params.knox_conf_dir}/topologies/admin.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.admin_topology_template)) if Script.is_hdp_stack_greater_or_equal_to(params.version_formatted, "2.3.8.0"): File(os.path.join(params.knox_conf_dir, "topologies", "knoxsso.xml"), group=params.knox_group, owner=params.knox_user, content=InlineTemplate(params.knoxsso_topology_template)) if params.security_enabled: TemplateConfig(format("{knox_conf_dir}/krb5JAASLogin.conf"), owner=params.knox_user, template_tag=None) cmd = format( '{knox_client_bin} create-master --master {knox_master_secret!p}') master_secret_exist = as_user(format('test -f {knox_master_secret_path}'), params.knox_user) Execute( cmd, user=params.knox_user, environment={'JAVA_HOME': params.java_home}, not_if=master_secret_exist, ) cmd = format( '{knox_client_bin} create-cert --hostname {knox_host_name_in_cluster}') cert_store_exist = as_user(format('test -f {knox_cert_store_path}'), params.knox_user) Execute( cmd, user=params.knox_user, environment={'JAVA_HOME': params.java_home}, not_if=cert_store_exist, )