)]}'
{"specs/wallaby/approved/libvirt-driver-ip-metadata.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":32,"context_line":"node without going through nova or neutron\u0027s REST API. As an example, operators"},{"line_number":33,"context_line":"can collect and monitor statistics based on an instance\u0027s IP address at the low"},{"line_number":34,"context_line":"cost of simply loading XML."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_f63cdfc0","line":35,"updated":"2020-11-20 14:36:59.000000000","message":"my usecasue with a support hat on\n\nas an operator i want to be able to debug a vailing vm boot from logs alone without access to the rest api.\n\nthis is useful both for understandign past faiures and for contacting a vendor for support as they will have the info then need in the nova-compute log.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"  \u003cdomain type\u003d\u0027kvm\u0027 id\u003d\u00275\u0027\u003e"},{"line_number":46,"context_line":"    ..."},{"line_number":47,"context_line":"    \u003cmetadata\u003e"},{"line_number":48,"context_line":"      \u003cnova:instance xmlns:nova\u003d\"http://openstack.org/xmlns/libvirt/nova/1.0\"\u003e"},{"line_number":49,"context_line":"        \u003cnova:package version\u003d\"18.1.1\"/\u003e"},{"line_number":50,"context_line":"        \u003cnova:name\u003esample-instance-name\u003c/nova:name\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_db82a6c8","line":47,"range":{"start_line":47,"start_character":3,"end_line":47,"end_character":14},"updated":"2020-11-20 14:36:59.000000000","message":"if we are gong to enhacn the metadata there are a number of other change i want to make too. i was going to propoase a specless bluerpint for them and a patch ill point them out here\nand maybe we can jsut use one generic spec","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        \u003cnova:package version\u003d\"18.1.1\"/\u003e"},{"line_number":50,"context_line":"        \u003cnova:name\u003esample-instance-name\u003c/nova:name\u003e"},{"line_number":51,"context_line":"        \u003cnova:creationTime\u003e2020-10-23 05:36:41\u003c/nova:creationTime\u003e"},{"line_number":52,"context_line":"        \u003cnova:flavor name\u003d\"sample-flavor\"\u003e"},{"line_number":53,"context_line":"          \u003cnova:memory\u003e348160\u003c/nova:memory\u003e"},{"line_number":54,"context_line":"          \u003cnova:disk\u003e100\u003c/nova:disk\u003e"},{"line_number":55,"context_line":"          \u003cnova:swap\u003e0\u003c/nova:swap\u003e"},{"line_number":56,"context_line":"          \u003cnova:ephemeral\u003e0\u003c/nova:ephemeral\u003e"},{"line_number":57,"context_line":"          \u003cnova:vcpus\u003e80\u003c/nova:vcpus\u003e"},{"line_number":58,"context_line":"        \u003c/nova:flavor\u003e"},{"line_number":59,"context_line":"        \u003cnova:owner\u003e"},{"line_number":60,"context_line":"          \u003cnova:user uuid\u003d\"2997526f-669c-4bd9-af5f-68c6ba0cc2f0\"\u003esample-user\u003c/nova:user\u003e"},{"line_number":61,"context_line":"          \u003cnova:project uuid\u003d\"acf923f2-9b4d-4e0d-acfb-1b2976dd480f\"\u003esample-project\u003c/nova:project\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_dbd0e6cc","line":58,"range":{"start_line":52,"start_character":5,"end_line":58,"end_character":22},"updated":"2020-11-20 14:36:59.000000000","message":"for the flavor we should add the flavor uuid and the flaovr extra specs.\n\n \u003cnova:flavor name\u003d\"sample-flavor\" uuid\u003d\"...\" \u003e\n          \u003cnova:memory\u003e348160\u003c/nova:memory\u003e\n          \u003cnova:disk\u003e100\u003c/nova:disk\u003e\n          \u003cnova:swap\u003e0\u003c/nova:swap\u003e\n          \u003cnova:ephemeral\u003e0\u003c/nova:ephemeral\u003e\n          \u003cnova:vcpus\u003e80\u003c/nova:vcpus\u003e\n          \u003cnova:extra_specs\u003e\n            \u003cnova:extra_spec key\u003d\"hw:mem_page_size\"\u003elarge\u003c/nova:extra_spec\u003e\n            \u003cnova:extra_spec key\u003d\"hw:cpu_policy\"\u003ededicated\u003c/nova:extra_spec\u003e\n          \u003c/nova:extra_specs\u003e\n        \u003c/nova:flavor\u003e","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":56,"context_line":"          \u003cnova:ephemeral\u003e0\u003c/nova:ephemeral\u003e"},{"line_number":57,"context_line":"          \u003cnova:vcpus\u003e80\u003c/nova:vcpus\u003e"},{"line_number":58,"context_line":"        \u003c/nova:flavor\u003e"},{"line_number":59,"context_line":"        \u003cnova:owner\u003e"},{"line_number":60,"context_line":"          \u003cnova:user uuid\u003d\"2997526f-669c-4bd9-af5f-68c6ba0cc2f0\"\u003esample-user\u003c/nova:user\u003e"},{"line_number":61,"context_line":"          \u003cnova:project uuid\u003d\"acf923f2-9b4d-4e0d-acfb-1b2976dd480f\"\u003esample-project\u003c/nova:project\u003e"},{"line_number":62,"context_line":"        \u003c/nova:owner\u003e"},{"line_number":63,"context_line":"        \u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \u003c!-- I suggest adding the following line --\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_5be4f6ac","line":62,"range":{"start_line":59,"start_character":7,"end_line":62,"end_character":21},"updated":"2020-11-20 14:36:59.000000000","message":"for the owere we might want to add the domain\n        \u003cnova:owner\u003e\n          \u003cnova:user uuid\u003d\"2997526f-669c-4bd9-af5f-68c6ba0cc2f0\"\u003esample-user\u003c/nova:user\u003e\n          \u003cnova:project uuid\u003d\"acf923f2-9b4d-4e0d-acfb-1b2976dd480f\"\u003esample-project\u003c/nova:project\u003e\n          \u003cnova:domain uuid\u003d\"acf923f2-9b4d-4e0d-acfb-1b2976dd480f\"\u003esample-keystone-domain\u003c/nova:domain\u003e\n        \u003c/nova:owner\u003e\n\nthis i care much less about.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":60,"context_line":"          \u003cnova:user uuid\u003d\"2997526f-669c-4bd9-af5f-68c6ba0cc2f0\"\u003esample-user\u003c/nova:user\u003e"},{"line_number":61,"context_line":"          \u003cnova:project uuid\u003d\"acf923f2-9b4d-4e0d-acfb-1b2976dd480f\"\u003esample-project\u003c/nova:project\u003e"},{"line_number":62,"context_line":"        \u003c/nova:owner\u003e"},{"line_number":63,"context_line":"        \u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \u003c!-- I suggest adding the following line --\u003e"},{"line_number":66,"context_line":"        \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\"/\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_9b949eea","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":77},"updated":"2020-11-20 14:36:59.000000000","message":"\u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e\n\ni would also like too add the image name and metadata\n\n\u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\" name\u003d\"my image\"\u003e\n    \u003cnova:image_properties\u003e\n        \u003cnova:image_property key\u003d\"hw_numa_nodes\"\u003e2\u003c/nova:image_property\u003e\n    \u003c/nova:image_properties\u003e\n\u003c/nova:root\u003e","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0ed95f1f0a0106c17231d837948928992e6f50ba","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \u003c!-- I suggest adding the following line --\u003e"},{"line_number":66,"context_line":"        \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\"/\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      \u003c/nova:instance\u003e"},{"line_number":69,"context_line":"    \u003c/metadata\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f621f24_7e9d6a08","line":66,"updated":"2020-11-17 16:43:48.000000000","message":"Given we expect there to be multiple IP addresses for many instances, can we add a top-level element to nest these within instead?","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \u003c!-- I suggest adding the following line --\u003e"},{"line_number":66,"context_line":"        \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\"/\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      \u003c/nova:instance\u003e"},{"line_number":69,"context_line":"    \u003c/metadata\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_3b2bf294","line":66,"in_reply_to":"1f621f24_7e9d6a08","updated":"2020-11-20 14:36:59.000000000","message":"ya it should be more like this\n\n\u003cnova:ips\u003e\n \u003cnova:ip type\u003d\"fixed\" version\u003d\"v4\" address\u003d\"192.168.1.1\" port_uuid\u003d\"123\"/\u003e\n\u003cnova:ip type\u003d\"fixed\" version\u003d\"v6\" address\u003d\"fe80::f95c:b030:7094\" port_uuid\u003d\"123\"/\u003e\n \u003cnova:ip  type\u003d\"floating\" version\u003d\"v4\" address\u003d\"10.0.0.1\" port_uuid\u003d\"123\"/\u003e\n \u003cnova:ip type\u003d\"floating\" version\u003d\"v4\" address\u003d\"10.0.0.1\" target\u003d\"192.168.1.1\" port_uuid\u003d\"123\"/\u003e\n\u003c/nova:ips\u003e\n\n\na singel port can have multiple fixed ips and it can also have multipel floating ips.\nand obviously the vms can have multipel ports so the port uuid is required.\n\nsince we can also have ipv4 and ipv6 aressses we shoudl add a verion filed for that and the tyep filed need to supprot both floating and fixed\n\nwe might also want to have a way to say which fixed ip the floating ip mapps too\n\nif you have multipel fixed ipv4 ips on a port you can spcify which ip the floating ip will map too.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"2ae33b71bdbcf7bd920a72186641840efaff20c5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \u003cnova:root type\u003d\"image\" uuid\u003d\"66e81ebe-9d4f-45ae-b79b-b3d9dc989b21\"/\u003e"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        \u003c!-- I suggest adding the following line --\u003e"},{"line_number":66,"context_line":"        \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\"/\u003e"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"      \u003c/nova:instance\u003e"},{"line_number":69,"context_line":"    \u003c/metadata\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"62efb46e_d707c4ba","line":66,"in_reply_to":"fffc6b78_3b2bf294","updated":"2020-11-26 02:30:19.000000000","message":"Changed to a nested structure. Please refer to the new patch (Patchset 5).","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0ed95f1f0a0106c17231d837948928992e6f50ba","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    \u003c/metadata\u003e"},{"line_number":70,"context_line":"    ..."},{"line_number":71,"context_line":"  \u003c/domain\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"},{"line_number":75,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f621f24_be054248","line":72,"updated":"2020-11-17 16:43:48.000000000","message":"What happens if you make changes to an existing instance? For example, adding or removing a port? Will you update the XML in real-time?","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a0589cd20bd06a85db59b21a8ae1fe71d2365355","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    \u003c/metadata\u003e"},{"line_number":70,"context_line":"    ..."},{"line_number":71,"context_line":"  \u003c/domain\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"},{"line_number":75,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_b6d09752","line":72,"in_reply_to":"1f621f24_be054248","updated":"2020-11-20 14:43:53.000000000","message":"yes we should update the xml when that happens we allready do for the attach and detach.\n\nwe might also want to update on reciving a network changed event but im more ok with not doing it in that case.\n\ni think we will recive a network changed event when a floating or fixed ip is added to an interface.\n\nwe have nova ways to do that too and i think it would make sense to tie this into those.\n\nthat said makeign this work just for spwan would be a nice improvment so i see realtime updates of it as a nice to have aftare the basic generation so if we were to narrow the scope i would defere that untill latere and focuse on the inital boot.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"2ae33b71bdbcf7bd920a72186641840efaff20c5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    \u003c/metadata\u003e"},{"line_number":70,"context_line":"    ..."},{"line_number":71,"context_line":"  \u003c/domain\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"},{"line_number":75,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9163a6ab_d7a61d2e","line":72,"in_reply_to":"fffc6b78_b6d09752","updated":"2020-11-26 02:30:19.000000000","message":"By calling libvirt\u0027s virDomainSetMetadata API [3]_ , nova-compute process updates the metadata\nin the XML in real time when the port attaches and detaches.\n\nhttps://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMetadata","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"544c967c1565724c02a32affa4fc4ab8e48ae517","unresolved":false,"context_lines":[{"line_number":75,"context_line":"------------"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Of course, we can get IP addresses of instances via the REST API."},{"line_number":78,"context_line":"However, in the above use case, we can get that information at a lower"},{"line_number":79,"context_line":"cost by loading XML."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Data model impact"},{"line_number":82,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_962753b7","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":20},"updated":"2020-11-20 14:36:59.000000000","message":"well actully the main usecase i see for this is deubgging and when im debugging from custoemr logs i cant actully call the rest api i have to ask them to do it and wait for them to send the info and that can take a few days.\n\nif this is just in the metadta when i get the log dump all the info i need is right there.\n\nwell today its not which is hwy i wanted to add the flavor extra specs and image properties to teh xml for quite a while.\ni can generally reverse enginer the extra specs from looking that the xml but that is not somehting most peopel will want or have the experince to do.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a0589cd20bd06a85db59b21a8ae1fe71d2365355","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Testing"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"There is no integration with other systems, so only unit tests can ensure"},{"line_number":166,"context_line":"correctness. It covers the case of having no IP address, only one, or"},{"line_number":167,"context_line":"multiple IP addresses."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Documentation Impact"},{"line_number":170,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fffc6b78_9683d356","line":167,"range":{"start_line":165,"start_character":0,"end_line":167,"end_character":22},"updated":"2020-11-20 14:43:53.000000000","message":"just to be clear this is considerd an internal interface and external systems shoudl not eb relying on this to be stable\n\nso we can add unit test to ensure the metadta is correctly generated but this is not a stable external interface that external systems can rely on.\n\nits a debuging feature primarly for developer and administrator/operator use.","commit_id":"063be1c9a5b5e433f14386ca2d26029813bbdd0e"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7e77e8cc6bf4391e9bef8690a857f8b107f8974a","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":75,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fe80::f95c:b030:7094\" ipVersion\u003d\"6\"/\u003e"},{"line_number":76,"context_line":"          \u003c/nova:port\u003e"},{"line_number":77,"context_line":"          \u003cnova:port uuid\u003d\"a3ca97e2-0cf9-4159-9bfc-afd55bc13ead\"\u003e"},{"line_number":78,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"10.0.0.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":79,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"fdf8:f53b:82e4::52\" ipVersion\u003d\"6\"/\u003e"},{"line_number":80,"context_line":"          \u003c/nova:port\u003e"},{"line_number":81,"context_line":"        \u003c/nova:ports\u003e"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"      \u003c/nova:instance\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"309bf781_7713303a","line":80,"range":{"start_line":77,"start_character":0,"end_line":80,"end_character":22},"updated":"2020-11-24 08:14:52.000000000","message":"A port can not have floating IP only, and there is no such \"IPv6\" floating IP in openstack Neutron. So this should be:\n\n          \u003cnova:port uuid\u003d\"567a4527-b0e4-4d0a-bcc2-71fda37897f7\"\u003e\n            \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\" ipVersion\u003d\"4\"/\u003e\n            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fe80::f95c:b030:7094\" ipVersion\u003d\"6\"/\u003e\n            \u003cnova:ip type\u003d\"floating\" address\u003d\"11.22.33.44\" ipVersion\u003d\"4\"/\u003e\n          \u003c/nova:port\u003e\n          \u003cnova:port uuid\u003d\"a3ca97e2-0cf9-4159-9bfc-afd55bc13ead\"\u003e\n            \u003cnova:ip type\u003d\"fixed\" address\u003d\"10.0.0.1\" ipVersion\u003d\"4\"/\u003e\n            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fdf8:f53b:82e4::52\" ipVersion\u003d\"6\"/\u003e\n            \u003cnova:ip type\u003d\"floating\" address\u003d\"1.2.3.4\" ipVersion\u003d\"4\"/\u003e\n          \u003c/nova:port\u003e","commit_id":"f81e78ff3464f2cafff097d1bef31376375ef200"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"2ae33b71bdbcf7bd920a72186641840efaff20c5","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":75,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fe80::f95c:b030:7094\" ipVersion\u003d\"6\"/\u003e"},{"line_number":76,"context_line":"          \u003c/nova:port\u003e"},{"line_number":77,"context_line":"          \u003cnova:port uuid\u003d\"a3ca97e2-0cf9-4159-9bfc-afd55bc13ead\"\u003e"},{"line_number":78,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"10.0.0.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":79,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"fdf8:f53b:82e4::52\" ipVersion\u003d\"6\"/\u003e"},{"line_number":80,"context_line":"          \u003c/nova:port\u003e"},{"line_number":81,"context_line":"        \u003c/nova:ports\u003e"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"      \u003c/nova:instance\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a2203da0_598bced9","line":80,"range":{"start_line":77,"start_character":0,"end_line":80,"end_character":22},"in_reply_to":"309bf781_7713303a","updated":"2020-11-26 02:30:19.000000000","message":"Done. Thank you for pointing it out.","commit_id":"f81e78ff3464f2cafff097d1bef31376375ef200"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"15e179bb19fddf092553a1d90c2c60d661c5f4f6","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        \u003cnova:ports\u003e"},{"line_number":73,"context_line":"          \u003cnova:port uuid\u003d\"567a4527-b0e4-4d0a-bcc2-71fda37897f7\"\u003e"},{"line_number":74,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":75,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fe80::f95c:b030:7094\" ipVersion\u003d\"6\"/\u003e"},{"line_number":76,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"11.22.33.44\" ipVersion\u003d\"4\"/\u003e"},{"line_number":77,"context_line":"          \u003c/nova:port\u003e"},{"line_number":78,"context_line":"          \u003cnova:port uuid\u003d\"a3ca97e2-0cf9-4159-9bfc-afd55bc13ead\"\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"316540cc_fce2ef21","line":75,"range":{"start_line":75,"start_character":65,"end_line":75,"end_character":74},"updated":"2020-12-01 14:12:15.000000000","message":"can we use slug_case so ip_version","commit_id":"5f6aea8260c78d4482ad28b9d25ba7f73554e2f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1cbaabdce548ae3b4fae87fc22e442785694e09c","unresolved":true,"context_lines":[{"line_number":21,"context_line":"configuration information is stored in XML and used by libvirt to launch"},{"line_number":22,"context_line":"and manage instances."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"This XML contains useful configuration information such as instance names,"},{"line_number":25,"context_line":"flavors and images as metadata [2]_. Here, I noticed that IP addresses are"},{"line_number":26,"context_line":"not included."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"29fd2a50_8ea8d454","line":25,"range":{"start_line":24,"start_character":0,"end_line":25,"end_character":36},"updated":"2020-12-01 14:51:48.000000000","message":"nit: you can get other informations by the metadata, you just miss the IP addresses.","commit_id":"0c413047f1687887314321e66ef1f1b36615d229"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1cbaabdce548ae3b4fae87fc22e442785694e09c","unresolved":true,"context_lines":[{"line_number":33,"context_line":"can collect and monitor statistics based on an instance\u0027s IP address at the low"},{"line_number":34,"context_line":"cost of simply loading XML. In addition, from the vendor\u0027s point of view,"},{"line_number":35,"context_line":"the IP addresses of the instances can be easily obtained. This will reduce"},{"line_number":36,"context_line":"unnecessary communication between users and vendors."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5b9f3405_a4655916","line":36,"updated":"2020-12-01 14:51:48.000000000","message":"just to be clear, it\u0027s an usecase for not only libvirt driver, any other drivers could provide their own addresses if they want to.","commit_id":"0c413047f1687887314321e66ef1f1b36615d229"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1cbaabdce548ae3b4fae87fc22e442785694e09c","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  \u003cdomain type\u003d\u0027kvm\u0027 id\u003d\u00275\u0027\u003e"},{"line_number":52,"context_line":"    ..."},{"line_number":53,"context_line":"    \u003cmetadata\u003e"},{"line_number":54,"context_line":"      \u003cnova:instance xmlns:nova\u003d\"http://openstack.org/xmlns/libvirt/nova/1.0\"\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a291a70c_3fe8dabf","line":51,"updated":"2020-12-01 14:51:48.000000000","message":"I\u0027m a bit afraid this spec should only be discussing about libvirt driver, but OK, let\u0027s continue to review it.","commit_id":"0c413047f1687887314321e66ef1f1b36615d229"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"15e179bb19fddf092553a1d90c2c60d661c5f4f6","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        \u003cnova:ports\u003e"},{"line_number":73,"context_line":"          \u003cnova:port uuid\u003d\"567a4527-b0e4-4d0a-bcc2-71fda37897f7\"\u003e"},{"line_number":74,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"192.168.1.1\" ipVersion\u003d\"4\"/\u003e"},{"line_number":75,"context_line":"            \u003cnova:ip type\u003d\"fixed\" address\u003d\"fe80::f95c:b030:7094\" ipVersion\u003d\"6\"/\u003e"},{"line_number":76,"context_line":"            \u003cnova:ip type\u003d\"floating\" address\u003d\"11.22.33.44\" ipVersion\u003d\"4\"/\u003e"},{"line_number":77,"context_line":"          \u003c/nova:port\u003e"},{"line_number":78,"context_line":"          \u003cnova:port uuid\u003d\"a3ca97e2-0cf9-4159-9bfc-afd55bc13ead\"\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e3a270ac_9e245b0c","line":75,"range":{"start_line":75,"start_character":65,"end_line":75,"end_character":74},"updated":"2020-12-01 14:12:15.000000000","message":"nit i would still prefer if we used slug_case so ip_version here but thats just a nit we could discuss that in code review if needed but i think it simpler to read.","commit_id":"0c413047f1687887314321e66ef1f1b36615d229"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1cbaabdce548ae3b4fae87fc22e442785694e09c","unresolved":true,"context_lines":[{"line_number":189,"context_line":"There is no integration with other systems, so only unit tests can ensure"},{"line_number":190,"context_line":"correctness. It covers the case of having no IP address, only one, or"},{"line_number":191,"context_line":"multiple IP addresses. This feature is mainly intended for debugging purposes"},{"line_number":192,"context_line":"for developers and administrators. It is not an official external interface."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Documentation Impact"},{"line_number":195,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8cca23f4_9e7d7aa0","line":192,"updated":"2020-12-01 14:51:48.000000000","message":"you can still test this with functional classes using the Libvirt fake driver.","commit_id":"0c413047f1687887314321e66ef1f1b36615d229"}]}
