)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"a02613049f141cd350c1b2267b23e5351148fac0","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Ensure there is only one a wrapper container is running per an agent"},{"line_number":19,"context_line":"container, which has it name matching the wanted netns/nedid. Remove"},{"line_number":20,"context_line":"orphaned leftovers (when a name does not match the identified"},{"line_number":21,"context_line":"netns/netid) and duplicating wrapper containers, if any."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib3c41a8bee349856d21f360595e41a9eafd79323"},{"line_number":24,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_8897e046","line":21,"range":{"start_line":21,"start_character":52,"end_line":21,"end_character":53},"updated":"2018-10-01 12:24:20.000000000","message":"this isn\u0027t valid strictly speaking. An agent might have many sidecars of a given type, each one running in a distinct network namespace","commit_id":"765090797f0404ee797b52dff4c0a895d762aa47"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0e03a4db5e9c0b37d03995367991e33a9ef513dd","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Ensure there is only one a wrapper container is running per an agent"},{"line_number":19,"context_line":"container, which has it name matching the wanted netns/nedid. Remove"},{"line_number":20,"context_line":"orphaned leftovers (when a name does not match the identified"},{"line_number":21,"context_line":"netns/netid) and duplicating wrapper containers, if any."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib3c41a8bee349856d21f360595e41a9eafd79323"},{"line_number":24,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_88a4c04d","line":21,"range":{"start_line":21,"start_character":52,"end_line":21,"end_character":53},"in_reply_to":"3f79a3b5_8897e046","updated":"2018-10-01 12:52:48.000000000","message":"I was thinking the same, indeed. Just pushed for early review . Not sure how should we care of orphaned containers then.","commit_id":"765090797f0404ee797b52dff4c0a895d762aa47"}],"manifests/profile/base/neutron.pp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"775f2f3d7a20c8e152d07eb75c651f4153783750","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  $dhcp_agents_per_network \u003d undef,"},{"line_number":111,"context_line":"  $dhcp_nodes              \u003d hiera(\u0027neutron_dhcp_short_node_names\u0027, []),"},{"line_number":112,"context_line":"  $designate_api_enabled   \u003d hiera(\u0027designate_api_enabled\u0027, false),"},{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_8c95f03f","line":113,"updated":"2018-10-10 10:10:46.000000000","message":"Please add the missing coma at the end of the line, best for the next one adding params :).","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"775f2f3d7a20c8e152d07eb75c651f4153783750","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_4c8ef826","line":116,"updated":"2018-10-10 10:10:46.000000000","message":"I think you can use a validate_string from puppet-stdlib:\nhttps://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/parser/functions/validate_string.rb","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"751b36b777954bbe7f2ef3e9d1ab2576aa72e774","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_e6fefc68","line":116,"in_reply_to":"3f79a3b5_4c8ef826","updated":"2018-10-10 13:38:36.000000000","message":"tbh, I failed to figure out how to use that for ranges testing","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  $dhcp_agents_per_network \u003d undef,"},{"line_number":111,"context_line":"  $dhcp_nodes              \u003d hiera(\u0027neutron_dhcp_short_node_names\u0027, []),"},{"line_number":112,"context_line":"  $designate_api_enabled   \u003d hiera(\u0027designate_api_enabled\u0027, false),"},{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_1e1a4dc6","line":113,"range":{"start_line":113,"start_character":36,"end_line":113,"end_character":37},"updated":"2018-10-11 05:30:35.000000000","message":"please add missing coma.","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":120,"context_line":"      warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_be80f9bf","line":118,"range":{"start_line":116,"start_character":4,"end_line":118,"end_character":5},"updated":"2018-10-11 05:30:35.000000000","message":"please use validate_string from puppet-stdlib.","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"2d5ebb2add254bde579b570e0ee60a6ccfb9f2f1","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":120,"context_line":"      warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_a1ae999e","line":118,"range":{"start_line":116,"start_character":4,"end_line":118,"end_character":5},"in_reply_to":"3f79a3b5_79f35ba0","updated":"2018-10-11 08:56:01.000000000","message":"yeah, right. And those are deprecated for puppet 4. I couldn\u0027t make the validate_legacy magic failing any checks :/","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"8b6fd79ca19f6ac7d44ae2ce70b65158b946a998","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":120,"context_line":"      warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_e186d116","line":118,"range":{"start_line":116,"start_character":4,"end_line":118,"end_character":5},"in_reply_to":"3f79a3b5_a1ae999e","updated":"2018-10-11 08:58:11.000000000","message":"not I can make a simple test.pp failing the puppet apply for me...\n\n$a \u003d \u0027a\u0027\nvalidate_re($a, \"^b$\", \"^c$\")\n\nit just passes...","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"45ef6c8881aee44dc0fe7f82151304839e0b523e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":120,"context_line":"      warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_79f35ba0","line":118,"range":{"start_line":116,"start_character":4,"end_line":118,"end_character":5},"in_reply_to":"3f79a3b5_be80f9bf","updated":"2018-10-11 06:28:15.000000000","message":"ah damn, it\u0027s validate_re - sorry:\nvalidate_re($container_cli, [\u0027docker\u0027, \u0027podman\u0027])","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"bc1f5b8663f006c3a2e055398f10d5bf376602dd","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    if !($container_cli in [\u0027docker\u0027, \u0027podman\u0027]) {"},{"line_number":117,"context_line":"      fail(\"container_cli ($container_cli) is not supported!\")"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"    if $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":120,"context_line":"      warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"3f79a3b5_61cde15c","line":118,"range":{"start_line":116,"start_character":4,"end_line":118,"end_character":5},"in_reply_to":"3f79a3b5_e186d116","updated":"2018-10-11 09:02:32.000000000","message":"never-mind, the latter example works. Just not sure we really want to add more deprecated functions.","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"e0e8c9244dad74ae1ec996535a82897b1e9348d1","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  $dhcp_agents_per_network \u003d undef,"},{"line_number":111,"context_line":"  $dhcp_nodes              \u003d hiera(\u0027neutron_dhcp_short_node_names\u0027, []),"},{"line_number":112,"context_line":"  $designate_api_enabled   \u003d hiera(\u0027designate_api_enabled\u0027, false),"},{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027,"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    # NOTE(bogdando) validate_* is deprecated and we do not want to use it here"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"3f79a3b5_6d2c5993","line":113,"updated":"2018-10-18 14:00:27.000000000","message":"shouldn\u0027t we try to get it from hiera, with a default to docker, so later when we switch it\u0027s easier to handle on THT side?\n\nSomething like hiera(\u0027container_cli\u0027, \u0027docker\u0027)","commit_id":"e24fa092face4d7e369ad316b6fbb3f706393345"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"1fef55f22eb73f31c3c0acb6307dcb2d07eb2a7d","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  $dhcp_agents_per_network \u003d undef,"},{"line_number":111,"context_line":"  $dhcp_nodes              \u003d hiera(\u0027neutron_dhcp_short_node_names\u0027, []),"},{"line_number":112,"context_line":"  $designate_api_enabled   \u003d hiera(\u0027designate_api_enabled\u0027, false),"},{"line_number":113,"context_line":"  $container_cli           \u003d \u0027docker\u0027,"},{"line_number":114,"context_line":") {"},{"line_number":115,"context_line":"  if $step \u003e\u003d 3 {"},{"line_number":116,"context_line":"    # NOTE(bogdando) validate_* is deprecated and we do not want to use it here"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"3f79a3b5_6d41b936","line":113,"in_reply_to":"3f79a3b5_6d2c5993","updated":"2018-10-18 14:01:45.000000000","message":"makes sense, thanks!","commit_id":"e24fa092face4d7e369ad316b6fbb3f706393345"}],"manifests/profile/base/neutron/dhcp_agent_wrappers.pp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"775f2f3d7a20c8e152d07eb75c651f4153783750","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":73,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"},{"line_number":74,"context_line":"  } else {"},{"line_number":75,"context_line":"    $bind_socket \u003d \u0027\u0027"},{"line_number":76,"context_line":"  }"},{"line_number":77,"context_line":"  if $enable_dnsmasq_wrapper {"},{"line_number":78,"context_line":"    unless $dnsmasq_image and $dnsmasq_process_wrapper{"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_6cc1742f","line":75,"updated":"2018-10-10 10:10:46.000000000","message":"maybe best with \"undef\" instead? Depends on the test made in tripleo::profile::base::* though.","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"998fba8f017a569c4270eaabe03f4c9708f2293c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"  # Deprecated"},{"line_number":68,"context_line":"  $bind_sockets            \u003d hiera(\u0027docker_additional_sockets\u0027, [\u0027/var/lib/openstack/docker.sock\u0027]),"},{"line_number":69,"context_line":") {"},{"line_number":70,"context_line":"  $container_cli \u003d hiera(\u0027tripleo::profile::base::neutron::container_cli\u0027, \u0027docker\u0027)"},{"line_number":71,"context_line":"  if $bind_sockets and $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":72,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":73,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"}],"source_content_type":"text/x-puppet","patch_set":19,"id":"3f79a3b5_afde4d39","line":70,"updated":"2018-10-25 22:57:50.000000000","message":"It would have been nice to also add this to the class parameters so we could have proper tests around all this logic.","commit_id":"d0bfce71db2f497f17a2f00eaabd8bdc53213f28"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"750cfc7de904fc1234b91d3aad4b0131f16623e5","unresolved":false,"context_lines":[{"line_number":67,"context_line":"  # Deprecated"},{"line_number":68,"context_line":"  $bind_sockets            \u003d hiera(\u0027docker_additional_sockets\u0027, [\u0027/var/lib/openstack/docker.sock\u0027]),"},{"line_number":69,"context_line":") {"},{"line_number":70,"context_line":"  $container_cli \u003d hiera(\u0027tripleo::profile::base::neutron::container_cli\u0027, \u0027docker\u0027)"},{"line_number":71,"context_line":"  if $bind_sockets and $container_cli \u003d\u003d \u0027docker\u0027 {"},{"line_number":72,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":73,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"}],"source_content_type":"text/x-puppet","patch_set":19,"id":"3f79a3b5_f67c1523","line":70,"in_reply_to":"3f79a3b5_afde4d39","updated":"2018-10-26 09:04:18.000000000","message":"Done","commit_id":"d0bfce71db2f497f17a2f00eaabd8bdc53213f28"}],"manifests/profile/base/neutron/l3_agent_wrappers.pp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"775f2f3d7a20c8e152d07eb75c651f4153783750","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":113,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"},{"line_number":114,"context_line":"  } else {"},{"line_number":115,"context_line":"    $bind_socket \u003d \u0027\u0027"},{"line_number":116,"context_line":"  }"},{"line_number":117,"context_line":"  if $enable_haproxy_wrapper {"},{"line_number":118,"context_line":"    unless $haproxy_image and $haproxy_process_wrapper{"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_2cd93c27","line":115,"updated":"2018-10-10 10:10:46.000000000","message":"ditto","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"}],"manifests/profile/base/neutron/ovn_metadata_agent_wrappers.pp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"775f2f3d7a20c8e152d07eb75c651f4153783750","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":56,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"},{"line_number":57,"context_line":"  } else {"},{"line_number":58,"context_line":"    $bind_socket \u003d \u0027\u0027"},{"line_number":59,"context_line":"  }"},{"line_number":60,"context_line":"  if $enable_haproxy_wrapper {"},{"line_number":61,"context_line":"    unless $haproxy_image and $haproxy_process_wrapper{"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_ece264d4","line":58,"updated":"2018-10-10 10:10:46.000000000","message":"ditto","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"974da022432f40ec56448a2bddb64b2a18d5d075","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    warning(\"Docker runtime is deprecated. Consider switching container_cli to podman\")"},{"line_number":56,"context_line":"    $bind_socket \u003d join([\u0027unix://\u0027, $bind_sockets[0]], \u0027\u0027)"},{"line_number":57,"context_line":"  } else {"},{"line_number":58,"context_line":"    $bind_socket \u003d \u0027\u0027"},{"line_number":59,"context_line":"  }"},{"line_number":60,"context_line":"  if $enable_haproxy_wrapper {"},{"line_number":61,"context_line":"    unless $haproxy_image and $haproxy_process_wrapper{"}],"source_content_type":"text/x-puppet","patch_set":9,"id":"3f79a3b5_66b66c28","line":58,"in_reply_to":"3f79a3b5_ece264d4","updated":"2018-10-10 13:29:29.000000000","message":"I\u0027m not very familiar with Puppet 5 epp typing system. I\u0027m not sure if False or undef works well with String type there...","commit_id":"51e7dbd577068385b1144fc27d2683ad4842c90d"}],"releasenotes/notes/wrapper-containers-debug-f141d964548eb2ea.yaml":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"853ceaa71c1526ffa42140b5ab75d3704c3c33df","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    logs`` CLI."},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    Parameter ``bind_sockets`` removed. No sockets are expected to bind mount"},{"line_number":11,"context_line":"    for podman, which is a default containers runtime as of Stein."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f79a3b5_998bb0bf","line":10,"updated":"2018-10-01 15:21:45.000000000","message":"I hope we can remove it as t-h-t if the only user of the puppet tripleo interfaces. Looked around I found there is quite a few commits removing things in the deprecations section instead of going a full deprecation dance round.","commit_id":"be7c879518a69e055a1a00ec337e88c7703edd21"}],"spec/defines/tripleo_profile_base_neutron_wrappers_keepalived_spec.rb":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d43950b25d1ca22d357e051bf781440843812a22","unresolved":false,"context_lines":[{"line_number":49,"context_line":"          /set -x/"},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        is_expected.to contain_file(\u0027/usr/local/bin/keepalived\u0027).with_content("},{"line_number":52,"context_line":"          /CMD\u003d\"ip netns exec.*/usr/sbin/keepalived -n -l -D/"},{"line_number":53,"context_line":"        )"},{"line_number":54,"context_line":"      end"},{"line_number":55,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":20,"id":"3f79a3b5_520aaa26","line":52,"updated":"2018-10-26 18:24:00.000000000","message":"this doesn\u0027t pass unit tests: http://logs.openstack.org/95/606095/20/check/puppet-openstack-unit-4.8-centos-7/5aaa57d/job-output.txt.gz#_2018-10-26_11_34_14_906024","commit_id":"e57abb8b218616993aa6e77595a1434d6f50ca6e"}],"templates/neutron/dibbler-client.epp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":50,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":51,"context_line":"     --net host \\"},{"line_number":52,"context_line":"     --pid host \\"},{"line_number":53,"context_line":"     --privileged \\"},{"line_number":54,"context_line":"     -u root \\"},{"line_number":55,"context_line":"     --name $NAME \\"},{"line_number":56,"context_line":"     \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_bee799ab","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":19},"updated":"2018-10-11 05:30:35.000000000","message":"I thought we could use --cap-add SYS_ADMIN --cap-add SYS_PTRACE? Or is it only for podman?","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"d8cca7ec8a59990d19dd7bd31b9391edebdeefb7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":51,"context_line":"     --net host \\"},{"line_number":52,"context_line":"     --pid host \\"},{"line_number":53,"context_line":"     --privileged \\"},{"line_number":54,"context_line":"     -u root \\"},{"line_number":55,"context_line":"     --name $NAME \\"},{"line_number":56,"context_line":"     \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_0e7bfcf3","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":19},"in_reply_to":"3f79a3b5_bee799ab","updated":"2018-10-11 08:30:48.000000000","message":"There is a follow up patch for SYS_ADMIN. No sys_ptrace wanted here as we need no to manage containers from containers started by containers :)","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":46,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":47,"context_line":"$CLI run --detach \\"},{"line_number":48,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":49,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":50,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":51,"context_line":"     --net host \\"},{"line_number":52,"context_line":"     --pid host \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_8d53996e","line":49,"updated":"2018-10-23 17:22:26.000000000","message":"we need \",z\" in addition to \"shared\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":47,"context_line":"$CLI run --detach \\"},{"line_number":48,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":49,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":50,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":51,"context_line":"     --net host \\"},{"line_number":52,"context_line":"     --pid host \\"},{"line_number":53,"context_line":"     --privileged \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_0d4789a6","line":50,"updated":"2018-10-23 17:22:26.000000000","message":"we need \":shared,z\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"}],"templates/neutron/dnsmasq.epp":[{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"8139646d3f007fef0ae020e2586c179c313d218c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        podman stop ${orphant} || true"},{"line_number":22,"context_line":"        podman rm -f ${orphant} || true"},{"line_number":23,"context_line":"    done"},{"line_number":24,"context_line":"fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Ensure an only child is running"},{"line_number":27,"context_line":"CHILDS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \"${NAME}\")"}],"source_content_type":"application/x-epp","patch_set":1,"id":"3f79a3b5_2826cc68","line":24,"updated":"2018-10-01 12:20:20.000000000","message":"Hmmm. you can have multiple dhcp/l3 agents on a host so if I\u0027m reading this right this will kill all those except the one that is currently being started.","commit_id":"765090797f0404ee797b52dff4c0a895d762aa47"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"8139646d3f007fef0ae020e2586c179c313d218c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"count\u003d$(printf \"%s\\n\" \"${CHILDS}\" | wc -l)"},{"line_number":29,"context_line":"if [ $count -gt 1 ]; then"},{"line_number":30,"context_line":"    echo \"Found multiple child containers, which is not expected!\""},{"line_number":31,"context_line":"    # FIXME(bogdando): pick a survivor based on the longest uptime maybe?"},{"line_number":32,"context_line":"    for child in $(printf \"%s\\n\" \"${CHILDS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":33,"context_line":"        [ $count -eq 1 ] \u0026\u0026 break"},{"line_number":34,"context_line":"        echo \"Removing an extra child container ${child}\""}],"source_content_type":"application/x-epp","patch_set":1,"id":"3f79a3b5_48d0e82b","line":31,"updated":"2018-10-01 12:20:20.000000000","message":"Picking a survivor probably won\u0027t work because we wouldn\u0027t be here if the neutron agent couldn\u0027t find the PID file it expected.","commit_id":"765090797f0404ee797b52dff4c0a895d762aa47"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"},{"line_number":51,"context_line":"     -u root \\"},{"line_number":52,"context_line":"     --name $NAME \\"},{"line_number":53,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_9e973deb","line":50,"range":{"start_line":50,"start_character":5,"end_line":50,"end_character":17},"updated":"2018-10-11 05:30:35.000000000","message":"dito","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"4ff3ec454af53d14f342214e5ea516493b2d5f7c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003c%- if $container_cli \u003d\u003d \u0027docker\u0027 { -%\u003e"},{"line_number":23,"context_line":"CLI\u003d\u0027docker\u0027"},{"line_number":24,"context_line":"\u003c%- } elsif $container_cli \u003d\u003d \u0027podman\u0027 { -%\u003e"},{"line_number":25,"context_line":"CLI\u003d\u0027nsenter -m -n -p -t 1 podman\u0027"},{"line_number":26,"context_line":"\u003c%- } else { -%\u003e"},{"line_number":27,"context_line":"CLI\u003d\u0027echo noop\u0027"},{"line_number":28,"context_line":"\u003c%- } -%\u003e"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_6a4abcad","line":25,"updated":"2018-10-22 18:48:17.000000000","message":"a few infos here:\n\n* -p on nsenter is probably unnecessary if you already specify pid\u003dhost\n* net\u003dhost would remove the need for -n on nsenter (and save time, making a netns is expensive)","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"11689045703ef6acf1465754d19a744b756d678e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":32,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":33,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":34,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":35,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_5f03270d","line":32,"updated":"2018-10-19 14:15:33.000000000","message":"I\u0027ll have to double check, but I\u0027m not sure that \"Exited\" catches all of the relevant cases. I was trying the patch that used capabilities instead of --privileged and the containers were created, but in \"Creating\" not \"Exited\".","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"021d4ba836e38a6945c33f26a7ed4320a93c8d0f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":32,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":33,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":34,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":35,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_2b61fba8","line":32,"in_reply_to":"3f79a3b5_5f03270d","updated":"2018-10-24 12:37:55.000000000","message":"I think we should only cover those gracefully terminated by neutron. As the wrappers job is to rip containers not needed any more. Crashy/flaky cases is not that we want to handle here perhaps.","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"86bddcd457183532bda8c8b0349817cfb43df7a3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    done"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_69ca0648","line":41,"updated":"2018-10-18 19:00:51.000000000","message":"I don\u0027t understand why we need to do this. I think a name collision is an indication of something wrong happening and what you want to do is kill and remove the old one.","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"11689045703ef6acf1465754d19a744b756d678e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    done"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_9c2b0d9a","line":41,"in_reply_to":"3f79a3b5_3c1759f2","updated":"2018-10-19 14:15:33.000000000","message":"Seeing as the names are relatively unique (one process per network namespace) if there is a collision, then that implies that there is a process that neutron is no longer managing that is responding to things. The previous version of the wrapper scripts contained the stop/rm at the start for just this purpose.","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3663f74abe77ca86d1e69a5d3e08e4a642f97921","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    done"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_3c1759f2","line":41,"in_reply_to":"3f79a3b5_69ca0648","updated":"2018-10-19 13:52:18.000000000","message":"I\u0027m not sure killing containers unless Exited, would match the change \"let neutron agents control its child processes life time\". I added these stanzas to manage tricky corner cases, when the name is already taken. Just following the establishing paunch approaches [0] taken (and my gut feeling...) for such a type of sutuations...\n\nStill, I think it\u0027s better to have name conflicts handled than not.\n\n[0] http://git.openstack.org/cgit/openstack/paunch/tree/paunch/runner.py#n89","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4c3a15b622ed57b5f99359b03ee207712cca8dde","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    done"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_0bcf5f8b","line":41,"in_reply_to":"3f79a3b5_9c2b0d9a","updated":"2018-10-24 12:41:41.000000000","message":"Split control planes is not good idea IMO. I understood the requirement to dedicate the life cycle management for processes to neutron agents just as that, no intrusion from wrappers, if there is more than one process running for a namespace, that\u0027s a job to take care by agents starting / riping processes, not wrappers, which only cares of container shells for those.","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"34f6613f9ce2a9a2dd822982338dc6aee8ef229a","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_d6f7d28d","line":43,"updated":"2018-10-24 07:00:22.000000000","message":"At least for that case, it would be good to check if a container with the same name exists - and if so, drop it, and re-create it.\nThe case might happen after a reboot for example.","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"b5f3c30cdb12a07b84545502b71c46654e1385e9","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# If the NAME is already taken by a container, give it an unique name"},{"line_number":42,"context_line":"printf \"%s\\n\" \"${LIST}\" | grep -q \"${NAME}$\" \u0026\u0026 NAME\u003d\"${NAME}-$(date +%Y-%m-%d-%H%M%S-%N)\""},{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_0bd99f26","line":43,"in_reply_to":"3f79a3b5_d6f7d28d","updated":"2018-10-24 12:50:08.000000000","message":"This should be already cared by the Exited state teardown @32? Needs testing...","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_6d371d4d","line":46,"updated":"2018-10-23 17:22:26.000000000","message":"we need \",z\" in addition to the \"shared\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_ad31b55a","line":47,"updated":"2018-10-23 17:22:26.000000000","message":"we need :\"shared,z\" here","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"adfa04b76478df64c15cf03ddc443fa1bdf884c8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":35,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":36,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":37,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":38,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":16,"id":"3f79a3b5_16969f3e","line":35,"updated":"2018-10-24 15:13:22.000000000","message":"This is apparently not working as expected :(. After a reboot, neutron_dhcp container isn\u0027t cleaning the old container, and is thus unable to start the new dhcp service.","commit_id":"b5934eb6a946f5cbc53786e5144b3ae9479c6f12"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0a3ed6242190d8fdd1198cf77e4b2ff459aaed3f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":35,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":36,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":37,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":38,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":16,"id":"3f79a3b5_2ccfce8b","line":35,"in_reply_to":"3f79a3b5_16969f3e","updated":"2018-10-24 16:12:44.000000000","message":"alright so let\u0027s add Created state, unless we have https://github.com/containers/libpod/issues/1703 fixed","commit_id":"b5934eb6a946f5cbc53786e5144b3ae9479c6f12"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"5f4333f70e078842ea5d33dc88d30348d5c3d4a3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":35,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":36,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":37,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":38,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":16,"id":"3f79a3b5_4cdeca10","line":35,"in_reply_to":"3f79a3b5_2ccfce8b","updated":"2018-10-24 16:20:49.000000000","message":"Testing a patch right now, takes a bit of time ;). Will push it once it\u0027s tested on my lab.","commit_id":"b5934eb6a946f5cbc53786e5144b3ae9479c6f12"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"1c502332e5ab59824c3217f0d294b809f1e67b35","unresolved":false,"context_lines":[{"line_number":32,"context_line":"LIST\u003d$($CLI ps -a --filter name\u003dneutron-dnsmasq- --format \u0027{{.ID}}:{{.Names}}:{{.Status}}\u0027 | awk \u0027{print $1}\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# Find orphaned containers left for dead after its main process terminated by neutron parent process"},{"line_number":35,"context_line":"ORPHANTS\u003d$(printf \"%s\\n\" \"${LIST}\" | grep \":Exited\")"},{"line_number":36,"context_line":"if [ -n \"${ORPHANTS}\" ]; then"},{"line_number":37,"context_line":"    for orphant in $(printf \"%s\\n\" \"${ORPHANTS}\" | awk -F\u0027:\u0027 \u0027{print $1}\u0027); do"},{"line_number":38,"context_line":"        echo \"Removing orphaned container ${orphant}\""}],"source_content_type":"application/x-epp","patch_set":16,"id":"3f79a3b5_87583b25","line":35,"in_reply_to":"3f79a3b5_4cdeca10","updated":"2018-10-24 16:43:39.000000000","message":"Done","commit_id":"b5934eb6a946f5cbc53786e5144b3ae9479c6f12"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"983cd2a0729129b7f46ddf6fd050631e94e4c440","unresolved":false,"context_lines":[{"line_number":51,"context_line":"     -v /var/lib/neutron:/var/lib/neutron:z,shared \\"},{"line_number":52,"context_line":"     --net host \\"},{"line_number":53,"context_line":"     --pid host \\"},{"line_number":54,"context_line":"     --privileged \\"},{"line_number":55,"context_line":"     -u root \\"},{"line_number":56,"context_line":"     --name $NAME \\"},{"line_number":57,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":24,"id":"3f79a3b5_31ec5027","line":54,"updated":"2018-11-02 14:56:45.000000000","message":"I thought the \u0027--rm\u0027 was removed because podman didn\u0027t support it, but it appears to be there as an option at least. I know it is contrary to your concerns vis-a-vis split control plane, but if there is a simple solution to cleaning up stopped containers, why not use it?","commit_id":"d942a07b0ffa1c79d37ffa094f91790d0f473ab4"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"28cdbfce0ae81a3ef6ca99613b579b8e94a0563b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"     -v /var/lib/neutron:/var/lib/neutron:z,shared \\"},{"line_number":52,"context_line":"     --net host \\"},{"line_number":53,"context_line":"     --pid host \\"},{"line_number":54,"context_line":"     --privileged \\"},{"line_number":55,"context_line":"     -u root \\"},{"line_number":56,"context_line":"     --name $NAME \\"},{"line_number":57,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":24,"id":"3f79a3b5_bbc01d2e","line":54,"in_reply_to":"3f79a3b5_1196d73e","updated":"2018-11-05 13:45:42.000000000","message":"aaah okay.","commit_id":"d942a07b0ffa1c79d37ffa094f91790d0f473ab4"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"7c77ca3624422fa6245179673bf9152e518e254b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"     -v /var/lib/neutron:/var/lib/neutron:z,shared \\"},{"line_number":52,"context_line":"     --net host \\"},{"line_number":53,"context_line":"     --pid host \\"},{"line_number":54,"context_line":"     --privileged \\"},{"line_number":55,"context_line":"     -u root \\"},{"line_number":56,"context_line":"     --name $NAME \\"},{"line_number":57,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":24,"id":"3f79a3b5_a0d473bd","line":54,"in_reply_to":"3f79a3b5_31ec5027","updated":"2018-11-05 07:18:52.000000000","message":"I think we can\u0027t use \"--rm\" with \"--detach\" option - at least I had this kind of issue lately.","commit_id":"d942a07b0ffa1c79d37ffa094f91790d0f473ab4"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"1390b6663e5ca6f4de0467ed8dc6c94ce486a078","unresolved":false,"context_lines":[{"line_number":51,"context_line":"     -v /var/lib/neutron:/var/lib/neutron:z,shared \\"},{"line_number":52,"context_line":"     --net host \\"},{"line_number":53,"context_line":"     --pid host \\"},{"line_number":54,"context_line":"     --privileged \\"},{"line_number":55,"context_line":"     -u root \\"},{"line_number":56,"context_line":"     --name $NAME \\"},{"line_number":57,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":24,"id":"3f79a3b5_1196d73e","line":54,"in_reply_to":"3f79a3b5_a0d473bd","updated":"2018-11-05 09:44:24.000000000","message":"--rm does not work alongside -d","commit_id":"d942a07b0ffa1c79d37ffa094f91790d0f473ab4"}],"templates/neutron/haproxy.epp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"},{"line_number":51,"context_line":"     -u root \\"},{"line_number":52,"context_line":"     --name $NAME \\"},{"line_number":53,"context_line":"     \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_7e8261a7","line":50,"range":{"start_line":50,"start_character":5,"end_line":50,"end_character":17},"updated":"2018-10-11 05:30:35.000000000","message":"dito","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_8d05d96a","line":46,"updated":"2018-10-23 17:22:26.000000000","message":"we need \",z\" in addition to \"shared\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_4d234107","line":47,"updated":"2018-10-23 17:22:26.000000000","message":"we need \":shared,z\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"}],"templates/neutron/keepalived.epp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":50,"context_line":"    --net host \\"},{"line_number":51,"context_line":"    --pid host \\"},{"line_number":52,"context_line":"    --privileged \\"},{"line_number":53,"context_line":"    -u root \\"},{"line_number":54,"context_line":"    --name $NAME \\"},{"line_number":55,"context_line":"    \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_deba956f","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":16},"updated":"2018-10-11 05:30:35.000000000","message":"dito","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"    -v /lib/modules:/lib/modules:ro \\"},{"line_number":47,"context_line":"    -v /sbin/modprobe:/sbin/modprobe:ro \\"},{"line_number":48,"context_line":"    -v /run/netns:/run/netns:shared \\"},{"line_number":49,"context_line":"    -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":50,"context_line":"    --net host \\"},{"line_number":51,"context_line":"    --pid host \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_2d1605a3","line":48,"updated":"2018-10-23 17:22:26.000000000","message":"we need \",z\" in addition to \"shared\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    -v /lib/modules:/lib/modules:ro \\"},{"line_number":47,"context_line":"    -v /sbin/modprobe:/sbin/modprobe:ro \\"},{"line_number":48,"context_line":"    -v /run/netns:/run/netns:shared \\"},{"line_number":49,"context_line":"    -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":50,"context_line":"    --net host \\"},{"line_number":51,"context_line":"    --pid host \\"},{"line_number":52,"context_line":"    --privileged \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_ed79edfa","line":49,"updated":"2018-10-23 17:22:26.000000000","message":"we need \":shared,z\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"}],"templates/neutron/neutron-keepalived-state-change.epp":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"$CLI exec --detach \\"},{"line_number":42,"context_line":"    -u root \\"},{"line_number":43,"context_line":"    --privileged \\"},{"line_number":44,"context_line":"    $NAME \\"},{"line_number":45,"context_line":"    ip netns exec ${NETNS} /usr/bin/neutron-keepalived-state-change $ARGS"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_9eb09d8f","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":16},"updated":"2018-10-11 05:30:35.000000000","message":"dito","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"}],"templates/neutron/radvd.epp":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"2e5626244ef4278f2e666b8c53e326836b9b3fd7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":33,"context_line":"    --net host \\"},{"line_number":34,"context_line":"    --pid host \\"},{"line_number":35,"context_line":"    --cap-add\u003dSYS_ADMIN \\"},{"line_number":36,"context_line":"    --rm\u003dtrue \\"},{"line_number":37,"context_line":"    -u root \\"},{"line_number":38,"context_line":"    --name $NAME \\"}],"source_content_type":"application/x-epp","patch_set":4,"id":"3f79a3b5_b42b117a","line":35,"updated":"2018-10-01 15:31:30.000000000","message":"all of these can actually be a separate change, worked out together with https://review.openstack.org/#/c/606045 in t-h-t ...","commit_id":"be7c879518a69e055a1a00ec337e88c7703edd21"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"1959fe51467626fab410d18c5c0113ab23c498e2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":33,"context_line":"    --net host \\"},{"line_number":34,"context_line":"    --pid host \\"},{"line_number":35,"context_line":"    --cap-add\u003dSYS_ADMIN \\"},{"line_number":36,"context_line":"    --rm\u003dtrue \\"},{"line_number":37,"context_line":"    -u root \\"},{"line_number":38,"context_line":"    --name $NAME \\"}],"source_content_type":"application/x-epp","patch_set":4,"id":"3f79a3b5_6c6cc332","line":35,"in_reply_to":"3f79a3b5_b42b117a","updated":"2018-10-02 09:54:30.000000000","message":"Done","commit_id":"be7c879518a69e055a1a00ec337e88c7703edd21"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"510dba11906dda83e6cc0de535b695f7d9a86b90","unresolved":false,"context_lines":[{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"},{"line_number":51,"context_line":"     -u root \\"},{"line_number":52,"context_line":"     --name $NAME \\"},{"line_number":53,"context_line":"     \u003c%\u003d$image_name%\u003e \\"}],"source_content_type":"application/x-epp","patch_set":12,"id":"3f79a3b5_7eab411d","line":50,"range":{"start_line":50,"start_character":5,"end_line":50,"end_character":17},"updated":"2018-10-11 05:30:35.000000000","message":"dito","commit_id":"692b9ff0b6255012b3ae8040b0dd187a198448c7"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Starting a new child container ${NAME}\""},{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_ad7f75dc","line":46,"updated":"2018-10-23 17:22:26.000000000","message":"we need \",z\" in addition to \":shared\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"53a763efb51e9c5bea00ecd932ed67238245c354","unresolved":false,"context_lines":[{"line_number":44,"context_line":"$CLI run --detach \\"},{"line_number":45,"context_line":"     -v /var/lib/config-data/puppet-generated/neutron/etc/neutron:/etc/neutron:ro \\"},{"line_number":46,"context_line":"     -v /run/netns:/run/netns:shared \\"},{"line_number":47,"context_line":"     -v /var/lib/neutron:/var/lib/neutron \\"},{"line_number":48,"context_line":"     --net host \\"},{"line_number":49,"context_line":"     --pid host \\"},{"line_number":50,"context_line":"     --privileged \\"}],"source_content_type":"application/x-epp","patch_set":15,"id":"3f79a3b5_4d682121","line":47,"updated":"2018-10-23 17:22:26.000000000","message":"we  need \":shared,z\"","commit_id":"eae2a17c01a47fc41f23ceaaff685f4e850b3c34"}]}
