def modify_knox_sso_ttl(ttl): ''' :param ttl: TTL value to be set in knoxsso-topology file. :return: None ''' content = apicorelib.get_service_config(serviceName="KNOX", config_type="knoxsso-topology", config="content") import xml.etree.ElementTree as ET doc = ET.fromstring(content) service_node = doc.find('service') for node in service_node: if node.tag == "param": for params in node: if params.tag == "name": param_text = params.text if params.tag == "value" and param_text == "knoxsso.token.ttl": params.text = str(ttl) propsToSet = { 'content': ET.tostring(doc), } apicorelib.modify_service_configs(serviceName="KNOX", config_type="knoxsso-topology", configs_dict=propsToSet) Ambari.start_stop_service(service="KNOX", state="INSTALLED", waitForCompletion=True) Ambari.start_stop_service(service="KNOX", state="STARTED", waitForCompletion=True)
def removeYarnQueue(cls, queueName="newQueue", defaultConfig=None, webURL=source_weburl, cluster=None): if cluster == None: cluster = Ambari.getClusterName() if webURL == None: webURL = Ambari.getWebUrl() else: cluster = Ambari.getClusterName(weburl=webURL) # Delete new config deleteConfig = {} deleteConfig["yarn.scheduler.capacity.root." + queueName + ".acl_administer_jobs"] = "*" deleteConfig["yarn.scheduler.capacity.root." + queueName + ".acl_submit_applications"] = "*" deleteConfig["yarn.scheduler.capacity.root." + queueName + ".capacity"] = "0" deleteConfig["yarn.scheduler.capacity.root." + queueName + ".maximum-capacity"] = "0" deleteConfig["yarn.scheduler.capacity.root." + queueName + ".state"] = "RUNNING" deleteConfig["yarn.scheduler.capacity.root." + queueName + ".user-limit-factor"] = "1" Ambari.deleteConfig(type='capacity-scheduler', config=deleteConfig, webURL=webURL) # Reset to default config Ambari.setConfig(type='capacity-scheduler', config=defaultConfig, webURL=webURL) Ambari.start_stop_service('YARN', 'INSTALLED', waitForCompletion=True, weburl=webURL) logger.info("---- Done stopping YARN cluster") Ambari.start_stop_service('YARN', 'STARTED', waitForCompletion=True, weburl=webURL) time.sleep(30) logger.info("---- Done starting YARN cluster")
def disableEnableDenyPolicyCreation(cls, enableDenyPolicyCreation, webURL): isDenyPolicyTrue = Ambari.getConfig( 'beacon-security-site', webURL=webURL)['beacon.ranger.plugin.create.denypolicy'] if (isDenyPolicyTrue == 'true') == enableDenyPolicyCreation: logger.info("skiping changing config , as it is already present") else: propsToSet = { 'beacon.ranger.plugin.create.denypolicy': enableDenyPolicyCreation } Ambari.setConfig("beacon-security-site", propsToSet, webURL=webURL) Ambari.start_stop_service("BEACON", 'INSTALLED', waitForCompletion=True, weburl=webURL) logger.info("---- Done stopping Beacon cluster") Ambari.start_stop_service('BEACON', 'STARTED', waitForCompletion=True, weburl=webURL) logger.info("---- Done starting Beacon cluster")