Repository: ambari Updated Branches: refs/heads/branch-2.2 497b7aa44 -> 0f40f37cf
AMBARI-15127. Separate DB operation during upgrade and add them as pre-upgrade tasks(gautam) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0f40f37c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0f40f37c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0f40f37c Branch: refs/heads/branch-2.2 Commit: 0f40f37cfcdeb9f6a2590785a2dbc7ea05c210ff Parents: 497b7aa Author: Gautam Borad <[email protected]> Authored: Thu Mar 3 10:35:16 2016 +0530 Committer: Gautam Borad <[email protected]> Committed: Mon Mar 7 09:25:27 2016 +0530 ---------------------------------------------------------------------- .../0.4.0/package/scripts/ranger_admin.py | 45 +++++-- .../0.4.0/package/scripts/ranger_usersync.py | 10 +- .../0.4.0/package/scripts/setup_ranger.py | 10 +- .../0.4.0/package/scripts/setup_ranger_xml.py | 122 +++++++++-------- .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py | 135 +++++++++++-------- .../0.5.0.2.3/package/scripts/kms_server.py | 16 ++- .../HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml | 14 ++ .../HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml | 14 ++ .../stacks/HDP/2.2/upgrades/upgrade-2.3.xml | 12 ++ .../stacks/HDP/2.2/upgrades/upgrade-2.4.xml | 12 ++ .../HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml | 47 ++++++- .../HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml | 47 ++++++- .../stacks/HDP/2.3/upgrades/upgrade-2.3.xml | 42 ++++++ .../stacks/HDP/2.3/upgrades/upgrade-2.4.xml | 64 ++++++++- .../HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml | 47 ++++++- .../stacks/HDP/2.4/upgrades/upgrade-2.4.xml | 42 ++++++ 16 files changed, 539 insertions(+), 140 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py index 5bcf6b9..f145ac5 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py @@ -17,6 +17,7 @@ See the License for the specific language governing permissions and limitations under the License. """ +from resource_management.libraries.functions import hdp_select from resource_management.libraries.script import Script from resource_management.core.resources.system import Execute from resource_management.core.exceptions import ComponentIsNotRunning @@ -59,12 +60,6 @@ class RangerAdmin(Script): upgrade.prestart(env, "ranger-admin") - if params.xml_configurations_supported: - from setup_ranger_xml import ranger, setup_ranger_db, setup_java_patch - ranger('ranger_admin', upgrade_type=upgrade_type) - setup_ranger_db(upgrade_type=upgrade_type) - setup_java_patch(upgrade_type=upgrade_type) - self.set_ru_rangeradmin_in_progress(params.upgrade_marker_file) def post_upgrade_restart(self,env, upgrade_type=None): @@ -77,7 +72,7 @@ class RangerAdmin(Script): def start(self, env, upgrade_type=None): import params env.set_params(params) - self.configure(env) + self.configure(env, upgrade_type=upgrade_type) ranger_service('ranger_admin') @@ -96,7 +91,7 @@ class RangerAdmin(Script): raise ComponentIsNotRunning() pass - def configure(self, env): + def configure(self, env, upgrade_type=None): import params env.set_params(params) if params.xml_configurations_supported: @@ -104,7 +99,7 @@ class RangerAdmin(Script): else: from setup_ranger import ranger - ranger('ranger_admin') + ranger('ranger_admin', upgrade_type=upgrade_type) def set_ru_rangeradmin_in_progress(self, upgrade_marker_file): config_dir = os.path.dirname(upgrade_marker_file) @@ -124,6 +119,38 @@ class RangerAdmin(Script): def is_ru_rangeradmin_in_progress(self, upgrade_marker_file): return os.path.isfile(upgrade_marker_file) + def setup_ranger_database(self, env): + import params + env.set_params(params) + + upgrade_stack = hdp_select._get_upgrade_stack() + if upgrade_stack is None: + raise Fail('Unable to determine the stack and stack version') + + stack_version = upgrade_stack[1] + + if params.xml_configurations_supported: + Logger.info(format('Setting Ranger database schema, using version {stack_version}')) + + from setup_ranger_xml import setup_ranger_db + setup_ranger_db(stack_version=stack_version) + + def setup_ranger_java_patches(self, env): + import params + env.set_params(params) + + upgrade_stack = hdp_select._get_upgrade_stack() + if upgrade_stack is None: + raise Fail('Unable to determine the stack and stack version') + + stack_version = upgrade_stack[1] + + if params.xml_configurations_supported: + Logger.info(format('Applying Ranger java patches, using version {stack_version}')) + + from setup_ranger_xml import setup_java_patch + setup_java_patch(stack_version=stack_version) + if __name__ == "__main__": RangerAdmin().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py index 72133bc..51e5eab 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/ranger_usersync.py @@ -32,7 +32,7 @@ class RangerUsersync(Script): self.install_packages(env) self.configure(env) - def configure(self, env): + def configure(self, env, upgrade_type=None): import params env.set_params(params) @@ -41,13 +41,13 @@ class RangerUsersync(Script): else: from setup_ranger import ranger - ranger('ranger_usersync') + ranger('ranger_usersync', upgrade_type=upgrade_type) def start(self, env, upgrade_type=None): import params env.set_params(params) - self.configure(env) + self.configure(env, upgrade_type=upgrade_type) ranger_service('ranger_usersync') def stop(self, env, upgrade_type=None): @@ -70,10 +70,6 @@ class RangerUsersync(Script): env.set_params(params) upgrade.prestart(env, "ranger-usersync") - if params.xml_configurations_supported: - from setup_ranger_xml import ranger - ranger('ranger_usersync', upgrade_type=upgrade_type) - def get_stack_to_component(self): return {"HDP": "ranger-usersync"} http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger.py index a571686..db89664 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger.py @@ -23,14 +23,14 @@ import os from resource_management import * from resource_management.core.logger import Logger -def ranger(name=None): +def ranger(name=None, upgrade_type=None): if name == 'ranger_admin': - setup_ranger_admin() + setup_ranger_admin(upgrade_type=upgrade_type) if name == 'ranger_usersync': - setup_usersync() + setup_usersync(upgrade_type=upgrade_type) -def setup_ranger_admin(): +def setup_ranger_admin(upgrade_type=None): import params check_db_connnection() @@ -84,7 +84,7 @@ def setup_ranger_admin(): group = params.unix_group ) -def setup_usersync(): +def setup_usersync(upgrade_type=None): import params PropertiesFile(format("{usersync_home}/install.properties"), http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py index 4868fd0..6394f51 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/setup_ranger_xml.py @@ -58,6 +58,7 @@ def setup_ranger_admin(upgrade_type=None): if upgrade_type is not None: ranger_home = format("/usr/hdp/{version}/ranger-admin") ranger_conf = format("/usr/hdp/{version}/ranger-admin/conf") + copy_jdbc_connector(stack_version=params.version) File(format("/usr/lib/ambari-agent/{check_db_connection_jar_name}"), content = DownloadSource(format("{jdk_location}{check_db_connection_jar_name}")), @@ -69,7 +70,7 @@ def setup_ranger_admin(upgrade_type=None): cp = cp + os.pathsep + format("{ranger_home}/ews/lib/{jdbc_jar_name}") else: cp = cp + os.pathsep + format("{driver_curl_target}") - cp = cp + os.pathsep + format("{ranger_home}/ews/webapp/WEB-INF/lib/*") + cp = cp + os.pathsep + format("{ranger_home}/ews/lib/*") db_connection_check_command = format( "{java_home}/bin/java -cp {cp} org.apache.ambari.server.DBConnectionVerification '{ranger_jdbc_connection_url}' {ranger_db_user} {ranger_db_password!p} {ranger_jdbc_driver}") @@ -145,61 +146,16 @@ def setup_ranger_admin(upgrade_type=None): do_keystore_setup(upgrade_type=upgrade_type) -def setup_ranger_db(upgrade_type=None): +def setup_ranger_db(stack_version=None): import params - File(params.downloaded_custom_connector, - content = DownloadSource(params.driver_curl_source), - mode = 0644 - ) - - Directory(params.java_share_dir, - mode=0755, - recursive=True, - cd_access="a" - ) - - if params.db_flavor.lower() != 'sqla': - Execute(('cp', '--remove-destination', params.downloaded_custom_connector, params.driver_curl_target), - path=["/bin", "/usr/bin/"], - sudo=True) - - File(params.driver_curl_target, mode=0644) - ranger_home = params.ranger_home - if upgrade_type is not None: - ranger_home = format("/usr/hdp/{version}/ranger-admin") - - if params.db_flavor.lower() == 'sqla': - Execute(('tar', '-xvf', params.downloaded_custom_connector, '-C', params.tmp_dir), sudo = True) - - Execute(('cp', '--remove-destination', params.jar_path_in_archive, os.path.join(params.ranger_home, 'ews', 'lib')), - path=["/bin", "/usr/bin/"], - sudo=True) + version = params.version + if stack_version is not None: + ranger_home = format("/usr/hdp/{stack_version}/ranger-admin") + version = stack_version - Directory(params.jdbc_libs_dir, - cd_access="a", - recursive=True) - - Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False), - path=["/bin", "/usr/bin/"]) - else: - Execute(('cp', '--remove-destination', params.downloaded_custom_connector, os.path.join(params.ranger_home, 'ews', 'lib')), - path=["/bin", "/usr/bin/"], - sudo=True) - - File(os.path.join(params.ranger_home, 'ews', 'lib',params.jdbc_jar_name), mode=0644) - - ModifyPropertiesFile(format("{ranger_home}/install.properties"), - properties = params.config['configurations']['admin-properties'], - owner = params.unix_user, - ) - - if params.db_flavor.lower() == 'sqla': - ModifyPropertiesFile(format("{ranger_home}/install.properties"), - properties = {'SQL_CONNECTOR_JAR': format('{ranger_home}/ews/lib/{jdbc_jar_name}')}, - owner = params.unix_user, - ) + copy_jdbc_connector(stack_version=version) env_dict = {'RANGER_ADMIN_HOME':ranger_home, 'JAVA_HOME':params.java_home} if params.db_flavor.lower() == 'sqla': @@ -225,12 +181,12 @@ def setup_ranger_db(upgrade_type=None): ) -def setup_java_patch(upgrade_type=None): +def setup_java_patch(stack_version=None): import params ranger_home = params.ranger_home - if upgrade_type is not None: - ranger_home = format("/usr/hdp/{version}/ranger-admin") + if stack_version is not None: + ranger_home = format("/usr/hdp/{stack_version}/ranger-admin") env_dict = {'RANGER_ADMIN_HOME':ranger_home, 'JAVA_HOME':params.java_home} if params.db_flavor.lower() == 'sqla': @@ -294,6 +250,62 @@ def password_validation(password): raise Fail("LDAP/AD bind password contains one of the unsupported special characters like \" ' \ `") else: Logger.info("password validated") + +def copy_jdbc_connector(stack_version=None): + import params + + File(params.downloaded_custom_connector, + content = DownloadSource(params.driver_curl_source), + mode = 0644 + ) + + Directory(params.java_share_dir, + mode=0755, + recursive=True, + cd_access="a" + ) + + if params.db_flavor.lower() != 'sqla': + Execute(('cp', '--remove-destination', params.downloaded_custom_connector, params.driver_curl_target), + path=["/bin", "/usr/bin/"], + sudo=True) + + File(params.driver_curl_target, mode=0644) + + ranger_home = params.ranger_home + if stack_version is not None: + ranger_home = format("/usr/hdp/{stack_version}/ranger-admin") + + if params.db_flavor.lower() == 'sqla': + Execute(('tar', '-xvf', params.downloaded_custom_connector, '-C', params.tmp_dir), sudo = True) + + Execute(('cp', '--remove-destination', params.jar_path_in_archive, os.path.join(ranger_home, 'ews', 'lib')), + path=["/bin", "/usr/bin/"], + sudo=True) + + Directory(params.jdbc_libs_dir, + cd_access="a", + recursive=True) + + Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False), + path=["/bin", "/usr/bin/"]) + else: + Execute(('cp', '--remove-destination', params.downloaded_custom_connector, os.path.join(ranger_home, 'ews', 'lib')), + path=["/bin", "/usr/bin/"], + sudo=True) + + File(os.path.join(ranger_home, 'ews', 'lib',params.jdbc_jar_name), mode=0644) + + ModifyPropertiesFile(format("{ranger_home}/install.properties"), + properties = params.config['configurations']['admin-properties'], + owner = params.unix_user, + ) + + if params.db_flavor.lower() == 'sqla': + ModifyPropertiesFile(format("{ranger_home}/install.properties"), + properties = {'SQL_CONNECTOR_JAR': format('{ranger_home}/ews/lib/{jdbc_jar_name}')}, + owner = params.unix_user, + ) def setup_usersync(upgrade_type=None): import params http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py index 5a8f61f..18ada15 100755 --- a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py +++ b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms.py @@ -48,69 +48,24 @@ def password_validation(password, key): else: Logger.info("Password validated") -def setup_kms_db(): +def setup_kms_db(stack_version=None): import params if params.has_ranger_admin: - password_validation(params.kms_master_key_password, 'KMS master key') - - File(params.downloaded_custom_connector, - content = DownloadSource(params.driver_curl_source), - mode = 0644 - ) - - Directory(params.java_share_dir, - mode=0755, - recursive=True, - cd_access="a" - ) - - if params.db_flavor.lower() != 'sqla': - Execute(('cp', '--remove-destination', params.downloaded_custom_connector, params.driver_curl_target), - path=["/bin", "/usr/bin/"], - sudo=True) - - File(params.driver_curl_target, mode=0644) - - Directory(os.path.join(params.kms_home, 'ews', 'lib'), - mode=0755 - ) - - if params.db_flavor.lower() == 'sqla': - Execute(('tar', '-xvf', params.downloaded_custom_connector, '-C', params.tmp_dir), sudo = True) + kms_home = params.kms_home + version = params.version + if stack_version is not None: + kms_home = format("/usr/hdp/{stack_version}/ranger-kms") + version = stack_version - Execute(('cp', '--remove-destination', params.jar_path_in_archive, os.path.join(params.kms_home, 'ews', 'webapp', 'lib')), - path=["/bin", "/usr/bin/"], - sudo=True) - - Directory(params.jdbc_libs_dir, - cd_access="a", - recursive=True) - - Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False), - path=["/bin", "/usr/bin/"]) - else: - Execute(('cp', '--remove-destination', params.downloaded_custom_connector, os.path.join(params.kms_home, 'ews', 'webapp', 'lib')), - path=["/bin", "/usr/bin/"], - sudo=True) - - File(os.path.join(params.kms_home, 'ews', 'webapp', 'lib', params.jdbc_jar_name), mode=0644) + password_validation(params.kms_master_key_password, 'KMS master key') - ModifyPropertiesFile(format("/usr/hdp/current/ranger-kms/install.properties"), - properties = params.config['configurations']['kms-properties'], - owner = params.kms_user - ) + copy_jdbc_connector(stack_version=version) + env_dict = {'RANGER_KMS_HOME':kms_home, 'JAVA_HOME': params.java_home} if params.db_flavor.lower() == 'sqla': - ModifyPropertiesFile(format("{kms_home}/install.properties"), - properties = {'SQL_CONNECTOR_JAR': format('{kms_home}/ews/webapp/lib/{jdbc_jar_name}')}, - owner = params.kms_user, - ) - - env_dict = {'RANGER_KMS_HOME':params.kms_home, 'JAVA_HOME': params.java_home} - if params.db_flavor.lower() == 'sqla': - env_dict = {'RANGER_KMS_HOME':params.kms_home, 'JAVA_HOME': params.java_home, 'LD_LIBRARY_PATH':params.ld_library_path} + env_dict = {'RANGER_KMS_HOME':kms_home, 'JAVA_HOME': params.java_home, 'LD_LIBRARY_PATH':params.ld_library_path} dba_setup = format('python {kms_home}/dba_script.py -q') db_setup = format('python {kms_home}/db_setup.py') @@ -128,11 +83,12 @@ def setup_java_patch(): if params.has_ranger_admin: + kms_home = params.kms_home setup_java_patch = format('python {kms_home}/db_setup.py -javapatch') - env_dict = {'RANGER_KMS_HOME':params.kms_home, 'JAVA_HOME': params.java_home} + env_dict = {'RANGER_KMS_HOME':kms_home, 'JAVA_HOME': params.java_home} if params.db_flavor.lower() == 'sqla': - env_dict = {'RANGER_KMS_HOME':params.kms_home, 'JAVA_HOME': params.java_home, 'LD_LIBRARY_PATH':params.ld_library_path} + env_dict = {'RANGER_KMS_HOME':kms_home, 'JAVA_HOME': params.java_home, 'LD_LIBRARY_PATH':params.ld_library_path} Execute(setup_java_patch, environment=env_dict, logoutput=True, user=params.kms_user, tries=5, try_sleep=10) @@ -169,7 +125,7 @@ def do_keystore_setup(cred_provider_path, credential_alias, credential_password) mode = 0640 ) -def kms(): +def kms(upgrade_type=None): import params if params.has_ranger_admin: @@ -180,6 +136,9 @@ def kms(): recursive = True ) + if upgrade_type is not None: + copy_jdbc_connector(stack_version=params.version) + File(format("/usr/lib/ambari-agent/{check_db_connection_jar_name}"), content = DownloadSource(format("{jdk_location}{check_db_connection_jar_name}")), mode = 0644, @@ -298,6 +257,66 @@ def kms(): mode=0644 ) +def copy_jdbc_connector(stack_version=None): + import params + + kms_home = params.kms_home + if stack_version is not None: + kms_home = format("/usr/hdp/{stack_version}/ranger-kms") + + File(params.downloaded_custom_connector, + content = DownloadSource(params.driver_curl_source), + mode = 0644 + ) + + Directory(params.java_share_dir, + mode=0755, + recursive=True, + cd_access="a" + ) + + if params.db_flavor.lower() != 'sqla': + Execute(('cp', '--remove-destination', params.downloaded_custom_connector, params.driver_curl_target), + path=["/bin", "/usr/bin/"], + sudo=True) + + File(params.driver_curl_target, mode=0644) + + Directory(os.path.join(kms_home, 'ews', 'lib'), + mode=0755 + ) + + if params.db_flavor.lower() == 'sqla': + Execute(('tar', '-xvf', params.downloaded_custom_connector, '-C', params.tmp_dir), sudo = True) + + Execute(('cp', '--remove-destination', params.jar_path_in_archive, os.path.join(kms_home, 'ews', 'webapp', 'lib')), + path=["/bin", "/usr/bin/"], + sudo=True) + + Directory(params.jdbc_libs_dir, + cd_access="a", + recursive=True) + + Execute(as_sudo(['yes', '|', 'cp', params.libs_path_in_archive, params.jdbc_libs_dir], auto_escape=False), + path=["/bin", "/usr/bin/"]) + else: + Execute(('cp', '--remove-destination', params.downloaded_custom_connector, os.path.join(kms_home, 'ews', 'webapp', 'lib')), + path=["/bin", "/usr/bin/"], + sudo=True) + + File(os.path.join(kms_home, 'ews', 'webapp', 'lib', params.jdbc_jar_name), mode=0644) + + ModifyPropertiesFile(format("{kms_home}/install.properties"), + properties = params.config['configurations']['kms-properties'], + owner = params.kms_user + ) + + if params.db_flavor.lower() == 'sqla': + ModifyPropertiesFile(format("{kms_home}/install.properties"), + properties = {'SQL_CONNECTOR_JAR': format('{kms_home}/ews/webapp/lib/{jdbc_jar_name}')}, + owner = params.kms_user, + ) + def enable_kms_plugin(): import params http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py index 4ffc8eb..9450184 100755 --- a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py +++ b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py @@ -17,6 +17,7 @@ See the License for the specific language governing permissions and limitations under the License. """ +from resource_management.libraries.functions import hdp_select from resource_management.libraries.script import Script from resource_management.core.resources.system import Execute from resource_management.core.exceptions import ComponentIsNotRunning @@ -74,9 +75,20 @@ class KmsServer(Script): env.set_params(params) upgrade.prestart(env, "ranger-kms") - setup_kms_db() - kms() + kms(upgrade_type=upgrade_type) setup_java_patch() + def setup_ranger_kms_database(self, env): + import params + env.set_params(params) + + upgrade_stack = hdp_select._get_upgrade_stack() + if upgrade_stack is None: + raise Fail('Unable to determine the stack and stack version') + + stack_version = upgrade_stack[1] + Logger.info(format('Setting Ranger KMS database schema, using version {stack_version}')) + setup_kms_db(stack_version=stack_version) + if __name__ == "__main__": KmsServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml index 47e7a64..b22f203 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml @@ -877,9 +877,23 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> </component> <component name="RANGER_USERSYNC"> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml index eca1789..f1d3c82 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml @@ -942,9 +942,23 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> </component> <component name="RANGER_USERSYNC"> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml index 6dcbcb2..a2c6b12 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml @@ -457,11 +457,23 @@ <task xsi:type="configure" id="hdp_2_3_0_0_update_ranger_admin_hdfs_audit"/> <task xsi:type="configure" id="hdp_2_3_0_0_update_ranger_admin_db_audit"/> + + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> </pre-upgrade> <upgrade> <task xsi:type="restart-task" /> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> </component> <component name="RANGER_USERSYNC"> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml index 5c91764..90e7f62 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml @@ -459,11 +459,23 @@ <task xsi:type="configure" id="hdp_2_3_0_0_update_ranger_admin_hdfs_audit"/> <task xsi:type="configure" id="hdp_2_3_0_0_update_ranger_admin_db_audit"/> + + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> </pre-upgrade> <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> </component> <component name="RANGER_USERSYNC"> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml index 4b5b8d5..50dc3d7 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml @@ -169,7 +169,10 @@ <execute-stage service="RANGER" component="RANGER_ADMIN" title="Backup Ranger Database"> <task xsi:type="manual"> - <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}.</message> + <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}. If audit database size is too large (greater than 3GB) then follow the below instructions: + 1. Backup the audit table from audit database. + 2. Truncate audit table. + 3. Follow upgrade process and once completed then restore audit data to audit table.</message> </task> </execute-stage> @@ -666,9 +669,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -680,6 +711,20 @@ <service name="RANGER_KMS"> <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml index 50a9848..d0fc13c 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml @@ -169,7 +169,10 @@ <execute-stage service="RANGER" component="RANGER_ADMIN" title="Backup Ranger Database"> <task xsi:type="manual"> - <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}.</message> + <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}. If audit database size is too large (greater than 3GB) then follow the below instructions: + 1. Backup the audit table from audit database. + 2. Truncate audit table. + 3. Follow upgrade process and once completed then restore audit data to audit table.</message> </task> </execute-stage> @@ -695,9 +698,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -709,6 +740,20 @@ <service name="RANGER_KMS"> <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml index 8003ee0..ad9edc9 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml @@ -451,9 +451,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task" /> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -465,6 +493,20 @@ <service name="RANGER_KMS"> <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task" /> </upgrade> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml index f775314..5bf3532 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml @@ -101,6 +101,12 @@ 3. Follow upgrade process and once completed then restore audit data to audit table.</message> </task> </execute-stage> + + <execute-stage service="RANGER_KMS" component="RANGER_KMS_SERVER" title="Pre Upgrade Ranger KMS Backup"> + <task xsi:type="manual"> + <message>Before continuing, please backup Ranger KMS database on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> </group> <group name="ZOOKEEPER" title="ZooKeeper"> @@ -118,6 +124,14 @@ </service> </group> + <group name="RANGER_KMS" title="Ranger_KMS"> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <service name="RANGER_KMS"> + <component>RANGER_KMS_SERVER</component> + </service> + </group> + <group name="CORE_MASTER" title="Core Masters"> <service-check>false</service-check> <service name="HDFS"> @@ -418,11 +432,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> - <pre-downgrade /> <!-- no-op to prevent config changes on downgrade --> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> <upgrade> <task xsi:type="restart-task" /> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -432,6 +472,28 @@ </component> </service> + <service name="RANGER_KMS"> + <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + </service> + <service name="HDFS"> <component name="NAMENODE"> <pre-downgrade /> <!-- no-op to prevent config changes on downgrade --> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml index b09c84a..85e0208 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml @@ -170,7 +170,10 @@ <execute-stage service="RANGER" component="RANGER_ADMIN" title="Backup Ranger Database"> <task xsi:type="manual"> - <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}.</message> + <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}. If audit database size is too large (greater than 3GB) then follow the below instructions: + 1. Backup the audit table from audit database. + 2. Truncate audit table. + 3. Follow upgrade process and once completed then restore audit data to audit table.</message> </task> </execute-stage> @@ -661,9 +664,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -675,6 +706,20 @@ <service name="RANGER_KMS"> <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task"/> </upgrade> http://git-wip-us.apache.org/repos/asf/ambari/blob/0f40f37c/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml index 5bc360e..1d606bc 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.4.xml @@ -449,9 +449,37 @@ <service name="RANGER"> <component name="RANGER_ADMIN"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task" /> </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> </component> <component name="RANGER_USERSYNC"> @@ -463,6 +491,20 @@ <service name="RANGER_KMS"> <component name="RANGER_KMS_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger KMS database schema"> + <script>scripts/kms_server.py</script> + <function>setup_ranger_kms_database</function> + </task> + </pre-downgrade> + <upgrade> <task xsi:type="restart-task" /> </upgrade>
