)]}'
{"manifests/compute.pp":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fc38280cdd68b99a01d89fc0f4ad24dac23cdf00","unresolved":false,"context_lines":[{"line_number":222,"context_line":"#   been marked as deleted in database to be eligible for cleanup."},{"line_number":223,"context_line":"#   Defaults to $::os_service_default"},{"line_number":224,"context_line":"#"},{"line_number":225,"context_line":"# [*use_cow_images*]"},{"line_number":226,"context_line":"#   (optional) Enable use of copy-on-write (cow) images."},{"line_number":227,"context_line":"#   Defaults to $::os_service_default"},{"line_number":228,"context_line":"#"},{"line_number":229,"context_line":"# [*virt_mkfs*]"},{"line_number":230,"context_line":"#   (optional) Name of the mkfs commands for ephemeral device."},{"line_number":231,"context_line":"#   The format is \u003cos_type\u003e\u003d\u003cmkfs command\u003e"},{"line_number":232,"context_line":"#   Defaults to $::os_service_default"},{"line_number":233,"context_line":"#"},{"line_number":234,"context_line":"# DEPRECATED PARAMETERS"},{"line_number":235,"context_line":"#"},{"line_number":236,"context_line":"# [*neutron_enabled*]"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"5f681702_08734a17","line":233,"range":{"start_line":225,"start_character":0,"end_line":233,"end_character":1},"updated":"2020-10-18 08:03:58.000000000","message":"I prefer to put these 2 values around force_raw_images, so that we have the parameters about image handling in the one place.","commit_id":"1bb8de3c5103e6c5df1ff9c7fdde2cb422235939"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fc38280cdd68b99a01d89fc0f4ad24dac23cdf00","unresolved":false,"context_lines":[{"line_number":505,"context_line":"  }"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"  nova_config {"},{"line_number":508,"context_line":"    \u0027DEFAULT/force_raw_images\u0027: value \u003d\u003e $force_raw_images;"},{"line_number":509,"context_line":"  }"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  if is_service_default($config_drive_format) or $config_drive_format \u003d\u003d \u0027iso9660\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"5f681702_4866e253","line":508,"range":{"start_line":508,"start_character":4,"end_line":508,"end_character":59},"updated":"2020-10-18 08:03:58.000000000","message":"Let\u0027s squash this into the above nova_config block to have all parameters related to image handling in one place.","commit_id":"1bb8de3c5103e6c5df1ff9c7fdde2cb422235939"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":67,"context_line":"#   Time period must be hour, day, month or year"},{"line_number":68,"context_line":"#   Defaults to \u0027month\u0027"},{"line_number":69,"context_line":"#"},{"line_number":70,"context_line":"# [*force_raw_images*]"},{"line_number":71,"context_line":"#   (optional) Force backing images to raw format."},{"line_number":72,"context_line":"#   Defaults to $::os_service_default"},{"line_number":73,"context_line":"#"},{"line_number":74,"context_line":"# [*use_cow_images*]"},{"line_number":75,"context_line":"#   (optional) Enable use of copy-on-write (cow) images."},{"line_number":76,"context_line":"#   Defaults to $::os_service_default"},{"line_number":77,"context_line":"#"},{"line_number":78,"context_line":"# [*virt_mkfs*]"},{"line_number":79,"context_line":"#   (optional) Name of the mkfs commands for ephemeral device."},{"line_number":80,"context_line":"#   The format is \u003cos_type\u003e\u003d\u003cmkfs command\u003e"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"5f681702_437a4588","line":77,"range":{"start_line":70,"start_character":0,"end_line":77,"end_character":1},"updated":"2020-10-18 12:23:17.000000000","message":"Can we put use_cow_images BEFORE force_raw_images, to be consistent with the order of nova parameter definition ?\n\nhttps://github.com/openstack/nova/blob/20ca7c4337adb58d9290521fb20803d789f2b574/nova/conf/compute.py#L231-L280","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":208,"context_line":"#   in BUILD state for a longer period."},{"line_number":209,"context_line":"#   Defaults to $::os_service_default"},{"line_number":210,"context_line":"#"},{"line_number":211,"context_line":"# [*reboot_timeout*]"},{"line_number":212,"context_line":"#   (optioanl) Time interval after which an instance is hard rebooted"},{"line_number":213,"context_line":"#   automatically. Setting this option to a time period in seconds will"},{"line_number":214,"context_line":"#   automatically hard reboot an instance if it has been stuck in a rebooting"},{"line_number":215,"context_line":"#   state longer than N seconds."},{"line_number":216,"context_line":"#   Defaults to $::os_service_default"},{"line_number":217,"context_line":"#"},{"line_number":218,"context_line":"# [*running_deleted_instance_action*]"},{"line_number":219,"context_line":"#   (optional) The compute service periodically checks for instances that"},{"line_number":220,"context_line":"#   have been deleted in the database but remain running on the compute node."}],"source_content_type":"text/x-puppet","patch_set":2,"id":"5f681702_a36fd9c3","line":217,"range":{"start_line":211,"start_character":0,"end_line":217,"end_character":1},"updated":"2020-10-18 12:23:17.000000000","message":"Can we also implement the remaining timeouts in this patch ?\n\nIt\u0027s useful to have all timeout parameters implemented at the same time.\n\n - rescue_timeout\n - resize_confirm_window\n - shutdown_timeout","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":303,"context_line":"  $running_deleted_instance_action             \u003d $::os_service_default,"},{"line_number":304,"context_line":"  $running_deleted_instance_poll_interval      \u003d $::os_service_default,"},{"line_number":305,"context_line":"  $running_deleted_instance_timeout            \u003d $::os_service_default,"},{"line_number":306,"context_line":"  $use_cow_images                              \u003d $::os_service_default,"},{"line_number":307,"context_line":"  $virt_mkfs                                   \u003d $::os_service_default,"},{"line_number":308,"context_line":"  # DEPRECATED PARAMETERS"},{"line_number":309,"context_line":"  $neutron_enabled                             \u003d undef,"},{"line_number":310,"context_line":"  $install_bridge_utils                        \u003d undef,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"5f681702_a356b905","line":307,"range":{"start_line":306,"start_character":0,"end_line":307,"end_character":71},"updated":"2020-10-18 12:23:17.000000000","message":"Please make order of the parameters consistent with the one in parameter description.","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":427,"context_line":""},{"line_number":428,"context_line":"  include nova::availability_zone"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"  nova_config {"},{"line_number":431,"context_line":"    \u0027DEFAULT/reserved_host_memory_mb\u0027:                     value \u003d\u003e $reserved_host_memory;"},{"line_number":432,"context_line":"    \u0027DEFAULT/reserved_host_disk_mb\u0027:                       value \u003d\u003e $reserved_host_disk;"},{"line_number":433,"context_line":"    \u0027DEFAULT/reserved_huge_pages\u0027:                         value \u003d\u003e $reserved_huge_pages_real;"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"5f681702_835bbd2c","line":430,"updated":"2020-10-18 12:23:17.000000000","message":"I think image parameters should be placed at the top to be written in the consistent order.","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2ffa2e549f7964e0b790966f33c50a00b9ec5414","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    \u0027compute/live_migration_wait_for_vif_plug\u0027:  value \u003d\u003e $live_migration_wait_for_vif_plug;"},{"line_number":402,"context_line":"    \u0027compute/max_disk_devices_to_attach\u0027:        value \u003d\u003e $max_disk_devices_to_attach;"},{"line_number":403,"context_line":"    \u0027DEFAULT/default_access_ip_network_name\u0027:    value \u003d\u003e $default_access_ip_network_name;"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"  }"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"  if ($vnc_enabled) {"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"5f681702_2356282b","line":404,"updated":"2020-10-19 00:10:56.000000000","message":"Unnecessary blank line.","commit_id":"f4c43524b70acd16ea662b9799d03e71a7f7970e"}],"releasenotes/notes/add_more_compute_parameters-9a20786776d0d402.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fc38280cdd68b99a01d89fc0f4ad24dac23cdf00","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``nova::compute::default_access_ip_network_name`` parameter"},{"line_number":5,"context_line":"    has been added to support to set the network name for instances access"},{"line_number":6,"context_line":"    IPs."},{"line_number":7,"context_line":"    The new ``nova::compute::instance_build_timeout`` parameter has been"},{"line_number":8,"context_line":"    added to support to specify the maximum time for instance to build."},{"line_number":9,"context_line":"    The new ``nova::compute::reboot_timeout`` parameter has been added to"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5f681702_c8683223","line":6,"range":{"start_line":4,"start_character":0,"end_line":6,"end_character":8},"updated":"2020-10-18 08:03:58.000000000","message":"Please make each items independent.","commit_id":"1bb8de3c5103e6c5df1ff9c7fdde2cb422235939"}],"spec/classes/nova_compute_spec.rb":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":57,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/consecutive_build_service_disable_threshold\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":58,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/live_migration_wait_for_vif_plug\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":59,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/max_disk_devices_to_attach\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":60,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/default_access_ip_network_name\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":61,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/instance_build_timeout\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":62,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/reboot_timeout\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":63,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_action\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":64,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_poll_interval\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":65,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_timeout\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":66,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/use_cow_images\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":67,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/virt_mkfs\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"      it { is_expected.to_not contain_package(\u0027bridge-utils\u0027).with("},{"line_number":70,"context_line":"        :ensure \u003d\u003e \u0027present\u0027,"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"5f681702_e368b1bb","line":67,"range":{"start_line":60,"start_character":0,"end_line":67,"end_character":100},"updated":"2020-10-18 12:23:17.000000000","message":"Would be better to sort the order of parameters to be consistent with the manifest implementation.","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":106,"context_line":"          :consecutive_build_service_disable_threshold \u003d\u003e \u00279\u0027,"},{"line_number":107,"context_line":"          :live_migration_wait_for_vif_plug   \u003d\u003e true,"},{"line_number":108,"context_line":"          :max_disk_devices_to_attach         \u003d\u003e 20,"},{"line_number":109,"context_line":"          :default_access_ip_network_name     \u003d\u003e \u0027public\u0027,"},{"line_number":110,"context_line":"          :instance_build_timeout             \u003d\u003e \u0027300\u0027,"},{"line_number":111,"context_line":"          :reboot_timeout                     \u003d\u003e \u0027180\u0027,"},{"line_number":112,"context_line":"          :running_deleted_instance_action    \u003d\u003e \u0027shutdown\u0027,"},{"line_number":113,"context_line":"          :running_deleted_instance_poll_interval \u003d\u003e \u0027900\u0027,"},{"line_number":114,"context_line":"          :running_deleted_instance_timeout   \u003d\u003e \u0027200\u0027,"},{"line_number":115,"context_line":"          :use_cow_images                     \u003d\u003e false,"},{"line_number":116,"context_line":"          :virt_mkfs                          \u003d\u003e \u0027windows\u003dmkfs.ntfs --force --fast %(target)s\u0027,"},{"line_number":117,"context_line":"        }"},{"line_number":118,"context_line":"      end"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":2,"id":"5f681702_c365b5e3","line":116,"range":{"start_line":109,"start_character":0,"end_line":116,"end_character":95},"updated":"2020-10-18 12:23:17.000000000","message":"ditto","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dab2ca8207d4fb8dee9fe48dde0673ed4f65b996","unresolved":false,"context_lines":[{"line_number":162,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/max_concurrent_live_migrations\u0027).with_value(\u00274\u0027) }"},{"line_number":163,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/sync_power_state_pool_size\u0027).with_value(\u002710\u0027) }"},{"line_number":164,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/sync_power_state_interval\u0027).with_value(\u00270\u0027) }"},{"line_number":165,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/default_access_ip_network_name\u0027).with_value(\u0027public\u0027) }"},{"line_number":166,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/instance_build_timeout\u0027).with_value(\u0027300\u0027) }"},{"line_number":167,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/reboot_timeout\u0027).with_value(\u0027180\u0027) }"},{"line_number":168,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_action\u0027).with_value(\u0027shutdown\u0027) }"},{"line_number":169,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_poll_interval\u0027).with_value(\u0027900\u0027) }"},{"line_number":170,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/running_deleted_instance_timeout\u0027).with_value(\u0027200\u0027) }"},{"line_number":171,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/use_cow_images\u0027).with_value(false) }"},{"line_number":172,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/virt_mkfs\u0027).with_value(\u0027windows\u003dmkfs.ntfs --force --fast %(target)s\u0027) }"},{"line_number":173,"context_line":"      it { is_expected.to contain_nova_config(\u0027glance/verify_glance_signatures\u0027).with_value(true) }"},{"line_number":174,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/consecutive_build_service_disable_threshold\u0027).with_value(\u00279\u0027) }"},{"line_number":175,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/live_migration_wait_for_vif_plug\u0027).with_value(true) }"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"5f681702_2363c9de","line":172,"range":{"start_line":165,"start_character":0,"end_line":172,"end_character":126},"updated":"2020-10-18 12:23:17.000000000","message":"ditto","commit_id":"f83dc4351c1dab3308c809542445295081c20fdb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2ffa2e549f7964e0b790966f33c50a00b9ec5414","unresolved":false,"context_lines":[{"line_number":56,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/live_migration_wait_for_vif_plug\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":57,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/max_disk_devices_to_attach\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":58,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/default_access_ip_network_name\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":59,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/force_raw_images\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":60,"context_line":"      it { is_expected.to contain_nova_config(\u0027glance/verify_glance_signatures\u0027).with_value(\u0027\u003cSERVICE DEFAULT\u003e\u0027) }"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"      it { is_expected.to_not contain_package(\u0027bridge-utils\u0027).with("},{"line_number":63,"context_line":"        :ensure \u003d\u003e \u0027present\u0027,"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"5f681702_8330dc09","line":60,"range":{"start_line":59,"start_character":0,"end_line":60,"end_character":114},"updated":"2020-10-19 00:10:56.000000000","message":"I think you can leave these 2 lines in this patch.","commit_id":"f4c43524b70acd16ea662b9799d03e71a7f7970e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2ffa2e549f7964e0b790966f33c50a00b9ec5414","unresolved":false,"context_lines":[{"line_number":98,"context_line":"          :live_migration_wait_for_vif_plug   \u003d\u003e true,"},{"line_number":99,"context_line":"          :max_disk_devices_to_attach         \u003d\u003e 20,"},{"line_number":100,"context_line":"          :default_access_ip_network_name     \u003d\u003e \u0027public\u0027,"},{"line_number":101,"context_line":"          :force_raw_images                   \u003d\u003e false,"},{"line_number":102,"context_line":"          :verify_glance_signatures           \u003d\u003e true,"},{"line_number":103,"context_line":"        }"},{"line_number":104,"context_line":"      end"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":3,"id":"5f681702_6335c0f7","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":54},"updated":"2020-10-19 00:10:56.000000000","message":"ditto","commit_id":"f4c43524b70acd16ea662b9799d03e71a7f7970e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2ffa2e549f7964e0b790966f33c50a00b9ec5414","unresolved":false,"context_lines":[{"line_number":151,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/live_migration_wait_for_vif_plug\u0027).with_value(true) }"},{"line_number":152,"context_line":"      it { is_expected.to contain_nova_config(\u0027compute/max_disk_devices_to_attach\u0027).with_value(20) }"},{"line_number":153,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/default_access_ip_network_name\u0027).with_value(\u0027public\u0027) }"},{"line_number":154,"context_line":"      it { is_expected.to contain_nova_config(\u0027DEFAULT/force_raw_images\u0027).with_value(false) }"},{"line_number":155,"context_line":"      it { is_expected.to contain_nova_config(\u0027glance/verify_glance_signatures\u0027).with_value(true) }"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"      it \u0027configures nova config_drive_format to vfat\u0027 do"},{"line_number":158,"context_line":"        is_expected.to contain_nova_config(\u0027DEFAULT/config_drive_format\u0027).with_value(\u0027vfat\u0027)"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"5f681702_c33ad4e5","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":99},"updated":"2020-10-19 00:10:56.000000000","message":"ditto","commit_id":"f4c43524b70acd16ea662b9799d03e71a7f7970e"}]}
