)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29704,"name":"Dimitris Tsiolakis","email":"dmts@intracom-telecom.com","username":"dimitris.tsiolakis"},"change_message_id":"850bb610fddd909aa4070eecbe8eadd0bb40e626","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extended OVS chart with support for DPDK"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled and the kernel modules uio and igb_uio must be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bfdaf3ff_43983dbf","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":71},"updated":"2019-01-15 11:18:51.000000000","message":"Is this still valid?","commit_id":"4e6ac66e069860e48ac1b69f6ea0bc49f5e7123c"},{"author":{"_account_id":29704,"name":"Dimitris Tsiolakis","email":"dmts@intracom-telecom.com","username":"dimitris.tsiolakis"},"change_message_id":"1e6b936205eba396a2083888828d2dbc34aef9ad","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extended OVS chart with support for DPDK"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled and the kernel modules uio and igb_uio must be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bfdaf3ff_cb466a7d","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":71},"in_reply_to":"bfdaf3ff_00c78447","updated":"2019-01-16 15:03:09.000000000","message":"Am I missing the right values.yaml? I was talking about line 134 of openstack/openstack-helm-infra/openvswitch/values.yaml. It states \"enabled: false\".","commit_id":"4e6ac66e069860e48ac1b69f6ea0bc49f5e7123c"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ec278697fa4a9b54ba69f643bd7f175faecf0134","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extended OVS chart with support for DPDK"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled and the kernel modules uio and igb_uio must be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bfdaf3ff_00c78447","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":71},"in_reply_to":"bfdaf3ff_43983dbf","updated":"2019-01-15 16:20:22.000000000","message":"yes, this is still the case. In addition, please set resources to enabled:true as accidently done in patchset 3 to enable the hugepage-specific resource limits.","commit_id":"4e6ac66e069860e48ac1b69f6ea0bc49f5e7123c"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1633134b467ffbbc32f33fb52bf3e491526f2b94","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Extended OVS chart with support for DPDK"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ffb9cba7_833cbfbf","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":71},"updated":"2019-04-26 14:28:55.000000000","message":"isn\u0027t there a userguide for OSH where these instructions and what the host OS prerequisites are covered? Having it in the commit message might not be enough","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c49346368ac8b7dc80ea15cb00bb7dbfe987176e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Extended OVS chart with support for DPDK"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ffb9cba7_26ce2b2e","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":71},"in_reply_to":"ffb9cba7_833cbfbf","updated":"2019-04-28 17:05:14.000000000","message":"true, I\u0027ll try to find a nice spot in the developer documentation.","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1633134b467ffbbc32f33fb52bf3e491526f2b94","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"There is an existing kolla docker image [1] which however does not allow"},{"line_number":16,"context_line":"to add DPDK ports to OVS. Instead, this chart was tested with a source"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ffb9cba7_c30cf73c","line":13,"range":{"start_line":12,"start_character":54,"end_line":13,"end_character":26},"updated":"2019-04-26 14:28:55.000000000","message":"Another requirement is that it must have IOMMU virtualization enabled. For example when using Intel, you need \u0027iommu\u003dpt intel_iommu\u003don\u0027 in GRUB_CMDLINE_LINUX","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c49346368ac8b7dc80ea15cb00bb7dbfe987176e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Extending the Openvswitch chart with support for DPDK. In order to"},{"line_number":10,"context_line":"enable DPDK support, set the dpdk:enabled option to true in value.yaml."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites for successfully running OVS with DPDK: the host OS must"},{"line_number":13,"context_line":"to have hugepages enabled."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"There is an existing kolla docker image [1] which however does not allow"},{"line_number":16,"context_line":"to add DPDK ports to OVS. Instead, this chart was tested with a source"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ffb9cba7_c6ce2f2c","line":13,"range":{"start_line":12,"start_character":54,"end_line":13,"end_character":26},"in_reply_to":"ffb9cba7_c30cf73c","updated":"2019-04-28 17:05:14.000000000","message":"yes, needs to be documented.","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"}],"helm-toolkit/templates/snippets/_kubernetes_resources.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"3383c97aea884e0d37df919e8c6e301511f47989","unresolved":false,"context_lines":[{"line_number":58,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"},{"line_number":59,"context_line":"         and in the corresponding values.yaml to use an underscore. */}}"},{"line_number":60,"context_line":"    {{- if $component.limits.hugepages_1Gi }}"},{"line_number":61,"context_line":"    hugepages-1Gi: {{ $component.limits.hugepages_1Gi | quote }}"},{"line_number":62,"context_line":"    {{- end }}"},{"line_number":63,"context_line":"    {{/* georgk: the helm linter does not support dashes (-) in attributes."},{"line_number":64,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_a9e1ee00","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":17},"updated":"2019-01-14 00:15:01.000000000","message":"why not hugepages1Gi ?","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"76b330c0b9b6415c48b3f068104830c7f40a8d3e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"},{"line_number":59,"context_line":"         and in the corresponding values.yaml to use an underscore. */}}"},{"line_number":60,"context_line":"    {{- if $component.limits.hugepages_1Gi }}"},{"line_number":61,"context_line":"    hugepages-1Gi: {{ $component.limits.hugepages_1Gi | quote }}"},{"line_number":62,"context_line":"    {{- end }}"},{"line_number":63,"context_line":"    {{/* georgk: the helm linter does not support dashes (-) in attributes."},{"line_number":64,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_3818e21b","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":17},"in_reply_to":"bfdaf3ff_a9e1ee00","updated":"2019-01-14 08:49:34.000000000","message":"I am following the Kubernetes hugepages config guide [1]. It states that the hugepages are defines like \"hugepages-\u003csize\u003e\"\n\nThe linter actually has a problem with the variable name on the right-hand side of the attribute. So, I use hugepages_1Gi instead of hugepages-1Gi. The comment should read \"variable name\" instead of \"attribute\" to make this clear.\n\n[1] https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"3383c97aea884e0d37df919e8c6e301511f47989","unresolved":false,"context_lines":[{"line_number":64,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"},{"line_number":65,"context_line":"         and in the corresponding values.yaml to use an underscore. */}}"},{"line_number":66,"context_line":"    {{- if $component.limits.hugepages_2Mi }}"},{"line_number":67,"context_line":"    hugepages-2Mi: {{ $component.limits.hugepages_2Mi | quote }}"},{"line_number":68,"context_line":"    {{- end }}"},{"line_number":69,"context_line":"  {{- end }}"},{"line_number":70,"context_line":"  {{- if or $component.requests.cpu $component.requests.memory }}"}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_49e64219","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":17},"updated":"2019-01-14 00:15:01.000000000","message":"hugepages2Mi","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"76b330c0b9b6415c48b3f068104830c7f40a8d3e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"         As a workaround, the hugepages-1Gi attribute has been renamed here"},{"line_number":65,"context_line":"         and in the corresponding values.yaml to use an underscore. */}}"},{"line_number":66,"context_line":"    {{- if $component.limits.hugepages_2Mi }}"},{"line_number":67,"context_line":"    hugepages-2Mi: {{ $component.limits.hugepages_2Mi | quote }}"},{"line_number":68,"context_line":"    {{- end }}"},{"line_number":69,"context_line":"  {{- end }}"},{"line_number":70,"context_line":"  {{- if or $component.requests.cpu $component.requests.memory }}"}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_d88e7626","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":17},"in_reply_to":"bfdaf3ff_49e64219","updated":"2019-01-14 08:49:34.000000000","message":"see above","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bdba2f4bd37e70b5bddd8a03df2f4faff992dd39","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"  {{- if or $component.limits.cpu $component.limits.memory }}"},{"line_number":50,"context_line":"  limits:"},{"line_number":51,"context_line":"    {{- if $component.limits.cpu }}"},{"line_number":52,"context_line":"    cpu: {{ $component.limits.cpu | quote }}"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"5fc1f717_1e5c54eb","line":49,"range":{"start_line":49,"start_character":58,"end_line":49,"end_character":59},"updated":"2019-03-15 06:07:29.000000000","message":"Seems we need to test $componnet.limites.hugepages_* as well.\nIn fact, I am think we may be able to leverage \u0027toYaml\u0027 here, so that we can save all the \"if\" conditions.","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e6d960067d7af0d2742d3cba53c2ff67e2498666","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"  {{- if or $component.limits.cpu $component.limits.memory }}"},{"line_number":50,"context_line":"  limits:"},{"line_number":51,"context_line":"    {{- if $component.limits.cpu }}"},{"line_number":52,"context_line":"    cpu: {{ $component.limits.cpu | quote }}"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"5fc1f717_85742d9e","line":49,"range":{"start_line":49,"start_character":58,"end_line":49,"end_character":59},"in_reply_to":"5fc1f717_1e5c54eb","updated":"2019-03-19 13:32:46.000000000","message":"I changed the code to make of toYaml.","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bdba2f4bd37e70b5bddd8a03df2f4faff992dd39","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    {{- if $component.limits.memory }}"},{"line_number":55,"context_line":"    memory: {{ $component.limits.memory | quote }}"},{"line_number":56,"context_line":"    {{- end }}"},{"line_number":57,"context_line":"    {{- if $component.limits.hugepages_1Gi }}"},{"line_number":58,"context_line":"    hugepages-1Gi: {{ $component.limits.hugepages_1Gi | quote }}"},{"line_number":59,"context_line":"    {{- end }}"},{"line_number":60,"context_line":"    {{- if $component.limits.hugepages_2Mi }}"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"5fc1f717_1eb8d4e2","line":57,"range":{"start_line":57,"start_character":28,"end_line":57,"end_character":42},"updated":"2019-03-15 06:07:29.000000000","message":"If you want to keep this consistent with \"hugepages-1Gi\" below( I mean \"-\" vs. \"_\"). You can replace \n{{- if $component.limits.hugepages_1Gi }}\nwith \n{{- if index $component.limits \"hugepages-1Gi\" }}","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e6d960067d7af0d2742d3cba53c2ff67e2498666","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    {{- if $component.limits.memory }}"},{"line_number":55,"context_line":"    memory: {{ $component.limits.memory | quote }}"},{"line_number":56,"context_line":"    {{- end }}"},{"line_number":57,"context_line":"    {{- if $component.limits.hugepages_1Gi }}"},{"line_number":58,"context_line":"    hugepages-1Gi: {{ $component.limits.hugepages_1Gi | quote }}"},{"line_number":59,"context_line":"    {{- end }}"},{"line_number":60,"context_line":"    {{- if $component.limits.hugepages_2Mi }}"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"5fc1f717_253c59be","line":57,"range":{"start_line":57,"start_character":28,"end_line":57,"end_character":42},"in_reply_to":"5fc1f717_1eb8d4e2","updated":"2019-03-19 13:32:46.000000000","message":"Done","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"c8a1ac7110def9bedb7f41402f441d5a0be776dc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_2a765f08","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"updated":"2019-05-20 07:40:36.000000000","message":"Should this refactor be part of this commit?","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"d5a3cc4b98b7a434f3a79f2f2d502fd713ce6474","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_ea628716","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"in_reply_to":"bfb3d3c7_2a765f08","updated":"2019-05-20 07:45:10.000000000","message":"yes, this is here by intention (see [1]). In a nutshell, the background is that k8s expects an attribute called hugepages-1G or hugepages-2M to set the hugepage limits. However, the helm linter does not like dashes \"-\" in variable names, so the current approach of check if a given attribute is set, does not work. Moreover, just using toYaml avoid the entire if/else code.\n\n[1] https://review.opendev.org/#/c/626894/13/helm-toolkit/templates/snippets/_kubernetes_resources.tpl","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"a9a7226e2c36996fccfd8091f641ec344cc5dd94","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_857deab2","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"in_reply_to":"bfb3d3c7_6b38d6d2","updated":"2019-05-21 01:02:42.000000000","message":"Maybe we don\u0027t have to validate everything. Let\u0027s assume the deployers know how to configure pod resource, I mean the deployers are supposed to know what\u0027s the mean of \u0027cpu\u0027, \u0027memory\u0027, \u0027hugepages-2Mi\u0027, etc. Otherwise they shouldn\u0027t overwrite the resource values.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"485dc8191a4f2ce6af6d488c20083e2fedf0407d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_9188c5c6","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"in_reply_to":"bfb3d3c7_857deab2","updated":"2019-05-21 10:33:03.000000000","message":"As I said, I am fine with that. I just don\u0027t understand why there is a big point of having those inside htk if we have a convention.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"39b64e77612527255ec46dd385d67128579ba3a9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_f919ff87","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"in_reply_to":"bfb3d3c7_ea628716","updated":"2019-05-20 12:16:07.000000000","message":"Current me is fine with that, future me will wonder what happened there. I hope future me will check the review.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"3d29f36c7fbfef328d8a03f25d8aa06ad3599412","unresolved":false,"context_lines":[{"line_number":46,"context_line":"{{- $component :\u003d index . 1 -}}"},{"line_number":47,"context_line":"{{- if $envAll.Values.pod.resources.enabled -}}"},{"line_number":48,"context_line":"resources:"},{"line_number":49,"context_line":"{{ toYaml $component | trim | indent 2 }}"},{"line_number":50,"context_line":"{{- end -}}"},{"line_number":51,"context_line":"{{- end -}}"}],"source_content_type":"text/x-smarty","patch_set":24,"id":"bfb3d3c7_6b38d6d2","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":41},"in_reply_to":"bfb3d3c7_f919ff87","updated":"2019-05-20 12:21:24.000000000","message":"This applies everywhere. I am not fully aware of all th helm charts input values, so this might be causing adversary effects, because no validation is effectively done on this yaml now. I am okay with this if everyone is okay. But it might be useful to say to deployers that this function is not validated anymore, and simply exposes yaml from the component... Which makes me wonder if there is a point of having this in the toolkit anymore.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"}],"openvswitch/templates/bin/_openvswitch-vswitchd.sh.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"3383c97aea884e0d37df919e8c6e301511f47989","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":40,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-init\u003dtry"},{"line_number":41,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir\u003d\"/mnt/hugepages\""},{"line_number":42,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem\u003d1024"},{"line_number":43,"context_line":"{{- end }}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_69e30607","line":41,"range":{"start_line":41,"start_character":95,"end_line":41,"end_character":112},"updated":"2019-01-14 00:15:01.000000000","message":"is hugepages really mounted there?\n\nthat seems like a suboptimal (not very descriptive, generic location) choice if that\u0027s the case","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"76b330c0b9b6415c48b3f068104830c7f40a8d3e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":40,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-init\u003dtry"},{"line_number":41,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir\u003d\"/mnt/hugepages\""},{"line_number":42,"context_line":"  ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem\u003d1024"},{"line_number":43,"context_line":"{{- end }}"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":2,"id":"bfdaf3ff_7e4ad355","line":41,"range":{"start_line":41,"start_character":95,"end_line":41,"end_character":112},"in_reply_to":"bfdaf3ff_69e30607","updated":"2019-01-14 08:49:34.000000000","message":"This is host OS configuration dependend. hugepages have to be mounted somewhere in the local filesystem. It is often mounted at /mnt/huge [1], /mnt/hugepages or /hugepages [2][3]. There does not seem to exist a more strict best practice. It is relatively descriptive, though, because the mount point contains the word \"huge(pages)\". I am not too opinionated about the actual mount point and I am happy to change it to [2] or [3] for consistency.\n\nIn general, as this is host configuration dependend, we need to ensure that the mount point used here is in sync with how the host is configured throught the corresponding host config tools (for instance Drydock in case of Airship). So, we should actually make it a config option of the chart.\n\n[1] https://doc.dpdk.org/guides/linux_gsg/sys_reqs.html\n[2] https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/\n[3] https://wiki.debian.org/Hugepages","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"4ac5aca2f96275f523956b9a9b09421425162ab1","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"OVS_SOCKET\u003d/run/openvswitch/db.sock"},{"line_number":23,"context_line":"OVS_PID\u003d/run/openvswitch/ovs-vswitchd.pid"},{"line_number":24,"context_line":"chmod 777 /run/openvswitch"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"function start () {"},{"line_number":27,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":15,"id":"3fce034c_aacc7f89","line":24,"updated":"2019-04-12 14:21:21.000000000","message":"777 permission is not a good idea.\nyou can create another directory /run/openvswitch/vhostuser/ (can be taken as config)\nset the owner to nova and change config to use this as vhostuser directory","commit_id":"8a648c56356b0d83148e885c77389676415feff9"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1633134b467ffbbc32f33fb52bf3e491526f2b94","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# create vhostuser directory and grant nova user access permissions"},{"line_number":26,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":27,"context_line":"chown 42424 /run/openvswitch/vhostuser"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function start () {"},{"line_number":30,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"ffb9cba7_1199fc1d","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":11},"updated":"2019-04-26 14:28:55.000000000","message":"How do you know the UID for nova user is 42424? SHouldn\u0027t you write \"nova\" instead?","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c49346368ac8b7dc80ea15cb00bb7dbfe987176e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# create vhostuser directory and grant nova user access permissions"},{"line_number":26,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":27,"context_line":"chown 42424 /run/openvswitch/vhostuser"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function start () {"},{"line_number":30,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"ffb9cba7_8b2922e7","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":11},"in_reply_to":"ffb9cba7_1199fc1d","updated":"2019-04-28 17:05:14.000000000","message":"42424 is the default UID used by Loci for the OpenStack service users [1]. Since the OVS image is not based on Loci, the nova user does not exist in the image and hence \"nova\" cannot be resolved to the correct UID.\n\n[1] https://github.com/openstack/loci/blob/master/README.md","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3fa4e85312a4914e89f8b7a2e27ed2a59ce84b21","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# create vhostuser directory and grant nova user access permissions"},{"line_number":26,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":27,"context_line":"chown 42424 /run/openvswitch/vhostuser"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"function start () {"},{"line_number":30,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"ffb9cba7_325f3f73","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":11},"in_reply_to":"ffb9cba7_8b2922e7","updated":"2019-04-29 14:00:06.000000000","message":"ok, thanks! I suggest adding this to the comment in line 25","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"93f72bd907e197d0a9797620c2a43053097cf389","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# accounts. Since the OVS image is not based on Loci, the nova user"},{"line_number":28,"context_line":"# does not exist and we need to use the raw UID here."},{"line_number":29,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":30,"context_line":"chown 42424.42424 /run/openvswitch/vhostuser"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"function start () {"},{"line_number":33,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"9fb8cfa7_6214aa4d","line":30,"range":{"start_line":30,"start_character":6,"end_line":30,"end_character":17},"updated":"2019-07-02 04:42:09.000000000","message":"can we drive this via the values, using the same layout for keys as we do to define the nova user in the nova chart - though to clarify this needs to match nova, and not neutron?","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"cbd26b581388e6e173717fb23d956190c9815d79","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# accounts. Since the OVS image is not based on Loci, the nova user"},{"line_number":28,"context_line":"# does not exist and we need to use the raw UID here."},{"line_number":29,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":30,"context_line":"chown 42424.42424 /run/openvswitch/vhostuser"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"function start () {"},{"line_number":33,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"9fb8cfa7_dabf64a8","line":30,"range":{"start_line":30,"start_character":6,"end_line":30,"end_character":17},"in_reply_to":"9fb8cfa7_6214aa4d","updated":"2019-07-03 07:40:42.000000000","message":"ok, I will update this to use the same structure as in the nova chart.\n\nRegarding which user exactly, it is nova-compute which requires access to the vhostuser sockets in order to bind them.","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"16cc3a8ee2d1ed61445f302ccc9337acba8c0d62","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# accounts. Since the OVS image is not based on Loci, the nova user"},{"line_number":28,"context_line":"# does not exist and we need to use the raw UID here."},{"line_number":29,"context_line":"mkdir -p /run/openvswitch/vhostuser"},{"line_number":30,"context_line":"chown 42424.42424 /run/openvswitch/vhostuser"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"function start () {"},{"line_number":33,"context_line":"  t\u003d0"}],"source_content_type":"text/x-smarty","patch_set":31,"id":"7faddb67_fa903151","line":30,"range":{"start_line":30,"start_character":6,"end_line":30,"end_character":17},"in_reply_to":"9fb8cfa7_dabf64a8","updated":"2019-07-03 20:31:43.000000000","message":"Done","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"}],"openvswitch/templates/bin/_ovs-dpdkctl.sh.tpl":[{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"db3bd73ecf8f967a3261043ccd0525d8159ea1de","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir\u003d{{ .Values.conf.dpdk.hugepages_mountpath | quote }}"},{"line_number":44,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem\u003d{{ .Values.conf.dpdk.socket_memory | quote }}"},{"line_number":45,"context_line":"# find good default values for those"},{"line_number":46,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-mem-channels\u003d{{ .Values.conf.dpdk.mem_channels | quote }}"},{"line_number":47,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:pmd-cpu-mask\u003d{{ .Values.conf.dpdk.pmd_cpu_mask | quote }}"},{"line_number":48,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask\u003d{{ .Values.conf.dpdk.lcore_mask | quote }}"},{"line_number":49,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-init\u003dtrue"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_5cdc0ae0","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":17},"updated":"2019-03-01 08:41:56.000000000","message":"Maybe we should remove these lines","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"b44e65ce2e07beb18293f0dabbd99a639a6c232d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir\u003d{{ .Values.conf.dpdk.hugepages_mountpath | quote }}"},{"line_number":44,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem\u003d{{ .Values.conf.dpdk.socket_memory | quote }}"},{"line_number":45,"context_line":"# find good default values for those"},{"line_number":46,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-mem-channels\u003d{{ .Values.conf.dpdk.mem_channels | quote }}"},{"line_number":47,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:pmd-cpu-mask\u003d{{ .Values.conf.dpdk.pmd_cpu_mask | quote }}"},{"line_number":48,"context_line":"#    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask\u003d{{ .Values.conf.dpdk.lcore_mask | quote }}"},{"line_number":49,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-init\u003dtrue"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_8b84575f","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":17},"in_reply_to":"9fdfeff1_5cdc0ae0","updated":"2019-03-01 10:38:55.000000000","message":"yes, I keept those for the time being as a reminder of the available config options. We can then jointly decide which ones of those we want to keep.","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"db3bd73ecf8f967a3261043ccd0525d8159ea1de","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"function init_ovs_bridges {"},{"line_number":53,"context_line":"  {{- range .Values.conf.dpdk.bridges }}"},{"line_number":54,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-br {{ .name | quote }} \\"},{"line_number":55,"context_line":"    -- set Bridge {{ .name | quote }}  datapath_type\u003dnetdev"},{"line_number":56,"context_line":"  {{- end }}"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_456980f5","line":55,"range":{"start_line":54,"start_character":4,"end_line":55,"end_character":59},"updated":"2019-03-01 08:41:56.000000000","message":"We can\u0027t tell openvswitch which bridge it should create here. We should do this in neutron chart[1] instead. ovs itself doesn\u0027t know which bridge to create until neutron tells it.\n\nFor now, auto_bridge_add doesn\u0027t support per-host overrides. So you may meet problem for multi nodes deployment, because different host may have different nic pci_id. Let\u0027s wait for this patch https://review.openstack.org/#/c/639087/\n\n[1] https://github.com/openstack/openstack-helm/blob/66ba0be81c66c20b5ffae709358970d5937a0202/neutron/templates/bin/_neutron-openvswitch-agent-init.sh.tpl#L40","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"b44e65ce2e07beb18293f0dabbd99a639a6c232d","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"function init_ovs_bridges {"},{"line_number":53,"context_line":"  {{- range .Values.conf.dpdk.bridges }}"},{"line_number":54,"context_line":"    ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-br {{ .name | quote }} \\"},{"line_number":55,"context_line":"    -- set Bridge {{ .name | quote }}  datapath_type\u003dnetdev"},{"line_number":56,"context_line":"  {{- end }}"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_0ed0751e","line":55,"range":{"start_line":54,"start_character":4,"end_line":55,"end_character":59},"in_reply_to":"9fdfeff1_456980f5","updated":"2019-03-01 10:38:55.000000000","message":"ok, I see. So we will likely need to bring a DPDK config option to the neutron chart as well. Actually, that was the next thing I was planning to look into, to thanks for the advice.","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"db3bd73ecf8f967a3261043ccd0525d8159ea1de","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  {{- end }}"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"function init_ovs_interfaces {"},{"line_number":60,"context_line":"  {{- range .Values.conf.dpdk.nics }}"},{"line_number":61,"context_line":"     ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --if-exists del-port {{ .name }}"},{"line_number":62,"context_line":"     ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-port {{ .bridge }} {{ .name }} \\"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_0577f8d5","line":59,"range":{"start_line":59,"start_character":9,"end_line":59,"end_character":28},"updated":"2019-03-01 08:41:56.000000000","message":"I think we may need to do this in neutron as well","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"b44e65ce2e07beb18293f0dabbd99a639a6c232d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  {{- end }}"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"function init_ovs_interfaces {"},{"line_number":60,"context_line":"  {{- range .Values.conf.dpdk.nics }}"},{"line_number":61,"context_line":"     ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --if-exists del-port {{ .name }}"},{"line_number":62,"context_line":"     ovs-vsctl --db\u003dunix:${OVS_SOCKET} --no-wait --may-exist add-port {{ .bridge }} {{ .name }} \\"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"9fdfeff1_6eb581ec","line":59,"range":{"start_line":59,"start_character":9,"end_line":59,"end_character":28},"in_reply_to":"9fdfeff1_0577f8d5","updated":"2019-03-01 10:38:55.000000000","message":"so if we do this in neutron as well, we also have to move the entire DPDK driver binding logic to neutron as well. Maybe that\u0027s the way to go. I am open to suggestions.","commit_id":"c1b5d409899408cf80d6c728fe6eeec820d762eb"}],"openvswitch/templates/daemonset-ovs-vswitchd.yaml":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"3383c97aea884e0d37df919e8c6e301511f47989","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            type: Directory"},{"line_number":147,"context_line":"        - name: huge-pages"},{"line_number":148,"context_line":"          hostPath:"},{"line_number":149,"context_line":"            path: /mnt/hugepages"},{"line_number":150,"context_line":"            type: Directory"},{"line_number":151,"context_line":"        - name: node-devices"},{"line_number":152,"context_line":"          hostPath:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bfdaf3ff_09f03ac9","line":149,"range":{"start_line":149,"start_character":18,"end_line":149,"end_character":32},"updated":"2019-01-14 00:15:01.000000000","message":"oh well","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"677def7d67af8d44779a47841beda338ffd88370","unresolved":false,"context_lines":[{"line_number":84,"context_line":"              add:"},{"line_number":85,"context_line":"                - NET_ADMIN"},{"line_number":86,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":87,"context_line":"            allowPrivilegeEscalation: true"},{"line_number":88,"context_line":"            privileged: true"},{"line_number":89,"context_line":"{{- end }}"},{"line_number":90,"context_line":"          # ensures this container can speak to the ovs database"},{"line_number":91,"context_line":"          # successfully before its marked as ready"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_833c5c2f","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":28},"updated":"2019-01-31 16:13:40.000000000","message":"can we translate these to the required kernel capabilities? or is this a case where we need to use the k8s `privileged: true` flag? also why do we need `allowPrivilegeEscalation: true` when we are running as root?","commit_id":"69fe989ae77b3f1fddd9367c22323793d3efc0ce"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"78c74daae2b19f40252ea6ba532b327708388258","unresolved":false,"context_lines":[{"line_number":84,"context_line":"              add:"},{"line_number":85,"context_line":"                - NET_ADMIN"},{"line_number":86,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":87,"context_line":"            allowPrivilegeEscalation: true"},{"line_number":88,"context_line":"            privileged: true"},{"line_number":89,"context_line":"{{- end }}"},{"line_number":90,"context_line":"          # ensures this container can speak to the ovs database"},{"line_number":91,"context_line":"          # successfully before its marked as ready"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_1c2758cc","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":28},"in_reply_to":"9fdfeff1_833c5c2f","updated":"2019-02-01 14:34:30.000000000","message":"This needs a bit more polishing. For my prototyping I opted for using the maximum in terms of permissions. This needs to be cut back to what is actually needed.","commit_id":"69fe989ae77b3f1fddd9367c22323793d3efc0ce"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"4ac5aca2f96275f523956b9a9b09421425162ab1","unresolved":false,"context_lines":[{"line_number":52,"context_line":"{{ tuple $envAll \"vswitchd\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 8 }}"},{"line_number":53,"context_line":"        - name: openvswitch-vswitchd-modules"},{"line_number":54,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":55,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd_dpdk\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":56,"context_line":"{{- else }}"},{"line_number":57,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":58,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3fce034c_0a37d3b2","line":55,"updated":"2019-04-12 14:21:21.000000000","message":"separate tag definition is not needed as same image can support both dpdk and non-dpdk mode.","commit_id":"8a648c56356b0d83148e885c77389676415feff9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"0f1b8f1208d7c79ac2123887b787a9a9dcc8e50a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"{{ tuple $envAll \"vswitchd\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 8 }}"},{"line_number":53,"context_line":"        - name: openvswitch-vswitchd-modules"},{"line_number":54,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":55,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd_dpdk\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":56,"context_line":"{{- else }}"},{"line_number":57,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":58,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3fce034c_405570c5","line":55,"in_reply_to":"3fce034c_0a37d3b2","updated":"2019-04-17 07:18:16.000000000","message":"yes, absolutely. will be removed.","commit_id":"8a648c56356b0d83148e885c77389676415feff9"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"4ac5aca2f96275f523956b9a9b09421425162ab1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"      containers:"},{"line_number":80,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":81,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":82,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd_dpdk\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":83,"context_line":"{{- else }}"},{"line_number":84,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":85,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3fce034c_ea45a718","line":82,"updated":"2019-04-12 14:21:21.000000000","message":"separate tag definition is not needed as same image can support both dpdk and non-dpdk mode.","commit_id":"8a648c56356b0d83148e885c77389676415feff9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"0f1b8f1208d7c79ac2123887b787a9a9dcc8e50a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"      containers:"},{"line_number":80,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":81,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":82,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd_dpdk\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":83,"context_line":"{{- else }}"},{"line_number":84,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":85,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3fce034c_6050acd5","line":82,"in_reply_to":"3fce034c_ea45a718","updated":"2019-04-17 07:18:16.000000000","message":"yes, absolutely. will be removed.","commit_id":"8a648c56356b0d83148e885c77389676415feff9"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"535721d3e97b82db8693d3eaad3ca3f046d84e80","unresolved":false,"context_lines":[{"line_number":164,"context_line":"          hostPath:"},{"line_number":165,"context_line":"            path: /lib/modules"},{"line_number":166,"context_line":"            type: Directory"},{"line_number":167,"context_line":"        - name: hugepage"},{"line_number":168,"context_line":"          emptyDir:"},{"line_number":169,"context_line":"            medium: HugePages"},{"line_number":170,"context_line":"{{- end }}"},{"line_number":171,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ffb9cba7_40b3124e","line":169,"range":{"start_line":167,"start_character":10,"end_line":169,"end_character":29},"updated":"2019-04-27 00:01:58.000000000","message":"seems this volume is not mounted by any container","commit_id":"8bf194048743c7112bfc17462d68b63bd9203892"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"fa0320c61404829aed2c54d79bfcacc07b1d4822","unresolved":false,"context_lines":[{"line_number":164,"context_line":"          hostPath:"},{"line_number":165,"context_line":"            path: /lib/modules"},{"line_number":166,"context_line":"            type: Directory"},{"line_number":167,"context_line":"        - name: hugepage"},{"line_number":168,"context_line":"          emptyDir:"},{"line_number":169,"context_line":"            medium: HugePages"},{"line_number":170,"context_line":"{{- end }}"},{"line_number":171,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ffb9cba7_0520b39a","line":169,"range":{"start_line":167,"start_character":10,"end_line":169,"end_character":29},"in_reply_to":"ffb9cba7_2b54b6fe","updated":"2019-04-29 14:09:23.000000000","message":"correct https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/","commit_id":"8bf194048743c7112bfc17462d68b63bd9203892"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c49346368ac8b7dc80ea15cb00bb7dbfe987176e","unresolved":false,"context_lines":[{"line_number":164,"context_line":"          hostPath:"},{"line_number":165,"context_line":"            path: /lib/modules"},{"line_number":166,"context_line":"            type: Directory"},{"line_number":167,"context_line":"        - name: hugepage"},{"line_number":168,"context_line":"          emptyDir:"},{"line_number":169,"context_line":"            medium: HugePages"},{"line_number":170,"context_line":"{{- end }}"},{"line_number":171,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ffb9cba7_2b54b6fe","line":169,"range":{"start_line":167,"start_character":10,"end_line":169,"end_character":29},"in_reply_to":"ffb9cba7_40b3124e","updated":"2019-04-28 17:05:14.000000000","message":"right. This should be used instead of the volume \"huge-pages\" defined in line 155 as this also seems to eliminates the need for explicitely mounting hugepages in the host OS - and hence the entire hugepages_mountpath parameter in values.yaml. I\u0027ll remove the \"huge-page\" volume accordingly.","commit_id":"8bf194048743c7112bfc17462d68b63bd9203892"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"c9c0d0c5a516b970636f369faef2c86cb59c1088","unresolved":false,"context_lines":[{"line_number":113,"context_line":"              mountPath: /run"},{"line_number":114,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":115,"context_line":"            - name: hugepages"},{"line_number":116,"context_line":"              mountPath: /dev/hugepages"},{"line_number":117,"context_line":"            - name: pci-devices"},{"line_number":118,"context_line":"              mountPath: /sys/bus/pci/devices"},{"line_number":119,"context_line":"            - name: huge-pages-kernel"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"ffb9cba7_709b6465","line":116,"range":{"start_line":116,"start_character":14,"end_line":116,"end_character":39},"updated":"2019-04-30 08:58:40.000000000","message":"Will this be hided by the mount \u0027/dev\u0027 below.","commit_id":"2cae4be2341a9856c3454cdb4232cb4ada4ce66a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"a8e325fe2a70b452a5af4f0eb10791f835158733","unresolved":false,"context_lines":[{"line_number":113,"context_line":"              mountPath: /run"},{"line_number":114,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":115,"context_line":"            - name: hugepages"},{"line_number":116,"context_line":"              mountPath: /dev/hugepages"},{"line_number":117,"context_line":"            - name: pci-devices"},{"line_number":118,"context_line":"              mountPath: /sys/bus/pci/devices"},{"line_number":119,"context_line":"            - name: huge-pages-kernel"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"ffb9cba7_80e323d9","line":116,"range":{"start_line":116,"start_character":14,"end_line":116,"end_character":39},"in_reply_to":"ffb9cba7_709b6465","updated":"2019-04-30 14:00:02.000000000","message":"good question. I didn\u0027t run into problems when testing this, but it might be better to change this to /mnt/hugepages to avoid conflicts.","commit_id":"2cae4be2341a9856c3454cdb4232cb4ada4ce66a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"4a1814ac71e896ab8a7e36757aa879af4a40d8d2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":75,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":76,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":77,"context_line":"{{- end }}"},{"line_number":78,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"},{"line_number":79,"context_line":"          # ensures this container can speak to the ovs database"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"dfbec78f_32906895","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":59},"updated":"2019-05-15 23:54:09.000000000","message":"I kept this default enabling of resource handling in case of DPDK. I also would like to add a check if either hugepages-1G or hugepages-2M are set and if not, set a resonable default. However, helm doesn\u0027t like the dash in hugepages-1G/-2M.","commit_id":"de43784687d4fd90e6f73a6b4eba26adeec0283d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"0cb0a50584b426fc3bdcfac04af8c0ab976917c7","unresolved":false,"context_lines":[{"line_number":68,"context_line":"      containers:"},{"line_number":69,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":70,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":71,"context_line":"{{- $_ :\u003d set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd \"privileged\" true -}}"},{"line_number":72,"context_line":"{{- end }}"},{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_ad80c5c0","line":71,"range":{"start_line":71,"start_character":91,"end_line":71,"end_character":101},"updated":"2019-05-24 13:39:53.000000000","message":"where does the need for this come from, a comment would be very useful.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"a129d5c471f8c079833679fc8bc5013df79fb04b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"      containers:"},{"line_number":69,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":70,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":71,"context_line":"{{- $_ :\u003d set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd \"privileged\" true -}}"},{"line_number":72,"context_line":"{{- end }}"},{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_5b544aff","line":71,"range":{"start_line":71,"start_character":91,"end_line":71,"end_character":101},"in_reply_to":"bfb3d3c7_ad80c5c0","updated":"2019-05-27 11:49:03.000000000","message":"It depends a bit on the DPDK driver used. In case of uio_pci_generic, root permissions are needed to perform the memory mapping between physical and virtual memory. If the vfio-pci driver is used with IOMMU, then it should be possible to run without priviledges (need to verify). I opted for a simplified handling of this by enabling privilidged mode for DPDK in general.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"0cb0a50584b426fc3bdcfac04af8c0ab976917c7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":75,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":76,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":77,"context_line":"{{- end }}"},{"line_number":78,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"},{"line_number":79,"context_line":"          # ensures this container can speak to the ovs database"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_2d74d5fd","line":76,"range":{"start_line":76,"start_character":43,"end_line":76,"end_character":50},"updated":"2019-05-24 13:39:53.000000000","message":"where does the need for this come from (hugepages?), a comment would be very useful. Some deployments are currently running with the hugepage cgroups disabled atm - will this cater to them?","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"a129d5c471f8c079833679fc8bc5013df79fb04b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":75,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":76,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":77,"context_line":"{{- end }}"},{"line_number":78,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"},{"line_number":79,"context_line":"          # ensures this container can speak to the ovs database"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_fb541e00","line":76,"range":{"start_line":76,"start_character":43,"end_line":76,"end_character":50},"in_reply_to":"bfb3d3c7_2d74d5fd","updated":"2019-05-27 11:49:03.000000000","message":"Yes, this is due to the need to specify the hugepage limits to K8s. If disabled hugepage cgroups have an impact, I honestly don\u0027t know currently. What is the reason for disabling the cgroup?","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"cbbb74f41e00122ee1b707a1fb8d272f7f05156c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":74,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":75,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":76,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":77,"context_line":"{{- end }}"},{"line_number":78,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"},{"line_number":79,"context_line":"          # ensures this container can speak to the ovs database"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_7bc7ce65","line":76,"range":{"start_line":76,"start_character":43,"end_line":76,"end_character":50},"in_reply_to":"bfb3d3c7_fb541e00","updated":"2019-05-27 12:08:22.000000000","message":"k8s hugepages feature currently doesn\u0027t support multi hugepage sizes. If we allocate hugepages of multiple sizes, k8s node will keep being \u0027notready\u0027 status. If we do need hugepages of multiple sizes on the host, we can disable the hugepages feature so that the k8s node can get into \u0027ready\u0027 status.\n\nIt means that we don\u0027t support creating both 2M hugepage VM and 1G hugepage VM on a single host. As we discussed, this patch is the first step for ovs-dpdk. We will cover more cases in the next steps. multiple hugepage sizes support, cpu pin, etd.","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"6ecaa815672f8860702330f8b8a9ae83c840260d","unresolved":false,"context_lines":[{"line_number":165,"context_line":"          hostPath:"},{"line_number":166,"context_line":"            path: /lib/modules"},{"line_number":167,"context_line":"            type: Directory"},{"line_number":168,"context_line":"        - name: hugepages"},{"line_number":169,"context_line":"          hostPath:"},{"line_number":170,"context_line":"            path: {{ .Values.conf.dpdk.hugepages_mountpath | quote }}"},{"line_number":171,"context_line":"            type: Directory"},{"line_number":172,"context_line":"{{- end }}"},{"line_number":173,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9fb8cfa7_c0e7ffab","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":27},"updated":"2019-06-10 02:45:58.000000000","message":"Seems we are choosing a different way from the kubernetes guide[1]. I have tried this way, it works. But I prefer the kubernetes official approach. Because in that way I don\u0027t have to considering the host hugepage mount path, which makes the CI easier :)\n\n[1] https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/","commit_id":"95e21413379c80261e1af06fe3d8e6cc390aa6d9"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"0493a71b3ead814b7d80590830c58853ca909089","unresolved":false,"context_lines":[{"line_number":165,"context_line":"          hostPath:"},{"line_number":166,"context_line":"            path: /lib/modules"},{"line_number":167,"context_line":"            type: Directory"},{"line_number":168,"context_line":"        - name: hugepages"},{"line_number":169,"context_line":"          hostPath:"},{"line_number":170,"context_line":"            path: {{ .Values.conf.dpdk.hugepages_mountpath | quote }}"},{"line_number":171,"context_line":"            type: Directory"},{"line_number":172,"context_line":"{{- end }}"},{"line_number":173,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9fb8cfa7_280ca33f","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":27},"in_reply_to":"9fb8cfa7_88bd8fd9","updated":"2019-06-11 13:53:21.000000000","message":"I believe that the case which uses both sizes hugepages exists.\nBut unfortunately the kubernetes doesn\u0027t support it at this time. I had ever discussed this feature with a kubernetes community guy. I haven\u0027t heard good news from him yet. Not sure how kubernetes will support multiple hugepages sizes. I guess there could be some thing like below lines(for backward-compatibility):\n\n```\n  - name: hugepages-1Gi\n    emptyDir:\n      medium: HugePages-1Gi\n```\n\nSo I suppose that the kubernetes guide approach would be OK.\n\nBut this is not a big deal. Either way is not bad.","commit_id":"95e21413379c80261e1af06fe3d8e6cc390aa6d9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c44bdc21866fedaa4e48024792a90eea8df6eafd","unresolved":false,"context_lines":[{"line_number":165,"context_line":"          hostPath:"},{"line_number":166,"context_line":"            path: /lib/modules"},{"line_number":167,"context_line":"            type: Directory"},{"line_number":168,"context_line":"        - name: hugepages"},{"line_number":169,"context_line":"          hostPath:"},{"line_number":170,"context_line":"            path: {{ .Values.conf.dpdk.hugepages_mountpath | quote }}"},{"line_number":171,"context_line":"            type: Directory"},{"line_number":172,"context_line":"{{- end }}"},{"line_number":173,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9fb8cfa7_88bd8fd9","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":27},"in_reply_to":"9fb8cfa7_c0e7ffab","updated":"2019-06-11 13:33:53.000000000","message":"Valid point. It assumes that kubernetes is clever enough to find the right hugepage directory. Is there a usecase for having both 2Mi and 1Gi hugepages available on a system, for instance for different applications: e.g., 2Mi for a database and 1Gi for VMs and DPDK? In this case, specifying the hugepages directlty would be useful.","commit_id":"95e21413379c80261e1af06fe3d8e6cc390aa6d9"},{"author":{"_account_id":30232,"name":"Prabhjot Singh Sethi","email":"prabhjot@atsgen.com","username":"psethi-ats"},"change_message_id":"faf58ea7ea739555b24f965562733edb8bf27125","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            - mountPath: /lib/modules"},{"line_number":128,"context_line":"              name: modules"},{"line_number":129,"context_line":"            - mountPath: /dev"},{"line_number":130,"context_line":"              name: devs"},{"line_number":131,"context_line":"{{- end }}"},{"line_number":132,"context_line":"      volumes:"},{"line_number":133,"context_line":"        - name: pod-tmp"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"9fb8cfa7_67ca53a2","line":130,"updated":"2019-06-18 11:36:46.000000000","message":"there seems to be a need for /sys/bus/pci/drivers in container to be able to use vfio-pci driver, Om has added this change in patch set 27, which your patch set has overridden. https://review.opendev.org/#/c/626894/27..28/openvswitch/templates/daemonset-ovs-vswitchd.yaml@130","commit_id":"cd0e504f8c73076bf0a9b4ca98e0f21daf48c963"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"f94c1ca474da94e587e3240add7d71056684412e","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            - mountPath: /lib/modules"},{"line_number":128,"context_line":"              name: modules"},{"line_number":129,"context_line":"            - mountPath: /dev"},{"line_number":130,"context_line":"              name: devs"},{"line_number":131,"context_line":"{{- end }}"},{"line_number":132,"context_line":"      volumes:"},{"line_number":133,"context_line":"        - name: pod-tmp"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"9fb8cfa7_87ae6796","line":130,"in_reply_to":"9fb8cfa7_67ca53a2","updated":"2019-06-18 11:49:05.000000000","message":"oh, I am sorry for this. Will fix","commit_id":"cd0e504f8c73076bf0a9b4ca98e0f21daf48c963"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"93f72bd907e197d0a9797620c2a43053097cf389","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      containers:"},{"line_number":70,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":71,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":72,"context_line":"{{/* Run the container in priviledged mode due to the need for root"},{"line_number":73,"context_line":"permissions when using the uio_pci_generic driver. */}}"},{"line_number":74,"context_line":"{{- $_ :\u003d set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd \"privileged\" true -}}"},{"line_number":75,"context_line":"{{- end }}"},{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"9fb8cfa7_c204761a","line":73,"range":{"start_line":72,"start_character":5,"end_line":73,"end_character":50},"updated":"2019-07-02 04:42:09.000000000","message":"is this required? or can we use a less permissive privilege set?","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"cbd26b581388e6e173717fb23d956190c9815d79","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      containers:"},{"line_number":70,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":71,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":72,"context_line":"{{/* Run the container in priviledged mode due to the need for root"},{"line_number":73,"context_line":"permissions when using the uio_pci_generic driver. */}}"},{"line_number":74,"context_line":"{{- $_ :\u003d set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd \"privileged\" true -}}"},{"line_number":75,"context_line":"{{- end }}"},{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"9fb8cfa7_edf3a19e","line":73,"range":{"start_line":72,"start_character":5,"end_line":73,"end_character":50},"in_reply_to":"9fb8cfa7_c204761a","updated":"2019-07-03 07:40:42.000000000","message":"It depends on the DPDK driver. When using the uio_pci_generic driver, root permissions are needed. When using the vfio-pci driver, user permissions might be sufficient. I cannot test this currently since the vfio-pci does not work in my virtualized environment.\n\nSo, if this is the case (vfio-pci working with user permissions), we could add this as a conditional to the chart. However, again, I cannot test it right now, unfortunately.","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"fdb009aa75c5b3ff2064b489898b10696bfdf269","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      containers:"},{"line_number":70,"context_line":"        - name: openvswitch-vswitchd"},{"line_number":71,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":72,"context_line":"{{/* Run the container in priviledged mode due to the need for root"},{"line_number":73,"context_line":"permissions when using the uio_pci_generic driver. */}}"},{"line_number":74,"context_line":"{{- $_ :\u003d set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd \"privileged\" true -}}"},{"line_number":75,"context_line":"{{- end }}"},{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_1a98ad68","line":73,"range":{"start_line":72,"start_character":5,"end_line":73,"end_character":50},"in_reply_to":"9fb8cfa7_edf3a19e","updated":"2019-07-03 20:36:22.000000000","message":"great - thanks","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"93f72bd907e197d0a9797620c2a43053097cf389","unresolved":false,"context_lines":[{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":77,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":78,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":79,"context_line":"{{/* When running with DPDK, we need to specify the type and amount of hugepages."},{"line_number":80,"context_line":"The following line enables resource handling in general, but the type and amount"},{"line_number":81,"context_line":"of hugepages must still be defined in the values.yaml.*/}}"},{"line_number":82,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":83,"context_line":"{{- end }}"},{"line_number":84,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"9fb8cfa7_96031f0d","line":81,"range":{"start_line":79,"start_character":5,"end_line":81,"end_character":54},"updated":"2019-07-02 04:42:09.000000000","message":"if not breaking out of k8s managed cgroups, what is the effect of restarting the pods on nodes to flows?","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"74e332edd631bfcdf54756901c6103408ca6e7ca","unresolved":false,"context_lines":[{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":77,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":78,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":79,"context_line":"{{/* When running with DPDK, we need to specify the type and amount of hugepages."},{"line_number":80,"context_line":"The following line enables resource handling in general, but the type and amount"},{"line_number":81,"context_line":"of hugepages must still be defined in the values.yaml.*/}}"},{"line_number":82,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":83,"context_line":"{{- end }}"},{"line_number":84,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_52eb61af","line":81,"range":{"start_line":79,"start_character":5,"end_line":81,"end_character":54},"in_reply_to":"7faddb67_7a93e150","updated":"2019-07-04 10:43:22.000000000","message":"Pete, do you mean this libvirt patch[1] in which you broke out the hugepage cgroup?\nHow will this help prevent temporarily traffic broken during ovs restart?\n\n[1] https://review.opendev.org/#/c/628314/","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"fdb009aa75c5b3ff2064b489898b10696bfdf269","unresolved":false,"context_lines":[{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":77,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":78,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":79,"context_line":"{{/* When running with DPDK, we need to specify the type and amount of hugepages."},{"line_number":80,"context_line":"The following line enables resource handling in general, but the type and amount"},{"line_number":81,"context_line":"of hugepages must still be defined in the values.yaml.*/}}"},{"line_number":82,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":83,"context_line":"{{- end }}"},{"line_number":84,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"7faddb67_7a93e150","line":81,"range":{"start_line":79,"start_character":5,"end_line":81,"end_character":54},"in_reply_to":"9fb8cfa7_6d91f146","updated":"2019-07-03 20:36:22.000000000","message":"we will need to use the same method as libvirt then most likely - its not acceptible for us to drop traffic on reconfiguring.","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"cbd26b581388e6e173717fb23d956190c9815d79","unresolved":false,"context_lines":[{"line_number":76,"context_line":"{{ tuple $envAll \"openvswitch_vswitchd\" | include \"helm-toolkit.snippets.image\" | indent 10 }}"},{"line_number":77,"context_line":"{{ dict \"envAll\" $envAll \"application\" \"openvswitch_vswitchd\" \"container\" \"vswitchd\" | include \"helm-toolkit.snippets.kubernetes_container_security_context\" | indent 10 }}"},{"line_number":78,"context_line":"{{- if .Values.conf.dpdk.enabled }}"},{"line_number":79,"context_line":"{{/* When running with DPDK, we need to specify the type and amount of hugepages."},{"line_number":80,"context_line":"The following line enables resource handling in general, but the type and amount"},{"line_number":81,"context_line":"of hugepages must still be defined in the values.yaml.*/}}"},{"line_number":82,"context_line":"{{ $_ :\u003d set $envAll.Values.pod.resources \"enabled\" true }}"},{"line_number":83,"context_line":"{{- end }}"},{"line_number":84,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 10 }}"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"9fb8cfa7_6d91f146","line":81,"range":{"start_line":79,"start_character":5,"end_line":81,"end_character":54},"in_reply_to":"9fb8cfa7_96031f0d","updated":"2019-07-03 07:40:42.000000000","message":"So, a quick restart of an OVS-DPDK pod running in a AIAB multinode deployment shows that the OVS agent detects the OVS restart and recovers the flows. Connectivity between two pinging VMs is temporarily lost during termination and restart of OVS, but recovers automatically.","commit_id":"ff7822853b491bb9d353b8b512d51da385eab4de"}],"openvswitch/values.yaml":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"3383c97aea884e0d37df919e8c6e301511f47989","unresolved":false,"context_lines":[{"line_number":52,"context_line":"          min_ready_seconds: 0"},{"line_number":53,"context_line":"          max_unavailable: 1"},{"line_number":54,"context_line":"  resources:"},{"line_number":55,"context_line":"    enabled: true"},{"line_number":56,"context_line":"    ovs:"},{"line_number":57,"context_line":"      db:"},{"line_number":58,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bfdaf3ff_29edfeee","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":17},"updated":"2019-01-14 00:15:01.000000000","message":"why change the default here?","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"76b330c0b9b6415c48b3f068104830c7f40a8d3e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"          min_ready_seconds: 0"},{"line_number":53,"context_line":"          max_unavailable: 1"},{"line_number":54,"context_line":"  resources:"},{"line_number":55,"context_line":"    enabled: true"},{"line_number":56,"context_line":"    ovs:"},{"line_number":57,"context_line":"      db:"},{"line_number":58,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bfdaf3ff_18c5de3c","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":17},"in_reply_to":"bfdaf3ff_29edfeee","updated":"2019-01-14 08:49:34.000000000","message":"Right, that one was accidently included in the patch. It is needed in case of DPDK though to enable hugepages. I\u0027ll change it back to false, but it needs to be documented (todo).","commit_id":"2c58ce59dfe97ab806c9f2b5ff787eca37ab47ef"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"78c74daae2b19f40252ea6ba532b327708388258","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":26,"context_line":"    openvswitch_vswitchd_dpdk: kolla/ubuntu-source-ovsdpdk-vswitchd:7.0.0"},{"line_number":27,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":28,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":29,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_fc005404","line":26,"range":{"start_line":26,"start_character":68,"end_line":26,"end_character":73},"updated":"2019-02-01 14:34:30.000000000","message":"please note that this tag is not pullable from the public repo, but it is a local build tag. I\u0027ll fix this in the patchset.","commit_id":"69fe989ae77b3f1fddd9367c22323793d3efc0ce"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bdba2f4bd37e70b5bddd8a03df2f4faff992dd39","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":26,"context_line":"    openvswitch_vswitchd_dpdk: kolla/ubuntu-source-ovsdpdk-vswitchd:rocky"},{"line_number":27,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":28,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":29,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5fc1f717_948b4566","line":26,"range":{"start_line":26,"start_character":31,"end_line":26,"end_character":73},"updated":"2019-03-15 06:07:29.000000000","message":"I didn\u0027t full understand the part about ovs-dpdk image in your commit msg. You mean this kolla image has problem, and you used your local built image in your test?","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"8a0857a05663121a7501eee304e16b1668c617d7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:v2.8.1"},{"line_number":26,"context_line":"    openvswitch_vswitchd_dpdk: kolla/ubuntu-source-ovsdpdk-vswitchd:rocky"},{"line_number":27,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":28,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":29,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5fc1f717_49421bad","line":26,"range":{"start_line":26,"start_character":31,"end_line":26,"end_character":73},"in_reply_to":"5fc1f717_948b4566","updated":"2019-03-18 08:42:55.000000000","message":"yes, this is still an open item for investigation. I have been using this kolla image for testing purposes, but there is something going wrong in terms of memory allocation when adding a DPDK NIC to OVS. Instead, I have manually built the same image from scratch following the kolla docs (and pushed it here [1]). This image works fine in my environment. It would be great if somebody could verify this behavior on another system.\n\n[1] https://hub.docker.com/r/gkunz/kolla-ovs-dpdk","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bdba2f4bd37e70b5bddd8a03df2f4faff992dd39","unresolved":false,"context_lines":[{"line_number":132,"context_line":"conf:"},{"line_number":133,"context_line":"  dpdk:"},{"line_number":134,"context_line":"    enabled: false"},{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5fc1f717_14f515ed","line":135,"range":{"start_line":135,"start_character":25,"end_line":135,"end_character":39},"updated":"2019-03-15 06:07:29.000000000","message":"I don\u0027t see where you mount hugetlbfs, so we assume hugetlbfs is already mounted on the host, right?","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"8a0857a05663121a7501eee304e16b1668c617d7","unresolved":false,"context_lines":[{"line_number":132,"context_line":"conf:"},{"line_number":133,"context_line":"  dpdk:"},{"line_number":134,"context_line":"    enabled: false"},{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5fc1f717_e908a792","line":135,"range":{"start_line":135,"start_character":25,"end_line":135,"end_character":39},"in_reply_to":"5fc1f717_14f515ed","updated":"2019-03-18 08:42:55.000000000","message":"Yes, this chart assumes that hugepages have already been mounted by some means. On Ubuntu, a systemd script automatically mounts hugepages at /dev/hugepages. Because of this, I chose this as default. In a context like Airship, mounting would be done by means of divingbell, for instance.","commit_id":"26e063d93549fdda44271c1cbcf4f4602d8c3d3e"},{"author":{"_account_id":28025,"name":"Randeep Jalli","email":"rj2083@att.com","username":"randeep.jalli"},"change_message_id":"d347bdc26b2bcc2625fcb199736c09df2c456a4c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"  dpdk:"},{"line_number":134,"context_line":"    enabled: false"},{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"},{"line_number":139,"context_line":"    # mem_channels: 4"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5fc1f717_0c62dcae","line":136,"updated":"2019-03-28 17:40:44.000000000","message":"should  have an option to set the socket memory by numa","commit_id":"fd2c28f2e2e9d3e58ddb74d93202c7f0166764e9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"6ff43211a54175890ac26b4303ce974e344c5103","unresolved":false,"context_lines":[{"line_number":133,"context_line":"  dpdk:"},{"line_number":134,"context_line":"    enabled: false"},{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"},{"line_number":139,"context_line":"    # mem_channels: 4"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5fc1f717_55afce7c","line":136,"in_reply_to":"5fc1f717_0c62dcae","updated":"2019-04-01 08:05:13.000000000","message":"do you mean something like \u00271024,1024\u0027 to set 1024 MB per NUMA socket according to [1]? For the time being, I was assuming that this could be set right here using the syntax used in OVS and this value is fed as is to OVS [2]. Is there anything I missed in this context?\n\n[1] http://docs.openvswitch.org/en/latest/intro/install/dpdk/#setup-ovs\n\n[2] https://review.openstack.org/#/c/626894/14/openvswitch/templates/bin/_openvswitch-vswitchd.sh.tpl","commit_id":"fd2c28f2e2e9d3e58ddb74d93202c7f0166764e9"},{"author":{"_account_id":28025,"name":"Randeep Jalli","email":"rj2083@att.com","username":"randeep.jalli"},"change_message_id":"d347bdc26b2bcc2625fcb199736c09df2c456a4c","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"},{"line_number":139,"context_line":"    # mem_channels: 4"},{"line_number":140,"context_line":"    # lcore_mask: 0x1"},{"line_number":141,"context_line":"    # pmd_cpu_mask: 0x4"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5fc1f717_cc3e148a","line":138,"updated":"2019-03-28 17:40:44.000000000","message":"you may wanna also have an option in here for numa, so the hugepages you\u0027re, in some setups it may be advantageous to have them come from one numa or the other. \nhttp://docs.openvswitch.org/en/latest/intro/install/dpdk/#advanced-hugepage-setup","commit_id":"fd2c28f2e2e9d3e58ddb74d93202c7f0166764e9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"6ff43211a54175890ac26b4303ce974e344c5103","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    hugepages_mountpath: /dev/hugepages"},{"line_number":136,"context_line":"    socket_memory: 1024"},{"line_number":137,"context_line":"    # optional parameters for tuning the OVS config"},{"line_number":138,"context_line":"    # in alignment with the available hardware resources"},{"line_number":139,"context_line":"    # mem_channels: 4"},{"line_number":140,"context_line":"    # lcore_mask: 0x1"},{"line_number":141,"context_line":"    # pmd_cpu_mask: 0x4"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5fc1f717_d51e5eba","line":138,"in_reply_to":"5fc1f717_cc3e148a","updated":"2019-04-01 08:05:13.000000000","message":"Are you referring to the configuration of the hugepages themselves? My working assumption for this chart was that hugepages have been pre-configured in some way, e.g., the chart itself does not enable hugepages.","commit_id":"fd2c28f2e2e9d3e58ddb74d93202c7f0166764e9"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"1633134b467ffbbc32f33fb52bf3e491526f2b94","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        limits:"},{"line_number":75,"context_line":"          memory: \"1024Mi\""},{"line_number":76,"context_line":"          cpu: \"1000m\""},{"line_number":77,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":78,"context_line":"    jobs:"},{"line_number":79,"context_line":"      image_repo_sync:"},{"line_number":80,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ffb9cba7_a3a54306","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":30},"updated":"2019-04-26 14:28:55.000000000","message":"This is just the default value right? The user that deploys this chart can modify this, or? Some hosts (e.g. edge) cannot afford using 1G size hugepages","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3fa4e85312a4914e89f8b7a2e27ed2a59ce84b21","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        limits:"},{"line_number":75,"context_line":"          memory: \"1024Mi\""},{"line_number":76,"context_line":"          cpu: \"1000m\""},{"line_number":77,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":78,"context_line":"    jobs:"},{"line_number":79,"context_line":"      image_repo_sync:"},{"line_number":80,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ffb9cba7_92e2ab9f","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":30},"in_reply_to":"ffb9cba7_72ccf360","updated":"2019-04-29 14:00:06.000000000","message":"ok, thanks","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"c49346368ac8b7dc80ea15cb00bb7dbfe987176e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        limits:"},{"line_number":75,"context_line":"          memory: \"1024Mi\""},{"line_number":76,"context_line":"          cpu: \"1000m\""},{"line_number":77,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":78,"context_line":"    jobs:"},{"line_number":79,"context_line":"      image_repo_sync:"},{"line_number":80,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ffb9cba7_72ccf360","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":30},"in_reply_to":"ffb9cba7_a3a54306","updated":"2019-04-28 17:05:14.000000000","message":"For sure, this is a configuration parameter which needs to be adapted to the overall setup and the hardware capabilities. Typical configuration considerations are: number of VMs which should be run on a host, does the host support 2M or 1G hugepages. Similarly, the CPU limits depends on how many CPU cores get allocated to OVS, which again depends on the overall setup. Should be documented.","commit_id":"6c4e7bb306268898059cada2dc4f0537a521c3e8"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"c9c0d0c5a516b970636f369faef2c86cb59c1088","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"ffb9cba7_70ada499","line":104,"range":{"start_line":104,"start_character":10,"end_line":104,"end_character":30},"updated":"2019-04-30 08:58:40.000000000","message":"I think we need to remove this default line, because if user specifies 2M hugepages. The result values will be like following. kuberntes doesn\u0027t accept both 2Mi and 1Gi hugepages, this will result in pod failure.\n\n```\nvswitchd_dpdk:\n  limits:\n    hugepages-2Mi: \"1Gi\"\n    hugepages-1Gi: \"1Gi\"\n```","commit_id":"2cae4be2341a9856c3454cdb4232cb4ada4ce66a"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"2b26ad1f782234a26012f25befa3796b1caa4762","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"ffb9cba7_eac2f558","line":104,"range":{"start_line":104,"start_character":10,"end_line":104,"end_character":30},"in_reply_to":"ffb9cba7_00cad34c","updated":"2019-05-13 01:41:55.000000000","message":"This is different with normal default we use at other places. Because they are two variables, kubernetes doesn\u0027t allow both of these variables existing.\nLet\u0027s say one user wants to use 2M hugepages, so he needs to specify 2M hugepages.\n```\nvswitchd_dpdk:\n  limits:\n    hugepages-2Mi: \"1Gi\"\n```\n\nAs we have default hugepages-1Gi, the result will be like following after merged.\n```\nvswitchd_dpdk:\n  limits:\n    hugepages-2Mi: \"1Gi\"\n    hugepages-1Gi: \"1Gi\"\n```\nKubernetes does\u0027t allow both hugepage sizes.","commit_id":"2cae4be2341a9856c3454cdb4232cb4ada4ce66a"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"a8e325fe2a70b452a5af4f0eb10791f835158733","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"ffb9cba7_00cad34c","line":104,"range":{"start_line":104,"start_character":10,"end_line":104,"end_character":30},"in_reply_to":"ffb9cba7_70ada499","updated":"2019-04-30 14:00:02.000000000","message":"I believe this entire section needs to be modified according to the setup and hardware capabilities. As Manuel already pointed out, documentation of this is missing. Could we keep this as a default which needs to be checked and changed?","commit_id":"2cae4be2341a9856c3454cdb4232cb4ada4ce66a"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"2b26ad1f782234a26012f25befa3796b1caa4762","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        limits:"},{"line_number":95,"context_line":"          memory: \"1024Mi\""},{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"      vswitchd_dpdk:"},{"line_number":98,"context_line":"        requests:"},{"line_number":99,"context_line":"          memory: \"1024Mi\""},{"line_number":100,"context_line":"          cpu: \"1000m\""},{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"dfbec78f_619c086a","line":104,"range":{"start_line":97,"start_character":6,"end_line":104,"end_character":30},"updated":"2019-05-13 01:41:55.000000000","message":"Georg, I would suggest to remove the default \u0027hugepages-1Gi\u0027, as it blocks using 2Mi hugepages. On the other side, if we remove the default hugepages-1Gi, we can reuse the vswitchd dict instead of adding this new vswitchd_dpdk dict.","commit_id":"3d320830caeb25db0ecf87a5441d0d06f0b07f01"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"428cb41987afb7f0aa0e4e0c54477e3d7362926c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        limits:"},{"line_number":95,"context_line":"          memory: \"1024Mi\""},{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"      vswitchd_dpdk:"},{"line_number":98,"context_line":"        requests:"},{"line_number":99,"context_line":"          memory: \"1024Mi\""},{"line_number":100,"context_line":"          cpu: \"1000m\""},{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"dfbec78f_128a0469","line":104,"range":{"start_line":97,"start_character":6,"end_line":104,"end_character":30},"in_reply_to":"dfbec78f_5362f9af","updated":"2019-05-15 23:50:30.000000000","message":"Done","commit_id":"3d320830caeb25db0ecf87a5441d0d06f0b07f01"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"f9a28cd5166fbc4a8b3ab7acd7f0c537995b03e4","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        limits:"},{"line_number":95,"context_line":"          memory: \"1024Mi\""},{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"      vswitchd_dpdk:"},{"line_number":98,"context_line":"        requests:"},{"line_number":99,"context_line":"          memory: \"1024Mi\""},{"line_number":100,"context_line":"          cpu: \"1000m\""},{"line_number":101,"context_line":"        limits:"},{"line_number":102,"context_line":"          memory: \"1024Mi\""},{"line_number":103,"context_line":"          cpu: \"1000m\""},{"line_number":104,"context_line":"          hugepages-1Gi: \"1Gi\""},{"line_number":105,"context_line":"    jobs:"},{"line_number":106,"context_line":"      image_repo_sync:"},{"line_number":107,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"dfbec78f_5362f9af","line":104,"range":{"start_line":97,"start_character":6,"end_line":104,"end_character":30},"in_reply_to":"dfbec78f_619c086a","updated":"2019-05-13 07:29:21.000000000","message":"ok, right. I didn\u0027t consider that overwrites get merged and not replaced.","commit_id":"3d320830caeb25db0ecf87a5441d0d06f0b07f01"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"39350fa260f0109f6371ecb0939b1c28499df6e8","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_bbde9cd7","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":75},"updated":"2019-05-28 08:30:10.000000000","message":"Seems the patch which builds dpdk-enabled ovs image was reverted.[1]\n\n[1] https://github.com/openstack/openstack-helm-images/commit/bcb124acc17a21516240313659e9034ab61a276f","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"9db075fb2785d8388c882dbb467efc6afb2451f0","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_5e4e6e6f","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":75},"in_reply_to":"bfb3d3c7_bb7a1cb7","updated":"2019-05-28 08:45:41.000000000","message":"Then I guess that we will need to revert this image tag change, right?\nFor dpdk enabled deployment, the user overrides these two tags with tag \u0027latest-debian-dpdk\u0027?","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"ab5b37be1af857c8a1636edb5f34ab03f50266c5","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-debian"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bfb3d3c7_bb7a1cb7","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":75},"in_reply_to":"bfb3d3c7_bbde9cd7","updated":"2019-05-28 08:35:47.000000000","message":"right, we need to urgently get https://review.opendev.org/#/c/659581/ merged. Only workflow is missing...","commit_id":"09dc64c294e19b170020b064ebfa4348dcfee7ce"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"a10784c4398a3057fa4fc1e6a52b44f0bd1db4b5","unresolved":false,"context_lines":[{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"          # set resources to enabled and specify one of the following when using dpdk"},{"line_number":98,"context_line":"          # hugepages-1Gi: \"1Gi\""},{"line_number":99,"context_line":"          # hugepages-2M: \"512Mi\""},{"line_number":100,"context_line":"    jobs:"},{"line_number":101,"context_line":"      image_repo_sync:"},{"line_number":102,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":25,"id":"bfb3d3c7_f152ac34","line":99,"range":{"start_line":99,"start_character":12,"end_line":99,"end_character":24},"updated":"2019-05-31 14:35:35.000000000","message":"This might bring to confusion. It\u0027s hugepages-2Mi and as we are not checking things in helm-toolkit anymore, it gets hard to find the bug ;)","commit_id":"000e345a396097028b09b558dfc1c8cd7ef38181"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"8b0a89c2e236480cf5b7a1910ee1e22a3819b0bd","unresolved":false,"context_lines":[{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"          # set resources to enabled and specify one of the following when using dpdk"},{"line_number":98,"context_line":"          # hugepages-1Gi: \"1Gi\""},{"line_number":99,"context_line":"          # hugepages-2M: \"512Mi\""},{"line_number":100,"context_line":"    jobs:"},{"line_number":101,"context_line":"      image_repo_sync:"},{"line_number":102,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":25,"id":"9fb8cfa7_73c6ab19","line":99,"range":{"start_line":99,"start_character":12,"end_line":99,"end_character":24},"in_reply_to":"9fb8cfa7_30d029ca","updated":"2019-06-01 07:46:39.000000000","message":"ah, sorry, Manuel for the typo. I have singled out the change in HTK in a separate patch now [1] because this change is needed for other charts as well, e.g. postgresql. We can continue the discussion if this is the right approach in that patchset. I have to admit that I don\u0027t see the value of the existing checks, but maybe I am missing something.\n\n[1] https://review.opendev.org/#/c/662603/","commit_id":"000e345a396097028b09b558dfc1c8cd7ef38181"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"8bfbf1aad2924e96b72a4787fb80b47d62864d1b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"          # set resources to enabled and specify one of the following when using dpdk"},{"line_number":98,"context_line":"          # hugepages-1Gi: \"1Gi\""},{"line_number":99,"context_line":"          # hugepages-2M: \"512Mi\""},{"line_number":100,"context_line":"    jobs:"},{"line_number":101,"context_line":"      image_repo_sync:"},{"line_number":102,"context_line":"        requests:"}],"source_content_type":"text/x-yaml","patch_set":25,"id":"9fb8cfa7_30d029ca","line":99,"range":{"start_line":99,"start_character":12,"end_line":99,"end_character":24},"in_reply_to":"bfb3d3c7_f152ac34","updated":"2019-06-01 03:11:05.000000000","message":"Even we had the original checking, we can\u0027t find this bug neither.\n\n```\n{{- if $component.limits.hugepages-2Mi }}\n    cpu: {{ $component.limits.hugepages-2Mi | quote }}\n{{- end }}\n```","commit_id":"000e345a396097028b09b558dfc1c8cd7ef38181"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"8ad98550754dfca7fd603ac74f0640ba3e7f35a0","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    # mem_channels: 4"},{"line_number":163,"context_line":"    # lcore_mask: 0x1"},{"line_number":164,"context_line":"    # pmd_cpu_mask: 0x4"},{"line_number":165,"context_line":"  software:"},{"line_number":166,"context_line":"    ovs:"},{"line_number":167,"context_line":"      binary: /usr/sbin/ovs-vswitchd"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9fb8cfa7_7736d305","line":167,"range":{"start_line":165,"start_character":0,"end_line":167,"end_character":36},"updated":"2019-06-28 07:05:05.000000000","message":"I think we can remove this configuration, as we have already built both dpdk-enabled and none-dpdk ovs images[1].\n\n[1] https://hub.docker.com/r/openstackhelm/openvswitch/tags","commit_id":"15f9f55a412ace634038a0c8834b58cd8b5580f9"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"814326ef64cc8ea62b2a610d57096554a810a7ae","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    # mem_channels: 4"},{"line_number":163,"context_line":"    # lcore_mask: 0x1"},{"line_number":164,"context_line":"    # pmd_cpu_mask: 0x4"},{"line_number":165,"context_line":"  software:"},{"line_number":166,"context_line":"    ovs:"},{"line_number":167,"context_line":"      binary: /usr/sbin/ovs-vswitchd"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9fb8cfa7_b26699ba","line":167,"range":{"start_line":165,"start_character":0,"end_line":167,"end_character":36},"in_reply_to":"9fb8cfa7_7736d305","updated":"2019-06-28 07:28:27.000000000","message":"Yes, absolutely. This will be removed with the next update.","commit_id":"15f9f55a412ace634038a0c8834b58cd8b5580f9"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"4a48036bc37e0052e2603f64bbf13116b01af0b9","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"7faddb67_8eae5896","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":82},"updated":"2019-07-09 12:43:45.000000000","message":"This changes the default for the deployers and should therefore be communicated using a release note (type: other).","commit_id":"afce306b1b8c08ebf82bf0cb9dfc63cf99f8c4e2"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"70618012406f15959f5886bba1e863f27179858c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"7faddb67_5a3c9abe","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":82},"in_reply_to":"7faddb67_8eae5896","updated":"2019-07-09 15:12:20.000000000","message":"Done","commit_id":"afce306b1b8c08ebf82bf0cb9dfc63cf99f8c4e2"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"e1fab65ae957e45113034a2b8ecda0ad29b1ebed","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"images:"},{"line_number":23,"context_line":"  tags:"},{"line_number":24,"context_line":"    openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":25,"context_line":"    openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"},{"line_number":26,"context_line":"    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  pull_policy: \"IfNotPresent\""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"7faddb67_29507ed4","line":25,"range":{"start_line":24,"start_character":4,"end_line":25,"end_character":82},"in_reply_to":"7faddb67_8eae5896","updated":"2019-07-09 13:24:49.000000000","message":"agreed. do we differentiate between openstack-helm-infra and openstack-helm? I am asking because there don\u0027t seem to be release notes for -infra as for the openstack-helm repo.","commit_id":"afce306b1b8c08ebf82bf0cb9dfc63cf99f8c4e2"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"4a48036bc37e0052e2603f64bbf13116b01af0b9","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        limits:"},{"line_number":108,"context_line":"          memory: \"1024Mi\""},{"line_number":109,"context_line":"          cpu: \"2000m\""},{"line_number":110,"context_line":"  user:"},{"line_number":111,"context_line":"    nova:"},{"line_number":112,"context_line":"      uid: 42424"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"endpoints:"},{"line_number":115,"context_line":"  cluster_domain_suffix: cluster.local"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"7faddb67_ee9eec61","line":112,"range":{"start_line":110,"start_character":0,"end_line":112,"end_character":16},"updated":"2019-07-09 12:43:45.000000000","message":"This changes the defaults for the deployers and should therefore be communicated.","commit_id":"afce306b1b8c08ebf82bf0cb9dfc63cf99f8c4e2"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"70618012406f15959f5886bba1e863f27179858c","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        limits:"},{"line_number":108,"context_line":"          memory: \"1024Mi\""},{"line_number":109,"context_line":"          cpu: \"2000m\""},{"line_number":110,"context_line":"  user:"},{"line_number":111,"context_line":"    nova:"},{"line_number":112,"context_line":"      uid: 42424"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"endpoints:"},{"line_number":115,"context_line":"  cluster_domain_suffix: cluster.local"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"7faddb67_1a462251","line":112,"range":{"start_line":110,"start_character":0,"end_line":112,"end_character":16},"in_reply_to":"7faddb67_ee9eec61","updated":"2019-07-09 15:12:20.000000000","message":"Done","commit_id":"afce306b1b8c08ebf82bf0cb9dfc63cf99f8c4e2"}],"releasenotes/notes/added-nova-uid-parameter-to-ovs-chart-41d2b05b79300a31.yaml":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"85dd4c6395076dd223756912d360de18493c4170","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When running openvswitch (OVS) with DPDK enabled, vhost-user sockets are"},{"line_number":5,"context_line":"    used to connect VMs to OVS. nova-compute needs access to those sockets in"},{"line_number":6,"context_line":"    order to plug them into OVS. For this reason, the directory containing"},{"line_number":7,"context_line":"    vhost-user sockets must have proper permissions. The openvswitch chart now"},{"line_number":8,"context_line":"    sets ownership of this directory to the UID of the nova user. The OVS chart"},{"line_number":9,"context_line":"    uses the same default as the Nova chart (42424). However, if the Nova UID"},{"line_number":10,"context_line":"    is changed in the Nova chart in a particular deployment, it also needs to"},{"line_number":11,"context_line":"    be changed in the OVS chart correspondingly if DPDK is used."}],"source_content_type":"text/x-yaml","patch_set":33,"id":"7faddb67_dc12c758","line":11,"range":{"start_line":2,"start_character":0,"end_line":11,"end_character":64},"updated":"2019-07-09 15:53:31.000000000","message":"Very good reno!","commit_id":"e6530bc2bb09a14e5820cdce74e4f7fd8e8d75e6"}]}
