Browse Source

AMBARI-17876 Delete Ranger KMS service does not give recommendations on dependent service config updates (FE). (ababiichuk)

ababiichuk 9 năm trước cách đây
mục cha
commit
0f9f1350cb

+ 28 - 9
ambari-web/app/controllers/main/service/item.js

@@ -1271,15 +1271,18 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
     } else if (dependentServices.length > 0) {
       this.dependentServicesWarning(serviceName, dependentServices);
     } else if (this.allowUninstallServices(serviceNamesToDelete)) {
-      App.showConfirmationPopup(
-        function() {self.confirmDeleteService(serviceName, interDependentServices, dependentServicesToDeleteFmt)},
-        Em.I18n.t('services.service.delete.popup.warning').format(displayName) +
-        (interDependentServices.length ? Em.I18n.t('services.service.delete.popup.warning.dependent').format(dependentServicesToDeleteFmt) : ''),
-        null,
-        popupHeader,
-        Em.I18n.t('common.delete'),
-        true
-      );
+      if (serviceName === 'RANGER_KMS') {
+        App.showConfirmationPopup(
+          function() {self.showLastWarning(serviceName, interDependentServices, dependentServicesToDeleteFmt)},
+          Em.I18n.t('services.service.delete.popup.warning.ranger_kms'),
+          null,
+          popupHeader,
+          Em.I18n.t('common.delete'),
+          true
+        );
+      } else {
+        this.showLastWarning(serviceName, interDependentServices, dependentServicesToDeleteFmt);
+      }
     } else {
       var body = Em.I18n.t('services.service.delete.popup.mustBeStopped').format(displayName);
       if (interDependentServices.length) {
@@ -1339,6 +1342,22 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
     });
   },
 
+  showLastWarning: function (serviceName, interDependentServices, dependentServicesToDeleteFmt) {
+    var self = this,
+      displayName = App.format.role(serviceName, true),
+      popupHeader = Em.I18n.t('services.service.delete.popup.header');
+
+    return App.showConfirmationPopup(
+      function() {self.confirmDeleteService(serviceName, interDependentServices, dependentServicesToDeleteFmt)},
+      Em.I18n.t('services.service.delete.popup.warning').format(displayName) +
+      (interDependentServices.length ? Em.I18n.t('services.service.delete.popup.warning.dependent').format(dependentServicesToDeleteFmt) : ''),
+      null,
+      popupHeader,
+      Em.I18n.t('common.delete'),
+      true
+    );
+  },
+
   /**
    * Confirmation popup of service deletion
    * @param {string} serviceName

+ 1 - 0
ambari-web/app/messages.js

@@ -1852,6 +1852,7 @@ Em.I18n.translations = {
   'services.service.delete.progressPopup.message': 'Deleting {0}...',
   'services.service.delete.service.success.confirmation': 'Service {0} was successfully deleted',
   'services.service.delete.service.success.confirmation.plural': 'Services {0} were successfully deleted',
+  'services.service.delete.popup.warning.ranger_kms': '<b>Ranger KMS should not be deleted if encryption zones (EZ) and keys are being managed by the service. Otherwise data in the EZ will not be accessible.</b>',
 
   'services.service.summary.unknown':'unknown',
   'services.service.summary.notRunning':'Not Running',