)]}'
{"neutron/templates/bin/_neutron-openvswitch-agent-init-modules.sh.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f2b4903a7b24b082d9ac0c1c61f283553bda8be","unresolved":false,"context_lines":[{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_7ccf56b3","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":28},"updated":"2019-08-07 17:44:58.000000000","message":"I\u0027d much prefer this to be conf.dpdk to match what\u0027s used in the openvswitch chart. This configuration parity makes managing feature functionality between dependent charts simple","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_66c9aa23","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":28},"in_reply_to":"7faddb67_05c4b35e","updated":"2019-08-13 11:18:05.000000000","message":"see: https://review.opendev.org/#/c/676159/","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"cd6012fd34d460d3c16d31881c8e2eb9bc44fae0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_05c4b35e","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":28},"in_reply_to":"7faddb67_251f6f0a","updated":"2019-08-08 13:29:25.000000000","message":"yes, sure.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_b21e55b9","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":28},"in_reply_to":"7faddb67_7ccf56b3","updated":"2019-08-07 20:48:04.000000000","message":"Valid point. Just for completeness: I decided to add the ovs_ prefix here because dpdk is just a generic framework and this configuration is specifically for OVS with DPDK - in case another dataplane component would require different specific dpdk config parameters as well. If you think this is a bit theoretical since OVS is currently the only user of DPDK in this context, I can remove the ovs_ prefix.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"0d3dd0837053c07c89861d810f3f8d4d44d33527","unresolved":false,"context_lines":[{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_251f6f0a","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":28},"in_reply_to":"7faddb67_b21e55b9","updated":"2019-08-08 13:25:31.000000000","message":"That\u0027s fair.  Would you be open to including a change that moves the corresponding key in the openvswitch chart to ovs_dpdk?  I\u0027d rather state the obvious in the key name there to get us configuration parity, rather than have disjoint configuration keys that could be too generic (based on your point above)","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f2b4903a7b24b082d9ac0c1c61f283553bda8be","unresolved":false,"context_lines":[{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_dcb9aa15","line":23,"range":{"start_line":23,"start_character":49,"end_line":23,"end_character":57},"updated":"2019-08-07 17:44:58.000000000","message":"ditto","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":20,"context_line":"chroot /mnt/host-rootfs modprobe ip6_tables"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled }}"},{"line_number":23,"context_line":"chroot /mnt/host-rootfs modprobe {{ .Values.conf.ovs_dpdk.driver | quote }}"},{"line_number":24,"context_line":"{{- end }}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_12fe4938","line":23,"range":{"start_line":23,"start_character":49,"end_line":23,"end_character":57},"in_reply_to":"7faddb67_dcb9aa15","updated":"2019-08-07 20:48:04.000000000","message":"see above","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"}],"neutron/templates/bin/_neutron-openvswitch-agent-init.sh.tpl":[{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"eb18f03e262e7fabf5a420d0a0270ad3c46c65b7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-br {{ .name | quote }} \\"},{"line_number":64,"context_line":"    -- set Bridge {{ .name | quote }}  datapath_type\u003dnetdev"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    {{- if .tunnel }}"},{"line_number":67,"context_line":"      # if the \"tunnel\" attribute is set, the IP of the neutron tunnel interface"},{"line_number":68,"context_line":"      # is assigned to this bridge because it will contain the tunnel interface"},{"line_number":69,"context_line":"      if [ ! -z \"${LOCAL_IP}\" ] ; then"},{"line_number":70,"context_line":"        # enable explicit error handling"},{"line_number":71,"context_line":"        set +e"},{"line_number":72,"context_line":"        ip addr flush ${tunnel_interface}"},{"line_number":73,"context_line":"        ip addr add ${LOCAL_IP}/${LOCAL_IP_PREFIX} dev {{ .name | quote }}"},{"line_number":74,"context_line":"        if [ $? -ne 0 ] ; then"},{"line_number":75,"context_line":"          # if for some reason the IP cannot be assiged to the bridge"},{"line_number":76,"context_line":"          # re-assign it to the tunnel interface to avoid loosing the"},{"line_number":77,"context_line":"          # IP configuration and exit"},{"line_number":78,"context_line":"          ip addr add ${LOCAL_IP}/${LOCAL_IP_PREFIX} dev ${tunnel_interface}"},{"line_number":79,"context_line":"          exit 1"},{"line_number":80,"context_line":"        fi"},{"line_number":81,"context_line":"        set -e"},{"line_number":82,"context_line":"      fi"},{"line_number":83,"context_line":"    {{- end }}"},{"line_number":84,"context_line":"  {{- end }}"},{"line_number":85,"context_line":"}"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":6,"id":"dfbec78f_a474bb9a","line":83,"range":{"start_line":66,"start_character":4,"end_line":83,"end_character":14},"updated":"2019-05-06 03:03:53.000000000","message":"Seems this makes this script complicated.\n\nI would suggest not mix `.Values.network.interface.tunnel` with dpdk. `.Values.network.interface.tunnel` can be any device which has an ip address. For no dpdk driven device, this should be NIC name. For dpdk driven device, this should be the bridge name. The bridge ip is migrated from the dpdk NIC.\nThis should make things easier.\n\nwe define dpdk section as:\n```\n  ovs_dpdk:\n    enabled: false\n    driver: uio_pci_generic\n    nics:\n      - name: dpdk0\n        pci_id: \u00270000:05:00.0\u0027\n        bridge: br-phy\n        migrate_ip: true\n    bridges:\n      - name: br-phy\n```\n1. We create bridge for each item in \u0027ovs_dpdk.bridges\u0027\n2. For each item in \u0027ovs_dpdk.nics\u0027, we bind it to the driver and add it to bridge. If migrate_ip is defined as true and the nic indeed has an ip address, we migrate the ip to the bridge.\nThis is almost the same as your last version patch, we just add IP migration.","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"38826164f4cc831a67822ceb0c5e3ec7a64481d3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-br {{ .name | quote }} \\"},{"line_number":64,"context_line":"    -- set Bridge {{ .name | quote }}  datapath_type\u003dnetdev"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    {{- if .tunnel }}"},{"line_number":67,"context_line":"      # if the \"tunnel\" attribute is set, the IP of the neutron tunnel interface"},{"line_number":68,"context_line":"      # is assigned to this bridge because it will contain the tunnel interface"},{"line_number":69,"context_line":"      if [ ! -z \"${LOCAL_IP}\" ] ; then"},{"line_number":70,"context_line":"        # enable explicit error handling"},{"line_number":71,"context_line":"        set +e"},{"line_number":72,"context_line":"        ip addr flush ${tunnel_interface}"},{"line_number":73,"context_line":"        ip addr add ${LOCAL_IP}/${LOCAL_IP_PREFIX} dev {{ .name | quote }}"},{"line_number":74,"context_line":"        if [ $? -ne 0 ] ; then"},{"line_number":75,"context_line":"          # if for some reason the IP cannot be assiged to the bridge"},{"line_number":76,"context_line":"          # re-assign it to the tunnel interface to avoid loosing the"},{"line_number":77,"context_line":"          # IP configuration and exit"},{"line_number":78,"context_line":"          ip addr add ${LOCAL_IP}/${LOCAL_IP_PREFIX} dev ${tunnel_interface}"},{"line_number":79,"context_line":"          exit 1"},{"line_number":80,"context_line":"        fi"},{"line_number":81,"context_line":"        set -e"},{"line_number":82,"context_line":"      fi"},{"line_number":83,"context_line":"    {{- end }}"},{"line_number":84,"context_line":"  {{- end }}"},{"line_number":85,"context_line":"}"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":6,"id":"dfbec78f_22351bdb","line":83,"range":{"start_line":66,"start_character":4,"end_line":83,"end_character":14},"in_reply_to":"dfbec78f_a474bb9a","updated":"2019-05-06 07:52:21.000000000","message":"I like this. Will update the patch.","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"1e9bf4770f8d95bf99cc1f120accbd102d2e42ff","unresolved":false,"context_lines":[{"line_number":178,"context_line":"{{- end }}"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# determine local-ip dynamically based on interface provided but only if tunnel_types is not null"},{"line_number":181,"context_line":"LOCAL_IP\u003d$(get_ip_address_from_interface ${tunnel_interface})"},{"line_number":182,"context_line":"if [ -z \"${LOCAL_IP}\" ] ; then"},{"line_number":183,"context_line":"  echo \"Var LOCAL_IP is empty\""},{"line_number":184,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":8,"id":"dfbec78f_e0001b6a","line":181,"range":{"start_line":181,"start_character":0,"end_line":181,"end_character":61},"updated":"2019-05-09 19:09:15.000000000","message":"at this point the NIC is already bound to DPDK driver and hence this command shall fail","commit_id":"32a0e0209a892fc063bdd6500b9c1fcbf27e7ceb"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"34e96cefd7a0666438dd646205194963bcb96038","unresolved":false,"context_lines":[{"line_number":178,"context_line":"{{- end }}"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# determine local-ip dynamically based on interface provided but only if tunnel_types is not null"},{"line_number":181,"context_line":"LOCAL_IP\u003d$(get_ip_address_from_interface ${tunnel_interface})"},{"line_number":182,"context_line":"if [ -z \"${LOCAL_IP}\" ] ; then"},{"line_number":183,"context_line":"  echo \"Var LOCAL_IP is empty\""},{"line_number":184,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":8,"id":"dfbec78f_80035f0f","line":181,"range":{"start_line":181,"start_character":0,"end_line":181,"end_character":61},"in_reply_to":"dfbec78f_e0001b6a","updated":"2019-05-09 19:43:45.000000000","message":"based on Cheng\u0027s comment, I changed the logic here in comparison to a previous patch: \"tunnel_interface\" is not the NIC anymore which gets bound to DPDK, but the bridge to which the NIC is assigned. From a users perspective this is more intuitive because you also specify the device (bridge or NIC) which should eventually be used as tunnel interface. This means that in case of DPDK, tunnel_interface is \"br-phy\".\n\nFurther up in the code, based on the \"nics\" config section, all NICs get bound to DPDK and their IP migrated to the specified bridge. In the default config, this is br-phy which will eventually act as tunnel interface.\n\nyeah, needs to be documented.\n\nNevertheless, there is still a bug in the code, so I\u0027ll push an update soon.","commit_id":"32a0e0209a892fc063bdd6500b9c1fcbf27e7ceb"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"0efc08fc3895caf4b8a04bf6f750553a38b04043","unresolved":false,"context_lines":[{"line_number":23,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function bind_nic {"},{"line_number":26,"context_line":"  echo $2 \u003e /sys/bus/pci/devices/$1/driver_override"},{"line_number":27,"context_line":"  echo $1 \u003e /sys/bus/pci/drivers/$2/bind"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function unbind_nic {"}],"source_content_type":"text/x-smarty","patch_set":9,"id":"dfbec78f_a9b51ecf","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":40},"updated":"2019-05-10 14:02:37.000000000","message":"Cool, I did not know this. This is the same as doing \u0027dpdk-devbind --bind\u003d$2 $1\u0027, right?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"241697619bece42c7fc2987d67742962f7ce6c02","unresolved":false,"context_lines":[{"line_number":23,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function bind_nic {"},{"line_number":26,"context_line":"  echo $2 \u003e /sys/bus/pci/devices/$1/driver_override"},{"line_number":27,"context_line":"  echo $1 \u003e /sys/bus/pci/drivers/$2/bind"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"function unbind_nic {"}],"source_content_type":"text/x-smarty","patch_set":9,"id":"dfbec78f_4977c2d5","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":40},"in_reply_to":"dfbec78f_a9b51ecf","updated":"2019-05-10 14:11:34.000000000","message":"yes, that\u0027s actually what the tool does under the hood.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"8d72d5b22bf4321ac1902611dcd957ac963448c1","unresolved":false,"context_lines":[{"line_number":117,"context_line":"function init_ovs_dpdk_bridge {"},{"line_number":118,"context_line":"  bridge\u003d$1"},{"line_number":119,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-br ${bridge} \\"},{"line_number":120,"context_line":"  -- set Bridge ${bridge} datapath_type\u003dnetdev"},{"line_number":121,"context_line":"  ip link set ${bridge} up"},{"line_number":122,"context_line":"}"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":9,"id":"dfbec78f_7314f044","line":120,"range":{"start_line":120,"start_character":26,"end_line":120,"end_character":46},"updated":"2019-07-15 14:20:02.000000000","message":"should we use the conf parameter, i.e. conf.plugins.openvswitch_agent.ovs.datapath_type instead of hardcoding here?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":30329,"name":"Om Prakash","email":"op317q@att.com","username":"op317q"},"change_message_id":"a7b788a979f70c1ece0d8e63032fb05493bb9e59","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    fi"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --if-exists del-port {{ .name | quote }}"},{"line_number":106,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-port {{ .bridge | quote }} {{ .name | quote}} \\"},{"line_number":107,"context_line":"     -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }}"},{"line_number":108,"context_line":"  {{- end }}"},{"line_number":109,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"bfb3d3c7_259bdec9","line":106,"range":{"start_line":106,"start_character":54,"end_line":106,"end_character":58},"updated":"2019-05-21 03:16:45.000000000","message":"I don\u0027t see option here to set number of queue and pmd-rxq-affinity\nExample :- \novs-vsctl add-port ovs_pvp_br0 dpdk0 -- \\\n       set Interface dpdk0 type\u003ddpdk options:dpdk-devargs\u003d0000:af:00.0     ofport_request\u003d1 options:n_rxq\u003d2 other_config:pmd-rxq-affinity\u003d\"0:3,1:27\"","commit_id":"19d801aefe7384b6c83d4cd376925e0bf3d9118b"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e74c396c6efb7072706f62cedd46eb981d256cea","unresolved":false,"context_lines":[{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"function get_name_by_pci_id {"},{"line_number":36,"context_line":"  echo $(ls -1 /sys/bus/pci/devices/$1/net 2\u003e /dev/null || true)"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"function get_ip_address_from_interface {"}],"source_content_type":"text/x-smarty","patch_set":12,"id":"bfb3d3c7_9640bb37","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":64},"updated":"2019-05-21 09:34:53.000000000","message":"This does not work in all cases unfortunately. Depending on the driver, there might be an additional directory inbetween, hence the recursive find. For example, in my virtualized dev environment using virtio, the path looks like this:\n\n/sys/bus/pci/devices/0000:00:03.0/virtio0/net\n\nNote the additional virtio0 directory.","commit_id":"ffc3da7788b49d5f57dadfa7f89e1899cd2d001a"},{"author":{"_account_id":30329,"name":"Om Prakash","email":"op317q@att.com","username":"op317q"},"change_message_id":"a7b788a979f70c1ece0d8e63032fb05493bb9e59","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    fi"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --if-exists del-port {{ .name | quote }}"},{"line_number":108,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-port {{ .bridge | quote }} {{ .name | quote}} \\"},{"line_number":109,"context_line":"     -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} ofport_request\u003d{{ .ofport_request | quote }} \\"},{"line_number":110,"context_line":"        options:n_rxq\u003d{{ .n_rxq }} other_config:pmd-rxq-affinity\u003d{{ .pmd_rxq_affinity | quote }}"},{"line_number":111,"context_line":"  {{- end }}"}],"source_content_type":"text/x-smarty","patch_set":12,"id":"bfb3d3c7_50c32eee","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"updated":"2019-05-21 03:16:45.000000000","message":"I don\u0027t see here option of creating vhost-user port. I think we should have it because then we can assign specific cpu to vHost-user port . \n \novs-vsctl add-port ovs_pvp_br0 dpdk0 -- \\\n       set Interface dpdk0 type\u003ddpdk options:dpdk-devargs\u003d0000:04:00.1 ofport_request\u003d1 options:n_rxq\u003d2 other_config:pmd-rxq-affinity\u003d\"0:4,1:28\" ## numa 0\n\novs-vsctl add-port ovs_pvp_br0 vhost-user0 -- \\\n       set Interface vhost-user0 type\u003ddpdkvhostuser ofport_request\u003d3 options:n_rxq\u003d2 other_config:pmd-rxq-affinity\u003d\"0:6,1:30\" ## numa 0","commit_id":"ffc3da7788b49d5f57dadfa7f89e1899cd2d001a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e74c396c6efb7072706f62cedd46eb981d256cea","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    fi"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --if-exists del-port {{ .name | quote }}"},{"line_number":108,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-port {{ .bridge | quote }} {{ .name | quote}} \\"},{"line_number":109,"context_line":"     -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} ofport_request\u003d{{ .ofport_request | quote }} \\"},{"line_number":110,"context_line":"        options:n_rxq\u003d{{ .n_rxq }} other_config:pmd-rxq-affinity\u003d{{ .pmd_rxq_affinity | quote }}"},{"line_number":111,"context_line":"  {{- end }}"}],"source_content_type":"text/x-smarty","patch_set":12,"id":"bfb3d3c7_b6cdbf5e","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"in_reply_to":"bfb3d3c7_50c32eee","updated":"2019-05-21 09:34:53.000000000","message":"you want to pre-provision vhostuser ports for use by VMs? Fine, if we can add this as an optional parameter.","commit_id":"ffc3da7788b49d5f57dadfa7f89e1899cd2d001a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e74c396c6efb7072706f62cedd46eb981d256cea","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --if-exists del-port {{ .name | quote }}"},{"line_number":108,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-port {{ .bridge | quote }} {{ .name | quote}} \\"},{"line_number":109,"context_line":"     -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} ofport_request\u003d{{ .ofport_request | quote }} \\"},{"line_number":110,"context_line":"        options:n_rxq\u003d{{ .n_rxq }} other_config:pmd-rxq-affinity\u003d{{ .pmd_rxq_affinity | quote }}"},{"line_number":111,"context_line":"  {{- end }}"},{"line_number":112,"context_line":"}"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":12,"id":"bfb3d3c7_d6e633e9","line":110,"range":{"start_line":109,"start_character":87,"end_line":110,"end_character":96},"updated":"2019-05-21 09:34:53.000000000","message":"can we aggregate those in a set of optional parameters? It would be good to limit the amount of configuration values a user must provide to get a basic deployment running. Using advanced config features should be optional.","commit_id":"ffc3da7788b49d5f57dadfa7f89e1899cd2d001a"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"1b12cef4c423deb1f79ae37f843de63a585eb86f","unresolved":false,"context_lines":[{"line_number":109,"context_line":"     {{- if .pci_id }}"},{"line_number":110,"context_line":"       -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} \\"},{"line_number":111,"context_line":"     {{ else }}"},{"line_number":112,"context_line":"       -- set Interface {{ .name }} type\u003ddpdkvhostuser \\"},{"line_number":113,"context_line":"     {{- end }}"},{"line_number":114,"context_line":"     {{- if .ofport_request }}"},{"line_number":115,"context_line":"       ofport_request\u003d{{ .ofport_request | quote }} \\"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"bfb3d3c7_992ea741","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":53},"updated":"2019-05-21 15:28:55.000000000","message":"What\u0027s the case for creating dpdkvhostuser port in ovs agent init script?\nTo my knowledge, the vhostuser port is for VM, it is created automatically when VM is created.","commit_id":"c71a068dc536f64de2faef544f190e3b6d1146ca"},{"author":{"_account_id":30329,"name":"Om Prakash","email":"op317q@att.com","username":"op317q"},"change_message_id":"5604c7525ea2aded9a177c60f062a96377dd92a9","unresolved":false,"context_lines":[{"line_number":109,"context_line":"     {{- if .pci_id }}"},{"line_number":110,"context_line":"       -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} \\"},{"line_number":111,"context_line":"     {{ else }}"},{"line_number":112,"context_line":"       -- set Interface {{ .name }} type\u003ddpdkvhostuser \\"},{"line_number":113,"context_line":"     {{- end }}"},{"line_number":114,"context_line":"     {{- if .ofport_request }}"},{"line_number":115,"context_line":"       ofport_request\u003d{{ .ofport_request | quote }} \\"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"bfb3d3c7_99a1c7ac","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":53},"in_reply_to":"bfb3d3c7_992ea741","updated":"2019-05-21 15:33:29.000000000","message":"I thought there should be option to pre-provision vhostuser ports with specific number of queue and assign to specific port.","commit_id":"c71a068dc536f64de2faef544f190e3b6d1146ca"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"5050b3c15b5c4983f3989b26425adb132190372b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"     {{- if .pci_id }}"},{"line_number":110,"context_line":"       -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} \\"},{"line_number":111,"context_line":"     {{ else }}"},{"line_number":112,"context_line":"       -- set Interface {{ .name }} type\u003ddpdkvhostuser \\"},{"line_number":113,"context_line":"     {{- end }}"},{"line_number":114,"context_line":"     {{- if .ofport_request }}"},{"line_number":115,"context_line":"       ofport_request\u003d{{ .ofport_request | quote }} \\"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"bfb3d3c7_b9092b96","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":53},"in_reply_to":"bfb3d3c7_99a1c7ac","updated":"2019-05-21 15:40:16.000000000","message":"So the vhostuser ports created here are going to be attached onto VM, right?\nIf that is the case, how does nova/neutron aware of these pre-provisioned vhostuser ports?","commit_id":"c71a068dc536f64de2faef544f190e3b6d1146ca"},{"author":{"_account_id":30329,"name":"Om Prakash","email":"op317q@att.com","username":"op317q"},"change_message_id":"e46c7bcc49ab93268ec63ce3094f4a85d36e6e1e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"     {{- if .pci_id }}"},{"line_number":110,"context_line":"       -- set Interface {{ .name }} type\u003ddpdk options:dpdk-devargs\u003d{{ .pci_id | quote }} \\"},{"line_number":111,"context_line":"     {{ else }}"},{"line_number":112,"context_line":"       -- set Interface {{ .name }} type\u003ddpdkvhostuser \\"},{"line_number":113,"context_line":"     {{- end }}"},{"line_number":114,"context_line":"     {{- if .ofport_request }}"},{"line_number":115,"context_line":"       ofport_request\u003d{{ .ofport_request | quote }} \\"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"bfb3d3c7_c4d51645","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":53},"in_reply_to":"bfb3d3c7_b9092b96","updated":"2019-05-21 15:56:10.000000000","message":"That is good question. This I need to look at it . I am setting up environment with airship and try to test this.\nWhen I tested the dpdk performance , I set up the vhost pot to VM when it is created using virsh.\n\n\u003cinterface type\u003d\u0027vhostuser\u0027\u003e\n      \u003cmac address\u003d\u002752:54:00:50:7a:af\u0027/\u003e\n      \u003csource type\u003d\u0027unix\u0027 path\u003d\u0027/var/run/openvswitch/vhost-user0\u0027 mode\u003d\u0027client\u0027/\u003e\n      \u003cmodel type\u003d\u0027virtio\u0027/\u003e\n      \u003cdriver queues\u003d\u00272\u0027\u003e\n        \u003chost mrg_rxbuf\u003d\u0027on\u0027/\u003e\n      \u003c/driver\u003e\n      \u003calias name\u003d\u0027net1\u0027/\u003e\n      \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x03\u0027 function\u003d\u00270x0\u0027/\u003e\n    \u003c/interface\u003e\n    \u003cinterface type\u003d\u0027vhostuser\u0027\u003e\n      \u003cmac address\u003d\u002752:54:00:90:a5:59\u0027/\u003e\n      \u003csource type\u003d\u0027unix\u0027 path\u003d\u0027/var/run/openvswitch/vhost-user1\u0027 mode\u003d\u0027client\u0027/\u003e\n      \u003cmodel type\u003d\u0027virtio\u0027/\u003e\n      \u003cdriver queues\u003d\u00272\u0027\u003e\n        \u003chost mrg_rxbuf\u003d\u0027on\u0027/\u003e\n      \u003c/driver\u003e\n      \u003calias name\u003d\u0027net2\u0027/\u003e\n      \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x04\u0027 function\u003d\u00270x0\u0027/\u003e\n    \u003c/interface\u003e","commit_id":"c71a068dc536f64de2faef544f190e3b6d1146ca"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1e95d70663961972b65fd5b3855795474299d729","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --if-exists del-port {{ .name | quote }}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    dpdk_options\u003d\"\""},{"line_number":113,"context_line":"    {{- if .ofport_request }}"},{"line_number":114,"context_line":"      dpdk_options+\u003d\u0027ofport_request\u003d{{ .ofport_request | quote }} \u0027"},{"line_number":115,"context_line":"    {{- end }}"},{"line_number":116,"context_line":"    {{- if .n_rxq }}"},{"line_number":117,"context_line":"      dpdk_options+\u003d\u0027options:n_rxq\u003d{{ .n_rxq }} \u0027"},{"line_number":118,"context_line":"    {{- end }}"}],"source_content_type":"text/x-smarty","patch_set":19,"id":"bfb3d3c7_28253509","line":115,"range":{"start_line":113,"start_character":0,"end_line":115,"end_character":14},"updated":"2019-05-31 14:43:26.000000000","message":"I am getting problems:\n\n+ ovs-vsctl --db\u003dunix:/run/openvswitch/db.sock --may-exist add-port br-phy ens1f1 -- set Interface ens1f1 type\u003ddpdk options:dpdk-devargs\u003d0000:05:00.1 \u0027ofport_request\u003d\"1\"\u0027 options:n_rxq\u003d1\novs-vsctl: \"\"1\"\" is not a valid integer\n\nWhy you use the | qoute filter? When removing that it works","commit_id":"831f6834f66955121f411012c647447cd4fb7663"},{"author":{"_account_id":30329,"name":"Om Prakash","email":"op317q@att.com","username":"op317q"},"change_message_id":"46ee7381423dcdbcca25199a186c4224097ca05c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"      dpdk_options+\u003d\u0027options:n_rxq\u003d{{ .n_rxq }} \u0027"},{"line_number":118,"context_line":"    {{- end }}"},{"line_number":119,"context_line":"    {{- if .pmd_rxq_affinity }}"},{"line_number":120,"context_line":"      dpdk_options+\u003d\u0027other_config:pmd-rxq-affinity\u003d{{ .pmd_rxq_affinity }} \u0027"},{"line_number":121,"context_line":"    {{- end }}"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --may-exist add-port {{ .bridge | quote }} {{ .name | quote}} \\"}],"source_content_type":"text/x-smarty","patch_set":22,"id":"9fb8cfa7_0e1df472","line":120,"range":{"start_line":120,"start_character":55,"end_line":120,"end_character":71},"updated":"2019-06-13 18:09:37.000000000","message":"removed additional quote . earlier it was generating additional quote around other config\novs-vsctl --db\u003dunix:/run/openvswitch/db.sock --may-exist add-port br-phy dpdk0 -- set Interface dpdk0 type\u003ddpdk options:dpdk-devargs\u003d0000:83:00.0 ofport_request\u003d1 options:n_rxq\u003d2 \u0027other_config:pmd-rxq-affinity\u003d\"0:7,1:35\"\u0027","commit_id":"59296ef300bdeaaab0e32fc709166218f040ccea"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"12ef95bc2a97bb44237194f13eb3a2f57d0ecc29","unresolved":false,"context_lines":[{"line_number":139,"context_line":"}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"# create all additional bridges defined in the DPDK section"},{"line_number":142,"context_line":"function init_ovs_dpdk_bridges {"},{"line_number":143,"context_line":"  {{- range .Values.conf.ovs_dpdk.bridges }}"},{"line_number":144,"context_line":"    init_ovs_dpdk_bridge {{ .name | quote }}"},{"line_number":145,"context_line":"  {{- end }}"},{"line_number":146,"context_line":"}"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"# FIXME(portdirect): There is a neutron bug in Queens that needs resolved"}],"source_content_type":"text/x-smarty","patch_set":25,"id":"7faddb67_ba230056","line":146,"range":{"start_line":142,"start_character":0,"end_line":146,"end_character":1},"updated":"2019-07-15 02:16:26.000000000","message":"I just realize that we don\u0027t have the capability of per-host overrides. The bridge names, NIC PCI addresses could be variable amount hosts. So I think we need the per-host overrides capability. Not sure if this patch[1] could be a reference.\n\n[1] https://review.opendev.org/#/c/639087/","commit_id":"25d45b7de71efd9b80819734ea023e3758004d08"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"chown neutron: /run/openvswitch/db.sock"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DPDK_CONFIG_FILE\u003d/tmp/dpdk.conf"},{"line_number":26,"context_line":"DPDK_CONFIG\u003d\"\""}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_61100daa","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":35},"updated":"2019-08-07 17:29:39.000000000","message":"this should come before line 21, so we can use it there to chown the socket.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"chown neutron: /run/openvswitch/db.sock"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DPDK_CONFIG_FILE\u003d/tmp/dpdk.conf"},{"line_number":26,"context_line":"DPDK_CONFIG\u003d\"\""}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_62e76848","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":35},"in_reply_to":"7faddb67_329ca50d","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"chown neutron: /run/openvswitch/db.sock"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DPDK_CONFIG_FILE\u003d/tmp/dpdk.conf"},{"line_number":26,"context_line":"DPDK_CONFIG\u003d\"\""}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_329ca50d","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":35},"in_reply_to":"7faddb67_61100daa","updated":"2019-08-07 20:48:04.000000000","message":"yes...","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"80d2f567f7f39583af3071a50a7635df178ffd79","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  values\u003d$1"},{"line_number":36,"context_line":"  filter\u003d$2"},{"line_number":37,"context_line":"  value\u003d$(echo ${values} | jq -r ${filter})"},{"line_number":38,"context_line":"  if [[ ${value} \u003d\u003d \"null\" ]]; then"},{"line_number":39,"context_line":"    echo \"\""},{"line_number":40,"context_line":"  else"},{"line_number":41,"context_line":"    echo ${value}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_d5155f3e","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":16},"updated":"2019-08-01 11:49:33.000000000","message":"May need the quotes wrap, to cover empty $value","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  values\u003d$1"},{"line_number":36,"context_line":"  filter\u003d$2"},{"line_number":37,"context_line":"  value\u003d$(echo ${values} | jq -r ${filter})"},{"line_number":38,"context_line":"  if [[ ${value} \u003d\u003d \"null\" ]]; then"},{"line_number":39,"context_line":"    echo \"\""},{"line_number":40,"context_line":"  else"},{"line_number":41,"context_line":"    echo ${value}"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_82eaa40b","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":16},"in_reply_to":"7faddb67_d5155f3e","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  if [[ ${value} \u003d\u003d \"null\" ]]; then"},{"line_number":39,"context_line":"    echo \"\""},{"line_number":40,"context_line":"  else"},{"line_number":41,"context_line":"    echo ${value}"},{"line_number":42,"context_line":"  fi"},{"line_number":43,"context_line":"}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_c11ea1ba","line":41,"range":{"start_line":41,"start_character":9,"end_line":41,"end_character":17},"updated":"2019-08-07 17:29:39.000000000","message":"quote please.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  if [[ ${value} \u003d\u003d \"null\" ]]; then"},{"line_number":39,"context_line":"    echo \"\""},{"line_number":40,"context_line":"  else"},{"line_number":41,"context_line":"    echo ${value}"},{"line_number":42,"context_line":"  fi"},{"line_number":43,"context_line":"}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_22f17002","line":41,"range":{"start_line":41,"start_character":9,"end_line":41,"end_character":17},"in_reply_to":"7faddb67_c11ea1ba","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"function get_ip_address_from_interface {"},{"line_number":63,"context_line":"  local interface\u003d$1"},{"line_number":64,"context_line":"  local ip\u003d$(ip a s ${interface} | grep \u0027inet \u0027 | awk \u0027{print $2}\u0027 | awk -F \"/\" \u0027{print $1}\u0027)"},{"line_number":65,"context_line":"  if [ -z \"${ip}\" ] ; then"},{"line_number":66,"context_line":"    echo \"Interface ${interface} has no valid IP address.\""},{"line_number":67,"context_line":"    exit 1"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_e1a5dd48","line":64,"range":{"start_line":64,"start_character":13,"end_line":64,"end_character":92},"updated":"2019-08-07 17:29:39.000000000","message":"what about cases where we have two ip\u0027s assigned to an interface?\n\nwould this not be cleaner?\n`ip -4 -o addr s \"${interface}\" | awk \u0027{ print $4; exit }\u0027 | awk -F \u0027/\u0027 \u0027{print $1}\u0027`","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"function get_ip_address_from_interface {"},{"line_number":63,"context_line":"  local interface\u003d$1"},{"line_number":64,"context_line":"  local ip\u003d$(ip a s ${interface} | grep \u0027inet \u0027 | awk \u0027{print $2}\u0027 | awk -F \"/\" \u0027{print $1}\u0027)"},{"line_number":65,"context_line":"  if [ -z \"${ip}\" ] ; then"},{"line_number":66,"context_line":"    echo \"Interface ${interface} has no valid IP address.\""},{"line_number":67,"context_line":"    exit 1"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_42f4acf1","line":64,"range":{"start_line":64,"start_character":13,"end_line":64,"end_character":92},"in_reply_to":"7faddb67_3211055f","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"function get_ip_address_from_interface {"},{"line_number":63,"context_line":"  local interface\u003d$1"},{"line_number":64,"context_line":"  local ip\u003d$(ip a s ${interface} | grep \u0027inet \u0027 | awk \u0027{print $2}\u0027 | awk -F \"/\" \u0027{print $1}\u0027)"},{"line_number":65,"context_line":"  if [ -z \"${ip}\" ] ; then"},{"line_number":66,"context_line":"    echo \"Interface ${interface} has no valid IP address.\""},{"line_number":67,"context_line":"    exit 1"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_3211055f","line":64,"range":{"start_line":64,"start_character":13,"end_line":64,"end_character":92},"in_reply_to":"7faddb67_e1a5dd48","updated":"2019-08-07 20:48:04.000000000","message":"yes, will adopt","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"function get_ip_prefix_from_interface {"},{"line_number":73,"context_line":"  local interface\u003d$1"},{"line_number":74,"context_line":"  local prefix\u003d$(ip a s ${interface} | grep \u0027inet \u0027 | awk \u0027{print $2}\u0027 | awk -F \"/\" \u0027{print $2}\u0027)"},{"line_number":75,"context_line":"  if [ -z \"${prefix}\" ] ; then"},{"line_number":76,"context_line":"    echo \"Interface ${interface} has no valid IP address.\""},{"line_number":77,"context_line":"    exit 1"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_3c06be1e","line":74,"range":{"start_line":74,"start_character":17,"end_line":74,"end_character":96},"updated":"2019-08-07 17:29:39.000000000","message":"what about cases where we have two ip\u0027s assigned to an interface?\n\nwould this not be cleaner?\n`ip -4 -o addr s \"${interface}\" | awk \u0027{ print $4; exit }\u0027 | awk -F \u0027/\u0027 \u0027{print $2}\u0027`","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"function get_ip_prefix_from_interface {"},{"line_number":73,"context_line":"  local interface\u003d$1"},{"line_number":74,"context_line":"  local prefix\u003d$(ip a s ${interface} | grep \u0027inet \u0027 | awk \u0027{print $2}\u0027 | awk -F \"/\" \u0027{print $2}\u0027)"},{"line_number":75,"context_line":"  if [ -z \"${prefix}\" ] ; then"},{"line_number":76,"context_line":"    echo \"Interface ${interface} has no valid IP address.\""},{"line_number":77,"context_line":"    exit 1"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_e2da7877","line":74,"range":{"start_line":74,"start_character":17,"end_line":74,"end_character":96},"in_reply_to":"7faddb67_3c06be1e","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"9ccdd68ea6885ecf7f8889382c4718d379e9ca0f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":22,"context_line":"chown neutron: ${OVS_SOCKET}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"DPDK_CONFIG_FILE\u003d/tmp/dpdk.conf"},{"line_number":25,"context_line":"DPDK_CONFIG\u003d\"\""},{"line_number":26,"context_line":"if [ ! -f ${DPDK_CONFIG_FILE} ]; then"},{"line_number":27,"context_line":"  echo \"No DPDK configuration supplied: ${DPDK_CONFIG_FILE} is missing.\""},{"line_number":28,"context_line":"  exit 1"},{"line_number":29,"context_line":"else"},{"line_number":30,"context_line":"  DPDK_CONFIG\u003d$(cat ${DPDK_CONFIG_FILE})"},{"line_number":31,"context_line":"fi"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"function get_dpdk_config_value {"},{"line_number":34,"context_line":"  values\u003d$1"}],"source_content_type":"text/x-smarty","patch_set":33,"id":"7faddb67_8ccc926a","line":31,"range":{"start_line":24,"start_character":0,"end_line":31,"end_character":2},"updated":"2019-08-20 18:15:06.000000000","message":"what is the purpose of this?","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e053ac7d16b73d2bd654933c2903264200a7b806","unresolved":false,"context_lines":[{"line_number":21,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":22,"context_line":"chown neutron: ${OVS_SOCKET}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"DPDK_CONFIG_FILE\u003d/tmp/dpdk.conf"},{"line_number":25,"context_line":"DPDK_CONFIG\u003d\"\""},{"line_number":26,"context_line":"if [ ! -f ${DPDK_CONFIG_FILE} ]; then"},{"line_number":27,"context_line":"  echo \"No DPDK configuration supplied: ${DPDK_CONFIG_FILE} is missing.\""},{"line_number":28,"context_line":"  exit 1"},{"line_number":29,"context_line":"else"},{"line_number":30,"context_line":"  DPDK_CONFIG\u003d$(cat ${DPDK_CONFIG_FILE})"},{"line_number":31,"context_line":"fi"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"function get_dpdk_config_value {"},{"line_number":34,"context_line":"  values\u003d$1"}],"source_content_type":"text/x-smarty","patch_set":33,"id":"7faddb67_87778bd4","line":31,"range":{"start_line":24,"start_character":0,"end_line":31,"end_character":2},"in_reply_to":"7faddb67_8ccc926a","updated":"2019-08-20 19:25:42.000000000","message":"per-host configuration values are stored in a config file mounted into the container. This function reads the config for use throughout this file.\n\nThe reason for a per-host configuration file is that we cannot use go templates in this script which is part of the neutron-bin config map and hence not rendered on a per host basis my daemonset overrides - at least due to our understanding. Please correct me if we are wrong.","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"acb8523706a5b0c14e4032efabdce7f2e53b73ef","unresolved":false,"context_lines":[{"line_number":222,"context_line":"fi"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"# determine local-ip dynamically based on interface provided but only if tunnel_types is not null"},{"line_number":225,"context_line":"LOCAL_IP\u003d$(get_ip_address_from_interface ${tunnel_interface})"},{"line_number":226,"context_line":"if [ -z \"${LOCAL_IP}\" ] ; then"},{"line_number":227,"context_line":"  echo \"Var LOCAL_IP is empty\""},{"line_number":228,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":34,"id":"7faddb67_ea506d2e","line":225,"updated":"2019-08-21 21:28:21.000000000","message":"Your get_ip_address_from_interface differs from the previous command.  To be sure, the command on L65 (in the original file) evolved over time as other alternatives did not function the same across different OS versions.  I worry what it is being replaced with (which functionally does the same) is not as battle tested.","commit_id":"e30931a0bed407615d2c23293b1cca4d841b3868"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"bb4f4ff6eb8e1bf815c186cc509962155583cfe2","unresolved":false,"context_lines":[{"line_number":222,"context_line":"fi"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"# determine local-ip dynamically based on interface provided but only if tunnel_types is not null"},{"line_number":225,"context_line":"LOCAL_IP\u003d$(get_ip_address_from_interface ${tunnel_interface})"},{"line_number":226,"context_line":"if [ -z \"${LOCAL_IP}\" ] ; then"},{"line_number":227,"context_line":"  echo \"Var LOCAL_IP is empty\""},{"line_number":228,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":34,"id":"7faddb67_3c400c06","line":225,"in_reply_to":"7faddb67_ea506d2e","updated":"2019-08-22 08:40:52.000000000","message":"Good point. I adopted Pete\u0027s proposal he made in a previous review comment [1]. His line actually handles the corner case when multiple IP addresses exist on an interface in a cleaner fashion by just returning one IP and not a list which would break subsequent commands. I am fine with either line.\n\n[1] https://review.opendev.org/#/c/643284/31..34/neutron/templates/bin/_neutron-openvswitch-agent-init.sh.tpl","commit_id":"e30931a0bed407615d2c23293b1cca4d841b3868"}],"neutron/templates/configmap-etc.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":171,"context_line":"{{- end -}}"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled -}}"},{"line_number":174,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"datapath_type\" \"netdev\" -}}"},{"line_number":175,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"vhostuser_socket_dir\" \"/run/openvswitch/vhostuser\" -}}"},{"line_number":176,"context_line":"{{- end -}}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"---"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_3c6d5ecc","line":175,"range":{"start_line":174,"start_character":0,"end_line":175,"end_character":119},"updated":"2019-08-07 17:29:39.000000000","message":"we should also allow these to be defined by the user, by wrapping in if-empty clauses.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":171,"context_line":"{{- end -}}"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled -}}"},{"line_number":174,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"datapath_type\" \"netdev\" -}}"},{"line_number":175,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"vhostuser_socket_dir\" \"/run/openvswitch/vhostuser\" -}}"},{"line_number":176,"context_line":"{{- end -}}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"---"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_0291d49a","line":175,"range":{"start_line":174,"start_character":0,"end_line":175,"end_character":119},"in_reply_to":"7faddb67_11a63d55","updated":"2019-08-13 11:18:05.000000000","message":"I added an if empty clause for the vhostuser dir parameter, but left the datapath_type hardcoded to \"netdev\" because this is the only valid value if DPDK is being used.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"cd6012fd34d460d3c16d31881c8e2eb9bc44fae0","unresolved":false,"context_lines":[{"line_number":171,"context_line":"{{- end -}}"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled -}}"},{"line_number":174,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"datapath_type\" \"netdev\" -}}"},{"line_number":175,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"vhostuser_socket_dir\" \"/run/openvswitch/vhostuser\" -}}"},{"line_number":176,"context_line":"{{- end -}}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"---"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_11a63d55","line":175,"range":{"start_line":174,"start_character":0,"end_line":175,"end_character":119},"in_reply_to":"7faddb67_3c6d5ecc","updated":"2019-08-08 13:29:25.000000000","message":"When DPDK is used, the datapath_type is always netdev, which refers to the userspace implementation which uses DPDK. So this parameter should actually be fixed.\n\nThe vhostuser socket parameter is currently hardcoded to the same default in the OVS chart. If we make this configurable here, we need a corresponding change in the OVS chart as well. Let me know if we\u0027d like to see the corresponding change as well.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f2b4903a7b24b082d9ac0c1c61f283553bda8be","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_5cadba99","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"updated":"2019-08-07 17:44:58.000000000","message":"Why is this entire values tree at this key being converted to json?  Does this configuration file really need keys like .Values.conf.ovs_dpdk.enabled to be converted to json, or can the configuration that needs to be consumed put under a specific key instead?","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ef22736e14840146cc81f485bae95d381ee5510e","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_81aac26e","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_18edeb8a","updated":"2019-08-09 11:36:42.000000000","message":"One more addition regarding the rendering bug. Please see this example:\nhttp://paste.openstack.org/show/755684/\n\nThe rendering works correctly for any value except the booleans true and false. If anybody has seen this before, please let us know.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_b44f2269","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_5cadba99","updated":"2019-08-07 20:48:04.000000000","message":"The \"enabled\" attribute is in fact used by the init script [1] to selectively enable and disable DPDK on a per host basis. Deepak told me that it is a valid use case to run non-DPDK on controllers.\n\n[1] https://review.opendev.org/gitweb?p\u003dopenstack/openstack-helm.git;f\u003dneutron/templates/bin/_neutron-openvswitch-agent-init.sh.tpl;hb\u003drefs/changes/84/643284/31#l217","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ba1d3cc15ff32c96618729f5a78d98d194bf29c7","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_0ce049fa","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_81aac26e","updated":"2019-08-09 12:18:14.000000000","message":"ok, found the issue and its solution: https://storyboard.openstack.org/#!/story/2005936\n\nRebuilding from HEAD revolved the issue. Sorry for the spam.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"994002558bea5de42ced00c2d9c29a2bb3e0cc51","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_c0ebe90f","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_859bc364","updated":"2019-08-08 14:00:21.000000000","message":"I can see that daemonset_overrides function is already being used here.\n\nThe overrides function is called in ovs-agent yaml[1]. per-host configuration is generated within the overrides function.\n\nThis is the same with how we implement per-host overrides of auto_bridge_add.\n\n[1] https://github.com/openstack/openstack-helm/blob/master/neutron/templates/daemonset-ovs-agent.yaml#L288","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"78eae3b05f57b79ac9a8cc1979b1a2a8a2f8510b","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_859bc364","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_b44f2269","updated":"2019-08-08 13:33:10.000000000","message":"please, can we implement this functionality via the https://opendev.org/openstack/openstack-helm-infra/src/branch/master/helm-toolkit/templates/utils/_daemonset_overrides.tpl function as we have done in other charts.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"27590d1238938dbd946ab7c31a07c28894ca130e","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_ea9e0368","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_c0ebe90f","updated":"2019-08-08 14:43:07.000000000","message":"perhaps an example of the appropriate over-rides to achieve the effect that Georg refers to would help here.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ee832e73480c2facdf579055427001ec2aab4ccd","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_18edeb8a","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_e79711eb","updated":"2019-08-09 09:20:57.000000000","message":"Thanks for the example, Cheng. This example corresponds to my understanding of the override mechanism. But I don\u0027t understand where the problem is, or rather, what should be changed in the current implementation? It does make use of daemonset_overrides and generates different dpdk.conf config files in separate secrets as intended.\n\nPete, Steve: could you please elaborate a bit? Thank you!\n\nBesides that, I noticed an unexpected behavior: overrides work for all paramters except for the \"enabled\" paramter when using correct boolean values. In this case, the resulting secret always contains enabled:true. If I replace the booleans with strings, the override mechanism works for this value as expected. Is this intended behavior or a bug?","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"1c11cc3f4d9d7bebd0c78c14668911bf8841422c","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_e79711eb","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_ea9e0368","updated":"2019-08-09 01:19:56.000000000","message":"Please see this example[1] for reference. In this example, we enable DPDK by default, while disabling DPDK for compute-2.\n\nThe overrides function merges the inner per-host \u0027conf\u0027 with the outer \u0027conf\u0027 before generating per-host \u0027neutron-etc\u0027 Secret for each host.\n\n[1] http://paste.openstack.org/show/755680/","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"d0048a6578c910ed12784fce326ddf75b8dae446","unresolved":false,"context_lines":[{"line_number":207,"context_line":"  neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}"},{"line_number":208,"context_line":"  rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}"},{"line_number":209,"context_line":"  auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}"},{"line_number":210,"context_line":"  dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}"},{"line_number":211,"context_line":"{{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":212,"context_line":"{{- $filePrefix :\u003d replace \"_\" \"-\"  $key }}"},{"line_number":213,"context_line":"  {{ printf \"%s.filters\" $filePrefix }}: {{ $value.content | b64enc }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_4de1712a","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":51},"in_reply_to":"7faddb67_ea9e0368","updated":"2019-08-08 15:09:24.000000000","message":"yes, please. That would be very appreciated.\n\nOne major question still: I understand that overrides are used for neutron-etc, e.g., for configuration values. However, I need to render host-specific init scripts (neutron-ovs-agent-init.sh) which behaves differently per host. If I understand the code correctly, the overrides mechanism is not yet in place for the neutron-bin config map. Correct?","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"9ccdd68ea6885ecf7f8889382c4718d379e9ca0f","unresolved":false,"context_lines":[{"line_number":171,"context_line":"{{- end -}}"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled -}}"},{"line_number":174,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"datapath_type\" \"netdev\" -}}"},{"line_number":175,"context_line":"{{- if empty $envAll.Values.conf.plugins.openvswitch_agent.ovs.vhostuser_socket_dir -}}"},{"line_number":176,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"vhostuser_socket_dir\" \"/run/openvswitch/vhostuser\" -}}"},{"line_number":177,"context_line":"{{- end -}}"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_ac794e2f","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":92},"updated":"2019-08-20 18:15:06.000000000","message":"this should also be wrapped in an \u0027if empty\u0027 conditional","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e053ac7d16b73d2bd654933c2903264200a7b806","unresolved":false,"context_lines":[{"line_number":171,"context_line":"{{- end -}}"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"{{- if .Values.conf.ovs_dpdk.enabled -}}"},{"line_number":174,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"datapath_type\" \"netdev\" -}}"},{"line_number":175,"context_line":"{{- if empty $envAll.Values.conf.plugins.openvswitch_agent.ovs.vhostuser_socket_dir -}}"},{"line_number":176,"context_line":"{{- $_ :\u003d set $envAll.Values.conf.plugins.openvswitch_agent.ovs \"vhostuser_socket_dir\" \"/run/openvswitch/vhostuser\" -}}"},{"line_number":177,"context_line":"{{- end -}}"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_8760eb02","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":92},"in_reply_to":"7faddb67_ac794e2f","updated":"2019-08-20 19:25:42.000000000","message":"netdev is the only valid option for DPDK. Hence, user should not be able to override it.","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"}],"neutron/templates/daemonset-ovs-agent.yaml":[{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"58fa24c69fc78d4c4eafd469299fcdd1e1d789ab","unresolved":false,"context_lines":[{"line_number":274,"context_line":"          hostPath:"},{"line_number":275,"context_line":"            path: /sys/bus/pci/devices"},{"line_number":276,"context_line":"            type: Directory"},{"line_number":277,"context_line":"        - name: modules"},{"line_number":278,"context_line":"          hostPath:"},{"line_number":279,"context_line":"            path: /lib/modules"},{"line_number":280,"context_line":"            type: Directory"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"dfbec78f_5270efdc","line":277,"range":{"start_line":277,"start_character":16,"end_line":277,"end_character":23},"updated":"2019-05-09 02:31:12.000000000","message":"Should this volume be mounted on to init-container \u0027neutron-openvswitch-agent-kernel-modules\u0027?","commit_id":"6841e6127159d7c5c3ac2b5dda037e9f59b45c04"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"9ccdd68ea6885ecf7f8889382c4718d379e9ca0f","unresolved":false,"context_lines":[{"line_number":162,"context_line":"              mountPath: /etc/neutron/rootwrap.conf"},{"line_number":163,"context_line":"              subPath: rootwrap.conf"},{"line_number":164,"context_line":"              readOnly: true"},{"line_number":165,"context_line":"            - name: neutron-etc"},{"line_number":166,"context_line":"              mountPath: /tmp/dpdk.conf"},{"line_number":167,"context_line":"              subPath: dpdk.conf"},{"line_number":168,"context_line":"              readOnly: true"},{"line_number":169,"context_line":"            {{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":170,"context_line":"            {{- if ( has \"ovs_agent\" $value.pods ) }}"},{"line_number":171,"context_line":"            {{- if and ( eq \"taas\" $key ) (not $envAll.Values.conf.plugins.taas.taas.enabled) }}"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_6c96f64b","line":168,"range":{"start_line":165,"start_character":0,"end_line":168,"end_character":28},"updated":"2019-08-20 18:15:06.000000000","message":"this should also be wrapped in a conditional","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"49fce5052ade902aa2e93423d616aaa7a29d2cc2","unresolved":false,"context_lines":[{"line_number":162,"context_line":"              mountPath: /etc/neutron/rootwrap.conf"},{"line_number":163,"context_line":"              subPath: rootwrap.conf"},{"line_number":164,"context_line":"              readOnly: true"},{"line_number":165,"context_line":"            - name: neutron-etc"},{"line_number":166,"context_line":"              mountPath: /tmp/dpdk.conf"},{"line_number":167,"context_line":"              subPath: dpdk.conf"},{"line_number":168,"context_line":"              readOnly: true"},{"line_number":169,"context_line":"            {{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":170,"context_line":"            {{- if ( has \"ovs_agent\" $value.pods ) }}"},{"line_number":171,"context_line":"            {{- if and ( eq \"taas\" $key ) (not $envAll.Values.conf.plugins.taas.taas.enabled) }}"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_620efa32","line":168,"range":{"start_line":165,"start_character":0,"end_line":168,"end_character":28},"in_reply_to":"7faddb67_67ffef01","updated":"2019-08-20 21:47:07.000000000","message":"if the files not present, then its not enabled is it?","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e053ac7d16b73d2bd654933c2903264200a7b806","unresolved":false,"context_lines":[{"line_number":162,"context_line":"              mountPath: /etc/neutron/rootwrap.conf"},{"line_number":163,"context_line":"              subPath: rootwrap.conf"},{"line_number":164,"context_line":"              readOnly: true"},{"line_number":165,"context_line":"            - name: neutron-etc"},{"line_number":166,"context_line":"              mountPath: /tmp/dpdk.conf"},{"line_number":167,"context_line":"              subPath: dpdk.conf"},{"line_number":168,"context_line":"              readOnly: true"},{"line_number":169,"context_line":"            {{- range $key, $value :\u003d $envAll.Values.conf.rootwrap_filters }}"},{"line_number":170,"context_line":"            {{- if ( has \"ovs_agent\" $value.pods ) }}"},{"line_number":171,"context_line":"            {{- if and ( eq \"taas\" $key ) (not $envAll.Values.conf.plugins.taas.taas.enabled) }}"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_67ffef01","line":168,"range":{"start_line":165,"start_character":0,"end_line":168,"end_character":28},"in_reply_to":"7faddb67_6c96f64b","updated":"2019-08-20 19:25:42.000000000","message":"We need this file in any case because the ovs-agent-init script needs to read the \"enabled\" parameter from this file. \n\n[1] https://review.opendev.org/gitweb?p\u003dopenstack/openstack-helm.git;f\u003dneutron/templates/bin/_neutron-openvswitch-agent-init.sh.tpl;hb\u003drefs/changes/84/643284/33#l216","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"acb8523706a5b0c14e4032efabdce7f2e53b73ef","unresolved":false,"context_lines":[{"line_number":286,"context_line":"          hostPath:"},{"line_number":287,"context_line":"            path: /sys/bus/pci/devices"},{"line_number":288,"context_line":"            type: Directory"},{"line_number":289,"context_line":"        - name: modules"},{"line_number":290,"context_line":"          hostPath:"},{"line_number":291,"context_line":"            path: /lib/modules"},{"line_number":292,"context_line":"            type: Directory"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"7faddb67_253796e5","line":289,"updated":"2019-08-21 21:28:21.000000000","message":"I don\u0027t see this used anywhere?","commit_id":"e30931a0bed407615d2c23293b1cca4d841b3868"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"bb4f4ff6eb8e1bf815c186cc509962155583cfe2","unresolved":false,"context_lines":[{"line_number":286,"context_line":"          hostPath:"},{"line_number":287,"context_line":"            path: /sys/bus/pci/devices"},{"line_number":288,"context_line":"            type: Directory"},{"line_number":289,"context_line":"        - name: modules"},{"line_number":290,"context_line":"          hostPath:"},{"line_number":291,"context_line":"            path: /lib/modules"},{"line_number":292,"context_line":"            type: Directory"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"7faddb67_7c02040b","line":289,"in_reply_to":"7faddb67_253796e5","updated":"2019-08-22 08:40:52.000000000","message":"yes, that\u0027s a good catch. Slipped in here at some point. I\u0027ll remove it.","commit_id":"e30931a0bed407615d2c23293b1cca4d841b3868"}],"neutron/values.yaml":[{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"ea7e5a8cf408907d08cc10a6eb2714c73f20f1eb","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"        arp_responder: True"},{"line_number":1563,"context_line":"      ovs:"},{"line_number":1564,"context_line":"        bridge_mappings: \"external:br-ex\""},{"line_number":1565,"context_line":"        datapath_type: netdev"},{"line_number":1566,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch"},{"line_number":1567,"context_line":"      securitygroup:"},{"line_number":1568,"context_line":"        firewall_driver: neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5fc1f717_08602832","line":1565,"range":{"start_line":1565,"start_character":8,"end_line":1565,"end_character":29},"updated":"2019-03-21 02:15:30.000000000","message":"By default, we don\u0027t enable dpdk, so default datapath_type can\u0027t be \"netdev\"","commit_id":"550ea12502044803b246451bf82952262da97380"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"697bfdfe83d34468966547ff80708f2ca6a59b48","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"        arp_responder: True"},{"line_number":1563,"context_line":"      ovs:"},{"line_number":1564,"context_line":"        bridge_mappings: \"external:br-ex\""},{"line_number":1565,"context_line":"        datapath_type: netdev"},{"line_number":1566,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch"},{"line_number":1567,"context_line":"      securitygroup:"},{"line_number":1568,"context_line":"        firewall_driver: neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5fc1f717_b44fe668","line":1565,"range":{"start_line":1565,"start_character":8,"end_line":1565,"end_character":29},"in_reply_to":"5fc1f717_08602832","updated":"2019-03-21 14:37:10.000000000","message":"That\u0027s true. I\u0027d like to comment these config options out and keep them here for documentation purposes. Would you agree?","commit_id":"550ea12502044803b246451bf82952262da97380"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"fe90a9d446cef630c1bfee49da2bacd36ac336cf","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"        arp_responder: True"},{"line_number":1563,"context_line":"      ovs:"},{"line_number":1564,"context_line":"        bridge_mappings: \"external:br-ex\""},{"line_number":1565,"context_line":"        datapath_type: netdev"},{"line_number":1566,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch"},{"line_number":1567,"context_line":"      securitygroup:"},{"line_number":1568,"context_line":"        firewall_driver: neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5fc1f717_51d542e4","line":1565,"range":{"start_line":1565,"start_character":8,"end_line":1565,"end_character":29},"in_reply_to":"5fc1f717_417c99ea","updated":"2019-03-24 19:54:24.000000000","message":"that\u0027s a very good proposal. I\u0027ll look into this.","commit_id":"550ea12502044803b246451bf82952262da97380"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"da15dfe240b9409c44bb7d6cc28c6b8de20a1a28","unresolved":false,"context_lines":[{"line_number":1562,"context_line":"        arp_responder: True"},{"line_number":1563,"context_line":"      ovs:"},{"line_number":1564,"context_line":"        bridge_mappings: \"external:br-ex\""},{"line_number":1565,"context_line":"        datapath_type: netdev"},{"line_number":1566,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch"},{"line_number":1567,"context_line":"      securitygroup:"},{"line_number":1568,"context_line":"        firewall_driver: neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5fc1f717_417c99ea","line":1565,"range":{"start_line":1565,"start_character":8,"end_line":1565,"end_character":29},"in_reply_to":"5fc1f717_b44fe668","updated":"2019-03-23 01:04:16.000000000","message":"I am not expert of ovs-dpdk. But seems netdev is bind up with dpdk. As a user, to enable dpdk, updating both netdev and dpdk enable configuration does\u0027t make sense.\n\nI am thinking if we can auto update datapath_type based on dpdk configuration, not expose datapath_type to users. Maybe needs some work in this file https://github.com/openstack/openstack-helm/blob/a179bf3cd07c66773dc2b9ccc74716a089c82f3f/neutron/templates/configmap-etc.yaml","commit_id":"550ea12502044803b246451bf82952262da97380"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"18d96c7b776557e449d5eac5ff8619306309e009","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"  ovs_dpdk:"},{"line_number":1650,"context_line":"    enabled: false"},{"line_number":1651,"context_line":"    driver: uio_pci_generic"},{"line_number":1652,"context_line":"    nics:"},{"line_number":1653,"context_line":"      - name: dpdk0"},{"line_number":1654,"context_line":"        pci_id: 0000:05:00.0"},{"line_number":1655,"context_line":"        bridge: br-phy"},{"line_number":1656,"context_line":"    bridges:"},{"line_number":1657,"context_line":"      - name: br-phy"},{"line_number":1658,"context_line":"        network: physnet1"},{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1661,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5fc1f717_5f3ddfb8","line":1658,"range":{"start_line":1652,"start_character":4,"end_line":1658,"end_character":25},"updated":"2019-03-28 06:27:07.000000000","message":"Without dpdk, we use \"bridge_mappings\"[1] to decide the name of ovs bridge and which physical network it maps to.\nWe use \"auto_bridge_map\"[2] to decide the name of interface to add. \n\nSeems you create variables under dpdk for the same purpose. Can we reuse the \"bridge_mappings\" and \"auto_bridge_add\"?\n\n[1] https://github.com/openstack/openstack-helm/blob/bdc08bc260f85d12a0620feabd9ef934df873348/neutron/values.yaml#L1582\n[2] https://github.com/openstack/openstack-helm/blob/bdc08bc260f85d12a0620feabd9ef934df873348/neutron/values.yaml#L1651","commit_id":"df7aa1306d0e697b551bcd7e15efbb5e4388735a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"3663930f500fb55e3192f9d6190ddb8ea4693f78","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"  ovs_dpdk:"},{"line_number":1650,"context_line":"    enabled: false"},{"line_number":1651,"context_line":"    driver: uio_pci_generic"},{"line_number":1652,"context_line":"    nics:"},{"line_number":1653,"context_line":"      - name: dpdk0"},{"line_number":1654,"context_line":"        pci_id: 0000:05:00.0"},{"line_number":1655,"context_line":"        bridge: br-phy"},{"line_number":1656,"context_line":"    bridges:"},{"line_number":1657,"context_line":"      - name: br-phy"},{"line_number":1658,"context_line":"        network: physnet1"},{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1661,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5fc1f717_d58f3ecb","line":1658,"range":{"start_line":1652,"start_character":4,"end_line":1658,"end_character":25},"in_reply_to":"5fc1f717_5f3ddfb8","updated":"2019-04-01 08:15:34.000000000","message":"right, I am aware of this and I have been thinking about re-using the existing config parameters, but I wasn\u0027t able to find a good way of doing this. Suggestions are very welcome.\n\nThe main challenge I see is that auto_bridge_add uses interfaces names instead of PCI ids. Once bound to DPDK, NICs cannot be referred to with their kernel provided names. Moreover, auto_bridge_add uses colons as separators, which unfortunately are part of PCI IDs... Finally, it was convenient to have a way to configure the DPDK interface name for OVS (e.g. dpdk0) in here. We could attempt to build this name on the fly, though.\n\nI think I can merge the \"bridges\" and \"bridge_mappings\".","commit_id":"df7aa1306d0e697b551bcd7e15efbb5e4388735a"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"af9223af5ce28917228a88ba0114b4ceaa8e7560","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"  ovs_dpdk:"},{"line_number":1650,"context_line":"    enabled: false"},{"line_number":1651,"context_line":"    driver: uio_pci_generic"},{"line_number":1652,"context_line":"    nics:"},{"line_number":1653,"context_line":"      - name: dpdk0"},{"line_number":1654,"context_line":"        pci_id: 0000:05:00.0"},{"line_number":1655,"context_line":"        bridge: br-phy"},{"line_number":1656,"context_line":"    bridges:"},{"line_number":1657,"context_line":"      - name: br-phy"},{"line_number":1658,"context_line":"        network: physnet1"},{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1661,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ffb9cba7_6621e7b4","line":1658,"range":{"start_line":1652,"start_character":4,"end_line":1658,"end_character":25},"in_reply_to":"5fc1f717_d58f3ecb","updated":"2019-04-23 10:58:39.000000000","message":"After thinking more about this, I think your current implement is better.\n\nWhat I was thinking is to merge auto_bridge_add, which will result in follow format. This does merge auto_bridge_add, but it makes auto_bridge_add complicated. For users those don\u0027t care about dpdk, they don\u0027t have to know about datapath_type, pci_id. So I prefer your current implement.\n\n```\nauto_bridge_add:\n  br1:\n    datapath_type: netdev\n    nic:\n      name: interface_name\n      type: dpdk\n      pci_id: 0000:05:00.0\n```","commit_id":"df7aa1306d0e697b551bcd7e15efbb5e4388735a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"503bc32df7d5d76f063f84cd97de7c3ccec07009","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"  ovs_dpdk:"},{"line_number":1650,"context_line":"    enabled: false"},{"line_number":1651,"context_line":"    driver: uio_pci_generic"},{"line_number":1652,"context_line":"    nics:"},{"line_number":1653,"context_line":"      - name: dpdk0"},{"line_number":1654,"context_line":"        pci_id: 0000:05:00.0"},{"line_number":1655,"context_line":"        bridge: br-phy"},{"line_number":1656,"context_line":"    bridges:"},{"line_number":1657,"context_line":"      - name: br-phy"},{"line_number":1658,"context_line":"        network: physnet1"},{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1661,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ffb9cba7_55ff8000","line":1658,"range":{"start_line":1652,"start_character":4,"end_line":1658,"end_character":25},"in_reply_to":"ffb9cba7_6621e7b4","updated":"2019-04-24 21:32:51.000000000","message":"ok, great. Thank you for your feedback and design considerations.","commit_id":"df7aa1306d0e697b551bcd7e15efbb5e4388735a"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"0efc08fc3895caf4b8a04bf6f750553a38b04043","unresolved":false,"context_lines":[{"line_number":1697,"context_line":"  # because additional parameters are needed"},{"line_number":1698,"context_line":"  ovs_dpdk:"},{"line_number":1699,"context_line":"    enabled: false"},{"line_number":1700,"context_line":"    driver: uio_pci_generic"},{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"dfbec78f_e931d6a3","line":1700,"range":{"start_line":1700,"start_character":12,"end_line":1700,"end_character":27},"updated":"2019-05-10 14:02:37.000000000","message":"Why this driver and not vfio-pci? vfio is more robust and secure because it relies on IOMMU.\nhttps://doc.dpdk.org/guides/linux_gsg/linux_drivers.html","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"241697619bece42c7fc2987d67742962f7ce6c02","unresolved":false,"context_lines":[{"line_number":1697,"context_line":"  # because additional parameters are needed"},{"line_number":1698,"context_line":"  ovs_dpdk:"},{"line_number":1699,"context_line":"    enabled: false"},{"line_number":1700,"context_line":"    driver: uio_pci_generic"},{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"dfbec78f_395e5f12","line":1700,"range":{"start_line":1700,"start_character":12,"end_line":1700,"end_character":27},"in_reply_to":"dfbec78f_e931d6a3","updated":"2019-05-10 14:11:34.000000000","message":"You are right that vfio-pci is preferred. Using uio_pci_generic has mainly to do with my development environment in which I don\u0027t get vfio-pci working. For this reason, the driver is a config option which can be changed here. We can of course discuss which default value we should eventually use. If would be great if you could test the vfio-pci driver if possible.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"22f242dc12bbfe5c9121d7f9f4ec67dd79f81245","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1704,"context_line":"        bridge: br-phy"},{"line_number":1705,"context_line":"        migrate_ip: true"},{"line_number":1706,"context_line":"    bridges:"},{"line_number":1707,"context_line":"      - name: br-phy"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"dfbec78f_8c37d04d","line":1704,"range":{"start_line":1704,"start_character":8,"end_line":1704,"end_character":22},"updated":"2019-05-14 16:51:01.000000000","message":"It would be ideal if there was some gotpl in the chart to validate that the bridge specified for each NIC matches one of the bridges defined below under the bridges key (or if not, why define bridges twice?)","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ad90a96ee3344a8935f8e9d1cedda6aa39fd2d91","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1704,"context_line":"        bridge: br-phy"},{"line_number":1705,"context_line":"        migrate_ip: true"},{"line_number":1706,"context_line":"    bridges:"},{"line_number":1707,"context_line":"      - name: br-phy"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bfb3d3c7_81f2db05","line":1704,"range":{"start_line":1704,"start_character":8,"end_line":1704,"end_character":22},"in_reply_to":"bfb3d3c7_828e6e2c","updated":"2019-05-17 22:46:44.000000000","message":"Could we keep it as is right now and I\u0027ll address this in a following patch?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"3814ad713215b68d816f0044aea3631905ad2f3b","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1704,"context_line":"        bridge: br-phy"},{"line_number":1705,"context_line":"        migrate_ip: true"},{"line_number":1706,"context_line":"    bridges:"},{"line_number":1707,"context_line":"      - name: br-phy"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"dfbec78f_d5f7848a","line":1704,"range":{"start_line":1704,"start_character":8,"end_line":1704,"end_character":22},"in_reply_to":"dfbec78f_8c37d04d","updated":"2019-05-15 12:02:47.000000000","message":"I agree that this looks like a duplicate. I originally added the bridges section to allow for creating additional bridges as needed - similar to the auto_bridge_add section. However, we don\u0027t seem to need this right now.\nRegarding your other question: the script which reads this, creates the bridge set in nics section if it does not exist.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"a93246ea3e32645c6a530d336be22c14aea4888f","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1704,"context_line":"        bridge: br-phy"},{"line_number":1705,"context_line":"        migrate_ip: true"},{"line_number":1706,"context_line":"    bridges:"},{"line_number":1707,"context_line":"      - name: br-phy"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bfb3d3c7_828e6e2c","line":1704,"range":{"start_line":1704,"start_character":8,"end_line":1704,"end_character":22},"in_reply_to":"dfbec78f_ce811cc5","updated":"2019-05-17 01:36:59.000000000","message":"I think the bridges below means what bridges we needs to create, and the bridge here means which bridge the nic should be added to. It could happen that we create two bridges, while only adding nic for one of the two bridges.\nSo from this view, it\u0027s not duplicated. If we are going to merge the nics and bridge dict, I would suggest to move nics under bridges.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"df2b810f92eb4741469af70e39f5599d44e27780","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    nics:"},{"line_number":1702,"context_line":"      - name: dpdk0"},{"line_number":1703,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1704,"context_line":"        bridge: br-phy"},{"line_number":1705,"context_line":"        migrate_ip: true"},{"line_number":1706,"context_line":"    bridges:"},{"line_number":1707,"context_line":"      - name: br-phy"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"dfbec78f_ce811cc5","line":1704,"range":{"start_line":1704,"start_character":8,"end_line":1704,"end_character":22},"in_reply_to":"dfbec78f_d5f7848a","updated":"2019-05-16 11:14:38.000000000","message":"thinking about this a bit, I believe we can remove the \"bridge\" section here and rely on letting the startup script create all bridges defined in the nics section on demand. Would that work for you?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f2b4903a7b24b082d9ac0c1c61f283553bda8be","unresolved":false,"context_lines":[{"line_number":1948,"context_line":"  # configuration of OVS DPDK bridges and NICs"},{"line_number":1949,"context_line":"  # this is a separate section and not part of the auto_bridge_add section"},{"line_number":1950,"context_line":"  # because additional parameters are needed"},{"line_number":1951,"context_line":"  ovs_dpdk:"},{"line_number":1952,"context_line":"    enabled: false"},{"line_number":1953,"context_line":"    driver: uio_pci_generic"},{"line_number":1954,"context_line":"    nics:"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_dc98ca76","line":1951,"range":{"start_line":1951,"start_character":2,"end_line":1951,"end_character":10},"updated":"2019-08-07 17:44:58.000000000","message":"I\u0027d prefer to see this as \u0027dpdk\u0027 to match the OVS chart.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":1948,"context_line":"  # configuration of OVS DPDK bridges and NICs"},{"line_number":1949,"context_line":"  # this is a separate section and not part of the auto_bridge_add section"},{"line_number":1950,"context_line":"  # because additional parameters are needed"},{"line_number":1951,"context_line":"  ovs_dpdk:"},{"line_number":1952,"context_line":"    enabled: false"},{"line_number":1953,"context_line":"    driver: uio_pci_generic"},{"line_number":1954,"context_line":"    nics:"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_c2b89c12","line":1951,"range":{"start_line":1951,"start_character":2,"end_line":1951,"end_character":10},"in_reply_to":"7faddb67_dc98ca76","updated":"2019-08-13 11:18:05.000000000","message":"see https://review.opendev.org/#/c/676159/","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"9ccdd68ea6885ecf7f8889382c4718d379e9ca0f","unresolved":false,"context_lines":[{"line_number":1950,"context_line":"  # because additional parameters are needed"},{"line_number":1951,"context_line":"  ovs_dpdk:"},{"line_number":1952,"context_line":"    enabled: false"},{"line_number":1953,"context_line":"    driver: uio_pci_generic"},{"line_number":1954,"context_line":"    nics:"},{"line_number":1955,"context_line":"      - name: dpdk0"},{"line_number":1956,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1957,"context_line":"        bridge: br-phy"},{"line_number":1958,"context_line":"        migrate_ip: true"},{"line_number":1959,"context_line":"        n_rxq: 2"},{"line_number":1960,"context_line":"        pmd_rxq_affinity: \"0:3,1:27\""},{"line_number":1961,"context_line":"        ofport_request: 1"},{"line_number":1962,"context_line":"    bridges:"},{"line_number":1963,"context_line":"      - name: br-phy"},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1966,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_ecaae681","line":1963,"range":{"start_line":1953,"start_character":0,"end_line":1963,"end_character":20},"updated":"2019-08-20 18:15:06.000000000","message":"please comment these out","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e053ac7d16b73d2bd654933c2903264200a7b806","unresolved":false,"context_lines":[{"line_number":1950,"context_line":"  # because additional parameters are needed"},{"line_number":1951,"context_line":"  ovs_dpdk:"},{"line_number":1952,"context_line":"    enabled: false"},{"line_number":1953,"context_line":"    driver: uio_pci_generic"},{"line_number":1954,"context_line":"    nics:"},{"line_number":1955,"context_line":"      - name: dpdk0"},{"line_number":1956,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":1957,"context_line":"        bridge: br-phy"},{"line_number":1958,"context_line":"        migrate_ip: true"},{"line_number":1959,"context_line":"        n_rxq: 2"},{"line_number":1960,"context_line":"        pmd_rxq_affinity: \"0:3,1:27\""},{"line_number":1961,"context_line":"        ofport_request: 1"},{"line_number":1962,"context_line":"    bridges:"},{"line_number":1963,"context_line":"      - name: br-phy"},{"line_number":1964,"context_line":""},{"line_number":1965,"context_line":"# Names of secrets used by bootstrap and environmental checks"},{"line_number":1966,"context_line":"secrets:"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_a23715e3","line":1963,"range":{"start_line":1953,"start_character":0,"end_line":1963,"end_character":20},"in_reply_to":"7faddb67_ecaae681","updated":"2019-08-20 19:25:42.000000000","message":"ok, can do that.","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"}],"neutron/values_overrides/dpdk-rocky-ubuntu_bionic.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"9ccdd68ea6885ecf7f8889382c4718d379e9ca0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"7faddb67_6cc1164e","updated":"2019-08-20 18:15:06.000000000","message":"is this file either ubuntu bionic, or rocky specific?\n\nIt also looks like it would be better split into two, one containering \u0027gate\u0027 values, another with ovs-dpdk config.","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e053ac7d16b73d2bd654933c2903264200a7b806","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"7faddb67_62defd6a","in_reply_to":"7faddb67_6cc1164e","updated":"2019-08-20 19:25:42.000000000","message":"Well, yes, this file itself is not Bionic specific and only the last three lines are required by Rocky - the version used for testing. \n\nHowever, we require Bionic to get a working and up-to-date version of OVS. Because of this, I decided to make this dependency explicit to avoid attempts to run OVS-DPDK on Xenial.","commit_id":"e645e093d65f6f5a0d92424cb05271e83f3bebc5"}],"tools/deployment/developer/ceph/dpdk/140-openvswitch.sh":[{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"cff90407232a4e09aff700d01b07498ba1fe75e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 The Openstack-Helm Authors."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-sh","patch_set":7,"id":"dfbec78f_ce40c138","line":1,"updated":"2019-05-08 14:25:42.000000000","message":"after looking further into directory structure. i found my suggestion for moving dpdk as sub directory to ceph is not good.\n\ndirectory structure seems to follow lots for sym-links to avoid duplicating files.\n\nso may be under dpdk directory rest of the files can be sym-link to ceph based scripts","commit_id":"6841e6127159d7c5c3ac2b5dda037e9f59b45c04"}],"tools/deployment/developer/dpdk/000-install-packages.sh":[{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"22f242dc12bbfe5c9121d7f9f4ec67dd79f81245","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dfbec78f_ec18cc1e","line":2,"updated":"2019-05-14 16:51:01.000000000","message":"it seems there couple be a better way of doing all these, like symlinks or some other means","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"3814ad713215b68d816f0044aea3631905ad2f3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dfbec78f_7547b8bd","line":2,"in_reply_to":"dfbec78f_ec18cc1e","updated":"2019-05-15 12:02:47.000000000","message":"Those are in fact symlinks. This seems to be how Gerrit display the target file.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"}],"tools/deployment/developer/dpdk/140-openvswitch.sh":[{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"ae27d5818bd780ba098daaad710f5b0e0e5febd4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 The Openstack-Helm Authors."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-sh","patch_set":6,"id":"dfbec78f_cb09a195","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"updated":"2019-05-07 17:54:47.000000000","message":"Should the multinode scripts, i.e. tools/deployment/multinode/120-openvswitch.sh and tools/deployment/multinode/140-compute-kit.sh be updated as well?","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"6b4cc8cb0373e4e66f16ba7047a27170722206ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 The Openstack-Helm Authors."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-sh","patch_set":6,"id":"dfbec78f_a663441a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"in_reply_to":"dfbec78f_c68d1832","updated":"2019-05-07 19:04:45.000000000","message":"ok","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"cb36a525ce13253d182f56c4d999bf7398f7dd0b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 The Openstack-Helm Authors."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-sh","patch_set":6,"id":"dfbec78f_c68d1832","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"in_reply_to":"dfbec78f_cb09a195","updated":"2019-05-07 18:39:38.000000000","message":"no, one working reference solution is good enough.","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e74c396c6efb7072706f62cedd46eb981d256cea","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  resources:"},{"line_number":25,"context_line":"    enabled: true"},{"line_number":26,"context_line":"    ovs:"},{"line_number":27,"context_line":"      vswitchd_dpdk:"},{"line_number":28,"context_line":"        requests:"},{"line_number":29,"context_line":"          memory: \"1024Mi\""},{"line_number":30,"context_line":"          cpu: \"1000m\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"bfb3d3c7_96943b46","line":27,"range":{"start_line":27,"start_character":13,"end_line":27,"end_character":19},"updated":"2019-05-21 09:34:53.000000000","message":"this removed in the latest patchset of the OVS chart based on a review comment:\nhttps://review.opendev.org/#/c/626894/22/openvswitch/values.yaml","commit_id":"ffc3da7788b49d5f57dadfa7f89e1899cd2d001a"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1e95d70663961972b65fd5b3855795474299d729","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  resources:"},{"line_number":25,"context_line":"    enabled: true"},{"line_number":26,"context_line":"    ovs:"},{"line_number":27,"context_line":"      vswitchd_dpdk:"},{"line_number":28,"context_line":"        requests:"},{"line_number":29,"context_line":"          memory: \"1024Mi\""},{"line_number":30,"context_line":"          cpu: \"1000m\""}],"source_content_type":"text/x-sh","patch_set":19,"id":"bfb3d3c7_086f112b","line":27,"range":{"start_line":27,"start_character":14,"end_line":27,"end_character":19},"updated":"2019-05-31 14:43:26.000000000","message":"This _dpdk is not correct","commit_id":"831f6834f66955121f411012c647447cd4fb7663"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1e95d70663961972b65fd5b3855795474299d729","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        requests:"},{"line_number":29,"context_line":"          memory: \"1024Mi\""},{"line_number":30,"context_line":"          cpu: \"1000m\""},{"line_number":31,"context_line":"        limits:"},{"line_number":32,"context_line":"          memory: \"1024Mi\""},{"line_number":33,"context_line":"          cpu: \"1000m\""},{"line_number":34,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":35,"context_line":"conf:"},{"line_number":36,"context_line":"  dpdk:"}],"source_content_type":"text/x-sh","patch_set":19,"id":"bfb3d3c7_3da33502","line":33,"range":{"start_line":31,"start_character":0,"end_line":33,"end_character":22},"updated":"2019-05-31 14:43:26.000000000","message":"I am getting OOMKilled with these values. It works with (perhaps exaggerated):\n\n          memory: \"4096Mi\"\n          cpu: \"4000m\"","commit_id":"831f6834f66955121f411012c647447cd4fb7663"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"90acfcc7e1be360d4a6b8315c2d85c316c7fa13b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#NOTE: Lint and package chart"},{"line_number":19,"context_line":": ${OSH_INFRA_PATH:\u003d\"../openstack-helm-infra\"}"},{"line_number":20,"context_line":"make -C ${OSH_INFRA_PATH} openvswitch"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"tee /tmp/openvswitch.yaml \u003c\u003c EOF"},{"line_number":23,"context_line":"images:"},{"line_number":24,"context_line":"  tags:"}],"source_content_type":"text/x-sh","patch_set":25,"id":"7faddb67_7c548ffe","line":21,"updated":"2019-07-16 09:16:47.000000000","message":"The override functions are missing:\n\nhttps://github.com/openstack/openstack-helm/blob/master/tools/deployment/component/compute-kit/openvswitch.sh#L19-L20","commit_id":"25d45b7de71efd9b80819734ea023e3758004d08"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"90acfcc7e1be360d4a6b8315c2d85c316c7fa13b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"helm upgrade --install openvswitch ${OSH_INFRA_PATH}/openvswitch \\"},{"line_number":49,"context_line":"  --namespace\u003dopenstack \\"},{"line_number":50,"context_line":"  --values\u003d/tmp/openvswitch.yaml \\"},{"line_number":51,"context_line":"  --set manifests.network_policy\u003dtrue \\"},{"line_number":52,"context_line":"  ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":53,"context_line":"  ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH}"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-sh","patch_set":25,"id":"7faddb67_dc2ee390","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":39},"updated":"2019-07-16 09:16:47.000000000","message":"why do you use network policies?","commit_id":"25d45b7de71efd9b80819734ea023e3758004d08"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"9a7b38eb24ede8befe5161c8f8eeb5a6164335ea","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"set -xe"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#NOTE: Get the over-rides to use"},{"line_number":19,"context_line":"export HELM_CHART_ROOT_PATH\u003d\"${HELM_CHART_ROOT_PATH:\u003d\"${OSH_INFRA_PATH:\u003d\"../openstack-helm-infra\"}\"}\""},{"line_number":20,"context_line":": ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH:\u003d\"$(./tools/deployment/common/get-values-overrides.sh openvswitch)\"}"}],"source_content_type":"text/x-sh","patch_set":29,"id":"7faddb67_44b783f6","line":17,"updated":"2019-08-01 07:20:37.000000000","message":"You should export FEATURE_GATES\u003ddpdk before executing ./tools/deployment/common/get-values-overrides.sh to get the correct images. This way, I don\u0027t think you are getting openvswitch-dpdk images","commit_id":"88d5b6304112827fe3e28b16b4b5f6d9e30b8dd6"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"9a7b38eb24ede8befe5161c8f8eeb5a6164335ea","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"set -xe"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#NOTE: Get the over-rides to use"},{"line_number":19,"context_line":"export HELM_CHART_ROOT_PATH\u003d\"${HELM_CHART_ROOT_PATH:\u003d\"${OSH_INFRA_PATH:\u003d\"../openstack-helm-infra\"}\"}\""},{"line_number":20,"context_line":": ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH:\u003d\"$(./tools/deployment/common/get-values-overrides.sh openvswitch)\"}"}],"source_content_type":"text/x-sh","patch_set":30,"id":"7faddb67_04cd0b84","line":17,"updated":"2019-08-01 07:20:37.000000000","message":"You should export FEATURE_GATES\u003ddpdk before executing ./tools/deployment/common/get-values-overrides.sh to get the openvswitch-dpdk images. Right now, you are pointing to the default openvswitch images","commit_id":"77a5eb05c21c030e149d6b164a27c217ee5d4061"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":24,"context_line":"make -C ${HELM_CHART_ROOT_PATH} openvswitch"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"tee /tmp/openvswitch.yaml \u003c\u003c EOF"},{"line_number":27,"context_line":"pod:"},{"line_number":28,"context_line":"  resources:"},{"line_number":29,"context_line":"    enabled: true"},{"line_number":30,"context_line":"    ovs:"},{"line_number":31,"context_line":"      vswitchd:"},{"line_number":32,"context_line":"        requests:"},{"line_number":33,"context_line":"          memory: \"2Gi\""},{"line_number":34,"context_line":"          cpu: \"2\""},{"line_number":35,"context_line":"        limits:"},{"line_number":36,"context_line":"          memory: \"2Gi\""},{"line_number":37,"context_line":"          cpu: \"2\""},{"line_number":38,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":39,"context_line":"conf:"},{"line_number":40,"context_line":"  dpdk:"},{"line_number":41,"context_line":"    enabled: true"},{"line_number":42,"context_line":"    hugepages_mountdir: /dev/hugepages"},{"line_number":43,"context_line":"    socket_memory: 1024"},{"line_number":44,"context_line":"EOF"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#NOTE: Deploy command"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_9c9d72bd","line":43,"range":{"start_line":27,"start_character":0,"end_line":43,"end_character":23},"updated":"2019-08-07 17:29:39.000000000","message":"lets bring these in via the values-overrides mechanism used elsewhere in osh.","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":24,"context_line":"make -C ${HELM_CHART_ROOT_PATH} openvswitch"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"tee /tmp/openvswitch.yaml \u003c\u003c EOF"},{"line_number":27,"context_line":"pod:"},{"line_number":28,"context_line":"  resources:"},{"line_number":29,"context_line":"    enabled: true"},{"line_number":30,"context_line":"    ovs:"},{"line_number":31,"context_line":"      vswitchd:"},{"line_number":32,"context_line":"        requests:"},{"line_number":33,"context_line":"          memory: \"2Gi\""},{"line_number":34,"context_line":"          cpu: \"2\""},{"line_number":35,"context_line":"        limits:"},{"line_number":36,"context_line":"          memory: \"2Gi\""},{"line_number":37,"context_line":"          cpu: \"2\""},{"line_number":38,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":39,"context_line":"conf:"},{"line_number":40,"context_line":"  dpdk:"},{"line_number":41,"context_line":"    enabled: true"},{"line_number":42,"context_line":"    hugepages_mountdir: /dev/hugepages"},{"line_number":43,"context_line":"    socket_memory: 1024"},{"line_number":44,"context_line":"EOF"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#NOTE: Deploy command"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_26d3b2d7","line":43,"range":{"start_line":27,"start_character":0,"end_line":43,"end_character":23},"in_reply_to":"7faddb67_346492e5","updated":"2019-08-13 11:18:05.000000000","message":"see https://review.opendev.org/#/c/676159/","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":24,"context_line":"make -C ${HELM_CHART_ROOT_PATH} openvswitch"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"tee /tmp/openvswitch.yaml \u003c\u003c EOF"},{"line_number":27,"context_line":"pod:"},{"line_number":28,"context_line":"  resources:"},{"line_number":29,"context_line":"    enabled: true"},{"line_number":30,"context_line":"    ovs:"},{"line_number":31,"context_line":"      vswitchd:"},{"line_number":32,"context_line":"        requests:"},{"line_number":33,"context_line":"          memory: \"2Gi\""},{"line_number":34,"context_line":"          cpu: \"2\""},{"line_number":35,"context_line":"        limits:"},{"line_number":36,"context_line":"          memory: \"2Gi\""},{"line_number":37,"context_line":"          cpu: \"2\""},{"line_number":38,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":39,"context_line":"conf:"},{"line_number":40,"context_line":"  dpdk:"},{"line_number":41,"context_line":"    enabled: true"},{"line_number":42,"context_line":"    hugepages_mountdir: /dev/hugepages"},{"line_number":43,"context_line":"    socket_memory: 1024"},{"line_number":44,"context_line":"EOF"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#NOTE: Deploy command"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_346492e5","line":43,"range":{"start_line":27,"start_character":0,"end_line":43,"end_character":23},"in_reply_to":"7faddb67_9c9d72bd","updated":"2019-08-07 20:48:04.000000000","message":"ok","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"}],"tools/deployment/developer/dpdk/160-compute-kit.sh":[{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"eb18f03e262e7fabf5a420d0a0270ad3c46c65b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_e4d63350","updated":"2019-05-06 03:03:53.000000000","message":"As I can see, there are two branches of deployment scripts: 1. nfs as k8s storage provisioner. 2. ceph as k8s storage provisioner.\n\nSeems this script belongs to the second one(I tried with nfs, it failed), so is it necessary to move this script to ceph directory?","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"71091f72443254c1c443f25109851021839b9c9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_a27d8b6f","in_reply_to":"dfbec78f_0707c91e","updated":"2019-05-06 08:00:46.000000000","message":"My deployment with nfs failed because this line[1] is missed in this script.\n\n[1] https://opendev.org/openstack/openstack-helm/src/commit/b5803ad5a8b7b3fc4159d6013b69c0c12e126a32/tools/deployment/developer/nfs/160-compute-kit.sh#L36","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ba8e1a777a167b47a29c6075a50ababc1693cd6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_c213df0c","in_reply_to":"dfbec78f_a27d8b6f","updated":"2019-05-06 08:18:56.000000000","message":"ok, thanks. I was thinking that moving this script to the ceph directory might be confusing because then there are two OVS scripts in there. So, we either parameterize the resulting script or keep a separate dpdk directory, but call it dpdk-ceph. The second option is less complicated for now.","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"6b4cc8cb0373e4e66f16ba7047a27170722206ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_267754d7","in_reply_to":"dfbec78f_a68a6418","updated":"2019-05-07 19:04:45.000000000","message":"sounds good","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"cb36a525ce13253d182f56c4d999bf7398f7dd0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_a68a6418","in_reply_to":"dfbec78f_c213df0c","updated":"2019-05-07 18:39:38.000000000","message":"maybe you can have dpdk sub directory under ceph","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"38826164f4cc831a67822ceb0c5e3ec7a64481d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_0707c91e","in_reply_to":"dfbec78f_e4d63350","updated":"2019-05-06 07:52:21.000000000","message":"In fact, I have only tested CEPH myself. Is there anything CEPH-specific in this file or the resulting setup that I missed? I thought it is generic in terms of the storage backend and hence put it in a separate dpdk directory. If that is not the case, we should move it.","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"0efc08fc3895caf4b8a04bf6f750553a38b04043","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        flat_networks: public"},{"line_number":60,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":61,"context_line":"    # backends here."},{"line_number":62,"context_line":"    openvswitch_agent:"},{"line_number":63,"context_line":"      agent:"},{"line_number":64,"context_line":"        tunnel_types: vxlan"},{"line_number":65,"context_line":"      ovs:"}],"source_content_type":"text/x-sh","patch_set":9,"id":"dfbec78f_e9f31672","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":21},"updated":"2019-05-10 14:02:37.000000000","message":"Unless you activate:\n\n[securitygroup]\nfirewall_driver \u003d openvswitch\n\nSecurity groups will not work because the default firewall driver is based on iptables, i.e. kernel functionality","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ad90a96ee3344a8935f8e9d1cedda6aa39fd2d91","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        flat_networks: public"},{"line_number":60,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":61,"context_line":"    # backends here."},{"line_number":62,"context_line":"    openvswitch_agent:"},{"line_number":63,"context_line":"      agent:"},{"line_number":64,"context_line":"        tunnel_types: vxlan"},{"line_number":65,"context_line":"      ovs:"}],"source_content_type":"text/x-sh","patch_set":9,"id":"bfb3d3c7_81a41b0a","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":21},"in_reply_to":"dfbec78f_b58bf0c0","updated":"2019-05-17 22:46:44.000000000","message":"Done","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"3814ad713215b68d816f0044aea3631905ad2f3b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        flat_networks: public"},{"line_number":60,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":61,"context_line":"    # backends here."},{"line_number":62,"context_line":"    openvswitch_agent:"},{"line_number":63,"context_line":"      agent:"},{"line_number":64,"context_line":"        tunnel_types: vxlan"},{"line_number":65,"context_line":"      ovs:"}],"source_content_type":"text/x-sh","patch_set":9,"id":"dfbec78f_b58bf0c0","line":62,"range":{"start_line":62,"start_character":4,"end_line":62,"end_character":21},"in_reply_to":"dfbec78f_e9f31672","updated":"2019-05-15 12:02:47.000000000","message":"thanks, good suggestion.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"22f242dc12bbfe5c9121d7f9f4ec67dd79f81245","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dfbec78f_0c72004a","line":101,"updated":"2019-05-14 16:51:01.000000000","message":"Is there some other meaningful functional test you can do here that shows OVS is working? Even if not a Shaker-type of test, maybe a basic connectivity test to a VM over OVS?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"3814ad713215b68d816f0044aea3631905ad2f3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dfbec78f_b56f7029","line":101,"in_reply_to":"dfbec78f_0c72004a","updated":"2019-05-15 12:02:47.000000000","message":"yes, that would be good. I am looking into this.","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ad90a96ee3344a8935f8e9d1cedda6aa39fd2d91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"bfb3d3c7_e1edd725","line":101,"in_reply_to":"dfbec78f_b56f7029","updated":"2019-05-17 22:46:44.000000000","message":"implementing this would take a bit of more time. Currently, such functional tests seem not to be yet in place for the non-dpdk scenarios as well. So, it would be good to build something generic here. However, is this a hard requirement from your side for this particular patch?","commit_id":"c9a8e049fdcdb4a1743b3eef2c5ccc82d527d159"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e74c396c6efb7072706f62cedd46eb981d256cea","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":67,"context_line":"        datapath_type: netdev"},{"line_number":68,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch/vhostuser"},{"line_number":69,"context_line":"      securitygroup:"},{"line_number":70,"context_line":"        firewall_driver: openvswitch"},{"line_number":71,"context_line":"    linuxbridge_agent:"},{"line_number":72,"context_line":"      linux_bridge:"},{"line_number":73,"context_line":"        bridge_mappings: public:br-ex"}],"source_content_type":"text/x-sh","patch_set":10,"id":"bfb3d3c7_b6f5bfcd","line":70,"range":{"start_line":69,"start_character":6,"end_line":70,"end_character":36},"updated":"2019-05-21 09:34:53.000000000","message":"was this nor working for you? It was added based on a previous review.","commit_id":"19d801aefe7384b6c83d4cd376925e0bf3d9118b"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"08c631140a649987f70051e4fe001cd62465a3ff","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"#NOTE: Deploy neutron"},{"line_number":49,"context_line":"tee /tmp/neutron.yaml \u003c\u003c EOF"},{"line_number":50,"context_line":"network:"},{"line_number":51,"context_line":"  interface:"},{"line_number":52,"context_line":"    tunnel: br-phy"},{"line_number":53,"context_line":"conf:"},{"line_number":54,"context_line":"  neutron:"},{"line_number":55,"context_line":"    DEFAULT:"},{"line_number":56,"context_line":"      l3_ha: False"},{"line_number":57,"context_line":"      max_l3_agents_per_router: 1"},{"line_number":58,"context_line":"      l3_ha_network_type: vxlan"},{"line_number":59,"context_line":"      dhcp_agents_per_network: 1"},{"line_number":60,"context_line":"  plugins:"},{"line_number":61,"context_line":"    ml2_conf:"},{"line_number":62,"context_line":"      ml2_type_flat:"},{"line_number":63,"context_line":"        flat_networks: public"},{"line_number":64,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":65,"context_line":"    # backends here."},{"line_number":66,"context_line":"    openvswitch_agent:"},{"line_number":67,"context_line":"      agent:"},{"line_number":68,"context_line":"        tunnel_types: vxlan"},{"line_number":69,"context_line":"      ovs:"},{"line_number":70,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":71,"context_line":"        datapath_type: netdev"},{"line_number":72,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch/vhostuser"},{"line_number":73,"context_line":"    linuxbridge_agent:"},{"line_number":74,"context_line":"      linux_bridge:"},{"line_number":75,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":76,"context_line":"  ovs_dpdk:"},{"line_number":77,"context_line":"    enabled: true"},{"line_number":78,"context_line":"    driver: uio_pci_generic"},{"line_number":79,"context_line":"    nics:"},{"line_number":80,"context_line":"      # CHANGE-ME: modify pci_id according to your hardware"},{"line_number":81,"context_line":"      - name: dpdk0"},{"line_number":82,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":83,"context_line":"        bridge: br-phy"},{"line_number":84,"context_line":"        migrate_ip: true"},{"line_number":85,"context_line":"    bridges:"},{"line_number":86,"context_line":"      - name: br-phy"},{"line_number":87,"context_line":"  paste:"},{"line_number":88,"context_line":"    app:neutronversions:"},{"line_number":89,"context_line":"      paste.app_factory: neutron.pecan_wsgi.app:versions_factory"},{"line_number":90,"context_line":"EOF"},{"line_number":91,"context_line":"helm upgrade --install neutron ./neutron \\"},{"line_number":92,"context_line":"    --namespace\u003dopenstack \\"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_5c805a47","line":89,"range":{"start_line":50,"start_character":0,"end_line":89,"end_character":64},"updated":"2019-08-07 17:29:39.000000000","message":"please use the values over-rides mechanism here - with ovs-dpdk as a \u0027feature-gate\u0027","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"64ccc788f21487d105ad61f57e59fe6e5ef07792","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"#NOTE: Deploy neutron"},{"line_number":49,"context_line":"tee /tmp/neutron.yaml \u003c\u003c EOF"},{"line_number":50,"context_line":"network:"},{"line_number":51,"context_line":"  interface:"},{"line_number":52,"context_line":"    tunnel: br-phy"},{"line_number":53,"context_line":"conf:"},{"line_number":54,"context_line":"  neutron:"},{"line_number":55,"context_line":"    DEFAULT:"},{"line_number":56,"context_line":"      l3_ha: False"},{"line_number":57,"context_line":"      max_l3_agents_per_router: 1"},{"line_number":58,"context_line":"      l3_ha_network_type: vxlan"},{"line_number":59,"context_line":"      dhcp_agents_per_network: 1"},{"line_number":60,"context_line":"  plugins:"},{"line_number":61,"context_line":"    ml2_conf:"},{"line_number":62,"context_line":"      ml2_type_flat:"},{"line_number":63,"context_line":"        flat_networks: public"},{"line_number":64,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":65,"context_line":"    # backends here."},{"line_number":66,"context_line":"    openvswitch_agent:"},{"line_number":67,"context_line":"      agent:"},{"line_number":68,"context_line":"        tunnel_types: vxlan"},{"line_number":69,"context_line":"      ovs:"},{"line_number":70,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":71,"context_line":"        datapath_type: netdev"},{"line_number":72,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch/vhostuser"},{"line_number":73,"context_line":"    linuxbridge_agent:"},{"line_number":74,"context_line":"      linux_bridge:"},{"line_number":75,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":76,"context_line":"  ovs_dpdk:"},{"line_number":77,"context_line":"    enabled: true"},{"line_number":78,"context_line":"    driver: uio_pci_generic"},{"line_number":79,"context_line":"    nics:"},{"line_number":80,"context_line":"      # CHANGE-ME: modify pci_id according to your hardware"},{"line_number":81,"context_line":"      - name: dpdk0"},{"line_number":82,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":83,"context_line":"        bridge: br-phy"},{"line_number":84,"context_line":"        migrate_ip: true"},{"line_number":85,"context_line":"    bridges:"},{"line_number":86,"context_line":"      - name: br-phy"},{"line_number":87,"context_line":"  paste:"},{"line_number":88,"context_line":"    app:neutronversions:"},{"line_number":89,"context_line":"      paste.app_factory: neutron.pecan_wsgi.app:versions_factory"},{"line_number":90,"context_line":"EOF"},{"line_number":91,"context_line":"helm upgrade --install neutron ./neutron \\"},{"line_number":92,"context_line":"    --namespace\u003dopenstack \\"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_f45d9a15","line":89,"range":{"start_line":50,"start_character":0,"end_line":89,"end_character":64},"in_reply_to":"7faddb67_5c805a47","updated":"2019-08-07 20:48:04.000000000","message":"ok","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"23edc8273121c90b7b03ea790891ccd7955bd9da","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"#NOTE: Deploy neutron"},{"line_number":49,"context_line":"tee /tmp/neutron.yaml \u003c\u003c EOF"},{"line_number":50,"context_line":"network:"},{"line_number":51,"context_line":"  interface:"},{"line_number":52,"context_line":"    tunnel: br-phy"},{"line_number":53,"context_line":"conf:"},{"line_number":54,"context_line":"  neutron:"},{"line_number":55,"context_line":"    DEFAULT:"},{"line_number":56,"context_line":"      l3_ha: False"},{"line_number":57,"context_line":"      max_l3_agents_per_router: 1"},{"line_number":58,"context_line":"      l3_ha_network_type: vxlan"},{"line_number":59,"context_line":"      dhcp_agents_per_network: 1"},{"line_number":60,"context_line":"  plugins:"},{"line_number":61,"context_line":"    ml2_conf:"},{"line_number":62,"context_line":"      ml2_type_flat:"},{"line_number":63,"context_line":"        flat_networks: public"},{"line_number":64,"context_line":"    #NOTE(portdirect): for clarity we include options for all the neutron"},{"line_number":65,"context_line":"    # backends here."},{"line_number":66,"context_line":"    openvswitch_agent:"},{"line_number":67,"context_line":"      agent:"},{"line_number":68,"context_line":"        tunnel_types: vxlan"},{"line_number":69,"context_line":"      ovs:"},{"line_number":70,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":71,"context_line":"        datapath_type: netdev"},{"line_number":72,"context_line":"        vhostuser_socket_dir: /var/run/openvswitch/vhostuser"},{"line_number":73,"context_line":"    linuxbridge_agent:"},{"line_number":74,"context_line":"      linux_bridge:"},{"line_number":75,"context_line":"        bridge_mappings: public:br-ex"},{"line_number":76,"context_line":"  ovs_dpdk:"},{"line_number":77,"context_line":"    enabled: true"},{"line_number":78,"context_line":"    driver: uio_pci_generic"},{"line_number":79,"context_line":"    nics:"},{"line_number":80,"context_line":"      # CHANGE-ME: modify pci_id according to your hardware"},{"line_number":81,"context_line":"      - name: dpdk0"},{"line_number":82,"context_line":"        pci_id: \u00270000:05:00.0\u0027"},{"line_number":83,"context_line":"        bridge: br-phy"},{"line_number":84,"context_line":"        migrate_ip: true"},{"line_number":85,"context_line":"    bridges:"},{"line_number":86,"context_line":"      - name: br-phy"},{"line_number":87,"context_line":"  paste:"},{"line_number":88,"context_line":"    app:neutronversions:"},{"line_number":89,"context_line":"      paste.app_factory: neutron.pecan_wsgi.app:versions_factory"},{"line_number":90,"context_line":"EOF"},{"line_number":91,"context_line":"helm upgrade --install neutron ./neutron \\"},{"line_number":92,"context_line":"    --namespace\u003dopenstack \\"}],"source_content_type":"text/x-sh","patch_set":31,"id":"7faddb67_c6d97ef4","line":89,"range":{"start_line":50,"start_character":0,"end_line":89,"end_character":64},"in_reply_to":"7faddb67_f45d9a15","updated":"2019-08-13 11:18:05.000000000","message":"Done","commit_id":"d1e1a7991d81c1a43872724ee363a312dff32d9d"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"ca9769f165c55ec5ec9ea61982f480bb04e81505","unresolved":false,"context_lines":[{"line_number":43,"context_line":"fi"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"#NOTE: Get the over-rides to use"},{"line_number":46,"context_line":": ${OSH_EXTRA_HELM_ARGS_NEUTRON:\u003d\"$(./tools/deployment/common/get-values-overrides.sh neutron)\"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"helm upgrade --install neutron ./neutron \\"},{"line_number":49,"context_line":"    --namespace\u003dopenstack \\"}],"source_content_type":"text/x-sh","patch_set":34,"id":"7faddb67_29396ca2","line":46,"updated":"2019-08-26 18:50:55.000000000","message":"Don\u0027t we need to have FEATURE_GATES\u003ddpdk for the neutron overrides added as part of this PS to kick in?  If we need to use dpdk overrides for ovs as well then same thing would apply there.","commit_id":"e30931a0bed407615d2c23293b1cca4d841b3868"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"042e7c9c695c031f0be79d6d86dfe2e26e50af7c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# enabling DPDK feature"},{"line_number":19,"context_line":"export FEATURE_GATES\u003d\"dpdk,gate\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"#NOTE: Get the over-rides to use"},{"line_number":22,"context_line":": ${OSH_EXTRA_HELM_ARGS_NOVA:\u003d\"$(./tools/deployment/common/get-values-overrides.sh nova)\"}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#NOTE: Lint and package chart"},{"line_number":25,"context_line":"make nova"},{"line_number":26,"context_line":"make neutron"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"#NOTE: Deploy nova"},{"line_number":29,"context_line":": ${OSH_EXTRA_HELM_ARGS:\u003d\"\"}"},{"line_number":30,"context_line":"if [ \"x$(systemd-detect-virt)\" \u003d\u003d \"xnone\" ]; then"},{"line_number":31,"context_line":"  echo \u0027OSH is not being deployed in virtualized environment\u0027"},{"line_number":32,"context_line":"  helm upgrade --install nova ./nova \\"},{"line_number":33,"context_line":"      --namespace\u003dopenstack \\"},{"line_number":34,"context_line":"      --set conf.ceph.enabled\u003dfalse \\"},{"line_number":35,"context_line":"      ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":36,"context_line":"      ${OSH_EXTRA_HELM_ARGS_NOVA}"},{"line_number":37,"context_line":"else"},{"line_number":38,"context_line":"  echo \u0027OSH is being deployed in virtualized environment, using qemu for nova\u0027"},{"line_number":39,"context_line":"  helm upgrade --install nova ./nova \\"},{"line_number":40,"context_line":"      --namespace\u003dopenstack \\"},{"line_number":41,"context_line":"      --set conf.ceph.enabled\u003dfalse \\"},{"line_number":42,"context_line":"      --set conf.nova.libvirt.virt_type\u003dqemu \\"},{"line_number":43,"context_line":"      --set conf.nova.libvirt.cpu_mode\u003dnone \\"},{"line_number":44,"context_line":"      ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":45,"context_line":"      ${OSH_EXTRA_HELM_ARGS_NOVA}"},{"line_number":46,"context_line":"fi"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"#NOTE: Get the over-rides to use"},{"line_number":49,"context_line":": ${OSH_EXTRA_HELM_ARGS_NEUTRON:\u003d\"$(./tools/deployment/common/get-values-overrides.sh neutron)\"}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"helm upgrade --install neutron ./neutron \\"},{"line_number":52,"context_line":"    --namespace\u003dopenstack \\"},{"line_number":53,"context_line":"    ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":54,"context_line":"    ${OSH_EXTRA_HELM_ARGS_NEUTRON}"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#NOTE: Wait for deploy"},{"line_number":57,"context_line":"./tools/deployment/common/wait-for-pods.sh openstack"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"#NOTE: Validate Deployment info"},{"line_number":60,"context_line":"export OS_CLOUD\u003dopenstack_helm"},{"line_number":61,"context_line":"openstack service list"},{"line_number":62,"context_line":"sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx"},{"line_number":63,"context_line":"openstack compute service list"},{"line_number":64,"context_line":"openstack network agent list"}],"source_content_type":"text/x-sh","patch_set":35,"id":"7faddb67_1c6ebb2b","line":64,"range":{"start_line":21,"start_character":0,"end_line":64,"end_character":28},"updated":"2019-09-03 14:58:08.000000000","message":"rather than needing this duplication, can we not just call the standard script once the appropriate env var has been exposed?","commit_id":"a2edd569008dbc6a41d5faa6959d59b5b502b44f"}],"tools/images/openvswitch/Dockerfile":[{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"396bcdafd274be3f28ac27f8ffbd6f031d63a876","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM k8s.gcr.io/debian-iptables-amd64:v10"},{"line_number":2,"context_line":"MAINTAINER pete.birley@att.com"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"ARG OVS_VERSION\u003dlatest-debian"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"RUN set -ex ;\\"},{"line_number":7,"context_line":"    export DEBIAN_FRONTEND\u003dnoninteractive ;\\"}],"source_content_type":"text/x-dockerfile","patch_set":5,"id":"ffb9cba7_cc2f1486","line":4,"updated":"2019-04-30 17:44:22.000000000","message":"This change will break this docker file, also we do not use this docker file to generate openvswitch images.\n\ninstead we are using openstack-helm-images repo for the same, may be these files needs cleanup instead of update","commit_id":"5283f09522b6a1caa162b3d769ec406193e7e5c0"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"eb18f03e262e7fabf5a420d0a0270ad3c46c65b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_44737f81","updated":"2019-05-06 03:03:53.000000000","message":"Not sure if we still need to update this file. Seems docker images are built by openstack-helm-images[1].\n\n[1] https://github.com/openstack/openstack-helm-images/tree/master/openvswitch","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"38826164f4cc831a67822ceb0c5e3ec7a64481d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_8713b966","in_reply_to":"dfbec78f_44737f81","updated":"2019-05-06 07:52:21.000000000","message":"good question. It is confusion to have this file in here as well. Nevertheless, we probably shouldn\u0027t remove this as part of this patchset, but maybe in a separate one?","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"cb36a525ce13253d182f56c4d999bf7398f7dd0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_e6f05ccc","in_reply_to":"dfbec78f_8713b966","updated":"2019-05-07 18:39:38.000000000","message":"lets do cleanup as part of a separate patch set","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"6b4cc8cb0373e4e66f16ba7047a27170722206ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dfbec78f_06a7b051","in_reply_to":"dfbec78f_e6f05ccc","updated":"2019-05-07 19:04:45.000000000","message":"ok","commit_id":"825fc179e6735db8ce945e3d7a32a1a6566c5d7a"}]}
