)]}'
{".zuul.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"3c14cadf8ed85c19aa0b9f05e45403e20bb1f17c","unresolved":false,"context_lines":[{"line_number":175,"context_line":"      - tools/gate/playbooks/osh-infra-upgrade-host.yaml"},{"line_number":176,"context_line":"      - tools/gate/playbooks/osh-infra-deploy-docker.yaml"},{"line_number":177,"context_line":"      - tools/gate/playbooks/osh-infra-build.yaml"},{"line_number":178,"context_line":"      - tools/gate/playbooks/osh-infra-setup-loopback-devices.yaml"},{"line_number":179,"context_line":"      - tools/gate/playbooks/osh-infra-pull-images.yaml"},{"line_number":180,"context_line":"      - tools/gate/playbooks/osh-infra-deploy-k8s.yaml"},{"line_number":181,"context_line":"      - tools/gate/playbooks/osh-infra-label-node-ceph-block-devices.yaml"}],"source_content_type":"text/x-yaml","patch_set":71,"id":"7f96bb07_39593c34","line":178,"range":{"start_line":178,"start_character":8,"end_line":178,"end_character":66},"updated":"2018-01-17 00:57:44.000000000","message":"to test this survives a reboot it should be placed 1st in the list","commit_id":"be04029f279f262676993632109676c11662ba30"}],"tools/gate/devel/start.sh":[{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  PLAYBOOKS\u003d\"osh-infra-collect-logs\""},{"line_number":89,"context_line":"elif [ \"x${DEPLOY}\" \u003d\u003d \"xfull\" ]; then"},{"line_number":90,"context_line":"  ansible_install"},{"line_number":91,"context_line":"  PLAYBOOKS\u003d\"osh-infra-docker osh-infra-build osh-infra-deploy-k8s osh-infra-setup-loopback-devices osh-infra-deploy-charts osh-infra-collect-logs osh-infra-label-node-ceph-block-devices\""},{"line_number":92,"context_line":"else"},{"line_number":93,"context_line":"  echo \"Unknown Deploy Option Selected\""},{"line_number":94,"context_line":"  exit 1"}],"source_content_type":"text/x-sh","patch_set":58,"id":"7f96bb07_221854d1","line":91,"updated":"2018-01-15 22:05:12.000000000","message":"Should we call cleanup-loopback-devices at the end?","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"}],"tools/gate/playbooks/label-node-ceph-block-devices/tasks/main.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  register: debug_disk_info_b"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- name: debug - Display debug info - device mounted, iscsi sessions"},{"line_number":26,"context_line":"  debug: msg\u003d\"{{debug_disk_info_b}}\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Label nodes for OSDs"}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_4ff3660b","line":26,"updated":"2018-01-28 00:57:50.000000000","message":"nit: can we be consistent with the spaces inside the curly braces?","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"}],"tools/gate/playbooks/loopback-devices-cleanup/tasks/main.yaml":[{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  script: \"{{ work_dir }}/tools/gate/playbooks/loopback-devices-cleanup/templates/loopback_cleanup.sh\""},{"line_number":20,"context_line":"#  shell: |-"},{"line_number":21,"context_line":"#         set -e"},{"line_number":22,"context_line":"#         tools/gate/playbooks/loopback-devices-cleanup/templates/loopback_cleanup.sh"},{"line_number":23,"context_line":"#  args:"},{"line_number":24,"context_line":"#    chdir: \"{{ work_dir }}\""},{"line_number":25,"context_line":"#    executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"7f96bb07_227db4e6","line":22,"updated":"2018-01-15 22:05:12.000000000","message":"Can this be added to the block device script as an option against a stand-alone script? Just a thought.","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"}],"tools/gate/playbooks/loopback-devices-cleanup/templates/loopback_cleanup.sh":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh"},{"line_number":2,"context_line":"iscsiadm -m node -u all"},{"line_number":3,"context_line":"for foo in `targetcli \u0027iscsi/ ls\u0027 | grep openstack| awk \u0027{print $2}\u0027`; do targetcli iscsi/ delete ${foo}; done"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"for foo in `targetcli \u0027backstores/fileio ls\u0027 | grep -v fileio| awk \u0027{print $2}\u0027`; do targetcli backstores/fileio delete ${foo}; done"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-sh","patch_set":81,"id":"5f93b717_af630ab1","line":3,"updated":"2018-01-28 00:57:50.000000000","message":"Can we break this loop onto multiple lines, and give the loop var a descriptive name?","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":2,"context_line":"iscsiadm -m node -u all"},{"line_number":3,"context_line":"for foo in `targetcli \u0027iscsi/ ls\u0027 | grep openstack| awk \u0027{print $2}\u0027`; do targetcli iscsi/ delete ${foo}; done"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"for foo in `targetcli \u0027backstores/fileio ls\u0027 | grep -v fileio| awk \u0027{print $2}\u0027`; do targetcli backstores/fileio delete ${foo}; done"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"yes Y |targetcli saveconfig"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-sh","patch_set":81,"id":"5f93b717_6f5d02e8","line":5,"updated":"2018-01-28 00:57:50.000000000","message":"ditto","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"}],"tools/gate/playbooks/loopback-devices-output/tasks/main.yaml":[{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    executable: /bin/bash"},{"line_number":26,"context_line":"  register: debug_tree_build_loc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- name: debug - Display directory tree for validation debug_tree_build_loc"},{"line_number":29,"context_line":"  debug: msg\u003d\"{{debug_tree_build_loc.stdout_lines}}\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Copy collected loopback device files to another directory for futher processing"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"7f96bb07_6255fc1c","line":28,"updated":"2018-01-15 22:05:12.000000000","message":"maybe we can print the debug msgs if the subsequent task fails? capture for errors and then print the output?","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"},{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    chdir: \"{{ work_dir }}\""},{"line_number":62,"context_line":"    executable: /bin/bash"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- name: Showing ceph block_devices values"},{"line_number":65,"context_line":"  shell: |"},{"line_number":66,"context_line":"    set -xe;"},{"line_number":67,"context_line":"    cat \"{{ loopback_devices.ceph_block_devices_output}}\";"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"7f96bb07_8225a8c4","line":64,"updated":"2018-01-15 22:05:12.000000000","message":"I think we can merge the below two tasks by changing \"debug: msg\u003d..\" to debug: var\u003d{{ variable }}. According to the docs, https://docs.ansible.com/ansible/devel/plugins/lookup/file.html","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  register: debug_tree_build_loc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- name: debug - Display directory tree for validation debug_tree_build_loc"},{"line_number":29,"context_line":"  debug: msg\u003d\"{{debug_tree_build_loc.stdout_lines}}\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Copy collected loopback device files to another directory for futher processing"},{"line_number":32,"context_line":"  copy:"}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_ef683288","line":29,"updated":"2018-01-28 00:57:50.000000000","message":"ditto earlier comment on space consistency","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  register: disks_unified_output"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"- name: debug - Display directory tree for validation disks_unified_output"},{"line_number":53,"context_line":"  debug: msg\u003d\"{{disks_unified_output.stdout_lines}}\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"- name: Build Ceph block_devices values section"}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_af08ead8","line":53,"updated":"2018-01-28 00:57:50.000000000","message":"ditto","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  register: block_devices_output"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- name: debug - Showing ceph block_devices values"},{"line_number":73,"context_line":"  debug: msg\u003d\"{{block_devices_output}}\""}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_0ff9dec6","line":73,"updated":"2018-01-28 00:57:50.000000000","message":"ditto","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"}],"tools/gate/playbooks/loopback-devices-setup/tasks/main.yaml":[{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"439b818d06d368a82bba581996103d954f833f5f","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  become_user: root"},{"line_number":66,"context_line":"  vars:"},{"line_number":67,"context_line":"    env:"},{"line_number":68,"context_line":"      LOOPBACK_DIR: \"{{ loopback_devices.loopback_dir_location }}\""},{"line_number":69,"context_line":"      HOST_OS: ansible_distribution"},{"line_number":70,"context_line":"  shell: |-"},{"line_number":71,"context_line":"          set -e"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"7f96bb07_56e79ce5","line":68,"updated":"2018-01-12 14:56:33.000000000","message":"supply a sane default here.","commit_id":"fd270619f4b5e1f0d84090b671b503a3cd8b6fd0"},{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 The Openstack-Helm Authors."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-yaml","patch_set":58,"id":"7f96bb07_bd7ec968","line":1,"updated":"2018-01-15 22:05:12.000000000","message":"If you wish to run the play only when \"loopback_create\" is set, you can move the contents of this file into a seperate one and include that file with the conditional.","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"}],"tools/gate/playbooks/loopback-devices-setup/templates/ceph-block-device-functions.sh":[{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"4f71e432d5f30b7a5c89ffe21c33f33434a58230","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  local LOOPBACK_SIZE\u003d$2"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  # Need to find out how to pass below variables from playbook to script."},{"line_number":29,"context_line":"  LOOPBACK_DIR\u003d${LOOPBACK_DIR:-/var/lib/iscsi-loopback}"},{"line_number":30,"context_line":"  HOST_OS\u003d\"ubuntu\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  if [ ! -d \"${LOOPBACK_DIR}\" ]; then"}],"source_content_type":"text/x-sh","patch_set":39,"id":"7f96bb07_56ab1c88","line":29,"updated":"2018-01-12 14:52:22.000000000","message":"Script is failing because \"LOOPBACK_DIR\" appears to be set to a single blank (\u0027 \u0027).  Probably should make sure it\u0027s sane -- maybe just eliminate leading/trailing whitespace from it before doing this assignment.","commit_id":"fd270619f4b5e1f0d84090b671b503a3cd8b6fd0"},{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"8e82386fa8782b4029476026087d3512152beeb5","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    else"},{"line_number":45,"context_line":"      sudo targetcli backstores/fileio create ${BSNAME} ${BACKSTORE} ${LOOPBACK_SIZE} write_back\u003dfalse"},{"line_number":46,"context_line":"    fi"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # we\u0027ll do these repeatedly, but they\u0027re idempotent and fairly cheap."},{"line_number":49,"context_line":"    sudo targetcli iscsi/ create iqn.2017-12.org.openstack.openstack-helm:${LOOPBACK_NAME}"},{"line_number":50,"context_line":"    sudo targetcli iscsi/iqn.2017-12.org.openstack.openstack-helm:${LOOPBACK_NAME}/tpg1/portals create 0.0.0.0 3260"}],"source_content_type":"text/x-sh","patch_set":39,"id":"7f96bb07_dca4300b","line":47,"updated":"2018-01-12 13:59:47.000000000","message":"I\u0027d suggest just removing the HOST_OS check here, and just changing this to do this unconditionally:\n\nsudo targetcli backstores/fileio create ${BSNAME} ${BACKSTORE} ${LOOPBACK_SIZE}\n\ndisabling the write-back cache probably just isn\u0027t that important.\n\nalso remove the HOST_OS setting above.","commit_id":"fd270619f4b5e1f0d84090b671b503a3cd8b6fd0"},{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"f0c77275bccddf5083c1d702245c9a6278a262fa","unresolved":false,"context_lines":[{"line_number":95,"context_line":"               \u0027\"type\": \"device\"}]\u0027"},{"line_number":96,"context_line":"       N_OSDS\u003d`expr $SW_DEVICE_COUNT - 1`"},{"line_number":97,"context_line":"    done"},{"line_number":98,"context_line":"  )|jq --arg hostname `hostname` -s \u0027add|{\"hostname\": ($hostname), \"block_devices\": [.[]]}\u0027"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"}"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-sh","patch_set":83,"id":"5f93b717_3f6163aa","line":98,"updated":"2018-01-28 19:09:11.000000000","message":"not necessary, but it might be worth considering renaming block_devices here and below in ceph_devicepair_create to something more appropriate to the client system (swift, ceph, etc.)","commit_id":"9971e884d84592743e1c09ed3bfbfc6656929681"},{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"f4068a59b920840f2b1159fb6d187b9acc09cc15","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  # Need to find out how to pass below variables from playbook to script."},{"line_number":37,"context_line":"  LOOPBACK_DIR\u003d${LOOPBACK_DIR:-/var/lib/iscsi-loopback}"},{"line_number":38,"context_line":"  HOST_OS\u003d${HOST_OS}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  if [ ! -d \"${LOOPBACK_DIR}\" ]; then"},{"line_number":41,"context_line":"    mkdir -p ${LOOPBACK_DIR}"}],"source_content_type":"text/x-sh","patch_set":88,"id":"5f93b717_d9391bf2","line":38,"updated":"2018-02-01 03:26:57.000000000","message":"this is a no-op.  did you mean to assign from something else or supply a default value?","commit_id":"2c33dd97292b423080b9db7cec506cea71003419"}],"tools/gate/playbooks/osh-infra-setup-loopback-devices.yaml":[{"author":{"_account_id":18476,"name":"Ganesh Maharaj Mahalingam","email":"ganesh.mahalingam@intel.com","username":"gmmaha"},"change_message_id":"863ced930cdcc314a2da09a678486cf56919c095","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- hosts: all"},{"line_number":2,"context_line":"  gather_facts: true"},{"line_number":3,"context_line":"  become: yes"},{"line_number":4,"context_line":"  become_user: root"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"7f96bb07_d2385f3e","line":1,"updated":"2018-01-15 22:05:12.000000000","message":"Or this task can be executed if  loopback_create is defined.","commit_id":"c2f560e0c0a0caef402fd03e46ee641764f3e18a"}],"tools/gate/playbooks/vars.yaml":[{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"8b07936f41efe323133d4337418a654513022a17","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    journal_size: 5120"},{"line_number":66,"context_line":"  loopback_dir_location: \"/var/lib/iscsi-loopback\""},{"line_number":67,"context_line":"  # Following location should be under project work_dir (vars.yaml)"},{"line_number":68,"context_line":"  build_location: \"tests/openstack-helm/loopback-device-build\""},{"line_number":69,"context_line":"  ceph_block_devices_output: \"tests/ceph-block-storage/ceph-block-strorage.yaml\""},{"line_number":70,"context_line":"#  combined_output_location:"},{"line_number":71,"context_line":"#    \"tests/openstack-helm/loopback-device-build/combined-device-output\""}],"source_content_type":"text/x-yaml","patch_set":44,"id":"7f96bb07_0efa4274","line":68,"updated":"2018-01-14 16:55:10.000000000","message":"this probably an absolute path, rather than relative, probably rooted at the zuul working or source directory.","commit_id":"f75cd09fc5183f2a45befb016de304105960ee7b"},{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"8b07936f41efe323133d4337418a654513022a17","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  loopback_dir_location: \"/var/lib/iscsi-loopback\""},{"line_number":67,"context_line":"  # Following location should be under project work_dir (vars.yaml)"},{"line_number":68,"context_line":"  build_location: \"tests/openstack-helm/loopback-device-build\""},{"line_number":69,"context_line":"  ceph_block_devices_output: \"tests/ceph-block-storage/ceph-block-strorage.yaml\""},{"line_number":70,"context_line":"#  combined_output_location:"},{"line_number":71,"context_line":"#    \"tests/openstack-helm/loopback-device-build/combined-device-output\""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":44,"id":"7f96bb07_2ef5be83","line":69,"updated":"2018-01-14 16:55:10.000000000","message":"same here.","commit_id":"f75cd09fc5183f2a45befb016de304105960ee7b"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"53dcc128c3a42f9eb0c4cdb9a3c2f97d45f19732","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    storage: device"},{"line_number":63,"context_line":"    osds: 3"},{"line_number":64,"context_line":"    osd_size: 32768"},{"line_number":65,"context_line":"    journal_size: 5120"},{"line_number":66,"context_line":"  loopback_dir_location: \"/var/lib/iscsi-loopback\""},{"line_number":67,"context_line":"  # Following location should be under project work_dir (vars.yaml)"},{"line_number":68,"context_line":"  build_location: \"tests/openstack-helm/loopback-device-build\""}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_00b20d95","line":65,"updated":"2018-01-28 00:57:50.000000000","message":"It looks like we\u0027re tying the loopback creation explicitly to ceph constructs here, like osd \u0026 journal.  Won\u0027t that make it a poor fit for creating disks for e.g. Swift?  The nice thing about the old loopback config you commented below is that you can specify the number of disks and labels as configuration, rather than relying on hard-coded yaml keys.","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"},{"author":{"_account_id":26441,"name":"dave kormann","email":"davek@research.att.com","username":"multics"},"change_message_id":"5aed698c2c6f84ad4646f1fcc446eca1723e92e4","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    storage: device"},{"line_number":63,"context_line":"    osds: 3"},{"line_number":64,"context_line":"    osd_size: 32768"},{"line_number":65,"context_line":"    journal_size: 5120"},{"line_number":66,"context_line":"  loopback_dir_location: \"/var/lib/iscsi-loopback\""},{"line_number":67,"context_line":"  # Following location should be under project work_dir (vars.yaml)"},{"line_number":68,"context_line":"  build_location: \"tests/openstack-helm/loopback-device-build\""}],"source_content_type":"text/x-yaml","patch_set":81,"id":"5f93b717_7b3704b2","line":65,"in_reply_to":"5f93b717_00b20d95","updated":"2018-01-28 01:57:34.000000000","message":"the script that does the device creation isn\u0027t actually ceph-specific (though it has a convenience function for creating OSD+journal pairs), so it should be straightforward to extend the language here to do device creation for other clients.  I do think it makes some sense to have ceph-specific language here, as you generally want to maintain a relationship between OSD and journal.","commit_id":"7a90c2a6f0e607d536a058362293cb3aaed99b4c"}]}
