)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"934c7e6a8bad52cff4e9a020040e0933364a3098","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  images defined"},{"line_number":20,"context_line":"- No special treatment of duplicate image names, an image with that"},{"line_number":21,"context_line":"  name will be built again (this differs from the TripleO tool which"},{"line_number":22,"context_line":"  had an inheritance mechanism)"},{"line_number":23,"context_line":"- --dry-run and --stop-on-failure flags"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"A simple YAML defintion would resemble:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"a378fe2d_aecb94e9","line":22,"updated":"2023-03-07 19:33:20.000000000","message":"I\u0027m starting to think that merging the dicts of duplicate imagename entries would be useful to add build-environment specific values on top of the an environment-agnostic image definition.\n\nTripleO used this mechanism to manage the differences between rhel/centos and python2/python3 which I think ended up making the image definitions harder to manage, so I\u0027d not use it for that again.","commit_id":"6686c41d4463a0112a625c5c9ee9ce90fa4bfd54"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"934c7e6a8bad52cff4e9a020040e0933364a3098","unresolved":true,"context_lines":[{"line_number":33,"context_line":"- imagename: ironic-python-agent"},{"line_number":34,"context_line":"  elements:"},{"line_number":35,"context_line":"  - ironic-python-agent-ramdisk"},{"line_number":36,"context_line":"  - extra-hardware"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The TripleO project has managed image build options with YAML files"},{"line_number":39,"context_line":"and it has proved useful having git history and a diff friendly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"a17a4fe1_c30d0774","line":36,"updated":"2023-03-07 19:33:20.000000000","message":"Need to update this for the new flat format","commit_id":"6686c41d4463a0112a625c5c9ee9ce90fa4bfd54"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"4cb6c18e5b58e88de4416dd901175399b360cba2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"29ad8e9d_385431f0","updated":"2023-03-03 16:14:54.000000000","message":"I haven\u0027t dug into the implementation much but this seems reasonable. Its similar to what nodepool provides too so seems like something that is generally useful.\n\nOne thought is you might want to add a job that runs the tool? Dib has already got jobs that run disk-image-create and modifying one of those or adding another might be a good way of showing people how it can be useful.","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"524994247610db04b52000ace4e7aa506767a67b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f68900b3_f2bb0522","in_reply_to":"29ad8e9d_385431f0","updated":"2023-03-05 20:23:44.000000000","message":"I\u0027m intending to convert run_functests.sh to use diskimage-builder instead of disk-image-create.","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"e0d413f76f0f0dc7405285896957a4ff7121ff58","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f1860760_3c0d04f1","updated":"2023-03-06 04:55:50.000000000","message":"I69ca3d26fede0506a6353c077c69f735c8d84d28 was a bit of a start at this and I had envisaged we\u0027d move more into python and less into the disk-image-create script over time.\n\nOne initial thought I have here is that I\u0027m not sure splitting this into \"disk_images\" and \"ramdisk_images\" at the top level is something we\u0027d want to propagate into this new tool.  The only difference is it sets \"IS_RAMDISK\" in the environment.  I think the fact we have two tools for it comes from +10 year old history that everyone has forgotten about.\n\nAs a start, what do you think about just having a list of images, and adding a \"ramdisk: \u003cbool\u003e\" flag?  this seems to simplify the schema things a bit by making it one less level deep.","commit_id":"d9e22908ac608eb362cb7f3de391e5aaffad2f38"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f0dc20dbc06caa1ed02c5b465289e45a8bdf61d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2090b76a_3bd712e5","in_reply_to":"f1860760_3c0d04f1","updated":"2023-03-07 01:36:52.000000000","message":"Done","commit_id":"d9e22908ac608eb362cb7f3de391e5aaffad2f38"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"0fd09c44717125dc42c2b1add6a57f8b689370f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7476cf6a_be713af2","updated":"2023-03-07 01:38:11.000000000","message":"The next change in this series switches dib-functests to use this command. The change after that adds some documentation","commit_id":"6686c41d4463a0112a625c5c9ee9ce90fa4bfd54"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"797a723b2113d9d9d622814d3a8f31ab8dc62a9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4d139a54_dd6ca85a","updated":"2023-03-10 08:28:51.000000000","message":"looks like a minor linter thing, but I can\u0027t see anything of too much concern in this.  As I mentioned I had kind of imagined originally we\u0027d move all the arg parsing in the disk-image-create script into python, and leave that as more a back-end driver; if we had of done that maybe there would have been more chance to keep one list of arguments somehow.  But I can\u0027t see a practical way to do that really.","commit_id":"ea553df4e58df9bd13321766e4838f28fe882934"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"a5a6ebcf157473a7924a60ba470eeeeea5dc9ab9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d8a4104d_d88782c5","in_reply_to":"4d139a54_dd6ca85a","updated":"2023-03-12 20:11:11.000000000","message":"The script version of disk-image-create could be entirely driven by environment variables, then python disk-image-create and diskimage-builder could share some code to build these variables.","commit_id":"ea553df4e58df9bd13321766e4838f28fe882934"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"91907a9f39ba10d8099c380f833beaa6b5cb4f6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a55c46f4_f826af11","in_reply_to":"d8a4104d_d88782c5","updated":"2023-03-15 03:30:51.000000000","message":"That was more or less what I\u0027d imagined; but it\u0027s also a ton of work which ideally changes absolutely nothing 😊  So understandably that\u0027s not a huge item on anyone\u0027s priority list.","commit_id":"ea553df4e58df9bd13321766e4838f28fe882934"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"5cd783f6a1efd30d3ad4471cee9732735295ae09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4d15a094_29d0315b","updated":"2023-03-16 20:49:31.000000000","message":"Looks really good to me! Thanks!","commit_id":"7e38f85724ef080b25970d9aff716ce20b502cf8"}],"diskimage_builder/diskimage_builder.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"524994247610db04b52000ace4e7aa506767a67b","unresolved":true,"context_lines":[{"line_number":87,"context_line":"        arg \u003d self.arg_name()"},{"line_number":88,"context_line":"        if value is not None:"},{"line_number":89,"context_line":"            return [arg, value]"},{"line_number":90,"context_line":"        return [arg]"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ArgFlag(Arg):"}],"source_content_type":"text/x-python","patch_set":1,"id":"e6ebc7da_f059c4a0","line":90,"updated":"2023-03-05 20:23:44.000000000","message":"I\u0027m going to treat empty string the same as a None value, and return no argument at all in that case. There are no arguments which accept empty string values, and this makes templating the yaml easier for empty values","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"2e17db77b77165589198d9984d7b392586a4b1c9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        arg \u003d self.arg_name()"},{"line_number":88,"context_line":"        if value is not None:"},{"line_number":89,"context_line":"            return [arg, value]"},{"line_number":90,"context_line":"        return [arg]"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ArgFlag(Arg):"}],"source_content_type":"text/x-python","patch_set":1,"id":"474b5b2c_b87c50af","line":90,"in_reply_to":"e6ebc7da_f059c4a0","updated":"2023-03-05 20:37:41.000000000","message":"Done","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"ecc8c48ea1b851787279cc2e362c1c7969feafef","unresolved":true,"context_lines":[{"line_number":545,"context_line":"        sys.stderr.write(\"\\n\")"},{"line_number":546,"context_line":"        sys.stderr.flush()"},{"line_number":547,"context_line":"        if not args.dry_run:"},{"line_number":548,"context_line":"            p \u003d subprocess.Popen(command.command(), env\u003dcommand.merged_env())"},{"line_number":549,"context_line":"            p.communicate()"},{"line_number":550,"context_line":"            if p.returncode !\u003d 0:"},{"line_number":551,"context_line":"                final_returncode \u003d p.returncode"}],"source_content_type":"text/x-python","patch_set":2,"id":"2b6a49d0_ad3649ab","line":548,"updated":"2023-03-06 05:06:00.000000000","message":"Is there a compelling reason to do this and not exec() here to replace ourself with the disk-image-create script?","commit_id":"d9e22908ac608eb362cb7f3de391e5aaffad2f38"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"46f113fda6fb514d3092d6f4ae294d1fdf6c16ff","unresolved":true,"context_lines":[{"line_number":545,"context_line":"        sys.stderr.write(\"\\n\")"},{"line_number":546,"context_line":"        sys.stderr.flush()"},{"line_number":547,"context_line":"        if not args.dry_run:"},{"line_number":548,"context_line":"            p \u003d subprocess.Popen(command.command(), env\u003dcommand.merged_env())"},{"line_number":549,"context_line":"            p.communicate()"},{"line_number":550,"context_line":"            if p.returncode !\u003d 0:"},{"line_number":551,"context_line":"                final_returncode \u003d p.returncode"}],"source_content_type":"text/x-python","patch_set":2,"id":"663944f0_546c4aff","line":548,"in_reply_to":"2b6a49d0_ad3649ab","updated":"2023-03-07 01:36:18.000000000","message":"The command can build multiple images, wouldn\u0027t exec halt after the first image?","commit_id":"d9e22908ac608eb362cb7f3de391e5aaffad2f38"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"797a723b2113d9d9d622814d3a8f31ab8dc62a9e","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        sys.stderr.write(\"\\n\")"},{"line_number":546,"context_line":"        sys.stderr.flush()"},{"line_number":547,"context_line":"        if not args.dry_run:"},{"line_number":548,"context_line":"            p \u003d subprocess.Popen(command.command(), env\u003dcommand.merged_env())"},{"line_number":549,"context_line":"            p.communicate()"},{"line_number":550,"context_line":"            if p.returncode !\u003d 0:"},{"line_number":551,"context_line":"                final_returncode \u003d p.returncode"}],"source_content_type":"text/x-python","patch_set":2,"id":"98e4dc6d_61fb525d","line":548,"in_reply_to":"663944f0_546c4aff","updated":"2023-03-10 08:28:51.000000000","message":"ok, fair enough.","commit_id":"d9e22908ac608eb362cb7f3de391e5aaffad2f38"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"797a723b2113d9d9d622814d3a8f31ab8dc62a9e","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            \"ppc64el\","},{"line_number":279,"context_line":"            \"ppc64le\","},{"line_number":280,"context_line":"            \"s390x\","},{"line_number":281,"context_line":"            \"x86_64\","},{"line_number":282,"context_line":"        ],"},{"line_number":283,"context_line":"    ),"},{"line_number":284,"context_line":"    ArgEnumList("}],"source_content_type":"text/x-python","patch_set":4,"id":"ef70433c_a70ed05f","line":281,"updated":"2023-03-10 08:28:51.000000000","message":"this is a very optimistic list 😊","commit_id":"ea553df4e58df9bd13321766e4838f28fe882934"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"a5a6ebcf157473a7924a60ba470eeeeea5dc9ab9","unresolved":true,"context_lines":[{"line_number":278,"context_line":"            \"ppc64el\","},{"line_number":279,"context_line":"            \"ppc64le\","},{"line_number":280,"context_line":"            \"s390x\","},{"line_number":281,"context_line":"            \"x86_64\","},{"line_number":282,"context_line":"        ],"},{"line_number":283,"context_line":"    ),"},{"line_number":284,"context_line":"    ArgEnumList("}],"source_content_type":"text/x-python","patch_set":4,"id":"2b37739a_d3416091","line":281,"in_reply_to":"ef70433c_a70ed05f","updated":"2023-03-12 20:11:11.000000000","message":"I know, I just searched for ARCH in all elements. Mentions are not endorsements 😎\n\nWe could not limit the choices at all, or reduce the list to something \"supported\" but I hope someone else would supply that list.","commit_id":"ea553df4e58df9bd13321766e4838f28fe882934"}],"diskimage_builder/tests/test_diskimage_builder.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"2e17db77b77165589198d9984d7b392586a4b1c9","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        self.assertEqual(\"/path/to/elements\", env[\"ELEMENTS_PATH\"])"},{"line_number":188,"context_line":"        self.assertEqual(\"/path/to/image.qcow2\", env[\"DIB_CLOUD_IMAGES\"])"},{"line_number":189,"context_line":"        self.assertIn(needle\u003d\"_LIB\", haystack\u003denv)"},{"line_number":190,"context_line":"        # this will be merged with the whole environment, so there will be more than 3 values"},{"line_number":191,"context_line":"        self.assertGreater(len(env), 3)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_command(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fac2b2bd_60e561ee","line":190,"in_reply_to":"647dacc9_3f894b5d","updated":"2023-03-05 20:37:41.000000000","message":"Done","commit_id":"802be2218262e6fa450005387017367c8bf53d75"}],"setup.cfg":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"4cb6c18e5b58e88de4416dd901175399b360cba2","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    disk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":37,"context_line":"    ramdisk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":38,"context_line":"    diskimage-builder \u003d diskimage_builder.diskimage_builder:main"},{"line_number":39,"context_line":"    dib \u003d diskimage_builder.diskimage_builder:main"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"diskimage_builder.block_device.plugin \u003d"},{"line_number":42,"context_line":"    local_loop \u003d diskimage_builder.block_device.level0.localloop:LocalLoop"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"487660df_44e079bc","line":39,"updated":"2023-03-03 16:14:54.000000000","message":"I would install a single command. Users can use alias or symlinks if they really need a different name for the tool.","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"524994247610db04b52000ace4e7aa506767a67b","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    disk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":37,"context_line":"    ramdisk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":38,"context_line":"    diskimage-builder \u003d diskimage_builder.diskimage_builder:main"},{"line_number":39,"context_line":"    dib \u003d diskimage_builder.diskimage_builder:main"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"diskimage_builder.block_device.plugin \u003d"},{"line_number":42,"context_line":"    local_loop \u003d diskimage_builder.block_device.level0.localloop:LocalLoop"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"84ce492b_3f1f8372","line":39,"in_reply_to":"487660df_44e079bc","updated":"2023-03-05 20:23:44.000000000","message":"OK, I might stick with diskimage-builder, it has always bugged me the project doesn\u0027t have a tool named after it.","commit_id":"802be2218262e6fa450005387017367c8bf53d75"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"2e17db77b77165589198d9984d7b392586a4b1c9","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    disk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":37,"context_line":"    ramdisk-image-create \u003d diskimage_builder.disk_image_create:main"},{"line_number":38,"context_line":"    diskimage-builder \u003d diskimage_builder.diskimage_builder:main"},{"line_number":39,"context_line":"    dib \u003d diskimage_builder.diskimage_builder:main"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"diskimage_builder.block_device.plugin \u003d"},{"line_number":42,"context_line":"    local_loop \u003d diskimage_builder.block_device.level0.localloop:LocalLoop"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"e8b5e18b_b4659b29","line":39,"in_reply_to":"84ce492b_3f1f8372","updated":"2023-03-05 20:37:41.000000000","message":"Done","commit_id":"802be2218262e6fa450005387017367c8bf53d75"}]}
