[
https://issues.apache.org/jira/browse/AMBARI-15754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sumit Mohanty updated AMBARI-15754:
-----------------------------------
Fix Version/s: 2.4.3
> configs.sh expands ***** in config values to a local file list, causing
> broken config files
> -------------------------------------------------------------------------------------------
>
> Key: AMBARI-15754
> URL: https://issues.apache.org/jira/browse/AMBARI-15754
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.0.0, 2.0.1, 2.1.0, 2.3.0, 2.0.2, 2.1.1, 2.1.2, trunk,
> 2.0.3, 2.2.0, 2.4.0, 2.2.1, 2.2.2, 2.4.1
> Reporter: Asger Askov Blekinge
> Assignee: Asger Askov Blekinge
> Labels: easyfix, patch
> Fix For: trunk, 2.5.0, 2.4.3
>
> Attachments: AMBARI-15754-branch-2.5.patch,
> AMBARI-15754_trunk_v3.patch, AMBARI-15754.v2.patch
>
>
> When you try to get the value of, say, pig-log4j like this, it outputs
> correctly
> {code}
> curl -k -s -u $AMBARI_USER:$AMBARI_PASSWORD
> "$AMBARI_HOST:$AMBARI_PORT/api/v1/clusters/$CLUSTER_NAME/configurations?type=pig-log4j&tag=version1"
> {code}
> If you use configs.sh to do the same
> {code}
> configs.sh -u $AMBARI_USER -p $AMBARI_PASSWORD -port $AMBARI_PORT get
> $AMBARI_HOST $CLUSTER_NAME pig-log4j
> {code}
> it will have replaced the ***** with the file list in the working directory
> So,
> {code}
> "content" : "\n#\n#\n# Licensed to the Apache Software Foundation (ASF)
> under one\n# or more contributor license agreements. See the NOTICE file\n#
> distributed with this work for additional information\n# regarding copyright
> ownership. The ASF licenses this file\n# to you under the Apache License,
> Version 2.0 (the\n# \"License\"); you may not use this file except in
> compliance\n# with the License. You may obtain a copy of the License
> at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required
> by applicable law or agreed to in writing,\n# software distributed under the
> License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR
> CONDITIONS OF ANY\n# KIND, either express or implied. See the License for
> the\n# specific language governing permissions and limitations\n# under the
> License.\n#\n#\n#\n\n# ***** Set root logger level to DEBUG and its only
> appender to A.\nlog4j.logger.org.apache.pig=info, A\n\n# ***** A is set to be
> a ConsoleAppender.\nlog4j.appender.A=org.apache.log4j.ConsoleAppender\n#
> ***** A uses
> PatternLayout.\nlog4j.appender.A.layout=org.apache.log4j.PatternLayout\nlog4j.appender.A.layout.ConversionPattern=%-4r
> [%t] %-5p %c %x - %m%n"
> {code}
> will be output as
> {code}
> "content" : "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under
> one\n# or more contributor license agreements. See the NOTICE file\n#
> distributed with this work for additional information\n# regarding copyright
> ownership. The ASF licenses this file\n# to you under the Apache License,
> Version 2.0 (the\n# \"License\"); you may not use this file except in
> compliance\n# with the License. You may obtain a copy of the License at\n#\n#
> http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by
> applicable law or agreed to in writing,\n# software distributed under the
> License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR
> CONDITIONS OF ANY\n# KIND, either express or implied. See the License for
> the\n# specific language governing permissions and limitations\n# under the
> License.\n#\n#\n#\n\n# bigr configs.sh gpfs mmls ssh symphony Set root logger
> level to DEBUG and its only appender to A.\nlog4j.logger.org.apache.pig=info,
> A\n\n# bigr configs.sh gpfs mmls ssh symphony A is set to be a
> ConsoleAppender.\nlog4j.appender.A=org.apache.log4j.ConsoleAppender\n# bigr
> configs.sh gpfs mmls ssh symphony A uses
> PatternLayout.\nlog4j.appender.A.layout=org.apache.log4j.PatternLayout\nlog4j.appender.A.layout.ConversionPattern=%-4r
> [%t] %-5p %c %x - %m%n"
> {code}
> As you can see, there are no ***** string in the output any longer, but
> instead it has been replaced with "bigr configs.sh gpfs mmls ssh symphony"
> which happened to be the local files in my working dir.
> It all comes from this line in configs.sh, line 241-247
> {code}
> if [ "$propertiesStarted" -gt "0" ]; then
> if [ -z $FILENAME ]; then
> echo $line
> else
> echo $line >> $FILENAME
> fi
> fi
> {code}
> where the echo do not quote the $line to output
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)