)]}'
{"manifests/controller.pp":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"06473b7b58586ce73f0d3e316000c0276b00df51","unresolved":true,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  if !empty($ovn_chassis_mac_map) {"},{"line_number":149,"context_line":"    $chassis_mac_map \u003d {"},{"line_number":150,"context_line":"      \u0027external_ids:ovn-chassis-mac-mappings\u0027     \u003d\u003e { \u0027value\u0027 \u003d\u003e join(any2array($ovn_chassis_mac_map), \u0027,\u0027) },"},{"line_number":151,"context_line":"    }"},{"line_number":152,"context_line":"  } else {"},{"line_number":153,"context_line":"    $chassis_mac_map \u003d {}"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"83709421_48fd8a83","line":150,"range":{"start_line":150,"start_character":66,"end_line":150,"end_character":108},"updated":"2021-02-22 22:46:17.000000000","message":"If we pass a map, i.e:\n\n{\n    \"datacentre\": \"fa:16:3e:eb:f0:45\"\n}\n\nOr as a puppet hash: \"datacentre\" \u003d\u003e \"fa:16:3e:eb:f0:45\" the result will be:\n  datacentre,fa:16:3e:eb:f0:45\n\nIs that what we want?\n\nLooking at the tests it looks like what we want is:\n  datacentre:fa:16:3e:eb:f0:45\n\n\nI think we need to check if it\u0027s a hash and then use join_keys_to_values in that case? Something like this:\n\n  if $ovn_chassis_mac_map \u003d~ Hash {\n    $chassis_mac_map \u003d {\n      \u0027external_ids:ovn-chassis-mac-mappings\u0027 \u003d\u003e { \u0027value\u0027 \u003d\u003e join(join_keys_to_values($ovn_chassis_mac_map, \u0027:\u0027), \u0027,\u0027)) }\n    }\n  } else {\n    $chassis_mac_map \u003d {\n      \u0027external_ids:ovn-chassis-mac-mappings\u0027 \u003d\u003e { \u0027value\u0027 \u003d\u003e join(any2array($ovn_chassis_mac_map), \u0027,\u0027)) }\n    }\n  }","commit_id":"1525a5e672c8d074a7d82faee90bc3bb7a0e6e9c"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"72d578d378248cb7e6c8f543a09377bc1c897f00","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  if !empty($ovn_chassis_mac_map) {"},{"line_number":149,"context_line":"    $chassis_mac_map \u003d {"},{"line_number":150,"context_line":"      \u0027external_ids:ovn-chassis-mac-mappings\u0027     \u003d\u003e { \u0027value\u0027 \u003d\u003e join(any2array($ovn_chassis_mac_map), \u0027,\u0027) },"},{"line_number":151,"context_line":"    }"},{"line_number":152,"context_line":"  } else {"},{"line_number":153,"context_line":"    $chassis_mac_map \u003d {}"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"c0cab211_11f2405d","line":150,"range":{"start_line":150,"start_character":66,"end_line":150,"end_character":108},"in_reply_to":"83709421_48fd8a83","updated":"2021-02-23 09:29:12.000000000","message":"hey Harald, Thanks you are right! Done","commit_id":"1525a5e672c8d074a7d82faee90bc3bb7a0e6e9c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"11a4ab1f989708bfef8516dde4721d6b868ede37","unresolved":true,"context_lines":[{"line_number":99,"context_line":"  $ovn_openflow_probe_interval \u003d 60,"},{"line_number":100,"context_line":"  $ovn_transport_zones         \u003d [],"},{"line_number":101,"context_line":"  $enable_ovn_match_northd     \u003d false,"},{"line_number":102,"context_line":"  $ovn_chassis_mac_map         \u003d hiera(\u0027ovn_chassis_mac_map\u0027, undef),"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":") {"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":9,"id":"d38f6080_88e6ec70","line":102,"range":{"start_line":102,"start_character":33,"end_line":102,"end_character":69},"updated":"2021-02-23 13:10:03.000000000","message":"We don\u0027t implement such alias using hiera in puppet-ovn. We can use ovn::controller::ov-Chassis_mac_map instead and there is no reasonable motivation to have this.","commit_id":"0dee1b1b928107b636469d2a29df637a0dc6c504"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"be720687318fe00fa58c79f013a448d32f50e4af","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  $ovn_openflow_probe_interval \u003d 60,"},{"line_number":100,"context_line":"  $ovn_transport_zones         \u003d [],"},{"line_number":101,"context_line":"  $enable_ovn_match_northd     \u003d false,"},{"line_number":102,"context_line":"  $ovn_chassis_mac_map         \u003d hiera(\u0027ovn_chassis_mac_map\u0027, undef),"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":") {"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":9,"id":"78d44c7c_6b5342eb","line":102,"range":{"start_line":102,"start_character":33,"end_line":102,"end_character":69},"in_reply_to":"d38f6080_88e6ec70","updated":"2021-02-25 11:06:20.000000000","message":"Done","commit_id":"0dee1b1b928107b636469d2a29df637a0dc6c504"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"11a4ab1f989708bfef8516dde4721d6b868ede37","unresolved":true,"context_lines":[{"line_number":100,"context_line":"  $ovn_transport_zones         \u003d [],"},{"line_number":101,"context_line":"  $enable_ovn_match_northd     \u003d false,"},{"line_number":102,"context_line":"  $ovn_chassis_mac_map         \u003d hiera(\u0027ovn_chassis_mac_map\u0027, undef),"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":") {"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"  include ovn::params"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"489e1c30_66eb7750","line":103,"updated":"2021-02-23 13:10:03.000000000","message":"Please remove this blank line.","commit_id":"0dee1b1b928107b636469d2a29df637a0dc6c504"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"be720687318fe00fa58c79f013a448d32f50e4af","unresolved":false,"context_lines":[{"line_number":100,"context_line":"  $ovn_transport_zones         \u003d [],"},{"line_number":101,"context_line":"  $enable_ovn_match_northd     \u003d false,"},{"line_number":102,"context_line":"  $ovn_chassis_mac_map         \u003d hiera(\u0027ovn_chassis_mac_map\u0027, undef),"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":") {"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"  include ovn::params"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"7d467ae6_ffc64088","line":103,"in_reply_to":"489e1c30_66eb7750","updated":"2021-02-25 11:06:20.000000000","message":"Done","commit_id":"0dee1b1b928107b636469d2a29df637a0dc6c504"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2f0148af3b0f76f6ad7eec235baca69e78bdb2be","unresolved":true,"context_lines":[{"line_number":74,"context_line":"#  Default to false (keep the original behavior)"},{"line_number":75,"context_line":"#"},{"line_number":76,"context_line":"# [*ovn_chassis_mac_map*]"},{"line_number":77,"context_line":"#  (optional) A list of key-value pairs that map a chassis specific mac to"},{"line_number":78,"context_line":"#  a physical network name. An example"},{"line_number":79,"context_line":"#  value mapping two chassis macs to two physical network names would be:"},{"line_number":80,"context_line":"#  physnet1:aa:bb:cc:dd:ee:ff,physnet2:a1:b2:c3:d4:e5:f6"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"173a97ef_a688e6ed","line":77,"range":{"start_line":77,"start_character":16,"end_line":77,"end_character":20},"updated":"2021-03-10 11:59:44.000000000","message":"Because you intend to accept hash as well, this should be updated.","commit_id":"374ddabba434717ce608c4042661861b2d47de6a"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2f0148af3b0f76f6ad7eec235baca69e78bdb2be","unresolved":true,"context_lines":[{"line_number":99,"context_line":"  $ovn_openflow_probe_interval \u003d 60,"},{"line_number":100,"context_line":"  $ovn_transport_zones         \u003d [],"},{"line_number":101,"context_line":"  $enable_ovn_match_northd     \u003d false,"},{"line_number":102,"context_line":"  $ovn_chassis_mac_map         \u003d undef,"},{"line_number":103,"context_line":") {"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"  include ovn::params"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"e940103c_18d9a40c","line":102,"range":{"start_line":102,"start_character":33,"end_line":102,"end_character":38},"updated":"2021-03-10 11:59:44.000000000","message":"I think [] is the better default here.\n\nI was not aware that undef can work with empty but using one of them would explain more explicitly that we are expecting something empty.","commit_id":"374ddabba434717ce608c4042661861b2d47de6a"}],"spec/classes/ovn_controller_spec.rb":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2f0148af3b0f76f6ad7eec235baca69e78bdb2be","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        :before  \u003d\u003e \u0027Service[controller]\u0027,"},{"line_number":105,"context_line":"        :require \u003d\u003e \u0027Service[openvswitch]\u0027"},{"line_number":106,"context_line":"      )"},{"line_number":107,"context_line":"    end"},{"line_number":108,"context_line":"  end"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"  on_supported_os({"}],"source_content_type":"text/x-ruby","patch_set":10,"id":"4b4e7dd0_9e9d218c","line":107,"updated":"2021-03-10 11:59:44.000000000","message":"Can we add unit tests to check behavior with both of hash and list ?","commit_id":"374ddabba434717ce608c4042661861b2d47de6a"}]}
