[
https://issues.apache.org/jira/browse/AMBARI-21188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16046874#comment-16046874
]
Hudson commented on AMBARI-21188:
---------------------------------
FAILURE: Integrated in Jenkins build Ambari-trunk-Commit #7615 (See
[https://builds.apache.org/job/Ambari-trunk-Commit/7615/])
AMBARI-21188 - Configuration Symlink Is Incorrect After Stack (jhurley:
[http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=7750c9a4672e692f6389698698335596d8bf4925])
* (edit)
ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
* (edit)
ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
> Configuration Symlink Is Incorrect After Stack Distribution
> -----------------------------------------------------------
>
> Key: AMBARI-21188
> URL: https://issues.apache.org/jira/browse/AMBARI-21188
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 3.0.0
> Reporter: Jonathan Hurley
> Assignee: Jonathan Hurley
> Priority: Critical
> Fix For: 3.0.0
>
> Attachments: AMBARI-21188.patch
>
>
> The configuration symlinks for a component after installation should reflect
> something similar to the following:
> /etc/component/conf -> /usr/hdp/current/component/conf
> /usr/hdp/current/component/conf -> /etc/component/<version>/conf
> For example:
> {noformat}
> [root@c6403 ~]# ll /etc/zookeeper/
> total 12
> drwxr-xr-x 3 root root 4096 Jun 5 20:19 2.4.2.0-236
> drwxr-xr-x 3 root root 4096 Jun 5 20:38 2.6.0.0-334
> lrwxrwxrwx 1 root root 26 Jun 5 20:38 conf ->
> /usr/hdp/current/zookeeper-server/conf
> drwxr-xr-x 2 zookeeper hadoop 4096 Jun 5 20:17 conf.backup
> [root@c6403 ~]# ll /usr/hdp/current/zookeeper-server/conf
> lrwxrwxrwx 1 root root 28 Jun 5 20:38 /usr/hdp/current/zookeeper-server/conf
> -> /etc/zookeeper/2.6.0.0-334/0
> {noformat}
> This is the way that the structure exists after a normal installation today.
> However, it seems that distribution a new stack breaks this:
> {code}
> [root@c6403 zookeeper]# ll /etc/zookeeper/
> total 12
> drwxr-xr-x 3 root root 4096 Jun 5 20:19 2.4.2.0-236
> drwxr-xr-x 3 root root 4096 Jun 5 20:38 2.6.0.0-334
> lrwxrwxrwx 1 root root 26 Jun 5 20:38 conf ->
> /etc/zookeeper/conf.backup
> drwxr-xr-x 2 zookeeper hadoop 4096 Jun 5 20:17 conf.backup
> {code}
> The {{conf}} symlink is now pointing to {{conf.backup}} which is the interim
> temporary location.
> {noformat:title=Initial Install}
> 2017-06-05 20:19:17,137 - Backing up /etc/zookeeper/conf to
> /etc/zookeeper/conf.backup if destination doesn't exist already.
> 2017-06-05 20:19:17,137 - Execute[('cp', '-R', '-p', '/etc/zookeeper/conf',
> '/etc/zookeeper/conf.backup')] {'not_if': 'test -e
> /etc/zookeeper/conf.backup', 'sudo': True}
> 2017-06-05 20:19:17,150 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.4.2.0-236/0
> 2017-06-05 20:19:17,151 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'dry-run-create', '--package', 'zookeeper', '--stack-version', '2.4.2.0-236',
> '--conf-version', '0')] {'logoutput': False, 'sudo': True, 'quiet': False,
> 'stderr': -1}
> 2017-06-05 20:19:17,173 - call returned (0, '/etc/zookeeper/2.4.2.0-236/0',
> '')
> 2017-06-05 20:19:17,173 - Package zookeeper will have new conf directories:
> /etc/zookeeper/2.4.2.0-236/0
> 2017-06-05 20:19:17,173 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.4.2.0-236/0
> 2017-06-05 20:19:17,174 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'create-conf-dir', '--package', 'zookeeper', '--stack-version',
> '2.4.2.0-236', '--conf-version', '0')] {'logoutput': False, 'sudo': True,
> 'quiet': False, 'stderr': -1}
> 2017-06-05 20:19:17,197 - call returned (0, '/etc/zookeeper/2.4.2.0-236/0',
> '')
> 2017-06-05 20:19:17,197 - Directory['/etc/zookeeper/2.4.2.0-236/0']
> {'create_parents': True, 'mode': 0755, 'cd_access': 'a'}
> 2017-06-05 20:19:17,198 - Seeding versioned configuration directories for
> zookeeper
> 2017-06-05 20:19:17,198 - Execute['ambari-sudo.sh -H -E cp -R -p -v
> /usr/hdp/current/zookeeper-client/conf/* /etc/zookeeper/2.4.2.0-236/0']
> {'logoutput': True}
> `/usr/hdp/current/zookeeper-client/conf/configuration.xsl' ->
> `/etc/zookeeper/2.4.2.0-236/0/configuration.xsl'
> `/usr/hdp/current/zookeeper-client/conf/log4j.properties' ->
> `/etc/zookeeper/2.4.2.0-236/0/log4j.properties'
> `/usr/hdp/current/zookeeper-client/conf/zoo.cfg' ->
> `/etc/zookeeper/2.4.2.0-236/0/zoo.cfg'
> `/usr/hdp/current/zookeeper-client/conf/zoo_sample.cfg' ->
> `/etc/zookeeper/2.4.2.0-236/0/zoo_sample.cfg'
> `/usr/hdp/current/zookeeper-client/conf/zookeeper-env.cmd' ->
> `/etc/zookeeper/2.4.2.0-236/0/zookeeper-env.cmd'
> `/usr/hdp/current/zookeeper-client/conf/zookeeper-env.sh' ->
> `/etc/zookeeper/2.4.2.0-236/0/zookeeper-env.sh'
> 2017-06-05 20:19:17,204 - Execute['ambari-sudo.sh -H -E cp -R -p
> /etc/zookeeper/conf/* /etc/zookeeper/2.4.2.0-236/0'] {'only_if': 'ls -d
> /etc/zookeeper/conf/*'}
> 2017-06-05 20:19:17,213 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.4.2.0-236/0
> 2017-06-05 20:19:17,213 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'create-conf-dir', '--package', 'zookeeper', '--stack-version',
> '2.4.2.0-236', '--conf-version', '0')] {'logoutput': False, 'sudo': True,
> 'quiet': False, 'stderr': -1}
> 2017-06-05 20:19:17,231 - call returned (1, '/etc/zookeeper/2.4.2.0-236/0
> exist already', '')
> 2017-06-05 20:19:17,231 - checked_call[('ambari-python-wrap',
> '/usr/bin/conf-select', 'set-conf-dir', '--package', 'zookeeper',
> '--stack-version', '2.4.2.0-236', '--conf-version', '0')] {'logoutput':
> False, 'sudo': True, 'quiet': False}
> 2017-06-05 20:19:17,254 - checked_call returned (0,
> '/usr/hdp/2.4.2.0-236/zookeeper/conf -> /etc/zookeeper/2.4.2.0-236/0')
> 2017-06-05 20:19:17,255 - Ensuring that zookeeper has the correct symlink
> structure
> 2017-06-05 20:19:17,255 - Execute[('cp', '-R', '-p', '/etc/zookeeper/conf',
> '/etc/zookeeper/conf.backup')] {'not_if': 'test -e
> /etc/zookeeper/conf.backup', 'sudo': True}
> 2017-06-05 20:19:17,258 - Skipping Execute[('cp', '-R', '-p',
> '/etc/zookeeper/conf', '/etc/zookeeper/conf.backup')] due to not_if
> 2017-06-05 20:19:17,259 - Directory['/etc/zookeeper/conf'] {'action':
> ['delete']}
> 2017-06-05 20:19:17,259 - Removing directory Directory['/etc/zookeeper/conf']
> and all its content
> 2017-06-05 20:19:17,260 - Link['/etc/zookeeper/conf'] {'to':
> '/etc/zookeeper/conf.backup'}
> 2017-06-05 20:19:17,260 - Creating symbolic Link['/etc/zookeeper/conf'] to
> /etc/zookeeper/conf.backup
> 2017-06-05 20:19:17,260 - Link['/etc/zookeeper/conf'] {'action': ['delete']}
> 2017-06-05 20:19:17,260 - Deleting Link['/etc/zookeeper/conf']
> 2017-06-05 20:19:17,260 - Link['/etc/zookeeper/conf'] {'to':
> '/usr/hdp/current/zookeeper-client/conf'}
> 2017-06-05 20:19:17,260 - Creating symbolic Link['/etc/zookeeper/conf'] to
> /usr/hdp/current/zookeeper-client/conf
> {noformat}
> {noformat:title=After Stack Distribution}
> 2017-06-05 20:38:13,243 - Backing up /etc/zookeeper/conf to
> /etc/zookeeper/conf.backup if destination doesn't exist already.
> 2017-06-05 20:38:13,244 - Execute[('cp', '-R', '-p', '/etc/zookeeper/conf',
> '/etc/zookeeper/conf.backup')] {'not_if': 'test -e
> /etc/zookeeper/conf.backup', 'sudo': True}
> 2017-06-05 20:38:13,247 - Skipping Execute[('cp', '-R', '-p',
> '/etc/zookeeper/conf', '/etc/zookeeper/conf.backup')] due to not_if
> 2017-06-05 20:38:13,247 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.6.0.0-334/0
> 2017-06-05 20:38:13,248 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'dry-run-create', '--package', 'zookeeper', '--stack-version', '2.6.0.0-334',
> '--conf-version', '0')] {'logoutput': False, 'sudo': True, 'quiet': False,
> 'stderr': -1}
> 2017-06-05 20:38:13,267 - call returned (0, '/etc/zookeeper/2.6.0.0-334/0',
> '')
> 2017-06-05 20:38:13,267 - Package zookeeper will have new conf directories:
> /etc/zookeeper/2.6.0.0-334/0
> 2017-06-05 20:38:13,267 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.6.0.0-334/0
> 2017-06-05 20:38:13,268 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'create-conf-dir', '--package', 'zookeeper', '--stack-version',
> '2.6.0.0-334', '--conf-version', '0')] {'logoutput': False, 'sudo': True,
> 'quiet': False, 'stderr': -1}
> 2017-06-05 20:38:13,287 - call returned (0, '/etc/zookeeper/2.6.0.0-334/0',
> '')
> 2017-06-05 20:38:13,287 - Directory['/etc/zookeeper/2.6.0.0-334/0']
> {'create_parents': True, 'mode': 0755, 'cd_access': 'a'}
> 2017-06-05 20:38:13,288 - Seeding versioned configuration directories for
> zookeeper
> 2017-06-05 20:38:13,288 - Execute['ambari-sudo.sh -H -E cp -R -p -v
> /usr/hdp/current/zookeeper-client/conf/* /etc/zookeeper/2.6.0.0-334/0']
> {'logoutput': True}
> `/usr/hdp/current/zookeeper-client/conf/configuration.xsl' ->
> `/etc/zookeeper/2.6.0.0-334/0/configuration.xsl'
> `/usr/hdp/current/zookeeper-client/conf/log4j.properties' ->
> `/etc/zookeeper/2.6.0.0-334/0/log4j.properties'
> `/usr/hdp/current/zookeeper-client/conf/zoo.cfg' ->
> `/etc/zookeeper/2.6.0.0-334/0/zoo.cfg'
> `/usr/hdp/current/zookeeper-client/conf/zoo_sample.cfg' ->
> `/etc/zookeeper/2.6.0.0-334/0/zoo_sample.cfg'
> `/usr/hdp/current/zookeeper-client/conf/zookeeper-env.cmd' ->
> `/etc/zookeeper/2.6.0.0-334/0/zookeeper-env.cmd'
> `/usr/hdp/current/zookeeper-client/conf/zookeeper-env.sh' ->
> `/etc/zookeeper/2.6.0.0-334/0/zookeeper-env.sh'
> 2017-06-05 20:38:13,305 - Execute['ambari-sudo.sh -H -E cp -R -p
> /etc/zookeeper/conf/* /etc/zookeeper/2.6.0.0-334/0'] {'only_if': 'ls -d
> /etc/zookeeper/conf/*'}
> 2017-06-05 20:38:13,314 - Checking if need to create versioned conf dir
> /etc/zookeeper/2.6.0.0-334/0
> 2017-06-05 20:38:13,315 - call[('ambari-python-wrap', '/usr/bin/conf-select',
> 'create-conf-dir', '--package', 'zookeeper', '--stack-version',
> '2.6.0.0-334', '--conf-version', '0')] {'logoutput': False, 'sudo': True,
> 'quiet': False, 'stderr': -1}
> 2017-06-05 20:38:13,331 - call returned (1, '/etc/zookeeper/2.6.0.0-334/0
> exist already', '')
> 2017-06-05 20:38:13,332 - checked_call[('ambari-python-wrap',
> '/usr/bin/conf-select', 'set-conf-dir', '--package', 'zookeeper',
> '--stack-version', '2.6.0.0-334', '--conf-version', '0')] {'logoutput':
> False, 'sudo': True, 'quiet': False}
> 2017-06-05 20:38:13,348 - checked_call returned (0,
> '/usr/hdp/2.6.0.0-334/zookeeper/conf -> /etc/zookeeper/2.6.0.0-334/0')
> 2017-06-05 20:38:13,349 - Ensuring that zookeeper has the correct symlink
> structure
> 2017-06-05 20:38:13,349 - Link['/etc/zookeeper/conf'] {'action': ['delete']}
> 2017-06-05 20:38:13,349 - Deleting Link['/etc/zookeeper/conf']
> 2017-06-05 20:38:13,349 - Link['/etc/zookeeper/conf'] {'to':
> '/etc/zookeeper/conf.backup'}
> 2017-06-05 20:38:13,349 - Creating symbolic Link['/etc/zookeeper/conf'] to
> /etc/zookeeper/conf.backup
> {noformat}
> Notice that both create the {{conf.backup}} link, but only the first one
> relinks it correctly to {{/usr/hdp/current}}.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)