)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"480b45effe79f9d2f0701462bac2e98be7f10008","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This is getting unmanageable and messy, so this patch refactors out the"},{"line_number":16,"context_line":"configurations we\u0027ve been controlling using conditionals into their own"},{"line_number":17,"context_line":"builders which can be pulled into a job-template only if required. It"},{"line_number":18,"context_line":"does this by writing the optional script parts into a file call"},{"line_number":19,"context_line":"ironic-extra-vars which is then sourced in the main ironic macro."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This patch takes all the Ironic jobs that are largely the same, and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aa78d24_6abde501","line":18,"range":{"start_line":18,"start_character":59,"end_line":18,"end_character":63},"updated":"2016-07-15 08:13:30.000000000","message":"nit: called","commit_id":"55c011d8f5ee021ad06bc6bf2912e7444ca48da9"}],"jenkins/jobs/ironic.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"60076b9137592f7d3b0a87cd6f114d97edf6e163","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    name: ironic-extra-vars"},{"line_number":3,"context_line":"    builders:"},{"line_number":4,"context_line":"      - shell: |"},{"line_number":5,"context_line":"          echo \u0027{script}\u0027 \u003e\u003e ironic-extra-vars"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- builder:"},{"line_number":8,"context_line":"    name: ironic-client-from-source"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1aa78d24_2db45f33","line":5,"updated":"2016-07-12 00:18:33.000000000","message":"I think this is very likely to have quoting issues\n\n cat \u003c\u003c EOF \u003e ironic-extra-vars\n  {script}\n EOF\n\nwill be safer I think","commit_id":"44d648d4fb4307ae1edbcf357da23f41ff7044f0"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"60076b9137592f7d3b0a87cd6f114d97edf6e163","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    name: ironic-extra-vars"},{"line_number":3,"context_line":"    builders:"},{"line_number":4,"context_line":"      - shell: |"},{"line_number":5,"context_line":"          echo \u0027{script}\u0027 \u003e\u003e ironic-extra-vars"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- builder:"},{"line_number":8,"context_line":"    name: ironic-client-from-source"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1aa78d24_ada7af09","line":5,"updated":"2016-07-12 00:18:33.000000000","message":"I think this is very likely to have quoting issues\n\n cat \u003c\u003c EOF \u003e ironic-extra-vars\n  {script}\n EOF\n\nwill be safer I think","commit_id":"44d648d4fb4307ae1edbcf357da23f41ff7044f0"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"1fc3255a3f97409937a1f53271cea1250fe8a346","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    name: ironic-extra-vars"},{"line_number":3,"context_line":"    builders:"},{"line_number":4,"context_line":"      - shell: |"},{"line_number":5,"context_line":"          echo \u0027{script}\u0027 \u003e\u003e ironic-extra-vars"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- builder:"},{"line_number":8,"context_line":"    name: ironic-client-from-source"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1aa78d24_abd82054","line":5,"in_reply_to":"1aa78d24_ada7af09","updated":"2016-07-12 11:12:03.000000000","message":"Thanks! I forgot about this style!","commit_id":"44d648d4fb4307ae1edbcf357da23f41ff7044f0"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"480b45effe79f9d2f0701462bac2e98be7f10008","unresolved":false,"context_lines":[{"line_number":189,"context_line":"              export DEVSTACK_LOCAL_CONFIG+\u003d$\u0027\\n\u0027\"enable_plugin ironic git://git.openstack.org/openstack/ironic\""},{"line_number":190,"context_line":"          fi"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"          # Ensure the ironic-extra-vars file exists"},{"line_number":193,"context_line":"          touch ironic-extra-vars"},{"line_number":194,"context_line":"          # Pull in the extra variables injected by the optional builders"},{"line_number":195,"context_line":"          source ironic-extra-vars"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh"},{"line_number":198,"context_line":"          ./safe-devstack-vm-gate-wrap.sh"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1aa78d24_01f527ec","line":195,"range":{"start_line":192,"start_character":10,"end_line":195,"end_character":34},"updated":"2016-07-15 08:13:30.000000000","message":"make this into {ensure-source-ironic-extra-vars} expansion to the shell \"text\"","commit_id":"55c011d8f5ee021ad06bc6bf2912e7444ca48da9"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"480b45effe79f9d2f0701462bac2e98be7f10008","unresolved":false,"context_lines":[{"line_number":643,"context_line":"          fi"},{"line_number":644,"context_line":"          # Run only baremetal tests"},{"line_number":645,"context_line":"          export DEVSTACK_GATE_TEMPEST_REGEX\u003d\u0027ironic\u0027"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh"},{"line_number":648,"context_line":"          ./safe-devstack-vm-gate-wrap.sh"},{"line_number":649,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1aa78d24_be4b8e85","line":646,"updated":"2016-07-15 08:13:30.000000000","message":"missing {ensure-source-ironic-extra-vars} (to prevent surprises in case someone adds builders to this template)","commit_id":"55c011d8f5ee021ad06bc6bf2912e7444ca48da9"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"480b45effe79f9d2f0701462bac2e98be7f10008","unresolved":false,"context_lines":[{"line_number":911,"context_line":"          if [ \"$BRANCH_OVERRIDE\" !\u003d \"default\" ] ; then"},{"line_number":912,"context_line":"              export OVERRIDE_ZUUL_BRANCH\u003d$BRANCH_OVERRIDE"},{"line_number":913,"context_line":"          fi"},{"line_number":914,"context_line":"          export GRENADE_PLUGINRC\u003d\"enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic\""},{"line_number":915,"context_line":"          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh"},{"line_number":916,"context_line":"          ./safe-devstack-vm-gate-wrap.sh"},{"line_number":917,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1aa78d24_7e52c636","line":914,"updated":"2016-07-15 08:13:30.000000000","message":"ditto. missing {ensure-source-ironic-extra-vars} (to prevent surprises in case someone adds builders to this template)","commit_id":"55c011d8f5ee021ad06bc6bf2912e7444ca48da9"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"480b45effe79f9d2f0701462bac2e98be7f10008","unresolved":false,"context_lines":[{"line_number":964,"context_line":"              export OVERRIDE_ZUUL_BRANCH\u003d$BRANCH_OVERRIDE"},{"line_number":965,"context_line":"          fi"},{"line_number":966,"context_line":"          export GRENADE_PLUGINRC+\u003d$\u0027\\n\u0027\"enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic\""},{"line_number":967,"context_line":"          export GRENADE_PLUGINRC+\u003d$\u0027\\n\u0027\"enable_grenade_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector\""},{"line_number":968,"context_line":"          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh"},{"line_number":969,"context_line":"          ./safe-devstack-vm-gate-wrap.sh"},{"line_number":970,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1aa78d24_5e242ac5","line":967,"updated":"2016-07-15 08:13:30.000000000","message":"ditto. missing {ensure-source-ironic-extra-vars} (to prevent surprises in case someone adds builders to this template)","commit_id":"55c011d8f5ee021ad06bc6bf2912e7444ca48da9"}],"jenkins/jobs/projects.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"60076b9137592f7d3b0a87cd6f114d97edf6e163","unresolved":false,"context_lines":[{"line_number":3078,"context_line":"        ramdisk-type: \u0027agent_ssh\u0027"},{"line_number":3079,"context_line":"        job-suffix: \u0027\u0027"},{"line_number":3080,"context_line":"      - image-type: \u0027wholedisk\u0027"},{"line_number":3081,"context_line":"        driver: \u0027pxe_ssh\u0027"},{"line_number":3082,"context_line":""},{"line_number":3083,"context_line":"    jobs:"},{"line_number":3084,"context_line":"      - coverage-db-jobs"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1aa78d24_6d0ae78b","line":3081,"updated":"2016-07-12 00:18:33.000000000","message":"I feel like we\u0027ve usually been more explicit in having each of the names spelt out rather than this model of \"make everything and strip some out\".  it\u0027s pretty hard to tell what jobs this is creating by looking at it!","commit_id":"44d648d4fb4307ae1edbcf357da23f41ff7044f0"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"1fc3255a3f97409937a1f53271cea1250fe8a346","unresolved":false,"context_lines":[{"line_number":3078,"context_line":"        ramdisk-type: \u0027agent_ssh\u0027"},{"line_number":3079,"context_line":"        job-suffix: \u0027\u0027"},{"line_number":3080,"context_line":"      - image-type: \u0027wholedisk\u0027"},{"line_number":3081,"context_line":"        driver: \u0027pxe_ssh\u0027"},{"line_number":3082,"context_line":""},{"line_number":3083,"context_line":"    jobs:"},{"line_number":3084,"context_line":"      - coverage-db-jobs"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1aa78d24_1e3ff0b4","line":3081,"in_reply_to":"1aa78d24_6d0ae78b","updated":"2016-07-12 11:12:03.000000000","message":"Without doing it this way you end up with a high amount of duplication in the Ironic project, and with more ramdisk-types in the works this duplication is only going to expand. I think that the JJB matrixing system used here makes a ton of sense instead of replicating jobs that are 99% the same.\n\nAlso it makes it far easier for Ironic devs to ensure all the jobs required are created if they need to add a new ramdisk-type for example, because it\u0027ll calculate it for them instead of a manual copy, paste, edit, which could potentially miss a combination.\n\nAnd in terms of understanding what jobs are created, I think once you learn that JJB matrixs the different fields listed to create all the possible permutations and that the exclude option will remove jobs with specific combinations (which is very well laid out in the JJB docs), its actually easier to understand/digest than a bunch of duplicated options. However that is my opinion.","commit_id":"44d648d4fb4307ae1edbcf357da23f41ff7044f0"}]}
