)]}'
{"doc/source/app-openvswitch-dpdk.rst":[{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":11,"context_line":"requires careful consideration and planning before implementing. This"},{"line_number":12,"context_line":"document outlines how to set it up in your environment."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This feature should be considered *EXPERIMENTAL* and should not be used"},{"line_number":15,"context_line":"for production workloads. There is no guarantee of upgradability or"},{"line_number":16,"context_line":"backwards compatibilitly. USE AT YOUR OWN RISK!!!"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Recommended reading"},{"line_number":19,"context_line":"~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_03577c04","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":49},"updated":"2018-08-22 08:28:19.000000000","message":"I thought DPDK was already stable and even used in production systems","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"requires careful consideration and planning before implementing. This"},{"line_number":12,"context_line":"document outlines how to set it up in your environment."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This feature should be considered *EXPERIMENTAL* and should not be used"},{"line_number":15,"context_line":"for production workloads. There is no guarantee of upgradability or"},{"line_number":16,"context_line":"backwards compatibilitly. USE AT YOUR OWN RISK!!!"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Recommended reading"},{"line_number":19,"context_line":"~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a3dc6b46","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":49},"in_reply_to":"3f79a3b5_03577c04","updated":"2018-08-22 12:00:47.000000000","message":"This is more about being experimental within an OSA deploy more than DPDK in general. I don\u0027t know how the OSA community handles patches that provide features not-yet-meant for production. I am happy to change the wording here.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"requires careful consideration and planning before implementing. This"},{"line_number":12,"context_line":"document outlines how to set it up in your environment."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This feature should be considered *EXPERIMENTAL* and should not be used"},{"line_number":15,"context_line":"for production workloads. There is no guarantee of upgradability or"},{"line_number":16,"context_line":"backwards compatibilitly. USE AT YOUR OWN RISK!!!"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Recommended reading"},{"line_number":19,"context_line":"~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a158d989","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":49},"in_reply_to":"3f79a3b5_a3dc6b46","updated":"2018-08-22 18:04:15.000000000","message":"Ok! Maybe you could specify that you mean within the OSA context to avoid confusion","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":145,"context_line":"flavors, host aggregates, and special kernel parameters and Open vSwitch/DPDK"},{"line_number":146,"context_line":"configuration settings."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"In this example, a single 10G NIC installed in PCI slot 2 is bound to NUMA"},{"line_number":149,"context_line":"node0. Ideally, any instances utilizing the NIC would be limited to cores and"},{"line_number":150,"context_line":"memory associated with NUMA node0. This means cores 0-7 and 16-23, and up to"},{"line_number":151,"context_line":"48GB of RAM. In reality, however, some cores and RAM from NUMA node0 will be"},{"line_number":152,"context_line":"reserved and made unavailable to instances. In addition, cores 8-15 and 24-31"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_99e1a6ff","line":149,"range":{"start_line":148,"start_character":17,"end_line":149,"end_character":6},"updated":"2018-08-22 08:28:19.000000000","message":"How you know that PCI slot 2 maps to NUMA node0? Why not NUMA node1?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"flavors, host aggregates, and special kernel parameters and Open vSwitch/DPDK"},{"line_number":146,"context_line":"configuration settings."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"In this example, a single 10G NIC installed in PCI slot 2 is bound to NUMA"},{"line_number":149,"context_line":"node0. Ideally, any instances utilizing the NIC would be limited to cores and"},{"line_number":150,"context_line":"memory associated with NUMA node0. This means cores 0-7 and 16-23, and up to"},{"line_number":151,"context_line":"48GB of RAM. In reality, however, some cores and RAM from NUMA node0 will be"},{"line_number":152,"context_line":"reserved and made unavailable to instances. In addition, cores 8-15 and 24-31"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_81535d6b","line":149,"range":{"start_line":148,"start_character":17,"end_line":149,"end_character":6},"in_reply_to":"3f79a3b5_1e5494c9","updated":"2018-08-22 18:04:15.000000000","message":"yes please :)","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"flavors, host aggregates, and special kernel parameters and Open vSwitch/DPDK"},{"line_number":146,"context_line":"configuration settings."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"In this example, a single 10G NIC installed in PCI slot 2 is bound to NUMA"},{"line_number":149,"context_line":"node0. Ideally, any instances utilizing the NIC would be limited to cores and"},{"line_number":150,"context_line":"memory associated with NUMA node0. This means cores 0-7 and 16-23, and up to"},{"line_number":151,"context_line":"48GB of RAM. In reality, however, some cores and RAM from NUMA node0 will be"},{"line_number":152,"context_line":"reserved and made unavailable to instances. In addition, cores 8-15 and 24-31"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_1e5494c9","line":149,"range":{"start_line":148,"start_character":17,"end_line":149,"end_character":6},"in_reply_to":"3f79a3b5_99e1a6ff","updated":"2018-08-22 12:00:47.000000000","message":"Users will have to determine that based on PCI bus ID. (e.g. cat /sys/bus/pci/devices/0000\\:03\\:00.0/numa_node returns 0) . I can update the documentation.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":188,"context_line":"the basic page unit (4096 bytes). Huge pages are blocks of contiguous memory"},{"line_number":189,"context_line":"that commonly come in 2MB and 1G sizes. The page tables used by 2MB pages"},{"line_number":190,"context_line":"are suitable for managing multiple gigabytes of memory, whereas the page tables"},{"line_number":191,"context_line":"of 1GB pages are preferred for scaling to terabytes of memory. DPDK requires"},{"line_number":192,"context_line":"the use of 1GB pages."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"A typical x86 system will have a Huge Page Size of 2048 kBytes (2MB). The"},{"line_number":195,"context_line":"default huge page size may be found by looking at the output of /proc/meminfo:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_cf10b0ab","line":192,"range":{"start_line":191,"start_character":63,"end_line":192,"end_character":21},"updated":"2018-08-22 08:28:19.000000000","message":"I have seen in blog posts that 2MB is the recommended value for most use cases. Perhaps a not so strong sentence might be better as people could decide which one to choose","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":188,"context_line":"the basic page unit (4096 bytes). Huge pages are blocks of contiguous memory"},{"line_number":189,"context_line":"that commonly come in 2MB and 1G sizes. The page tables used by 2MB pages"},{"line_number":190,"context_line":"are suitable for managing multiple gigabytes of memory, whereas the page tables"},{"line_number":191,"context_line":"of 1GB pages are preferred for scaling to terabytes of memory. DPDK requires"},{"line_number":192,"context_line":"the use of 1GB pages."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"A typical x86 system will have a Huge Page Size of 2048 kBytes (2MB). The"},{"line_number":195,"context_line":"default huge page size may be found by looking at the output of /proc/meminfo:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_e1c7b111","line":192,"range":{"start_line":191,"start_character":63,"end_line":192,"end_character":21},"in_reply_to":"3f79a3b5_4329d798","updated":"2018-08-22 18:04:15.000000000","message":"great","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"the basic page unit (4096 bytes). Huge pages are blocks of contiguous memory"},{"line_number":189,"context_line":"that commonly come in 2MB and 1G sizes. The page tables used by 2MB pages"},{"line_number":190,"context_line":"are suitable for managing multiple gigabytes of memory, whereas the page tables"},{"line_number":191,"context_line":"of 1GB pages are preferred for scaling to terabytes of memory. DPDK requires"},{"line_number":192,"context_line":"the use of 1GB pages."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"A typical x86 system will have a Huge Page Size of 2048 kBytes (2MB). The"},{"line_number":195,"context_line":"default huge page size may be found by looking at the output of /proc/meminfo:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_4329d798","line":192,"range":{"start_line":191,"start_character":63,"end_line":192,"end_character":21},"in_reply_to":"3f79a3b5_cf10b0ab","updated":"2018-08-22 12:00:47.000000000","message":"Agreed on language. Hugepage capabilities will depend on processor features, though. Not all support 2MB pages, though newer ones may. I can update this.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":250,"context_line":"with NUMA node0, though some of that RAM will be utilized by the OS and other"},{"line_number":251,"context_line":"tasks."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Of the 48GB of RAM available on NUMA node0, 32GB will be reserved for 1GB"},{"line_number":254,"context_line":"hugepages to be consumed by DPDK PMDs and instances. Configuring hugepages"},{"line_number":255,"context_line":"using kernel parameters results in the defined number of hugepages to be split"},{"line_number":256,"context_line":"evenly across NUMA nodes. With the following kernel parameter, each NUMA node"},{"line_number":257,"context_line":"will be assigned 32x 1G hugepages:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_59eeaeb4","line":254,"range":{"start_line":253,"start_character":44,"end_line":254,"end_character":51},"updated":"2018-08-22 08:28:19.000000000","message":"How can you \u0027pin\u0027 parts of the RAM (32G out of 48G in this case) to the PMDs and instances?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":250,"context_line":"with NUMA node0, though some of that RAM will be utilized by the OS and other"},{"line_number":251,"context_line":"tasks."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Of the 48GB of RAM available on NUMA node0, 32GB will be reserved for 1GB"},{"line_number":254,"context_line":"hugepages to be consumed by DPDK PMDs and instances. Configuring hugepages"},{"line_number":255,"context_line":"using kernel parameters results in the defined number of hugepages to be split"},{"line_number":256,"context_line":"evenly across NUMA nodes. With the following kernel parameter, each NUMA node"},{"line_number":257,"context_line":"will be assigned 32x 1G hugepages:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_fe9d18bb","line":254,"range":{"start_line":253,"start_character":44,"end_line":254,"end_character":51},"in_reply_to":"3f79a3b5_59eeaeb4","updated":"2018-08-22 12:00:47.000000000","message":"When you allocate hugepages in grub.conf it gets split evenly amongst the numa nodes at boot. IIRC, you can release the hugepage allocations post-boot (say, on the second numa node w/o a NIC). There are definitely a lot of edge cases and considerations here.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":250,"context_line":"with NUMA node0, though some of that RAM will be utilized by the OS and other"},{"line_number":251,"context_line":"tasks."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Of the 48GB of RAM available on NUMA node0, 32GB will be reserved for 1GB"},{"line_number":254,"context_line":"hugepages to be consumed by DPDK PMDs and instances. Configuring hugepages"},{"line_number":255,"context_line":"using kernel parameters results in the defined number of hugepages to be split"},{"line_number":256,"context_line":"evenly across NUMA nodes. With the following kernel parameter, each NUMA node"},{"line_number":257,"context_line":"will be assigned 32x 1G hugepages:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a1cd3931","line":254,"range":{"start_line":253,"start_character":44,"end_line":254,"end_character":51},"in_reply_to":"3f79a3b5_fe9d18bb","updated":"2018-08-22 18:04:15.000000000","message":"ok thanks","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":".. code-block::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"  GRUB_CMDLINE_LINUX\u003d\"... hugepagesz\u003d1G hugepages\u003d64\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Hugepages can be adjusted at runtime if necessary, but doing so is outside the"},{"line_number":264,"context_line":"scope of this guide."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_fcbd2868","line":261,"range":{"start_line":261,"start_character":22,"end_line":261,"end_character":25},"updated":"2018-08-22 08:28:19.000000000","message":"What does the three dots mean?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":".. code-block::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"  GRUB_CMDLINE_LINUX\u003d\"... hugepagesz\u003d1G hugepages\u003d64\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Hugepages can be adjusted at runtime if necessary, but doing so is outside the"},{"line_number":264,"context_line":"scope of this guide."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c1d2b5d1","line":261,"range":{"start_line":261,"start_character":22,"end_line":261,"end_character":25},"in_reply_to":"3f79a3b5_5eae8ce7","updated":"2018-08-22 18:04:15.000000000","message":"ok","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":".. code-block::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"  GRUB_CMDLINE_LINUX\u003d\"... hugepagesz\u003d1G hugepages\u003d64\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Hugepages can be adjusted at runtime if necessary, but doing so is outside the"},{"line_number":264,"context_line":"scope of this guide."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_5eae8ce7","line":261,"range":{"start_line":261,"start_character":22,"end_line":261,"end_character":25},"in_reply_to":"3f79a3b5_fcbd2868","updated":"2018-08-22 12:00:47.000000000","message":"Simply means \u0027existing config\u0027, since it will vary per system. I can clarify that.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":448,"context_line":"necessary to add a physical interface to the provider bridge before networking"},{"line_number":449,"context_line":"can be fully established."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"On compute nodes, the following command can be used to attach a NIC port"},{"line_number":452,"context_line":"``0000:03:00.0`` to the provider bridge ``br-provider``:"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":".. code-block::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_8f08782d","line":451,"range":{"start_line":451,"start_character":0,"end_line":451,"end_character":72},"updated":"2018-08-22 08:28:19.000000000","message":"you mean this needs to be manually executed? Why can\u0027t we do it through ansible?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":16011,"name":"James Denton","email":"james.denton@outlook.com","username":"busterswt"},"change_message_id":"8ab5e1e4607aa3625fd05c1f0eb7f32c87704a1c","unresolved":false,"context_lines":[{"line_number":448,"context_line":"necessary to add a physical interface to the provider bridge before networking"},{"line_number":449,"context_line":"can be fully established."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"On compute nodes, the following command can be used to attach a NIC port"},{"line_number":452,"context_line":"``0000:03:00.0`` to the provider bridge ``br-provider``:"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":".. code-block::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_be800048","line":451,"range":{"start_line":451,"start_character":0,"end_line":451,"end_character":72},"in_reply_to":"3f79a3b5_8f08782d","updated":"2018-08-22 12:00:47.000000000","message":"Well, we can. There has been hesitance in the past to manage that via Ansible, but there may be precedence already with some of the other providers.","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"4de07d1795b8731b1b9b34343c86e11b50b70e9b","unresolved":false,"context_lines":[{"line_number":448,"context_line":"necessary to add a physical interface to the provider bridge before networking"},{"line_number":449,"context_line":"can be fully established."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"On compute nodes, the following command can be used to attach a NIC port"},{"line_number":452,"context_line":"``0000:03:00.0`` to the provider bridge ``br-provider``:"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":".. code-block::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_41f7855a","line":451,"range":{"start_line":451,"start_character":0,"end_line":451,"end_character":72},"in_reply_to":"3f79a3b5_be800048","updated":"2018-08-22 18:04:15.000000000","message":"Ok. I have nothing against automating it but maybe there is somebody with a strong opinion against it","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"}],"tasks/providers/setup_ovs_dpdk.yml":[{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    name: ovs-vswitchd"},{"line_number":21,"context_line":"    path: /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk"},{"line_number":22,"context_line":"  when:"},{"line_number":23,"context_line":"    - ansible_pkg_mgr in [\u0027apt\u0027]"},{"line_number":24,"context_line":"    - neutron_services[\u0027neutron-openvswitch-agent\u0027][\u0027group\u0027] in group_names"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- name: Ensure Open vSwitch service is started and enabled"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_af453472","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":32},"updated":"2018-08-22 08:28:19.000000000","message":"what about other distros?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  when:"},{"line_number":52,"context_line":"    - neutron_services[\u0027neutron-openvswitch-agent\u0027][\u0027group\u0027] in group_names"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"# (jamesdenton) Should replace hard dir with var, and only do this on computes"},{"line_number":55,"context_line":"- name: Create vhost_socket directory"},{"line_number":56,"context_line":"  file:"},{"line_number":57,"context_line":"    path: \"{{ item }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_cf3d10de","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":78},"updated":"2018-08-22 08:28:19.000000000","message":"why don\u0027t you do this in this patch?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"},{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  when:"},{"line_number":75,"context_line":"    - neutron_services[\u0027neutron-openvswitch-agent\u0027][\u0027group\u0027] in group_names"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"- name: Ensure DPDK service is started and enabled"},{"line_number":78,"context_line":"  systemd:"},{"line_number":79,"context_line":"    name: \"{{ dpdk_service_name }}\""},{"line_number":80,"context_line":"    state: restarted"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_0f1d4872","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":50},"updated":"2018-08-22 08:28:19.000000000","message":"I wonder if you also need to restart ovs service after all the configs made in this playbook","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"}],"vars/ubuntu.yml":[{"author":{"_account_id":21883,"name":"Manuel Buil","email":"mbuil@suse.com","username":"mbuil"},"change_message_id":"3e60255355694ae78c8fffd3178531414b4c4fa7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  - openvswitch-common"},{"line_number":42,"context_line":"  - openvswitch-switch-dpdk"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"dpdk_service_name: dpdk"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"## APT Cache options"},{"line_number":47,"context_line":"cache_timeout: 600"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_923bbbc6","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":23},"updated":"2018-08-22 08:28:19.000000000","message":"Don\u0027t we need the same for opensuse?","commit_id":"f446ef13742fa2c7819444bcf7c0dafcd7277696"}]}
