)]}'
{"jenkins/jobs/msync_update.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"75f4b876e3ddaa0132c6ec417685389df7cbc24a","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"    builders:"},{"line_number":5,"context_line":"      - revoke-sudo"},{"line_number":6,"context_line":"      - gerrit-git-prep"},{"line_number":7,"context_line":"      - shell: |"},{"line_number":8,"context_line":"          #!/bin/bash -xe"},{"line_number":9,"context_line":"          sudo gem install modulesync --no-rdoc --no-ri --verbose"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a50d1a3_4c6e1201","line":6,"updated":"2015-07-29 11:52:09.000000000","message":"This checks out the repo already...","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"75f4b876e3ddaa0132c6ec417685389df7cbc24a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"      - gerrit-git-prep"},{"line_number":7,"context_line":"      - shell: |"},{"line_number":8,"context_line":"          #!/bin/bash -xe"},{"line_number":9,"context_line":"          sudo gem install modulesync --no-rdoc --no-ri --verbose"},{"line_number":10,"context_line":"          /usr/local/jenkins/slave_scripts/propose_msync_update.sh {name}"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    publishers:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a50d1a3_4c84d2d1","line":9,"updated":"2015-07-29 11:52:09.000000000","message":"Do we really need to install this system wide or can we install it locally like done in https://review.openstack.org/#/c/206269/2/jenkins/jobs/puppet-module-jobs.yaml ?","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"}],"jenkins/jobs/projects.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"24bcd22bfc6dd952bfcf18e42c83da8bbda5f86a","unresolved":false,"context_lines":[{"line_number":2433,"context_line":"    tarball-site: tarballs.openstack.org"},{"line_number":2434,"context_line":""},{"line_number":2435,"context_line":"    jobs:"},{"line_number":2436,"context_line":"      - propose-msync-update"},{"line_number":2437,"context_line":""},{"line_number":2438,"context_line":"- project:"},{"line_number":2439,"context_line":"    name: puppet-monasca"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a50d1a3_5cd90756","line":2436,"updated":"2015-07-28 17:20:24.000000000","message":"The job-template is called \"hook-{name]-propose...\"","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"ff571f85f2d3ef8118262cc3357fe951e00749b5","unresolved":false,"context_lines":[{"line_number":2433,"context_line":"    tarball-site: tarballs.openstack.org"},{"line_number":2434,"context_line":""},{"line_number":2435,"context_line":"    jobs:"},{"line_number":2436,"context_line":"      - propose-msync-update"},{"line_number":2437,"context_line":""},{"line_number":2438,"context_line":"- project:"},{"line_number":2439,"context_line":"    name: puppet-monasca"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a50d1a3_70ee4623","line":2436,"in_reply_to":"3a50d1a3_5cd90756","updated":"2015-07-29 08:44:06.000000000","message":"Done","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"2ca4ce651236fe642c19e28418568ee81815b2ea","unresolved":false,"context_lines":[{"line_number":2433,"context_line":"    tarball-site: tarballs.openstack.org"},{"line_number":2434,"context_line":""},{"line_number":2435,"context_line":"    jobs:"},{"line_number":2436,"context_line":"      - hook-{name}-propose-msync-update"},{"line_number":2437,"context_line":""},{"line_number":2438,"context_line":"- project:"},{"line_number":2439,"context_line":"    name: puppet-monasca"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a50d1a3_11e9fa7e","line":2436,"updated":"2015-07-29 13:43:01.000000000","message":"no need to expand var name here","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"}],"jenkins/scripts/propose_msync_update.sh":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"6390d39058c9153ee448b3509645bfc87ad7e22a","unresolved":false,"context_lines":[{"line_number":95,"context_line":"git clone ssh://$USERNAME@review.openstack.org:29418/$PROJECT.git"},{"line_number":96,"context_line":"pushd $PROJECT_DIR"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"change_info\u003d$(ssh -p 29418 $USERNAME@review.openstack.org gerrit query --current-patch-set status:open project:$PROJECT topic:$TOPIC owner:$USERNAME branch:$BRANCH)"},{"line_number":99,"context_line":"current_commit_msg\u003d$(extract_field_from_patchset commitMessage $change_info)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"msync update -m $current_commi_msg -b $BRANCH"}],"source_content_type":"text/x-sh","patch_set":2,"id":"fa32b979_f78691b8","line":98,"updated":"2015-06-14 19:38:28.000000000","message":"Where is TOPIC or USERNAME set?","commit_id":"1b96a90dbdd6e7596bdc205ffc7ce090b35d35bb"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"24bcd22bfc6dd952bfcf18e42c83da8bbda5f86a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"if [ \"$OWN_PROJECT\" \u003d\u003d \"puppet-modulesync-configs\" ] ; then"},{"line_number":56,"context_line":"    PROJECT\u003d\"openstack/puppet-modulesync-configs\""},{"line_number":57,"context_line":"else"},{"line_number":58,"context_line":"    echo \"Unknown project $1\" \u003e2"},{"line_number":59,"context_line":"    exit 1"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_31322411","line":56,"updated":"2015-07-28 17:20:24.000000000","message":"Why introducing another variable here? You could rename it directly PROJECT, can\u0027t you?","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"ff571f85f2d3ef8118262cc3357fe951e00749b5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"if [ \"$OWN_PROJECT\" \u003d\u003d \"puppet-modulesync-configs\" ] ; then"},{"line_number":56,"context_line":"    PROJECT\u003d\"openstack/puppet-modulesync-configs\""},{"line_number":57,"context_line":"else"},{"line_number":58,"context_line":"    echo \"Unknown project $1\" \u003e2"},{"line_number":59,"context_line":"    exit 1"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_9f4c45c9","line":56,"in_reply_to":"3a50d1a3_31322411","updated":"2015-07-29 08:44:06.000000000","message":"The idea here is that if another project wants to sync a common set of file using msync, it could simply plugin here.\n\nOn #openstack-infra, nibalizer mentioned his interest on this script being generic enough so it could be reused by other projects, hence the if section here.","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"24bcd22bfc6dd952bfcf18e42c83da8bbda5f86a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"# TODO(fungi): switch to zuul-cloner once we add a persistent git cache"},{"line_number":69,"context_line":"# to proposal.slave.openstack.org"},{"line_number":70,"context_line":"if ! git clone git://git.openstack.org/$PROJECT.git; then"},{"line_number":71,"context_line":"    # ALL_SUCCESS is being set to 1, which means that a failure condition"},{"line_number":72,"context_line":"    # has been detected. The job will end in failure once it finishes"},{"line_number":73,"context_line":"    # cycling through the remaining projects."},{"line_number":74,"context_line":"    ALL_SUCCESS\u003d1"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_1ca7ff0b","line":71,"updated":"2015-07-28 17:20:24.000000000","message":"Why is this checking out PROJECT? You only handle a single project and can have that one checked out already by Jenkins, can\u0027t you?","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"ff571f85f2d3ef8118262cc3357fe951e00749b5","unresolved":false,"context_lines":[{"line_number":68,"context_line":"# TODO(fungi): switch to zuul-cloner once we add a persistent git cache"},{"line_number":69,"context_line":"# to proposal.slave.openstack.org"},{"line_number":70,"context_line":"if ! git clone git://git.openstack.org/$PROJECT.git; then"},{"line_number":71,"context_line":"    # ALL_SUCCESS is being set to 1, which means that a failure condition"},{"line_number":72,"context_line":"    # has been detected. The job will end in failure once it finishes"},{"line_number":73,"context_line":"    # cycling through the remaining projects."},{"line_number":74,"context_line":"    ALL_SUCCESS\u003d1"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_1fcfd529","line":71,"in_reply_to":"3a50d1a3_1ca7ff0b","updated":"2015-07-29 08:44:06.000000000","message":"Same thing as above, in order to be able to reuse this script for various projects.","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"24bcd22bfc6dd952bfcf18e42c83da8bbda5f86a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"fi"},{"line_number":78,"context_line":"pushd $PROJECT_DIR"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"current_commit_msg\u003d$(git log --pretty\u003dformat:%B -n 1 | sed \"/^change-id:/Id\" )"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"msync update -m $current_commit_msg"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_9ce1cf2c","line":80,"updated":"2015-07-28 17:20:24.000000000","message":"So, this gets the latest commit message from puppet-modulesync-configs but as a single long string.\n\nWill msync generate a proper review message for this again with empty lines at the proper places?\n\nI would also add a line stating that this is a sync from the repo. Is msync doing this?\n\nOne idee: Can you \"demo\" a single run to a single repo and reference it, so that I can see what is done?","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"ff571f85f2d3ef8118262cc3357fe951e00749b5","unresolved":false,"context_lines":[{"line_number":77,"context_line":"fi"},{"line_number":78,"context_line":"pushd $PROJECT_DIR"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"current_commit_msg\u003d$(git log --pretty\u003dformat:%B -n 1 | sed \"/^change-id:/Id\" )"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"msync update -m $current_commit_msg"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a50d1a3_451a6e7e","line":80,"in_reply_to":"3a50d1a3_9ce1cf2c","updated":"2015-07-29 08:44:06.000000000","message":"I added a \"[msync]\" tag before the commit message, and the commit message is now multi line. (On the next patchset)\n\nFor the demo run please look at http://paste.openstack.org/show/406175/\n\nAnd for the resulting review please take a look at https://review.openstack.org/#/c/206934","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":4162,"name":"Paul Belanger","email":"pabelanger@redhat.com","username":"pabelanger"},"change_message_id":"cd2088049acff0ce2635c0f837079e080b1d1324","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash -xe"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-sh","patch_set":6,"id":"1a4dcd0f_88c86d56","line":1,"updated":"2015-08-18 16:09:04.000000000","message":"My major concern about this code, is it duplicates propose_update.sh.  I\u0027d rather us merge with it to reduce the code.","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"2ca4ce651236fe642c19e28418568ee81815b2ea","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    exit 1"},{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"if [ \"$OWN_PROJECT\" \u003d\u003d \"puppet-modulesync-configs\" ] ; then"},{"line_number":56,"context_line":"    PROJECT\u003d\"openstack/puppet-modulesync-configs\""},{"line_number":57,"context_line":"else"},{"line_number":58,"context_line":"    echo \"Unknown project $1\" \u003e2"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a50d1a3_3c840d5c","line":55,"updated":"2015-07-29 13:43:01.000000000","message":"why ask for OWN_PROJECT var, if only puppet-modulesync-configs is accepted?","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"75f4b876e3ddaa0132c6ec417685389df7cbc24a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"#"},{"line_number":68,"context_line":"# TODO(fungi): switch to zuul-cloner once we add a persistent git cache"},{"line_number":69,"context_line":"# to proposal.slave.openstack.org"},{"line_number":70,"context_line":"if ! git clone git://git.openstack.org/$PROJECT.git; then"},{"line_number":71,"context_line":"    # ALL_SUCCESS is being set to 1, which means that a failure condition"},{"line_number":72,"context_line":"    # has been detected. The job will end in failure once it finishes"},{"line_number":73,"context_line":"    # cycling through the remaining projects."}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a50d1a3_cca30242","line":70,"updated":"2015-07-29 11:52:09.000000000","message":"I don\u0027t think that we need to architect this in such a way that one repo checks out another one for now.\n\nIf if another job uses it, it will be one repo which is already checked out.","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"75f4b876e3ddaa0132c6ec417685389df7cbc24a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"fi"},{"line_number":78,"context_line":"pushd $PROJECT_DIR"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"current_commit_msg\u003d\"[msync] $(git log --pretty\u003dformat:%B -n 1 | sed \"/^change-id:/Id\" )\""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"msync update -m \"${current_commit_msg}\""},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a50d1a3_ac7f96a9","line":80,"updated":"2015-07-29 11:52:09.000000000","message":"AS mentioned in the other review: Add a a line that this is an automatic sync from $PROJECT.","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":4162,"name":"Paul Belanger","email":"pabelanger@redhat.com","username":"pabelanger"},"change_message_id":"cd2088049acff0ce2635c0f837079e080b1d1324","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"current_commit_msg\u003d\"[msync] $(git log --pretty\u003dformat:%B -n 1 | sed \"/^change-id:/Id\" )\""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"msync update -m \"${current_commit_msg}\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"popd"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"1a4dcd0f_e81491a0","line":82,"updated":"2015-08-18 16:09:04.000000000","message":"I am not a fan of having msync do the actually git commit / checkout. We need to add a flag to remove this functionality.","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"}],"zuul/layout.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"24bcd22bfc6dd952bfcf18e42c83da8bbda5f86a","unresolved":false,"context_lines":[{"line_number":502,"context_line":"      - gate-{name}-puppet-syntax-3"},{"line_number":503,"context_line":"      - gate-{name}-puppet-syntax-4"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"  - name: propose-msync-update"},{"line_number":506,"context_line":"    post:"},{"line_number":507,"context_line":"      - \u0027hook-{name}-propose-msync-update\u0027"},{"line_number":508,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a50d1a3_bcfa8bbb","line":505,"updated":"2015-07-28 17:20:24.000000000","message":"Do you intend to run this elsewhere as well? I don\u0027t see that right now, so propose to not generate a template that is used once.","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"ff571f85f2d3ef8118262cc3357fe951e00749b5","unresolved":false,"context_lines":[{"line_number":502,"context_line":"      - gate-{name}-puppet-syntax-3"},{"line_number":503,"context_line":"      - gate-{name}-puppet-syntax-4"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"  - name: propose-msync-update"},{"line_number":506,"context_line":"    post:"},{"line_number":507,"context_line":"      - \u0027hook-{name}-propose-msync-update\u0027"},{"line_number":508,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a50d1a3_5001ca03","line":505,"in_reply_to":"3a50d1a3_bcfa8bbb","updated":"2015-07-29 08:44:06.000000000","message":"As mentioned on the script, infra has some interest to use it for their own puppet-modules. Hence this was created.","commit_id":"7ff5fa189392709486bc544273a1949ece4da049"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"75f4b876e3ddaa0132c6ec417685389df7cbc24a","unresolved":false,"context_lines":[{"line_number":502,"context_line":"      - gate-{name}-puppet-syntax-3"},{"line_number":503,"context_line":"      - gate-{name}-puppet-syntax-4"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"  - name: propose-msync-update"},{"line_number":506,"context_line":"    post:"},{"line_number":507,"context_line":"      - \u0027hook-{name}-propose-msync-update\u0027"},{"line_number":508,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a50d1a3_0c5c8a49","line":505,"updated":"2015-07-29 11:52:09.000000000","message":"I don\u0027t think we need a template here, even if others use it. It\u0027s a single change...","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"},{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"2ca4ce651236fe642c19e28418568ee81815b2ea","unresolved":false,"context_lines":[{"line_number":502,"context_line":"      - gate-{name}-puppet-syntax-3"},{"line_number":503,"context_line":"      - gate-{name}-puppet-syntax-4"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"  - name: propose-msync-update"},{"line_number":506,"context_line":"    post:"},{"line_number":507,"context_line":"      - \u0027hook-{name}-propose-msync-update\u0027"},{"line_number":508,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a50d1a3_11d25ad1","line":505,"in_reply_to":"3a50d1a3_0c5c8a49","updated":"2015-07-29 13:43:01.000000000","message":"I agree, no need for variable expansion here","commit_id":"1ae0d7d916113a0175ebe293c9c906552a90c492"}]}
