)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"261f3194c8ee18d6306a2554158c6775587163e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0cbfeadc_392ec14d","updated":"2022-08-22 09:16:18.000000000","message":"The change looks nice at my first glance. I\u0027ll leave a few too-early comments.\n\nAlso, please consider adding a few unit test cases to assert at least default values.","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0a9367222c3f5738779b3bd493ffad5ea9e6d60b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a9d9b41_92508322","updated":"2022-08-22 09:04:41.000000000","message":"abandoned/restored to check whether POST_FAILURE is consistent","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"87377a6accbb163ae3c3525d0326f4f3a00ce0b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3134af64_8ff63632","updated":"2022-08-22 15:53:44.000000000","message":"I\u0027ll keep this open to get additional eyes, as I\u0027ve updated some amount of logics as well as unit tests.","commit_id":"5a82bf2e6a287b53b62173cb5b1c188042abc111"}],"manifests/storage/server.pp":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"261f3194c8ee18d6306a2554158c6775587163e4","unresolved":true,"context_lines":[{"line_number":18,"context_line":"#   (optional) The directory where the physical storage device will be mounted."},{"line_number":19,"context_line":"#   Defaults to \u0027/srv/node\u0027."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"# [*use_multiple_rsync_modules*]"},{"line_number":22,"context_line":"#   (optional) Define one rsync module per device. If this is set to true, then"},{"line_number":23,"context_line":"#   the block_device_names must be set with an array of device names."},{"line_number":24,"context_line":"#   Defaults to false."}],"source_content_type":"text/x-puppet","patch_set":2,"id":"dbd83c5f_b9afb44d","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":30},"updated":"2022-08-22 09:16:18.000000000","message":"rsyc_module_per_device would explain this parameter better.","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5e52f151a95e7a1ee9d5099ae1415aa61e6cb928","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#   (optional) The directory where the physical storage device will be mounted."},{"line_number":19,"context_line":"#   Defaults to \u0027/srv/node\u0027."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"# [*use_multiple_rsync_modules*]"},{"line_number":22,"context_line":"#   (optional) Define one rsync module per device. If this is set to true, then"},{"line_number":23,"context_line":"#   the block_device_names must be set with an array of device names."},{"line_number":24,"context_line":"#   Defaults to false."}],"source_content_type":"text/x-puppet","patch_set":2,"id":"ac4c1004_70e9c1b0","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":30},"in_reply_to":"dbd83c5f_b9afb44d","updated":"2022-08-22 10:34:54.000000000","message":"Done","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"261f3194c8ee18d6306a2554158c6775587163e4","unresolved":true,"context_lines":[{"line_number":23,"context_line":"#   the block_device_names must be set with an array of device names."},{"line_number":24,"context_line":"#   Defaults to false."},{"line_number":25,"context_line":"#"},{"line_number":26,"context_line":"# [*block_device_names*]"},{"line_number":27,"context_line":"#   (optional) List of devices to set as an rsync module list in rsyncd.conf."},{"line_number":28,"context_line":"#   Defaults to an empty array."},{"line_number":29,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"64235ff9_ccc09e42","line":26,"range":{"start_line":26,"start_character":4,"end_line":26,"end_character":22},"updated":"2022-08-22 09:16:18.000000000","message":"This is not really name of block devices but name of devices in swift rings, which actually represent directory names, so we better name this as device_names .","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5e52f151a95e7a1ee9d5099ae1415aa61e6cb928","unresolved":false,"context_lines":[{"line_number":23,"context_line":"#   the block_device_names must be set with an array of device names."},{"line_number":24,"context_line":"#   Defaults to false."},{"line_number":25,"context_line":"#"},{"line_number":26,"context_line":"# [*block_device_names*]"},{"line_number":27,"context_line":"#   (optional) List of devices to set as an rsync module list in rsyncd.conf."},{"line_number":28,"context_line":"#   Defaults to an empty array."},{"line_number":29,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"75bdb4ea_dbdcf4ab","line":26,"range":{"start_line":26,"start_character":4,"end_line":26,"end_character":22},"in_reply_to":"64235ff9_ccc09e42","updated":"2022-08-22 10:34:54.000000000","message":"Done","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"261f3194c8ee18d6306a2554158c6775587163e4","unresolved":true,"context_lines":[{"line_number":281,"context_line":"  # rsync::server should be included before rsync::server::module"},{"line_number":282,"context_line":"  include swift::storage"},{"line_number":283,"context_line":"  if $use_multiple_rsync_modules {"},{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","}],"source_content_type":"text/x-puppet","patch_set":2,"id":"50d635aa_3911cb99","line":284,"range":{"start_line":284,"start_character":30,"end_line":284,"end_character":45},"updated":"2022-08-22 09:16:18.000000000","message":"Where does this index come from ?","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5e52f151a95e7a1ee9d5099ae1415aa61e6cb928","unresolved":true,"context_lines":[{"line_number":281,"context_line":"  # rsync::server should be included before rsync::server::module"},{"line_number":282,"context_line":"  include swift::storage"},{"line_number":283,"context_line":"  if $use_multiple_rsync_modules {"},{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","}],"source_content_type":"text/x-puppet","patch_set":2,"id":"69e677e7_7cb590b1","line":284,"range":{"start_line":284,"start_character":30,"end_line":284,"end_character":45},"in_reply_to":"50d635aa_3911cb99","updated":"2022-08-22 10:34:54.000000000","message":"It\u0027s just what each the does... I can call it whatever if you prefer, but as much as I understand we have foo.each |$index, $value| {}","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"afa941907f077615f77a8545dc422b7b7538b19a","unresolved":false,"context_lines":[{"line_number":281,"context_line":"  # rsync::server should be included before rsync::server::module"},{"line_number":282,"context_line":"  include swift::storage"},{"line_number":283,"context_line":"  if $use_multiple_rsync_modules {"},{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","}],"source_content_type":"text/x-puppet","patch_set":2,"id":"9b457038_986fd8d2","line":284,"range":{"start_line":284,"start_character":30,"end_line":284,"end_character":45},"in_reply_to":"69e677e7_7cb590b1","updated":"2022-08-22 10:35:24.000000000","message":"Done","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7c9e2088627aa851ba40f8ed02786ad7ec8c073a","unresolved":false,"context_lines":[{"line_number":281,"context_line":"  # rsync::server should be included before rsync::server::module"},{"line_number":282,"context_line":"  include swift::storage"},{"line_number":283,"context_line":"  if $use_multiple_rsync_modules {"},{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","}],"source_content_type":"text/x-puppet","patch_set":2,"id":"ab7a25e1_ec317c7c","line":284,"range":{"start_line":284,"start_character":30,"end_line":284,"end_character":45},"in_reply_to":"81273c6c_4742870d","updated":"2022-08-22 11:45:21.000000000","message":"Done","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0cfdbbb4a395022b94ccec9915e4bb5089f44dfa","unresolved":true,"context_lines":[{"line_number":281,"context_line":"  # rsync::server should be included before rsync::server::module"},{"line_number":282,"context_line":"  include swift::storage"},{"line_number":283,"context_line":"  if $use_multiple_rsync_modules {"},{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","}],"source_content_type":"text/x-puppet","patch_set":2,"id":"81273c6c_4742870d","line":284,"range":{"start_line":284,"start_character":30,"end_line":284,"end_character":45},"in_reply_to":"9b457038_986fd8d2","updated":"2022-08-22 11:26:55.000000000","message":"Because this is a plain array, you never get index.","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"261f3194c8ee18d6306a2554158c6775587163e4","unresolved":true,"context_lines":[{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","},{"line_number":288,"context_line":"        uid             \u003d\u003e pick($owner, $::swift::params::user),"},{"line_number":289,"context_line":"        gid             \u003d\u003e pick($group, $::swift::params::group),"},{"line_number":290,"context_line":"        incoming_chmod  \u003d\u003e $incoming_chmod,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"dd32bd77_88d6b577","line":287,"range":{"start_line":287,"start_character":38,"end_line":287,"end_character":45},"updated":"2022-08-22 09:16:18.000000000","message":"lock file should be created per device, iiuc.","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5e52f151a95e7a1ee9d5099ae1415aa61e6cb928","unresolved":false,"context_lines":[{"line_number":284,"context_line":"    $block_device_names.each |Integer $index, String $block_dev_name| {"},{"line_number":285,"context_line":"      rsync::server::module { \"${type}_${block_dev_name}\":"},{"line_number":286,"context_line":"        path            \u003d\u003e $devices,"},{"line_number":287,"context_line":"        lock_file       \u003d\u003e \"/var/lock/${type}.lock\","},{"line_number":288,"context_line":"        uid             \u003d\u003e pick($owner, $::swift::params::user),"},{"line_number":289,"context_line":"        gid             \u003d\u003e pick($group, $::swift::params::group),"},{"line_number":290,"context_line":"        incoming_chmod  \u003d\u003e $incoming_chmod,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"ad6d7494_d3e4fae4","line":287,"range":{"start_line":287,"start_character":38,"end_line":287,"end_character":45},"in_reply_to":"dd32bd77_88d6b577","updated":"2022-08-22 10:34:54.000000000","message":"Done","commit_id":"88038470ec5a3f4ab762314e6db7324e8d0a6d16"}]}
