)]}'
{"ironic_python_agent/extensions/standby.py":[{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"53d6314ff45d10f8de75e1bcfabd7abcaa972681","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    LOG.debug(\u0027Writing configdrive to {0}\u0027.format(filename))"},{"line_number":60,"context_line":"    # configdrive data is base64\u0027d, decode it first"},{"line_number":61,"context_line":"    data \u003d base64.b64decode(configdrive)"},{"line_number":62,"context_line":"    with open(filename, \u0027wb\u0027) as f:"},{"line_number":63,"context_line":"        f.write(data)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXH%2F%2Fa%2FQ%3D","line":62,"updated":"2014-04-21 23:16:10.000000000","message":"I think you\u0027ll need to ungzip here.","commit_id":"836aabd1203b484f344f3a6b3d596e04f2c2a286"}],"ironic_python_agent/shell/copy_configdrive_to_disk.sh":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7be74e97c6037843ad09c119cc27d437cba800bc","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# This generates the ISO image of the config drive."},{"line_number":32,"context_line":"log \"Writing Configdrive contents in $CONFIGDRIVE to $ISO_PARTITION\""},{"line_number":33,"context_line":"dd if\u003d$CONFIGDRIVE of\u003d$ISO_PARTITION bs\u003d1M"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"log \"${DEVICE} imaged successfully!\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAW3%2F%2FnvY%3D","line":33,"updated":"2014-04-11 16:48:09.000000000","message":"https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/shell/write_image.sh#L38 \nCan we use bs\u003d64K and oflag\u003ddirect like we do here?\n\nIn a future merge req, might even be sensible to have \u0027write an image to a place\u0027 be made more generic so write_image and copy_configdrive_to_disk can share code (or be redone in python), but that\u0027s something for later.","commit_id":"8b5d5b4ac7e2bd17b4734a9d9dc736b2ce098d7f"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"bbb50e97715dd2a314bb6599a5c67370030a4c0b","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# This generates the ISO image of the config drive."},{"line_number":32,"context_line":"log \"Writing Configdrive contents in $CONFIGDRIVE to $ISO_PARTITION\""},{"line_number":33,"context_line":"dd if\u003d$CONFIGDRIVE of\u003d$ISO_PARTITION bs\u003d64k oflag\u003ddirect"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"log \"${DEVICE} imaged successfully!\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAW3%2F%2FnsM%3D","line":33,"updated":"2014-04-11 17:04:26.000000000","message":"in write_image.sh, the \u0027k\u0027 is uppercased. IDK if it matters but consistency would be better.","commit_id":"7da5f1004040f3c31fb67c0683e1a448793afca7"},{"author":{"_account_id":10626,"name":"Russell Haering","email":"russellhaering@gmail.com","username":"russell_h"},"change_message_id":"ea062b7fd4ba6a4239dba3c09826af4508e8efc3","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Create small partition at the end of the device"},{"line_number":24,"context_line":"log \"Adding configdrive partition to $DEVICE\""},{"line_number":25,"context_line":"parted -a optimal -s -- $DEVICE mkpart primary ext2 -64MiB -0"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# Find partition we just created"},{"line_number":28,"context_line":"# Dump all partitions, ignore empty ones, then get the last partition ID"}],"source_content_type":"text/x-sh","patch_set":5,"id":"AAAAW3%2F%2FakQ%3D","line":25,"updated":"2014-04-14 18:22:41.000000000","message":"We need to validate the size of the configdrive file against the size of the partition.","commit_id":"0cfa2e71b7e35dd750dd1b9f0804d40d84ba418d"}],"ironic_python_agent/standby.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7be74e97c6037843ad09c119cc27d437cba800bc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    command \u003d [\u0027/bin/bash\u0027, script, filename, device]"},{"line_number":76,"context_line":"    LOG.info(\u0027copying configdrive to disk with command {0}\u0027.format("},{"line_number":77,"context_line":"             \u0027 \u0027.join(command)))"},{"line_number":78,"context_line":"    exit_code \u003d subprocess.call(command)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if exit_code !\u003d 0:"},{"line_number":81,"context_line":"        raise errors.ConfigDriveWriteError(exit_code, device)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAW3%2F%2FnvA%3D","line":78,"updated":"2014-04-11 16:48:09.000000000","message":"Since you\u0027re already modifying stuff here, can you swap this and the write_image call above to use utils.execute()?","commit_id":"8b5d5b4ac7e2bd17b4734a9d9dc736b2ce098d7f"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"bbb50e97715dd2a314bb6599a5c67370030a4c0b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    command \u003d [\u0027/bin/bash\u0027, script, filename, device]"},{"line_number":76,"context_line":"    LOG.info(\u0027copying configdrive to disk with command {0}\u0027.format("},{"line_number":77,"context_line":"             \u0027 \u0027.join(command)))"},{"line_number":78,"context_line":"    exit_code \u003d utils.execute(command)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if exit_code !\u003d 0:"},{"line_number":81,"context_line":"        raise errors.ConfigDriveWriteError(exit_code, device)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fnrs%3D","line":78,"updated":"2014-04-11 17:04:26.000000000","message":"This won\u0027t work. utils.execute wants the options not wrapped in a list, i.e. utils.execute(\u0027/bin/bash\u0027, script, filename, device) rather than utils.execute([\u0027/bin/bash\u0027, script, filename, device]).\n\nSame issue a few lines up in _write_image()","commit_id":"7da5f1004040f3c31fb67c0683e1a448793afca7"}]}
