)]}'
{"swift/templates/bin/_disks-init.sh.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":25,"context_line":"while read DISK; do"},{"line_number":26,"context_line":"  parted $DISK -s -- mklabel gpt mkpart {{ .Values.storage.swift_disk_label }} 1 -1"},{"line_number":27,"context_line":"  parted -s $DISK print"},{"line_number":28,"context_line":"  mkfs.xfs ${DISK}1 {{if .Values.bootstrap.swift_zap_disks}} -f {{end}}"},{"line_number":29,"context_line":"  parted -s $DISK print"},{"line_number":30,"context_line":"done \u003c $DISK_FORMAT_LIST"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_db101e03","line":28,"range":{"start_line":28,"start_character":61,"end_line":28,"end_character":63},"updated":"2018-01-18 06:44:09.000000000","message":"are you sure you want -f?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":25,"context_line":"while read DISK; do"},{"line_number":26,"context_line":"  parted $DISK -s -- mklabel gpt mkpart {{ .Values.storage.swift_disk_label }} 1 -1"},{"line_number":27,"context_line":"  parted -s $DISK print"},{"line_number":28,"context_line":"  mkfs.xfs ${DISK}1 {{if .Values.bootstrap.swift_zap_disks}} -f {{end}}"},{"line_number":29,"context_line":"  parted -s $DISK print"},{"line_number":30,"context_line":"done \u003c $DISK_FORMAT_LIST"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_02420c11","line":28,"range":{"start_line":28,"start_character":61,"end_line":28,"end_character":63},"in_reply_to":"7f96bb07_db101e03","updated":"2018-01-28 21:22:03.000000000","message":"swift_zap_disks is intended to overwrite the disk, which is what -f does.  Does that raise concerns for you?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"}],"swift/templates/bin/_disks-mount.sh.tpl":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"893b12175d871011c49be7904ee2811e2e13e0b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5f93b717_0e29d336","updated":"2018-01-29 04:01:45.000000000","message":"I\u0027m pretty uncomfortable about mounting a device simultaneously across multiple mount namespaces. Can we confirm if this is a supported paradigm, or if we should use mount propagation to do this?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"8110cbb81ddc66aa21ba7e28be4482244cd5d7e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1f9dbf25_e1d2b934","in_reply_to":"5f93b717_0e29d336","updated":"2018-03-01 11:17:13.000000000","message":"Should not then the account, object, and container containers be part of the same pod to all interact with the same disk? If this adopts the ceph approach of one pod one disk, and those are all part of one pod, what propagation of a single disk across multiple namespaces is there?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"8110cbb81ddc66aa21ba7e28be4482244cd5d7e8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"COMMAND\u003d\"${@:-up}\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function up() {"},{"line_number":22,"context_line":"  while read DISK; do"},{"line_number":23,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":24,"context_line":"    mkdir -p /srv/node/$DISK_SHORT"},{"line_number":25,"context_line":"    cat \u003c\u003cEOF\u003e\u003e /etc/fstab"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"1f9dbf25_61e6a919","line":22,"updated":"2018-03-01 11:17:13.000000000","message":"Seems like if this adopts the ceph approach, there is not a list of disks, but rather one disk provided.","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function up() {"},{"line_number":22,"context_line":"  while read DISK; do"},{"line_number":23,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":24,"context_line":"    mkdir -p /srv/node/$DISK_SHORT"},{"line_number":25,"context_line":"    cat \u003c\u003cEOF\u003e\u003e /etc/fstab"},{"line_number":26,"context_line":"    # TODO: do these parameters need to be configurable or no?"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_5b15eee3","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":46},"updated":"2018-01-18 06:44:09.000000000","message":"basename","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function up() {"},{"line_number":22,"context_line":"  while read DISK; do"},{"line_number":23,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":24,"context_line":"    mkdir -p /srv/node/$DISK_SHORT"},{"line_number":25,"context_line":"    cat \u003c\u003cEOF\u003e\u003e /etc/fstab"},{"line_number":26,"context_line":"    # TODO: do these parameters need to be configurable or no?"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_e2460022","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":46},"in_reply_to":"7f96bb07_5b15eee3","updated":"2018-01-28 21:22:03.000000000","message":"Didn\u0027t know about that one, thanks!","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    mkdir -p /srv/node/$DISK_SHORT"},{"line_number":25,"context_line":"    cat \u003c\u003cEOF\u003e\u003e /etc/fstab"},{"line_number":26,"context_line":"    # TODO: do these parameters need to be configurable or no?"},{"line_number":27,"context_line":"$DISK /srv/node/$DISK_SHORT xfs noatime,nodiratime,nobarrier,logbufs\u003d8 0 2"},{"line_number":28,"context_line":"EOF"},{"line_number":29,"context_line":"    mount /srv/node/$DISK_SHORT"},{"line_number":30,"context_line":"    chown {{ .Values.pod.user.swift.uid }} /srv/node/$DISK_SHORT"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_3befc2e9","line":27,"range":{"start_line":27,"start_character":50,"end_line":27,"end_character":61},"updated":"2018-01-18 06:44:09.000000000","message":"nobarrier is probably a *bad* idea\nlogbufs\u003d8 should be the default so isnt needed\nnodiratime i think is implied by noatime","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    mkdir -p /srv/node/$DISK_SHORT"},{"line_number":25,"context_line":"    cat \u003c\u003cEOF\u003e\u003e /etc/fstab"},{"line_number":26,"context_line":"    # TODO: do these parameters need to be configurable or no?"},{"line_number":27,"context_line":"$DISK /srv/node/$DISK_SHORT xfs noatime,nodiratime,nobarrier,logbufs\u003d8 0 2"},{"line_number":28,"context_line":"EOF"},{"line_number":29,"context_line":"    mount /srv/node/$DISK_SHORT"},{"line_number":30,"context_line":"    chown {{ .Values.pod.user.swift.uid }} /srv/node/$DISK_SHORT"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_2245c817","line":27,"range":{"start_line":27,"start_character":50,"end_line":27,"end_character":61},"in_reply_to":"7f96bb07_3befc2e9","updated":"2018-01-28 21:22:03.000000000","message":"Will do","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"function down() {"},{"line_number":35,"context_line":"  while read DISK; do"},{"line_number":36,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":37,"context_line":"    umount /srv/node/$DISK_SHORT"},{"line_number":38,"context_line":"  done \u003c $DISK_USE_LIST"},{"line_number":39,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_fbbe3ad3","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":46},"updated":"2018-01-18 06:44:09.000000000","message":"basename again","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"function down() {"},{"line_number":35,"context_line":"  while read DISK; do"},{"line_number":36,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":37,"context_line":"    umount /srv/node/$DISK_SHORT"},{"line_number":38,"context_line":"  done \u003c $DISK_USE_LIST"},{"line_number":39,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_a250f8d5","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":46},"in_reply_to":"7f96bb07_fbbe3ad3","updated":"2018-01-28 21:22:03.000000000","message":"Will do","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"8110cbb81ddc66aa21ba7e28be4482244cd5d7e8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"function down() {"},{"line_number":35,"context_line":"  while read DISK; do"},{"line_number":36,"context_line":"    DISK_SHORT\u003d$(echo $DISK | sed \"s|/dev/||\")"},{"line_number":37,"context_line":"    umount /srv/node/$DISK_SHORT"},{"line_number":38,"context_line":"  done \u003c $DISK_USE_LIST"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":15,"id":"1f9dbf25_41e36d34","line":37,"updated":"2018-03-01 11:17:13.000000000","message":"Do we need to lazily unmount (-l) in the case of stuck mounts?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"}],"swift/templates/bin/_rings-link.sh.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ln -s /etc/swift/rings/account.ring.gz /etc/swift/account.ring.gz"},{"line_number":22,"context_line":"ln -s /etc/swift/rings/container.ring.gz /etc/swift/container.ring.gz"},{"line_number":23,"context_line":"ln -s /etc/swift/rings/object.ring.gz /etc/swift/object.ring.gz"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_fb8cfa36","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":63},"updated":"2018-01-18 06:44:09.000000000","message":"why not cp or mv?\n\nswift will detect ring file changes, does this also work if they are symlinks? (i suspect it does but i\u0027m not certain, i really should know)","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ln -s /etc/swift/rings/account.ring.gz /etc/swift/account.ring.gz"},{"line_number":22,"context_line":"ln -s /etc/swift/rings/container.ring.gz /etc/swift/container.ring.gz"},{"line_number":23,"context_line":"ln -s /etc/swift/rings/object.ring.gz /etc/swift/object.ring.gz"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_826e1c93","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":63},"in_reply_to":"7f96bb07_fb8cfa36","updated":"2018-01-28 21:22:03.000000000","message":"ln was so a separate job could update the shared rings, and nothing in the storage node would need to know to pull them down to /etc/swift/.  I\u0027m not sure about whether swift would miss updates, though (would defeat the point) -- I will keep an eye out for it when I get ring maintenance working.","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"}],"swift/templates/bin/_rsyncd-conf-create.sh.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"e5db5d1d4456372a678c7ecb765080f3033d3cd6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"gid \u003d swift"},{"line_number":30,"context_line":"log file \u003d /var/log/rsyncd.log"},{"line_number":31,"context_line":"pid file \u003d /var/run/rsyncd.pid"},{"line_number":32,"context_line":"address \u003d $SWIFT_IP"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[account]"},{"line_number":35,"context_line":"max connections \u003d 2"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"7f96bb07_db9a5e60","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":19},"updated":"2018-01-18 06:44:09.000000000","message":"needed? what if not given?","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"99e561e0e2b0810d9ce6d11b3f0bf2c163da0b41","unresolved":false,"context_lines":[{"line_number":29,"context_line":"gid \u003d swift"},{"line_number":30,"context_line":"log file \u003d /var/log/rsyncd.log"},{"line_number":31,"context_line":"pid file \u003d /var/run/rsyncd.pid"},{"line_number":32,"context_line":"address \u003d $SWIFT_IP"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[account]"},{"line_number":35,"context_line":"max connections \u003d 2"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"5f93b717_2213880f","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":19},"in_reply_to":"7f96bb07_db9a5e60","updated":"2018-01-28 21:22:03.000000000","message":"The swift docs say to set this to the ip on the management network over which rsync will chat.  If not given, I suspect (but have not confirmed) it would bind to all interfaces or a random interface, neither of which would be good.","commit_id":"b730dfeb60309d511c3161881117f9fd5631bcfd"}]}
