You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Jonathan Hurley (JIRA)" <ji...@apache.org> on 2017/06/06 18:45:18 UTC

[jira] [Updated] (AMBARI-21188) Configuration Symlink Is Incorrect After Stack Distribution

     [ https://issues.apache.org/jira/browse/AMBARI-21188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Hurley updated AMBARI-21188:
-------------------------------------
    Status: Patch Available  (was: Open)

> 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
>
>
> 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.3.15#6346)