)]}'
{"nova/conf/libvirt.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":1288,"context_line":"                item_type\u003dcfg.types.String(),"},{"line_number":1289,"context_line":"                default\u003d[],"},{"line_number":1290,"context_line":"                help\u003d\"\"\""},{"line_number":1291,"context_line":"Configure persistent memory(pmem) namespaces. These namespaces must"},{"line_number":1292,"context_line":"have been already created on the host. This config option is in the"},{"line_number":1293,"context_line":"following format::"},{"line_number":1294,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_fdf71959","line":1291,"range":{"start_line":1291,"start_character":45,"end_line":1291,"end_character":46},"updated":"2019-09-03 16:49:08.000000000","message":"\\n\\n","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":1288,"context_line":"                item_type\u003dcfg.types.String(),"},{"line_number":1289,"context_line":"                default\u003d[],"},{"line_number":1290,"context_line":"                help\u003d\"\"\""},{"line_number":1291,"context_line":"Configure persistent memory(pmem) namespaces. These namespaces must"},{"line_number":1292,"context_line":"have been already created on the host. This config option is in the"},{"line_number":1293,"context_line":"following format::"},{"line_number":1294,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b3d0e2f8","line":1291,"range":{"start_line":1291,"start_character":45,"end_line":1291,"end_character":46},"in_reply_to":"7faddb67_fdf71959","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":"    \"$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]\""},{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"    * ``$NSNAME`` is the name of the pmem namespace."},{"line_number":1298,"context_line":"    * ``$LABEL`` represents one resource class, this is used to generate"},{"line_number":1299,"context_line":"      the resource class name as ``CUSTOM_PMEM_NAMESPACE_$LABEL``."},{"line_number":1300,"context_line":""},{"line_number":1301,"context_line":"For example:"},{"line_number":1302,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1df55551","line":1299,"range":{"start_line":1297,"start_character":0,"end_line":1299,"end_character":66},"updated":"2019-09-03 16:49:08.000000000","message":"Dedent this so it\u0027ll render as text instead of code","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":"    \"$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]\""},{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"    * ``$NSNAME`` is the name of the pmem namespace."},{"line_number":1298,"context_line":"    * ``$LABEL`` represents one resource class, this is used to generate"},{"line_number":1299,"context_line":"      the resource class name as ``CUSTOM_PMEM_NAMESPACE_$LABEL``."},{"line_number":1300,"context_line":""},{"line_number":1301,"context_line":"For example:"},{"line_number":1302,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_73d6eaf4","line":1299,"range":{"start_line":1297,"start_character":0,"end_line":1299,"end_character":66},"in_reply_to":"7faddb67_1df55551","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"056e95f2587f88d5581a9c62dc1d7e84d2760856","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"* ``$LABEL`` represents one resource class, this is used to generate"},{"line_number":1352,"context_line":"      the resource class name as ``CUSTOM_PMEM_NAMESPACE_$LABEL``."},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"For example:"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":".. code-block:: ini"},{"line_number":1357,"context_line":""},{"line_number":1358,"context_line":"    [libvirt]"},{"line_number":1359,"context_line":"    pmem_namespaces\u003d128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"}],"source_content_type":"text/x-python","patch_set":23,"id":"5faad753_5917a1ee","line":1356,"range":{"start_line":1354,"start_character":11,"end_line":1356,"end_character":19},"updated":"2019-09-11 23:00:11.000000000","message":"Use \u0027::\u0027 instead here too (like above), since (for now) this can end up in INI files where it doesn\u0027t make any sense","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"bd6f0e1668c34c3bf0ca42662e1cacc0b77e6a2f","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"* ``$LABEL`` represents one resource class, this is used to generate"},{"line_number":1352,"context_line":"      the resource class name as ``CUSTOM_PMEM_NAMESPACE_$LABEL``."},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"For example:"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":".. code-block:: ini"},{"line_number":1357,"context_line":""},{"line_number":1358,"context_line":"    [libvirt]"},{"line_number":1359,"context_line":"    pmem_namespaces\u003d128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"}],"source_content_type":"text/x-python","patch_set":23,"id":"5faad753_cb12d209","line":1356,"range":{"start_line":1354,"start_character":11,"end_line":1356,"end_character":19},"in_reply_to":"5faad753_5917a1ee","updated":"2019-09-12 03:15:43.000000000","message":"Done","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6ff02b4a9aa124b65bf47fc83430e6a63dd2531","unresolved":false,"context_lines":[{"line_number":1338,"context_line":""},{"line_number":1339,"context_line":"libvirt_pmem_opts \u003d ["},{"line_number":1340,"context_line":"    cfg.ListOpt(\u0027pmem_namespaces\u0027,"},{"line_number":1341,"context_line":"                item_type\u003dcfg.types.String(),"},{"line_number":1342,"context_line":"                default\u003d[],"},{"line_number":1343,"context_line":"                help\u003d\"\"\""},{"line_number":1344,"context_line":"Configure persistent memory(pmem) namespaces."}],"source_content_type":"text/x-python","patch_set":28,"id":"5faad753_0370bcdb","line":1341,"range":{"start_line":1341,"start_character":0,"end_line":1341,"end_character":45},"updated":"2019-09-12 20:28:29.000000000","message":"This isn\u0027t necessary","commit_id":"f5f96df317c62288d9a93950821bac3291650ed6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6ff02b4a9aa124b65bf47fc83430e6a63dd2531","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"                item_type\u003dcfg.types.String(),"},{"line_number":1342,"context_line":"                default\u003d[],"},{"line_number":1343,"context_line":"                help\u003d\"\"\""},{"line_number":1344,"context_line":"Configure persistent memory(pmem) namespaces."},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"These namespaces must have been already created on the host. This config"},{"line_number":1347,"context_line":"option is in the following format::"}],"source_content_type":"text/x-python","patch_set":28,"id":"5faad753_637e50b0","line":1344,"range":{"start_line":1344,"start_character":28,"end_line":1344,"end_character":32},"updated":"2019-09-12 20:28:29.000000000","message":"PMEM","commit_id":"f5f96df317c62288d9a93950821bac3291650ed6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6ff02b4a9aa124b65bf47fc83430e6a63dd2531","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"                item_type\u003dcfg.types.String(),"},{"line_number":1342,"context_line":"                default\u003d[],"},{"line_number":1343,"context_line":"                help\u003d\"\"\""},{"line_number":1344,"context_line":"Configure persistent memory(pmem) namespaces."},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"These namespaces must have been already created on the host. This config"},{"line_number":1347,"context_line":"option is in the following format::"}],"source_content_type":"text/x-python","patch_set":28,"id":"5faad753_c375c4cc","line":1344,"range":{"start_line":1344,"start_character":27,"end_line":1344,"end_character":28},"updated":"2019-09-12 20:28:29.000000000","message":"nit: should add a space after this","commit_id":"f5f96df317c62288d9a93950821bac3291650ed6"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        self.provider_tree \u003d None"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        self._vpmems_by_name, self._vpmems_by_rc \u003d self._discover_vpmems("},{"line_number":432,"context_line":"                vpmem_conf\u003dCONF.libvirt.pmem_namespaces)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def _discover_vpmems(self, vpmem_conf\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Discover vpmems on host and configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_dd981d1c","line":432,"range":{"start_line":432,"start_character":16,"end_line":432,"end_character":55},"updated":"2019-09-03 16:49:08.000000000","message":"why not access this inside the \u0027_discover_vpmems\u0027 function itself?","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        self.provider_tree \u003d None"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        self._vpmems_by_name, self._vpmems_by_rc \u003d self._discover_vpmems("},{"line_number":432,"context_line":"                vpmem_conf\u003dCONF.libvirt.pmem_namespaces)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def _discover_vpmems(self, vpmem_conf\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Discover vpmems on host and configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b36c6236","line":432,"range":{"start_line":432,"start_character":16,"end_line":432,"end_character":55},"in_reply_to":"7faddb67_dd981d1c","updated":"2019-09-04 12:55:17.000000000","message":"See Eric\u0027s comment at https://review.opendev.org/#/c/678453/10/nova/virt/libvirt/driver.py@440","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"}],"releasenotes/notes/add-support-for-vpmem-libvirt-8b66add5b2d8f5f5.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_fd8cf9d8","line":5,"range":{"start_line":5,"start_character":30,"end_line":5,"end_character":71},"updated":"2019-09-03 16:49:08.000000000","message":"I don\u0027t know what this means. Can you rephrase","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_7d99e91b","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":21},"updated":"2019-09-03 16:49:08.000000000","message":"add a space after this","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_3d87f1b8","line":5,"range":{"start_line":5,"start_character":22,"end_line":5,"end_character":27},"updated":"2019-09-03 16:49:08.000000000","message":"vPMEM","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_68d59442","line":5,"range":{"start_line":5,"start_character":22,"end_line":5,"end_character":27},"in_reply_to":"7faddb67_3d87f1b8","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_48d2185e","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":21},"in_reply_to":"7faddb67_7d99e91b","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_a8ddcc6d","line":5,"range":{"start_line":5,"start_character":30,"end_line":5,"end_character":71},"in_reply_to":"7faddb67_fd8cf9d8","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances::"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_1d8a35bb","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":43},"updated":"2019-09-03 16:49:08.000000000","message":"To enable vPMEM support, the user should...","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory(VPMEM), Alias, persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances::"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_c8dcc875","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":43},"in_reply_to":"7faddb67_1d8a35bb","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"},{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_3db0518b","line":9,"range":{"start_line":9,"start_character":19,"end_line":9,"end_character":28},"updated":"2019-09-03 16:49:08.000000000","message":"instances. For example::","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    In order to support that, the operators should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"},{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_28f23c06","line":9,"range":{"start_line":9,"start_character":19,"end_line":9,"end_character":28},"in_reply_to":"7faddb67_3db0518b","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"},{"line_number":13,"context_line":"      pmem_namespaces \u003d 128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    For knowing what pmem namespaces on the host, the operator should install"},{"line_number":16,"context_line":"    ``ndctl`` utility,  operator can use ndctl to create new namespace,"},{"line_number":17,"context_line":"    Nova will invoke ``ndctl`` to discover PMEM namespaces on the host::"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"      ndctl create-namespace -m devdax -s $SIZE -M mem -n $NSNAME"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_5d72ede4","line":17,"range":{"start_line":15,"start_character":4,"end_line":17,"end_character":72},"updated":"2019-09-03 16:49:08.000000000","message":"To identify the available PMEM namespaces on the host or create new namespaces, the ``ndctl`` utility can used. Nova will invoke this utility to identify available namespaces.","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"6643459c6f7d62328a7e1205cc8308a4414fb1cd","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"},{"line_number":13,"context_line":"      pmem_namespaces \u003d 128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    For knowing what pmem namespaces on the host, the operator should install"},{"line_number":16,"context_line":"    ``ndctl`` utility,  operator can use ndctl to create new namespace,"},{"line_number":17,"context_line":"    Nova will invoke ``ndctl`` to discover PMEM namespaces on the host::"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"      ndctl create-namespace -m devdax -s $SIZE -M mem -n $NSNAME"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_c8c5a88f","line":17,"range":{"start_line":15,"start_character":4,"end_line":17,"end_character":72},"in_reply_to":"7faddb67_5d72ede4","updated":"2019-09-04 12:55:17.000000000","message":"Done","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"62ee216ce02f4035ee644bb887ccddf776d9c9fb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"},{"line_number":13,"context_line":"      pmem_namespaces \u003d 128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    For knowing what pmem namespaces on the host, the operator should install"},{"line_number":16,"context_line":"    ``ndctl`` utility,  operator can use ndctl to create new namespace,"},{"line_number":17,"context_line":"    Nova will invoke ``ndctl`` to discover PMEM namespaces on the host::"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"      ndctl create-namespace -m devdax -s $SIZE -M mem -n $NSNAME"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    Operators can specify VPMEM resources in a flavor by adding flavor\u0027s"},{"line_number":22,"context_line":"    extra specs::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"      openstack flavor set --property hw:pmem\u003d6GB,64GB \u003cflavor-id\u003e"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_9d45c571","line":24,"range":{"start_line":15,"start_character":0,"end_line":24,"end_character":66},"updated":"2019-09-03 16:49:08.000000000","message":"To be honest, this reads like something you need to add a document for. See [1] for a good example\n\n[1] https://review.opendev.org/#/c/666616/41/doc/source/admin/configuration/hypervisor-kvm.rst","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"125c9cdf3b07c71d3e9a28787020c26677d76bc6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"},{"line_number":13,"context_line":"      pmem_namespaces \u003d 128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    For knowing what pmem namespaces on the host, the operator should install"},{"line_number":16,"context_line":"    ``ndctl`` utility,  operator can use ndctl to create new namespace,"},{"line_number":17,"context_line":"    Nova will invoke ``ndctl`` to discover PMEM namespaces on the host::"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"      ndctl create-namespace -m devdax -s $SIZE -M mem -n $NSNAME"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    Operators can specify VPMEM resources in a flavor by adding flavor\u0027s"},{"line_number":22,"context_line":"    extra specs::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"      openstack flavor set --property hw:pmem\u003d6GB,64GB \u003cflavor-id\u003e"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_2766d72a","line":24,"range":{"start_line":15,"start_character":0,"end_line":24,"end_character":66},"in_reply_to":"7faddb67_9d45c571","updated":"2019-09-05 06:48:11.000000000","message":"new patch for document, https://review.opendev.org/#/c/680300/\nmay need more time to polish it.","commit_id":"e29a5d5dc700cd42d9b80aff851c692066629f3c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"42e83f7ff7c47f0ef34600e570300c36ccace536","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_b29acbc2","line":4,"range":{"start_line":4,"start_character":54,"end_line":4,"end_character":63},"updated":"2019-09-06 23:16:30.000000000","message":"with","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"854db53e02e2219c972246601e2b34c825ce2112","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_9234614c","line":4,"range":{"start_line":4,"start_character":54,"end_line":4,"end_character":63},"in_reply_to":"5faad753_b29acbc2","updated":"2019-09-09 05:46:43.000000000","message":"Done","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"42e83f7ff7c47f0ef34600e570300c36ccace536","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_d29f47b2","line":5,"range":{"start_line":5,"start_character":67,"end_line":5,"end_character":76},"updated":"2019-09-06 23:16:30.000000000","message":"namespaces","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"42e83f7ff7c47f0ef34600e570300c36ccace536","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_92a9cfe0","line":5,"range":{"start_line":5,"start_character":59,"end_line":5,"end_character":61},"updated":"2019-09-06 23:16:30.000000000","message":"y (","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"854db53e02e2219c972246601e2b34c825ce2112","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_723be537","line":5,"range":{"start_line":5,"start_character":59,"end_line":5,"end_character":61},"in_reply_to":"5faad753_92a9cfe0","updated":"2019-09-09 05:46:43.000000000","message":"Done","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"854db53e02e2219c972246601e2b34c825ce2112","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The libvirt driver now supports booting instances by asking virtual"},{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_124871ca","line":5,"range":{"start_line":5,"start_character":67,"end_line":5,"end_character":76},"in_reply_to":"5faad753_d29f47b2","updated":"2019-09-09 05:46:43.000000000","message":"Done","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"42e83f7ff7c47f0ef34600e570300c36ccace536","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances. For example::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_32aedbe7","line":8,"range":{"start_line":8,"start_character":56,"end_line":8,"end_character":58},"updated":"2019-09-06 23:16:30.000000000","message":"listed in the","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"854db53e02e2219c972246601e2b34c825ce2112","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    persistent memory (vPMEM), also called persistent memory(PMEM) namespace."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces in configuration file"},{"line_number":9,"context_line":"    can be used by instances. For example::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_523ee929","line":8,"range":{"start_line":8,"start_character":56,"end_line":8,"end_character":58},"in_reply_to":"5faad753_32aedbe7","updated":"2019-09-09 05:46:43.000000000","message":"Done","commit_id":"d97b02b5feba54a984fb67523d802ebeb85a1425"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"056e95f2587f88d5581a9c62dc1d7e84d2760856","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The libvirt driver now supports booting instances with virtual persistent"},{"line_number":5,"context_line":"    memory (vPMEM), also called persistent memory (PMEM) namespaces."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces listed in the"},{"line_number":9,"context_line":"    configuration file can be used by instances. For example::"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5faad753_b9dd7543","line":7,"range":{"start_line":7,"start_character":11,"end_line":7,"end_character":37},"updated":"2019-09-11 23:00:11.000000000","message":"``nova.conf`` (it\u0027s pretty common lingo at this point)","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"bd6f0e1668c34c3bf0ca42662e1cacc0b77e6a2f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The libvirt driver now supports booting instances with virtual persistent"},{"line_number":5,"context_line":"    memory (vPMEM), also called persistent memory (PMEM) namespaces."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces listed in the"},{"line_number":9,"context_line":"    configuration file can be used by instances. For example::"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5faad753_8b1dba10","line":7,"range":{"start_line":7,"start_character":11,"end_line":7,"end_character":37},"in_reply_to":"5faad753_b9dd7543","updated":"2019-09-12 03:15:43.000000000","message":"Done","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"056e95f2587f88d5581a9c62dc1d7e84d2760856","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    memory (vPMEM), also called persistent memory (PMEM) namespaces."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces listed in the"},{"line_number":9,"context_line":"    configuration file can be used by instances. For example::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"},{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5faad753_59ec81f2","line":9,"range":{"start_line":8,"start_character":35,"end_line":9,"end_character":49},"updated":"2019-09-11 23:00:11.000000000","message":"Move this to _after_ the code sample","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"bd6f0e1668c34c3bf0ca42662e1cacc0b77e6a2f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    memory (vPMEM), also called persistent memory (PMEM) namespaces."},{"line_number":6,"context_line":"    To enable vPMEM support, the user should specify the PMEM namespaces"},{"line_number":7,"context_line":"    in the nova-compute configuration file by using the configuration option"},{"line_number":8,"context_line":"    ``[libvirt]/pmem_namespaces``. Only PMEM namespaces listed in the"},{"line_number":9,"context_line":"    configuration file can be used by instances. For example::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [libvirt]"},{"line_number":12,"context_line":"      # pmem_namespaces\u003d$LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]]"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5faad753_2b1cc610","line":9,"range":{"start_line":8,"start_character":35,"end_line":9,"end_character":49},"in_reply_to":"5faad753_59ec81f2","updated":"2019-09-12 03:15:43.000000000","message":"Done","commit_id":"6aa5ce2cd341c4a9b365737547ff6f47d5546882"}]}
