<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    We are seeing a new behavior with Fn::Join in user-data block that
    makes our script fail to run. Previous behavior was that no white
    space nor line breaks were inserted after a coma (',') or line ends.
    But now it's inserting white space plus line break after ','
    separated elements... Do you have any idea why?<br>
    Thanks<br>
    Patrick<br>
    <br>
    <u>Exemple</u>:<br>
    <br>
    "Fn::Join":[<br>
                         "\n",<br>
                         [<br>
                            "#!/bin/bash -v",<br>
                            "# Helper function",<br>
                            "function error_exit\n",<br>
                            "{\n",<br>
                            "  /opt/aws/bin/cfn-signal -e 1 -r \"$1\"
    '", { "Ref" : "BatchNodeWaitHandle" }, "'\n",<br>
                            "  exit 1\n",<br>
                            "}\n",<br>
    <br>
                            "# Flush iptables's default rules",<br>
                            "/sbin/iptables -F",<br>
                            "/sbin/iptables -X",<br>
                            "# prepare for packages install",<br>
                            "yum update -y",<br>
                            "yum upgrade -y",<br>
                            "export
    http_proxy=ecfrec.frec.bull.fr:8080",<br>
                            "export
    no_proxy=127.0.0.1,localhost,.amg.net.pl,169.254.169.254,10.197.217.62",<br>
    <br>
                            "/opt/aws/bin/cfn-init -s ", { "Ref" :
    "AWS::StackName" },<br>
                            " -r BatchNode ",<br>
                            " --region ", { "Ref" : "AWS::Region" },<br>
                            " || error_exit 'Failed to run cfn-init for
    BatchNode'\n",<br>
    <br>
                            "rpm -Uvh <a class="moz-txt-link-freetext" href="http://rbel.frameos.org/rbel6">http://rbel.frameos.org/rbel6</a>",<br>
                            "#install rubygems",<br>
                            "cd /opt",<br>
                            "tar zxf rubygems-1.8.10.tgz",<br>
                            "cd rubygems-1.8.10",<br>
                            "ruby setup.rb --no-format-executable",<br>
                            "gem install chef --no-ri --no-rdoc",<br>
                            "/opt/aws/bin/cfn-signal -e $? '", {
    "Ref":"BatchNodeWaitHandle" }, "'"<br>
                         ]<br>
                      ]<br>
    <br>
    <u>Results in broken </u><u>cfn-userdata script</u><br>
    <br>
    #!/bin/bash -v<br>
    # Helper function<br>
    <br>
    function error_exit<br>
    <br>
    {<br>
    <br>
      /opt/aws/bin/cfn-signal -e 1 -r "$1" '<br>
<a class="moz-txt-link-freetext" href="http://172.16.1.1:8002/stacks/1a7b8501-e117-4cf8-9838-416446a43fed/resources/BatchNodeWaitHandle">http://172.16.1.1:8002/stacks/1a7b8501-e117-4cf8-9838-416446a43fed/resources/BatchNodeWaitHandle</a><br>
    '<br>
    <br>
      exit 1<br>
    <br>
    }<br>
    <br>
    <br>
    # Flush iptables's default rules<br>
    /sbin/iptables -F<br>
    /sbin/iptables -X<br>
    # prepare for packages install<br>
    yum update -y<br>
    yum upgrade -y<br>
    export http_proxy=ecfrec.frec.bull.fr:8080<br>
    export
    no_proxy=127.0.0.1,localhost,.amg.net.pl,169.254.169.254,10.197.217.62<br>
    /opt/aws/bin/cfn-init -s<br>
    skeleton<br>
     -r BatchNode<br>
     --region<br>
    ap-southeast-1<br>
     || error_exit 'Failed to run cfn-init for BatchNode'<br>
    rpm -Uvh <a class="moz-txt-link-freetext" href="http://rbel.frameos.org/rbel6">http://rbel.frameos.org/rbel6</a><br>
    #install rubygems<br>
    cd /opt<br>
    tar zxf rubygems-1.8.10.tgz<br>
    cd rubygems-1.8.10<br>
    ruby setup.rb --no-format-executable<br>
    gem install chef --no-ri --no-rdoc<br>
    /opt/aws/bin/cfn-signal -e $? '<br>
<a class="moz-txt-link-freetext" href="http://172.16.1.1:8002/stacks/1a7b8501-e117-4cf8-9838-416446a43fed/resources/BatchNodeWaitHandle">http://172.16.1.1:8002/stacks/1a7b8501-e117-4cf8-9838-416446a43fed/resources/BatchNodeWaitHandle</a><br>
    '<br>
    touch /var/lib/cloud/instance/provision-finished<br>
    <br>
  </body>
</html>