)]}'
{"diskimage_builder/elements/bootloader/finalise.d/50-bootloader":[{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d81fce6e9ed637a5e89781f83c8f66e4bbcf74e6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"set -eu"},{"line_number":10,"context_line":"set -o pipefail"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a30ddce_92d1f959","line":12,"updated":"2017-03-10 06:45:55.000000000","message":"With the block device layer changes in V2, this is not true any longer: please see [1] lines 531f how to get this information now. IMHO there is currently no way to get boot device information - if you need it, please add this to the block device layer. In the past it was assumed that the root device is always also the boot device; this leads currently to the fact, that it is not possible to have a /boot partition - which will be fixed soon.\n\n[1] https://review.openstack.org/#/c/426618/14/diskimage_builder/lib/disk-image-create","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":25545,"name":"zgdeng","email":"bjzgdeng@cn.ibm.com","username":"zgdeng"},"change_message_id":"74dff1de6d645fbd2ab628b9cae35f98dc50d75e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"set -eu"},{"line_number":10,"context_line":"set -o pipefail"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ffe62b97_edfe2004","line":12,"in_reply_to":"9a30ddce_92d1f959","updated":"2017-03-24 10:12:56.000000000","message":"Hi Andreas, I saw the getval phase has not been merged into the master, right?\nIt seems that you are working on it.\nAfter some digging, i found it a little hard to get info like the starts and ends of partitions. For example, when these info is required in the finalise.d phase.","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":25545,"name":"zgdeng","email":"bjzgdeng@cn.ibm.com","username":"zgdeng"},"change_message_id":"3e7396ca961392d26b5c47ade087b445c2dc75ef","unresolved":false,"context_lines":[{"line_number":9,"context_line":"set -eu"},{"line_number":10,"context_line":"set -o pipefail"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ffe62b97_9aab1a88","line":12,"in_reply_to":"ffe62b97_d65f4f3f","updated":"2017-03-26 09:30:41.000000000","message":"For s390 zipl is used instead of grub for preparing the bootloader onto the boot device, wherein a boot device should be the logical device(dm) or physical device(dasd or scsi)or partitions where \u0027/boot\u0027 resides.\nFor now, it seems that the zipl can not get the device\u0027s physical topology when the loop device is used as a target device(this is what zipl names boot device). Hence, the parted used as a helper of zipl to get the physical block size and partition offset,etc in this patch set(although there are some logical error therein).","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"5258b3b0d2cecd422660e974c9727ef8b564378f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"set -eu"},{"line_number":10,"context_line":"set -o pipefail"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ffe62b97_d65f4f3f","line":12,"in_reply_to":"ffe62b97_edfe2004","updated":"2017-03-24 22:46:43.000000000","message":"Yes - still not merged; waiting for tests and reviews.\n\nI\u0027m confused: why do you need the start and end of the partition?\nIMHO at this point there is the need to have information about the device name?","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d81fce6e9ed637a5e89781f83c8f66e4bbcf74e6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"},{"line_number":16,"context_line":"        if [ \"${BOOT_DEV}\" !\u003d \"${IMAGE_BLOCK_DEVICE}\" ]; then"},{"line_number":17,"context_line":"            PART_NO\u003d$(echo $IMAGE_BLOCK_DEVICE | sed -e \"#${BOOT_DEV}p\\([1-9]\\+\\)\\$#\\1#\")"},{"line_number":18,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a30ddce_9f32e20e","line":15,"updated":"2017-03-10 06:45:55.000000000","message":"This is in general not true any more. Since V2 it is practical possible to have any kind of block device used here (e.g. an existing physical one or an iSCSI). [Yes - currently there is only one implemented, but more will follow.]\n\nSee https://git.openstack.org/cgit/openstack/diskimage-builder/tree/diskimage_builder/block_device","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d81fce6e9ed637a5e89781f83c8f66e4bbcf74e6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"if [ \"$ARCH\" \u003d\u003d \"s390x\" ]; then"},{"line_number":15,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"},{"line_number":16,"context_line":"        if [ \"${BOOT_DEV}\" !\u003d \"${IMAGE_BLOCK_DEVICE}\" ]; then"},{"line_number":17,"context_line":"            PART_NO\u003d$(echo $IMAGE_BLOCK_DEVICE | sed -e \"#${BOOT_DEV}p\\([1-9]\\+\\)\\$#\\1#\")"},{"line_number":18,"context_line":"        else"},{"line_number":19,"context_line":"            PART_NO\u003d\"\""},{"line_number":20,"context_line":"        fi"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a30ddce_d23e118a","line":17,"updated":"2017-03-10 06:45:55.000000000","message":"Also this does not work any longer; please note that there is no need any longer that the IMAGE_BLOCK_DEVICE is something with a partition: this can be any block device like md, LVM, ...","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d81fce6e9ed637a5e89781f83c8f66e4bbcf74e6","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        cat /etc/zipl.conf"},{"line_number":68,"context_line":"        sed -i\".dib.bkp\" \"s/\\(parameters\u003d\\\"[^\\\"]*\\)\\\"/\\1 console\u003dttyS0 console\u003dttyS1\\\"/g\" /etc/zipl.conf"},{"line_number":69,"context_line":"    else"},{"line_number":70,"context_line":"        parted -m ${BOOT_DEV} unit s print"},{"line_number":71,"context_line":"        imagename\u003d`find /boot -name \"vmlinuz-*\" | head -n1`"},{"line_number":72,"context_line":"        ramdiskname\u003d`find /boot -name \"initrd.img-*\" | head -n1`"},{"line_number":73,"context_line":"        if [[ \"${PART_NO}\" \u003d~ \"[0-9]+\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a30ddce_32e68d15","line":70,"updated":"2017-03-10 06:45:55.000000000","message":"Also this block (lines 70-78) needs adaptions for the new block layer. In general: using parted here is a bad idea; the output is not defined and might be changing between different versions and distributions.\n\nThe information about partitioning (like offset and blocksize) are already available in the block-device layer: the only thing that needs to be done here is to add a command to get this information to the outside.)","commit_id":"e86cf765a9e11ff91cb1ec5a53c5922c43d09a5a"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"37a4bc9b244a69823889d19ccbe395f0aea201ad","unresolved":false,"context_lines":[{"line_number":12,"context_line":"PART_DEV\u003d$IMAGE_BLOCK_DEVICE"},{"line_number":13,"context_line":"BOOT_DEV\u003d$IMAGE_BLOCK_DEVICE_WITHOUT_PART"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"function set_part_no {"},{"line_number":16,"context_line":"    # revert to block device WITH part, needed for zipl install"},{"line_number":17,"context_line":"    if [[ \"$IMAGE_BLOCK_DEVICE\" \u003d~ \"loop\" ]]; then"},{"line_number":18,"context_line":"        # overwriting BOOT_DEV might be redundant"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f044301_014aec7e","line":15,"updated":"2017-05-08 14:15:19.000000000","message":"this method does 2 things:\n- overriding the BOOT_DEV \n- setting PART_NO\n\nthe method name does not reflect that. So either update the name or make 2 methods out of it....","commit_id":"7c5ea051e8654160398216fef9326985eebabea5"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"61cc95b5a55f4959116bfc02291b638e22f6575d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"defaultauto"},{"line_number":52,"context_line":"default\u003dlinux"},{"line_number":53,"context_line":"target\u003d/boot"},{"line_number":54,"context_line":"targettype\u003dSCSI"},{"line_number":55,"context_line":"targetblocksize\u003d${blocksize}"},{"line_number":56,"context_line":"targetoffset\u003d${offset}"},{"line_number":57,"context_line":"targetbase\u003d${BOOT_DEV}"},{"line_number":58,"context_line":"[linux]"},{"line_number":59,"context_line":"image\u003d${imagename}"},{"line_number":60,"context_line":"ramdisk\u003d${ramdiskname}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3f044301_a150d85e","line":57,"range":{"start_line":54,"start_character":0,"end_line":57,"end_character":22},"updated":"2017-05-08 13:23:55.000000000","message":"those lines need to be removed again after zipl has run. Othwise you get the following error when you run zipl in a launched VM:\n\n  \n  Error: Could not read master boot record: Reached unexpected end of file","commit_id":"7c5ea051e8654160398216fef9326985eebabea5"}],"diskimage_builder/elements/install-static/static/lib/s390-tools/zipl_helper.blkext":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"b075319b8fa149521a95dfc8ffeba327357a3212","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7f515b1d_489f0203","updated":"2017-09-26 07:11:09.000000000","message":"This file should be located in the zipl element as well","commit_id":"b2a3c6908772e4397cbdc73b08915a18b4d77332"},{"author":{"_account_id":25545,"name":"zgdeng","email":"bjzgdeng@cn.ibm.com","username":"zgdeng"},"change_message_id":"65fa9a97adbe10948a50b9df7c7110c360bb88fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7f515b1d_b2f5c485","in_reply_to":"7f515b1d_489f0203","updated":"2017-09-26 07:44:55.000000000","message":"You must not put this file in the zipl element, this file should be installed into the output image. Put this file in the zipl element does not install the file into the image.","commit_id":"b2a3c6908772e4397cbdc73b08915a18b4d77332"}],"diskimage_builder/elements/zipl/README.rst":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"f08d5abbbc5e854a91a83682c2301dc1a96f1da9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"zipl"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Installs zip boot loader on the base devices holding /boot partition on the system."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Arguments"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f044301_be49dc31","line":5,"updated":"2017-05-11 06:15:24.000000000","message":"nit: maybe state the acronym in braces\n\n  (zipl)","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"}],"diskimage_builder/elements/zipl/finalise.d/50-zipl":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"f08d5abbbc5e854a91a83682c2301dc1a96f1da9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Configure grub. Note that the various conditionals here are to handle"},{"line_number":4,"context_line":"# different distributions gracefully."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f044301_bec43c92","line":3,"range":{"start_line":3,"start_character":12,"end_line":3,"end_character":16},"updated":"2017-05-11 06:15:24.000000000","message":"probably zipl...","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"f08d5abbbc5e854a91a83682c2301dc1a96f1da9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"offset\u003d2048"},{"line_number":17,"context_line":"blocksize\u003d512"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"cat \u003e /lib/s390-tools/zipl_helper.blkext \u003c\u003chere"},{"line_number":20,"context_line":"#!/bin/bash"},{"line_number":21,"context_line":"echo targettype\u003dSCSI"},{"line_number":22,"context_line":"echo targetblocksize\u003d${blocksize}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f044301_9e6bc083","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":33},"updated":"2017-05-11 06:15:24.000000000","message":"who is using this script?","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"9aded059103314ed3fe5c20db1b42e0906baa678","unresolved":false,"context_lines":[{"line_number":16,"context_line":"offset\u003d2048"},{"line_number":17,"context_line":"blocksize\u003d512"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"cat \u003e /lib/s390-tools/zipl_helper.blkext \u003c\u003chere"},{"line_number":20,"context_line":"#!/bin/bash"},{"line_number":21,"context_line":"echo targettype\u003dSCSI"},{"line_number":22,"context_line":"echo targetblocksize\u003d${blocksize}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f044301_5e64184a","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":33},"in_reply_to":"3f044301_3ec38c5f","updated":"2017-05-11 07:05:58.000000000","message":"ah ok. A comment in the code including a link to the zipl docs [1] would be helpful - Not sure how many zipl experts are out there ;)\n\nWhat I understood: depending on the device driver used (blkext for loop device) the corresponding helper file is included. If I now run zipl in a running vm, then the default device-mapper helper is used. Does that make sense?\n\n\n[1] https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.lgdd/lgdd_r_zipl_lhelp_script.html","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"},{"author":{"_account_id":25545,"name":"zgdeng","email":"bjzgdeng@cn.ibm.com","username":"zgdeng"},"change_message_id":"5775799a83c06b39841206c70be268d09c29005a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"offset\u003d2048"},{"line_number":17,"context_line":"blocksize\u003d512"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"cat \u003e /lib/s390-tools/zipl_helper.blkext \u003c\u003chere"},{"line_number":20,"context_line":"#!/bin/bash"},{"line_number":21,"context_line":"echo targettype\u003dSCSI"},{"line_number":22,"context_line":"echo targetblocksize\u003d${blocksize}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f044301_d9cde266","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":33},"in_reply_to":"3f044301_5e64184a","updated":"2017-05-11 07:59:15.000000000","message":"The helper will only be required if zipl can not figure out what type of device is handling.  For example, when \u0027/boot\u0027 path is located on a  logical device like dm, then zipl needs helper.device-mapper to track down the physical device or partirion.  \n\nWhen run zipl in a running vm, it does not need helper, unless the /boot dir resides on some logical device.","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"},{"author":{"_account_id":25545,"name":"zgdeng","email":"bjzgdeng@cn.ibm.com","username":"zgdeng"},"change_message_id":"98593382bc3cd49995dfd68f25df3375d042af6a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"offset\u003d2048"},{"line_number":17,"context_line":"blocksize\u003d512"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"cat \u003e /lib/s390-tools/zipl_helper.blkext \u003c\u003chere"},{"line_number":20,"context_line":"#!/bin/bash"},{"line_number":21,"context_line":"echo targettype\u003dSCSI"},{"line_number":22,"context_line":"echo targetblocksize\u003d${blocksize}"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3f044301_3ec38c5f","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":33},"in_reply_to":"3f044301_9e6bc083","updated":"2017-05-11 06:31:50.000000000","message":"The zipl will run the corresponding \u0027helper\u0027 for different \u0027Device driver name\u0027 on the fly.\nIn this case \u0027blkext\u0027, i dont know why not be \u0027loop\u0027 yet.\n\nBasically, all the helper script needs to output params for zipl oneline each. (You can refer the device-mapper helper).\n\nIt\u0027s better to use values under \u0027/sys/dev/block\u0027 to retrieve all the block device metric than parted alike in the helper.","commit_id":"6c884ac30e6fb2daaeb6e0f2899db0c7553d35db"}],"diskimage_builder/elements/zipl/static/lib/s390-tools/zipl_helper.blkext":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8a99834e935da441b75513407556a6944a2d74e0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"#                      when building cloud-image"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# Copyright IBM Corp. 2017"},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"# Author: Zhi Guo Deng \u003cbjzgdeng@cn.ibm.com\u003e"},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":"# Usage: zipl_helper.blkext \u003ctarget directory\u003e or"}],"source_content_type":"application/x-perl","patch_set":7,"id":"7f515b1d_9713ddb8","line":7,"updated":"2017-10-06 03:26:03.000000000","message":"This needs an apache license header.  It is bespoke or copied from something else?","commit_id":"3b1c58c1610d3bd3b8c878e988be9facc3685a6d"}]}
