Browse Source

AMBARI-9284. Integrate Configure Identities page and Disable security page with the new API (kerberos descriptor provided as an artiact). (jaimin)

Jaimin Jetly 10 years ago
parent
commit
ccc58c1cde

+ 2 - 2
ambari-web/app/controllers/main/admin/kerberos.js

@@ -136,9 +136,9 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
   loadStackDescriptorConfigs: function () {
     return App.ajax.send({
       sender: this,
-      name: 'admin.kerberos.kerberos_descriptor',
+      name: 'get.cluster.artifact',
       data: {
-        stackName: App.get('currentStackName'),
+        artifactName: 'kerberos_descriptor',
         stackVersionNumber: App.get('currentStackVersionNumber')
       }
     });

+ 17 - 7
ambari-web/app/controllers/main/admin/kerberos/step6_controller.js

@@ -21,8 +21,10 @@ App.KerberosWizardStep6Controller = App.KerberosProgressPageController.extend({
   clusterDeployState: 'KERBEROS_DEPLOY',
   isSingleRequestPage: true,
   request: {},
+  commands: [],
+  contextForPollingRequest: Em.I18n.t('requestInfo.kerberizeCluster'),
 
-  setRequest: function (data, kerberosDescriptor) {
+  setRequest: function (data) {
     this.set('request', {
       name: 'KERBERIZE_CLUSTER',
       ajaxName: 'admin.kerberize.cluster',
@@ -30,20 +32,28 @@ App.KerberosWizardStep6Controller = App.KerberosProgressPageController.extend({
         data: {
           Clusters: {
             desired_config: data
-          },
-          kerberos_descriptor: kerberosDescriptor
+          }
         }
       }
     });
   },
 
-  contextForPollingRequest: Em.I18n.t('requestInfo.kerberizeCluster'),
-
-  commands: [],
+  postKerberosDescriptor: function (kerberosDescriptor) {
+    return App.ajax.send({
+      name: 'create.cluster.artifact',
+      sender: this,
+      data: {
+        artifactName: 'kerberos_descriptor',
+        data: {
+          artifact_data: kerberosDescriptor
+        }
+      }
+    });
+  },
 
   retry: function () {
     this.set('showRetry', false);
-    this.get('tasks').setEach('status','PENDING');
+    this.get('tasks').setEach('status', 'PENDING');
     App.router.send('retry');
   }
 });

+ 1 - 1
ambari-web/app/mixins/wizard/addSecurityConfigs.js

@@ -400,7 +400,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
     var self = this;
     var configs = [];
     var clusterConfigs = [];
-    var kerberosDescriptor = items.Versions.kerberos_descriptor;
+    var kerberosDescriptor = items.artifact_data;
     this.set('kerberosDescriptor', kerberosDescriptor);
     // generate configs for root level properties object, currently realm, keytab_dir
     clusterConfigs = clusterConfigs.concat(this.expandKerberosStackDescriptorProps(kerberosDescriptor.properties, 'Cluster', 'stackConfigs'));

+ 6 - 5
ambari-web/app/routes/add_kerberos_routes.js

@@ -260,10 +260,12 @@ module.exports = App.WizardRoute.extend({
       controller.setLowerStepsDisable(6);
       controller.dataLoading().done(function () {
         controller.loadAllPriorSteps();
-        controller.getClusterEnvData().done(function (data) {
+        controller.getClusterEnvData().done(function (clusterEnvdata) {
           var kerberosDescriptor = controller.get('kerberosDescriptorConfigs');
-          stepController.setRequest(data, kerberosDescriptor);
-          controller.connectOutlet('kerberosWizardStep6', controller.get('content'));
+          stepController.postKerberosDescriptor(kerberosDescriptor).always(function(data){
+            stepController.setRequest(clusterEnvdata);
+            controller.connectOutlet('kerberosWizardStep6', controller.get('content'));
+          });
         });
       });
     },
@@ -272,8 +274,7 @@ module.exports = App.WizardRoute.extend({
       var controller = router.get('kerberosWizardController');
       controller.getClusterEnvData().done(function (data) {
         var stepController = router.get('kerberosWizardStep6Controller');
-        var kerberosDescriptor = controller.get('kerberosDescriptorConfigs');
-        stepController.setRequest(data, kerberosDescriptor);
+        stepController.setRequest(data);
         stepController.loadStep();
       });
     },

+ 12 - 5
ambari-web/app/utils/ajax/ajax.js

@@ -1268,16 +1268,23 @@ var urls = {
       }
     }
   },
-  'admin.kerberos.kerberos_descriptor': {
-    // @todo: replace with real URL after API implementation
-    //        /clusters/{clusterName}?fields=Clusters/kerberos_descriptor
-    'real': '/stacks/{stackName}/versions/{stackVersionNumber}?fields=Versions/kerberos_descriptor',
+  'get.cluster.artifact': {
+    'real': '/clusters/{clusterName}/artifacts/{artifactName}?fields=artifact_data',
     'mock': '/data/wizard/kerberos/stack_descriptors.json'
   },
   'admin.kerberize.stack_descriptor': {
-    'real': '/stacks/{stackName}/versions/{stackVersionNumber}?fields=Versions/kerberos_descriptor',
+    'real': '/stacks/{stackName}/versions/{stackVersionNumber}/artifacts/kerberos_descriptor?fields=artifact_data',
     'mock': '/data/wizard/kerberos/stack_descriptors.json'
   },
+  'create.cluster.artifact': {
+    'type': 'POST',
+    'real': '/clusters/{clusterName}/artifacts/{artifactName}',
+    'format' : function (data) {
+      return {
+        data: JSON.stringify(data.data)
+      }
+    }
+  },
   'admin.poll.kerberize.cluster.request': {
     'real': '/clusters/{clusterName}/requests/{requestId}?fields=stages/Stage/context,stages/Stage/status,stages/Stage/progress_percent,stages/tasks/*,Requests/*',
     'mock': '/data/wizard/kerberos/kerberize_cluster.json'

+ 5 - 5
ambari-web/test/mixins/wizard/addSeccurityConfigs_test.js

@@ -18,7 +18,7 @@
 
 var App = require('app');
 var stackDescriptorData = require('test/mock_data_setup/stack_descriptors');
-var stackDescriptor = stackDescriptorData.Versions.kerberos_descriptor;
+var stackDescriptor = stackDescriptorData.artifact_data;
 
 require('mixins/wizard/addSecurityConfigs');
 
@@ -355,7 +355,7 @@ describe('App.AddSecurityConfigs', function () {
         property: 'spnego_keytab',
         e: [
           { key: 'value', value: '${keytab_dir}/spnego.service.keytab' },
-          { key: 'serviceName', value: 'Cluster' },
+          { key: 'serviceName', value: 'Cluster' }
         ]
       },
       // principal name inherited from /spnego with predefined value
@@ -363,7 +363,7 @@ describe('App.AddSecurityConfigs', function () {
         property: 'oozie.authentication.kerberos.principal',
         e: [
           { key: 'value', value: 'HTTP/${host}@${realm}' },
-          { key: 'isEditable', value: true },
+          { key: 'isEditable', value: true }
         ]
       },
       // keytab inherited from /spnego without predefined file value
@@ -427,7 +427,7 @@ describe('App.AddSecurityConfigs', function () {
       {
         property: 'dfs.namenode.kerberos.principal',
         e: [
-          { key: 'value', value: 'nn/_HOST@${realm}' },
+          { key: 'value', value: 'nn/_HOST@${realm}' }
         ]
       },
       {
@@ -438,7 +438,7 @@ describe('App.AddSecurityConfigs', function () {
         ]
       }     
     ];
-    var properties = controller.createConfigsByIdentities(identitiesData, 'NAMENODE');
+    var properties = controller.createConfigsByIdentities(identitiesData, 'HDFS');
     tests.forEach(function(test) {
       it('property {0} should be created'.format(test.property), function() {
         expect(properties.findProperty('name', test.property)).to.be.ok;

+ 283 - 282
ambari-web/test/mock_data_setup/stack_descriptors.js

@@ -17,323 +17,324 @@
  */
 
 module.exports = {
-  "Versions": {
+  "Artifacts": {
+    "artifact_name": "kerberos_descriptor",
     "stack_name": "HDP",
-    "stack_version": "2.2",
-    "kerberos_descriptor": {
-      "properties": {
-        "realm": "${cluster-env/kerberos_domain}",
-        "keytab_dir": "/etc/security/keytabs"
-      },
-      "identities": [
-        {
-          "principal" : {
-            "value" : "HTTP/_HOST@${realm}",
-            "configuration" : null
+    "stack_version": "2.2"
+  },
+  "artifact_data": {
+    "properties": {
+      "realm": "${cluster-env/kerberos_domain}",
+      "keytab_dir": "/etc/security/keytabs"
+    },
+    "identities": [
+      {
+        "principal": {
+          "value": "HTTP/_HOST@${realm}",
+          "configuration": null
+        },
+        "name": "spnego",
+        "keytab": {
+          "file": "${keytab_dir}/spnego.service.keytab",
+          "owner": {
+            "name": "root",
+            "access": "r"
           },
-          "name" : "spnego",
-          "keytab" : {
-            "file" : "${keytab_dir}/spnego.service.keytab",
-            "owner" : {
-              "name" : "root",
-              "access" : "r"
-            },
-            "configuration" : null,
-            "group" : {
-              "name" : "${hadoop-env/user_group}",
-              "access" : "r"
-            }
+          "configuration": null,
+          "group": {
+            "name": "${hadoop-env/user_group}",
+            "access": "r"
           }
+        }
+      },
+      {
+        "principal": {
+          "value": "hdfs@${realm}",
+          "configuration": "cluster-env/hdfs_principal_name"
         },
-        {
-          "principal" : {
-            "value" : "hdfs@${realm}",
-            "configuration" : "cluster-env/hdfs_principal_name"
+        "name": "hdfs",
+        "keytab": {
+          "file": "${keytab_dir}/hdfs.headless.keytab",
+          "owner": {
+            "name": "root",
+            "access": "r"
           },
-          "name" : "hdfs",
-          "keytab" : {
-            "file" : "${keytab_dir}/hdfs.headless.keytab",
-            "owner" : {
-              "name" : "root",
-              "access" : "r"
-            },
-            "configuration" : "hadoop-env/hdfs_user_keytab",
-            "group" : {
-              "name" : "${cluster-env/user_group}",
-              "access" : "r"
-            }
+          "configuration": "hadoop-env/hdfs_user_keytab",
+          "group": {
+            "name": "${cluster-env/user_group}",
+            "access": "r"
           }
+        }
+      },
+      {
+        "principal": {
+          "value": "hbase@${realm}",
+          "configuration": "hbase-env/hbase_principal_name"
         },
-        {
-          "principal" : {
-            "value" : "hbase@${realm}",
-            "configuration" : "hbase-env/hbase_principal_name"
+        "name": "hbase",
+        "keytab": {
+          "file": "${keytab_dir}/hbase.headless.keytab",
+          "owner": {
+            "name": "root",
+            "access": "r"
           },
-          "name" : "hbase",
-          "keytab" : {
-            "file" : "${keytab_dir}/hbase.headless.keytab",
-            "owner" : {
-              "name" : "root",
-              "access" : "r"
-            },
-            "configuration" : "hbase-env/hbase_user_keytab",
-            "group" : {
-              "name" : "${cluster-env/user_group}",
-              "access" : "r"
-            }
+          "configuration": "hbase-env/hbase_user_keytab",
+          "group": {
+            "name": "${cluster-env/user_group}",
+            "access": "r"
           }
+        }
+      },
+      {
+        "principal": {
+          "value": "ambari-qa@${realm}",
+          "configuration": "cluster-env/smokeuser_principal_name"
         },
-        {
-          "principal" : {
-            "value" : "ambari-qa@${realm}",
-            "configuration" : "cluster-env/smokeuser_principal_name"
+        "name": "smokeuser",
+        "keytab": {
+          "file": "${keytab_dir}/smokeuser.headless.keytab",
+          "owner": {
+            "name": "root",
+            "access": "r"
           },
-          "name" : "smokeuser",
-          "keytab" : {
-            "file" : "${keytab_dir}/smokeuser.headless.keytab",
-            "owner" : {
-              "name" : "root",
-              "access" : "r"
-            },
-            "configuration" : "cluster-env/smokeuser_keytab",
-            "group" : {
-              "name" : "${cluster-env/user_group}",
-              "access" : "r"
-            }
+          "configuration": "cluster-env/smokeuser_keytab",
+          "group": {
+            "name": "${cluster-env/user_group}",
+            "access": "r"
           }
         }
-      ],
-      "configurations": [
-        {
-          "core-site": {
-            "hadoop.security.authentication": "kerberos",
-            "hadoop.rpc.protection": "authentication; integrity; privacy",
-            "hadoop.security.authorization": "true"
-          }
+      }
+    ],
+    "configurations": [
+      {
+        "core-site": {
+          "hadoop.security.authentication": "kerberos",
+          "hadoop.rpc.protection": "authentication; integrity; privacy",
+          "hadoop.security.authorization": "true"
         }
-      ],
-      "services": [
-        {
-          "name": "HDFS",
-          "components": [
-            {
-              "name": "NAMENODE",
-              "identities": [
-                {
-                  "name": "namenode_nn",
-                  "principal": {
-                    "value": "nn/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
-                  },
-                  "keytab": {
-                    "file": "${keytab_dir}/nn.service.keytab",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.keytab.file"
-                  }
+      }
+    ],
+    "services": [
+      {
+        "name": "HDFS",
+        "components": [
+          {
+            "name": "NAMENODE",
+            "identities": [
+              {
+                "name": "namenode_nn",
+                "principal": {
+                  "value": "nn/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
                 },
-                {
-                  "name": "namenode_host",
-                  "principal": {
-                    "value": "host/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.namenode.kerberos.https.principal"
+                "keytab": {
+                  "file": "${keytab_dir}/nn.service.keytab",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "file": "${keytab_dir}/host.keytab",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.keytab.file"
-                  }
-                },
-                {
-                  "name": "/spnego",
-                  "principal": {
-                    "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
                   },
-                  "keytab": {
-                    "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
-                  }
+                  "configuration": "hdfs-site/dfs.namenode.keytab.file"
                 }
-              ]
-            },
-            {
-              "name": "DATANODE",
-              "identities": [
-                {
-                  "name": "datanode_dn",
-                  "principal": {
-                    "value": "dn/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
+              },
+              {
+                "name": "namenode_host",
+                "principal": {
+                  "value": "host/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.namenode.kerberos.https.principal"
+                },
+                "keytab": {
+                  "file": "${keytab_dir}/host.keytab",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "file": "${keytab_dir}/dn.service.keytab",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.keytab.file"
-                  }
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
+                  },
+                  "configuration": "hdfs-site/dfs.namenode.keytab.file"
+                }
+              },
+              {
+                "name": "/spnego",
+                "principal": {
+                  "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
                 },
-                {
-                  "name": "datanode_host",
-                  "principal": {
-                    "value": "host/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.datanode.kerberos.https.principal"
+                "keytab": {
+                  "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
+                }
+              }
+            ]
+          },
+          {
+            "name": "DATANODE",
+            "identities": [
+              {
+                "name": "datanode_dn",
+                "principal": {
+                  "value": "dn/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
+                },
+                "keytab": {
+                  "file": "${keytab_dir}/dn.service.keytab",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "file": "${keytab_dir}/host.keytab.file",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
-                  }
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
+                  },
+                  "configuration": "hdfs-site/dfs.namenode.keytab.file"
                 }
-              ]
-            },
-            {
-              "name": "SECONDARY_NAMENODE",
-              "identities": [
-                {
-                  "name": "secondary_namenode_nn",
-                  "principal": {
-                    "value": "nn/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.principal"
+              },
+              {
+                "name": "datanode_host",
+                "principal": {
+                  "value": "host/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.datanode.kerberos.https.principal"
+                },
+                "keytab": {
+                  "file": "${keytab_dir}/host.keytab.file",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "file": "${keytab_dir}/snn.service.keytab",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
-                  }
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
+                  },
+                  "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
+                }
+              }
+            ]
+          },
+          {
+            "name": "SECONDARY_NAMENODE",
+            "identities": [
+              {
+                "name": "secondary_namenode_nn",
+                "principal": {
+                  "value": "nn/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.principal"
                 },
-                {
-                  "name": "secondary_namenode_host",
-                  "principal": {
-                    "value": "host/_HOST@${realm}",
-                    "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.https.principal"
+                "keytab": {
+                  "file": "${keytab_dir}/snn.service.keytab",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "file": "${keytab_dir}/host.keytab.file",
-                    "owner": {
-                      "name": "${hadoop-env/hdfs_user}",
-                      "access": "r"
-                    },
-                    "group": {
-                      "name": "${cluster-env/user_group}",
-                      "access": ""
-                    },
-                    "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
-                  }
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
+                  },
+                  "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
+                }
+              },
+              {
+                "name": "secondary_namenode_host",
+                "principal": {
+                  "value": "host/_HOST@${realm}",
+                  "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.https.principal"
                 },
-                {
-                  "name": "/spnego",
-                  "principal": {
-                    "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
+                "keytab": {
+                  "file": "${keytab_dir}/host.keytab.file",
+                  "owner": {
+                    "name": "${hadoop-env/hdfs_user}",
+                    "access": "r"
                   },
-                  "keytab": {
-                    "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
-                  }
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
+                  },
+                  "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
+                }
+              },
+              {
+                "name": "/spnego",
+                "principal": {
+                  "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
+                },
+                "keytab": {
+                  "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
                 }
-              ]
-            }
-          ]
-        },
-        {
-          "name" : "FALCON",
-          "identities" : [
-            {
-              "name" : "/spnego"
-            },
-            {
-              "name" : "/smokeuser"
-            },
-            {
-              "name" : "/hdfs"
-            }
-          ],
-          "configurations" : [
-            {
-              "falcon-startup.properties" : {
-                "*.falcon.http.authentication.type" : "kerberos",
-                "*.falcon.authentication.type" : "kerberos",
-                "*.dfs.namenode.kerberos.principal" : "nn/_HOST@${realm}"
               }
+            ]
+          }
+        ]
+      },
+      {
+        "name": "FALCON",
+        "identities": [
+          {
+            "name": "/spnego"
+          },
+          {
+            "name": "/smokeuser"
+          },
+          {
+            "name": "/hdfs"
+          }
+        ],
+        "configurations": [
+          {
+            "falcon-startup.properties": {
+              "*.falcon.http.authentication.type": "kerberos",
+              "*.falcon.authentication.type": "kerberos",
+              "*.dfs.namenode.kerberos.principal": "nn/_HOST@${realm}"
             }
-          ],
-          "components" : [
-            {
-              "name" : "FALCON_SERVER",
-              "identities" : [
-                {
-                  "principal" : {
-                    "value" : "falcon/${host}@${realm}",
-                    "configuration" : "falcon-startup.properties/*.falcon.service.authentication.kerberos.principal"
+          }
+        ],
+        "components": [
+          {
+            "name": "FALCON_SERVER",
+            "identities": [
+              {
+                "principal": {
+                  "value": "falcon/${host}@${realm}",
+                  "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.principal"
+                },
+                "name": "falcon_server",
+                "keytab": {
+                  "file": "${keytab_dir}/falcon.service.keytab",
+                  "owner": {
+                    "name": "${falcon-env/falcon_user}",
+                    "access": "r"
                   },
-                  "name" : "falcon_server",
-                  "keytab" : {
-                    "file" : "${keytab_dir}/falcon.service.keytab",
-                    "owner" : {
-                      "name" : "${falcon-env/falcon_user}",
-                      "access" : "r"
-                    },
-                    "configuration" : "falcon-startup.properties/*.falcon.service.authentication.kerberos.keytab",
-                    "group" : {
-                      "name" : "${cluster-env/user_group}",
-                      "access" : ""
-                    }
+                  "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.keytab",
+                  "group": {
+                    "name": "${cluster-env/user_group}",
+                    "access": ""
                   }
+                }
+              },
+              {
+                "principal": {
+                  "value": "HTTP/${host}@${realm}",
+                  "configuration": "falcon-startup.properties/oozie.authentication.kerberos.principal"
                 },
-                {
-                  "principal" : {
-                    "value" : "HTTP/${host}@${realm}",
-                    "configuration" : "falcon-startup.properties/oozie.authentication.kerberos.principal"
+                "name": "/spnego",
+                "keytab": {
+                  "file": null,
+                  "owner": {
+                    "name": null,
+                    "access": null
                   },
-                  "name" : "/spnego",
-                  "keytab" : {
-                    "file" : null,
-                    "owner" : {
-                      "name" : null,
-                      "access" : null
-                    },
-                    "configuration" : "falcon-startup.properties/oozie.authentication.kerberos.keytab",
-                    "group" : {
-                      "name" : null,
-                      "access" : null
-                    }
+                  "configuration": "falcon-startup.properties/oozie.authentication.kerberos.keytab",
+                  "group": {
+                    "name": null,
+                    "access": null
                   }
                 }
-              ]
-            }
-          ]
-        }
-      ]
-    }
+              }
+            ]
+          }
+        ]
+      }
+    ]
   }
 };