in ambari-infra-solr-client/src/main/python/migrationHelper.py [0:0]
def set_solr_authorization(options, accessor, parser, config, enable_authorization, fix_kerberos_config = False):
solr_znode='/infra-solr'
if config.has_section('infra_solr') and config.has_option('infra_solr', 'znode'):
solr_znode=config.get('infra_solr', 'znode')
kerberos_enabled='false'
if config.has_section('cluster') and config.has_option('cluster', 'kerberos_enabled'):
kerberos_enabled=config.get('cluster', 'kerberos_enabled')
if kerberos_enabled == 'true':
infra_solr_props = get_infra_solr_props(config, accessor)
if enable_authorization:
print("Enable Solr security.json management by Ambari ... ")
set_solr_security_management(infra_solr_props, accessor, enable = False)
if fix_kerberos_config:
set_solr_name_rules(infra_solr_props, accessor, False)
else:
print("Disable Solr authorization by uploading a new security.json and turn on security.json management by Ambari...")
set_solr_security_management(infra_solr_props, accessor, enable = True)
copy_znode(options, config, COLLECTIONS_DATA_JSON_LOCATION.format("security-without-authr.json"),
"{0}/security.json".format(solr_znode), copy_from_local=True)
if fix_kerberos_config:
set_solr_name_rules(infra_solr_props, accessor, True)
else:
if fix_kerberos_config:
print("Security is not enabled. Skipping enable/disable Solr authorization + fix infra-solr-env kerberos config operation.")
else:
print("Security is not enabled. Skipping enable/disable Solr authorization operation.")