-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/63937/
-----------------------------------------------------------
(Updated Nov. 22, 2017, 12:13 a.m.)
Review request for Ambari, Jayush Luniya, Madhuvanthi Radhakrishnan, and Robert
Levas.
Changes
-------
Updated UT.
Bugs: AMBARI-22472
https://issues.apache.org/jira/browse/AMBARI-22472
Repository: ambari
Description
-------
**Background:**
YARN NodeManager currently has:
- 2 identities in 2.5 stack, namely : **'/HIVE/HIVE_SERVER/hive_server_hive'**
and **'llap_zk_hive'**.
-- **/HIVE/HIVE_SERVER/hive_server_hive** is a reference from HIVE_SERVER,
whereas
-- **llap_zk_hive** creates same principal as above in a separate keytab file.
- and 3 identities in 2.6 stack:
*'/HIVE/HIVE_SERVER/hive_server_hive'* and *'llap_zk_hive'*.
-- **/HIVE/HIVE_SERVER/hive_server_hive** is a reference from HIVE_SERVER,
whereas
-- **llap_zk_hive** and **llap_task_hive** creates same principal as above in a
separate keytab file.
**Issue:** Recreating same identities in different files creates issues while
AMbari upgrade from 2.5 to 2.6, as the *llap_zk_hive* are not refreshed/updated
after the upgrade. Thus, HSI fails to come up.
**Fix:**
**For HDP 2.5:** Make **llap_zk_hive** point as a reference pointing to
/HIVE/HIVE_SERVER/hive_server_hive, so that we have one identity getting
created only at one place and one keytab file.
**For HDP 2.6:** Make **llap_zk_hive** and **llap_task_hive** point as a
reference pointing to /HIVE/HIVE_SERVER/hive_server_hive, so that we have one
identity getting created only at one place and one keytab file.
Diffs (updated)
-----
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java
96ce807
ambari-server/src/main/resources/stacks/HDP/2.5/services/YARN/kerberos.json
af6bda6
ambari-server/src/main/resources/stacks/HDP/2.6/services/YARN/kerberos.json
e0417bf
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
be04cd5
ambari-server/src/test/resources/kerberos/test_kerberos_descriptor_ranger_kms.json
e17e121
Diff: https://reviews.apache.org/r/63937/diff/3/
Changes: https://reviews.apache.org/r/63937/diff/2-3/
Testing
-------
**TESTING:**
|||||||||||||||||||||||||| Ambari 2.5, HDP 2.5 before upgrade:
||||||||||||||||||||||||||
{code:title=From /etc/hive2/cong/conf.server/hive-site.xml}
<property>
<name>hive.llap.daemon.keytab.file</name>
<value>/etc/security/keytabs/hive.service.keytab</value>
</property>
<property>
<name>hive.llap.daemon.service.principal</name>
<value>hive/[email protected]</value>
</property>
<property>
<name>hive.llap.zk.sm.keytab.file</name>
<value>/etc/security/keytabs/hive.llap.zk.sm.keytab</value>
</property>
<property>
<name>hive.llap.zk.sm.principal</name>
<value>hive/[email protected]</value>
</property>
{code}
|||||||||||||||||||||||||| Upgrade to Ambari-2.6
||||||||||||||||||||||||||
**Logs: Ambari Server Upgrade**
[root@swap-qqq-1 ~]# ambari-server upgrade
Using python /usr/bin/python
Upgrading ambari-server
INFO: Upgrade Ambari Server
INFO: Updating Ambari Server properties in ambari.properties ...
INFO: Updating Ambari Server properties in ambari-env.sh ...
WARNING: Original file ambari-env.sh kept
INFO: Fixing database objects owner
Ambari Server configured for Embedded Postgres. Confirm you have made a backup
of the Ambari Server database [y/n] (y)? y
INFO: Upgrading database schema
INFO: Return code from schema upgrade command, retcode = 0
INFO: Schema upgrade completed
Adjusting ambari-server permissions and ownership...
Ambari Server 'upgrade' completed successfully.
[root@swap-qqq-1 ~]#
[root@swap-qqq-1 ~]#
[root@swap-qqq-1 ~]#
[root@swap-qqq-1 ~]#
[root@swap-qqq-1 ~]# ambari-server --version
2.6.0.0-267
[root@swap-qqq-1 ~]#
**Logs : Updating Kerberos descriptors**
21 Nov 2017 01:01:20,438 INFO [main] UpgradeCatalog260:675 - Updating YARN's
HSI Kerberos Descriptor ....
21 Nov 2017 01:01:20,438 INFO [main] UpgradeCatalog260:687 - Retrieved
HIVE->HIVE_SERVER kerberos descriptor. Name = hive_server_hive
21 Nov 2017 01:01:20,438 INFO [main] UpgradeCatalog260:707 - Retrieved
YARN->NODEMANAGER kerberos descriptor to be updated. Name = llap_zk_hive
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:712 - Updated
'llap_zk_hive' identity descriptor reference =
'/HIVE/HIVE_SERVER/hive_server_hive'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:715 - Updated
'llap_zk_hive' principal descriptor value = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:720 - Updated
'llap_zk_hive' keytab descriptor file = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:723 - Updated
'llap_zk_hive' keytab descriptor owner name = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:725 - Updated
'llap_zk_hive' keytab descriptor owner access = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:727 - Updated
'llap_zk_hive' keytab descriptor group name = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:729 - Updated
'llap_zk_hive' keytab descriptor group access = 'null'
21 Nov 2017 01:01:20,439 INFO [main] UpgradeCatalog260:733 - Updated
'yarnKerberosDescUpdatedList' = [hive.llap.zk.sm.keytab.file,
hive.llap.task.keytab.file]
**Logs : Updated HSI config 'hive.llap.zk.sm.keytab.file'**
18 Nov 2017 07:25:54,073 INFO [main] UpgradeCatalog260:767 - Updated HSI
config 'hive.llap.zk.sm.keytab.file' = /etc/security/keytabs/hive.service.keytab
**From UI**:
Changed hive.llap.zk.sm.keytab.file :
https://issues.apache.org/jira/secure/attachment/12898329/Screen%20Shot%202017-11-17%20at%2011.44.41%20PM.png
HSI up :
https://issues.apache.org/jira/secure/attachment/12898328/Screen%20Shot%202017-11-17%20at%2011.44.55%20PM.png
------------------------------------
UT test runs for Ambari 2.6 and HDP 2.6 (which includes **llap_zk_hive** and
**llap_task_hive**):
**UpgradeCatalog260Test::testUpdateKerberosDescriptorArtifact()**
2017-11-20 13:09:45,366 INFO [main] upgrade.AbstractUpgradeCatalog
(AbstractUpgradeCatalog.java:updateConfigurationPropertiesForCluster(573)) -
Applying configuration with tag 'version1511212185365' and configType
'ranger-kms-audit' to cluster 'cl1'
2017-11-20 13:09:45,367 INFO [main] upgrade.AbstractUpgradeCatalog
(AbstractUpgradeCatalog.java:updateConfigurationPropertiesForCluster(595)) -
cluster 'cl1' changed by: 'ambari-upgrade'; type='ranger-kms-audit'
tag='version2' from='version1'
2017-11-20 13:09:45,367 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(675)) -
Updating YARN's HSI Kerberos Descriptor ....
2017-11-20 13:09:45,368 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(687)) -
Retrieved HIVE->HIVE_SERVER kerberos descriptor. Name = hive_server_hive
2017-11-20 13:09:45,368 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(707)) -
Retrieved YARN->NODEMANAGER kerberos descriptor to be updated. Name =
llap_zk_hive
2017-11-20 13:09:45,368 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(712)) -
Updated 'llap_zk_hive' identity descriptor reference =
'/HIVE/HIVE_SERVER/hive_server_hive'
2017-11-20 13:09:45,368 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(715)) -
Updated 'llap_zk_hive' principal descriptor value = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(720)) -
Updated 'llap_zk_hive' keytab descriptor file = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(723)) -
Updated 'llap_zk_hive' keytab descriptor owner name = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(725)) -
Updated 'llap_zk_hive' keytab descriptor owner access = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(727)) -
Updated 'llap_zk_hive' keytab descriptor group name = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(729)) -
Updated 'llap_zk_hive' keytab descriptor group access = 'null'
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(733)) -
Updated 'yarnKerberosDescUpdatedList' = [llap_zk_hive]
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(707)) -
Retrieved YARN->NODEMANAGER kerberos descriptor to be updated. Name =
llap_task_hive
2017-11-20 13:09:45,369 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(712)) -
Updated 'llap_zk_hive' identity descriptor reference =
'/HIVE/HIVE_SERVER/hive_server_hive'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(715)) -
Updated 'llap_zk_hive' principal descriptor value = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(720)) -
Updated 'llap_zk_hive' keytab descriptor file = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(723)) -
Updated 'llap_zk_hive' keytab descriptor owner name = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(725)) -
Updated 'llap_zk_hive' keytab descriptor owner access = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(727)) -
Updated 'llap_zk_hive' keytab descriptor group name = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(729)) -
Updated 'llap_zk_hive' keytab descriptor group access = 'null'
2017-11-20 13:09:45,370 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:fixYarnHsiKerberosDescriptorAndSiteConfig(733)) -
[hive.llap.zk.sm.keytab.file, hive.llap.task.keytab.file]
**UpgradeCatalog260Test::testUpdateHiveConfigs()**
(AbstractUpgradeCatalog.java:updateConfigurationPropertiesForCluster(573)) -
Applying configuration with tag 'version1511212185535' and configType
'hive-interactive-site' to cluster 'null'
2017-11-20 13:09:45,536 INFO [main] upgrade.UpgradeCatalog260
(UpgradeCatalog260.java:updateHiveConfigs(778)) - Updated HSI config(s) :
[hive.llap.task.keytab.file, hive.llap.zk.sm.keytab.file] with values =
[/etc/security/keytabs/hive.service.keytab,
/etc/security/keytabs/hive.service.keytab]
Thanks,
Swapan Shridhar