Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-15754

configs.sh expands ***** in config values to a local file list, causing broken config files

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 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
    • trunk, 2.5.0, 2.4.3
    • ambari-server

    Description

      When you try to get the value of, say, pig-log4j like this, it outputs correctly

      curl -k -s -u $AMBARI_USER:$AMBARI_PASSWORD "$AMBARI_HOST:$AMBARI_PORT/api/v1/clusters/$CLUSTER_NAME/configurations?type=pig-log4j&tag=version1"
      

      If you use configs.sh to do the same

      configs.sh -u $AMBARI_USER -p $AMBARI_PASSWORD -port $AMBARI_PORT get $AMBARI_HOST $CLUSTER_NAME pig-log4j
      

      it will have replaced the ***** with the file list in the working directory

      So,

       "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"
      

      will be output as

      "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"
      

      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

          if [ "$propertiesStarted" -gt "0" ]; then
            if [ -z $FILENAME ]; then
              echo $line
            else
              echo $line >> $FILENAME
            fi
          fi
      

      where the echo do not quote the $line to output

      Attachments

        1. AMBARI-15754_trunk_v3.patch
          1 kB
          Madhuvanthi Radhakrishnan
        2. AMBARI-15754.v2.patch
          2 kB
          Alejandro Fernandez
        3. AMBARI-15754-branch-2.5.patch
          2 kB
          Madhuvanthi Radhakrishnan

        Issue Links

          Activity

            People

              blekinge Asger Askov Blekinge
              blekinge Asger Askov Blekinge
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: