)]}'
{"clean.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"597e2b6090deeb266f5c53b465d3a151bce842d5","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"# cinder doesn\u0027t always clean up the volume group as it might be used elsewhere..."},{"line_number":65,"context_line":"# clean it up if it is a loop device"},{"line_number":66,"context_line":"VG_DEV\u003d$(sudo losetup -j $DATA_DIR/${VOLUME_GROUP}-backing-file | awk -F\u0027:\u0027 \u0027/backing-file/ { print $1}\u0027)"},{"line_number":67,"context_line":"if [[ -n \"$VG_DEV\" ]]; then"},{"line_number":68,"context_line":"    sudo losetup -d $VG_DEV"},{"line_number":69,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAPH%2F%2FmgA%3D","line":66,"updated":"2013-05-29 15:34:16.000000000","message":"Does this bit still need to be here?","commit_id":"e3a7025a680471cdb67c2ce37a2972379876a68f"}],"lib/cinder":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"ee238d2b0c1c67e89eefd4c3a513a98d682131ed","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    # Campsite rule: leave behind a volume group at least as clean as we found it"},{"line_number":130,"context_line":"    _clean_volume_group $VOLUME_GROUP $VOLUME_NAME_PREFIX"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    # if there is no logical volume left, it\u0027s safe to attempt a cleanup"},{"line_number":133,"context_line":"    if [ -z \"`sudo lvs --noheadings -o lv_name $VOLUME_GROUP`\" ]; then"},{"line_number":134,"context_line":"        # if the backing physical device is a loop device, it was probably setup by devstack"},{"line_number":135,"context_line":"        VG_DEV\u003d$(sudo losetup -j $DATA_DIR/${VOLUME_GROUP}-backing-file | awk -F\u0027:\u0027 \u0027/backing-file/ { print $1}\u0027)"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAPH%2F%2Ft7o%3D","line":132,"updated":"2013-05-24 15:50:53.000000000","message":"I think this belongs in _clean_volume_group()","commit_id":"b79dffd7ba342871fa1ac06374a9f236b5338b43"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"597e2b6090deeb266f5c53b465d3a151bce842d5","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"# _clean_volume_group removes all cinder volumes from the specified volume group"},{"line_number":84,"context_line":"# _clean_volume_group $VOLUME_GROUP $VOLUME_NAME_PREFIX"},{"line_number":85,"context_line":"function _clean_volume_group() {"},{"line_number":86,"context_line":"    local vg\u003d$1"},{"line_number":87,"context_line":"    local vg_prefix\u003d$2"},{"line_number":88,"context_line":"    # Clean out existing volumes"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAPH%2F%2Fmgg%3D","line":85,"updated":"2013-05-29 15:34:16.000000000","message":"FWIW this name is inaccurate for what the function currently does...but would be fine for a combined function.","commit_id":"e3a7025a680471cdb67c2ce37a2972379876a68f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"597e2b6090deeb266f5c53b465d3a151bce842d5","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# _clean_lvm_backing_file removes the backing file of the LVM volume group used by cinder"},{"line_number":98,"context_line":"# _clean_lvm_backing_file $VOLUME_GROUP"},{"line_number":99,"context_line":"function _clean_lvm_backing_file() {"},{"line_number":100,"context_line":"    local vg\u003d$1"},{"line_number":101,"context_line":"    # if there is no logical volume left, it\u0027s safe to attempt a cleanup"},{"line_number":102,"context_line":"    if [ -z \"`sudo lvs --noheadings -o lv_name $vg`\" ]; then"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAPH%2F%2FmgQ%3D","line":99,"updated":"2013-05-29 15:34:16.000000000","message":"This really should be named _clean_volume_group(), but combined with the above function it wouldn\u0027t matter.","commit_id":"e3a7025a680471cdb67c2ce37a2972379876a68f"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"597e2b6090deeb266f5c53b465d3a151bce842d5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"function _clean_lvm_backing_file() {"},{"line_number":100,"context_line":"    local vg\u003d$1"},{"line_number":101,"context_line":"    # if there is no logical volume left, it\u0027s safe to attempt a cleanup"},{"line_number":102,"context_line":"    if [ -z \"`sudo lvs --noheadings -o lv_name $vg`\" ]; then"},{"line_number":103,"context_line":"        # if the backing physical device is a loop device, it was probably setup by devstack"},{"line_number":104,"context_line":"        VG_DEV\u003d$(sudo losetup -j $DATA_DIR/${vg}-backing-file | awk -F\u0027:\u0027 \u0027/backing-file/ { print $1}\u0027)"},{"line_number":105,"context_line":"        if [[ -n \"$VG_DEV\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAPH%2F%2Fmgw%3D","line":102,"updated":"2013-05-29 15:34:16.000000000","message":"Should there be a pvremove here to keep LVM clean?","commit_id":"e3a7025a680471cdb67c2ce37a2972379876a68f"}]}
