[
https://issues.apache.org/jira/browse/AMBARI-12356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624797#comment-14624797
]
Hudson commented on AMBARI-12356:
---------------------------------
SUCCESS: Integrated in Ambari-trunk-Commit #3108 (See
[https://builds.apache.org/job/Ambari-trunk-Commit/3108/])
AMBARI-12356. kinit of hdfs Kerberos identity fails when starting added
service(s) after upgrade to Ambari 2.1.0 (rlevas) (rlevas:
http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=8d00616b16b19506a5bd10ba9ed2b5787aae978c)
*
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
*
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ArtifactEntity.java
* ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ArtifactDAO.java
*
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
*
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ArtifactResourceProvider.java
* ambari-server/src/test/resources/kerberos/test_kerberos_descriptor_simple.json
*
ambari-server/src/test/resources/kerberos/test_kerberos_descriptor_no_hdfs.json
*
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java
> kinit of hdfs Kerberos identity fails when starting added service(s) after
> upgrade to Ambari 2.1.0
> --------------------------------------------------------------------------------------------------
>
> Key: AMBARI-12356
> URL: https://issues.apache.org/jira/browse/AMBARI-12356
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.1.0
> Reporter: Robert Levas
> Assignee: Robert Levas
> Labels: kerberos, upgrade
> Fix For: 2.1.0
>
> Attachments: AMBARI-12356_01.patch
>
>
> STR:
> 1. Install old version of ambari (2.0.1)
> 2. Enable security
> 3. Do Ambari only upgrade to ambari2.1.0
> 4. Add some component - HiveServer2 or Ooozie server
> 5. Try to start added component
> Actual result:
> Start have been failed.
> {code}
> Traceback (most recent call last):
> File "/var/lib/ambari-agent/cache/common-
> services/HIVE/0.12.0.2.0/package/scripts/hive_server.py", line 182, in
> <module>
> HiveServer().execute()
> File
> "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py",
>
> line 216, in execute
> method(env)
> File "/var/lib/ambari-agent/cache/common-
> services/HIVE/0.12.0.2.0/package/scripts/hive_server.py", line 83, in start
> self.configure(env) # FOR SECURITY
> File "/var/lib/ambari-agent/cache/common-
> services/HIVE/0.12.0.2.0/package/scripts/hive_server.py", line 54, in
> configure
> hive(name='hiveserver2')
> File "/usr/lib/python2.6/site-packages/ambari_commons/os_family_impl.py",
> line 89, in
> thunk
> return fn(*args, **kwargs)
> File "/var/lib/ambari-agent/cache/common-
> services/HIVE/0.12.0.2.0/package/scripts/hive.py", line 127, in hive
> mode=params.webhcat_hdfs_user_mode
> File "/usr/lib/python2.6/site-packages/resource_management/core/base.py",
> line 157, in
> __init__
> self.env.run()
> File
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py",
> line
> 152, in run
> self.run_action(resource, action)
> File
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py",
> line
> 118, in run_action
> provider_action()
> File "/usr/lib/python2.6/site-
> packages/resource_management/libraries/providers/hdfs_resource.py", line 390,
> in
> action_create_on_execute
> self.action_delayed("create")
> File "/usr/lib/python2.6/site-
> packages/resource_management/libraries/providers/hdfs_resource.py", line 387,
> in
> action_delayed
> self.get_hdfs_resource_executor().action_delayed(action_name, self)
> File "/usr/lib/python2.6/site-
> packages/resource_management/libraries/providers/hdfs_resource.py", line 236,
> in
> action_delayed
> main_resource.kinit()
> File "/usr/lib/python2.6/site-
> packages/resource_management/libraries/providers/hdfs_resource.py", line 416,
> in kinit
> user=user
> File "/usr/lib/python2.6/site-packages/resource_management/core/base.py",
> line 157, in
> __init__
> self.env.run()
> File
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py",
> line
> 152, in run
> self.run_action(resource, action)
> File
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py",
> line
> 118, in run_action
> provider_action()
> File
> "/usr/lib/python2.6/site-packages/resource_management/core/providers/system.py",
>
> line 254, in action_run
> tries=self.resource.tries, try_sleep=self.resource.try_sleep)
> File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py",
> line 70, in
> inner
> result = function(command, **kwargs)
> File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py",
> line 92, in
> checked_call
> tries=tries, try_sleep=try_sleep)
> File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py",
> line 140, in
> _call_wrapper
> result = _call(command, **kwargs_copy)
> File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py",
> line 291, in
> _call
> raise Fail(err_msg)
> resource_management.core.exceptions.Fail: Execution of '/usr/bin/kinit -kt
> /etc/security/keytabs/hdfs.headless.keytab [email protected]' returned 1.
> kinit: Keytab
> contains no suitable keys for [email protected] while getting initial
> credentials
> {code}
> Expected results:
> Can start all added components.
> *Cause*
> The Kerberos Descriptor structure changed between Ambari 2.0 and Ambari 2.1.
> This change moved the "hdfs" Kerberos identity descriptor from the _global_
> scope to under the HDFS service. After upgrading from Ambari 2.0 to Ambari
> 2.1 an additional "hdfs" Kerberos identity descriptor was added with the new
> principal name pattern -
> $\{hadoop-env/hdfs_user\}-$\{cluster_name\}@$\{realm\}. This occurred
> because the stored Kerberos Descriptor contained the _old_ structure, and
> when Ambari generated a composite Kerberos Descriptor made up of the Kerberos
> Descriptor compiled from the relevant stack definition with stored changes
> applied, that additional "hdfs" Kerberos identity descriptor was added.
> Because if this, the Kerberos logic became _confused_ and overwrote the
> existing hdfs keytab file with one that contained the new principal name.
> *Solution*
> While migrating Ambari 2.0 to Ambari 2.1, fix the stored Kerberos Descriptor
> structure to match the new version's structure.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)