)]}'
{"specs/liberty/approved/pci-passthrough-whitelist-range.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f547c57d6a4f94c0e3c9721aca6b1a16c8d133dd","unresolved":false,"context_lines":[{"line_number":8,"context_line":"PCI Passthrough Whitelist Range"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/pci-passthrough-whitelist-range"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_dba949e1","line":11,"updated":"2015-05-11 11:30:32.000000000","message":"nit, you can drop this text.","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"508019058b06aee52532197c416b7428a060a56e","unresolved":false,"context_lines":[{"line_number":8,"context_line":"PCI Passthrough Whitelist Range"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/pci-passthrough-whitelist-range"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_1326afba","line":11,"in_reply_to":"9af37de9_dba949e1","updated":"2015-05-12 08:31:14.000000000","message":"Done","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7e9ceb3390658877b49261b1431466bc3324dac9","unresolved":false,"context_lines":[{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Unit tests will be added."},{"line_number":127,"context_line":"* Third party testing for nova/neutron is already in place:"},{"line_number":128,"context_line":"  https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_93c5ca8f","line":127,"updated":"2015-05-07 16:27:14.000000000","message":"This doesn\u0027t mean there are tests that are hitting this whitelist range change, because if there were they would be failing since this code isn\u0027t in nova yet.  So for this, I\u0027d be asking if you propose to add tests to the mellanox CI for this whitelist range feature?  Or does that go in tempest?","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f547c57d6a4f94c0e3c9721aca6b1a16c8d133dd","unresolved":false,"context_lines":[{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Unit tests will be added."},{"line_number":127,"context_line":"* Third party testing for nova/neutron is already in place:"},{"line_number":128,"context_line":"  https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_3be9751b","line":127,"in_reply_to":"1aca2d91_392c9001","updated":"2015-05-11 11:30:32.000000000","message":"Yeah, but please say the third party testing will be updated to test this extra feature.","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"c6bdaa6dcf767245f0b4539c73778cdb3cb5a25b","unresolved":false,"context_lines":[{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Unit tests will be added."},{"line_number":127,"context_line":"* Third party testing for nova/neutron is already in place:"},{"line_number":128,"context_line":"  https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_392c9001","line":127,"in_reply_to":"1aca2d91_93c5ca8f","updated":"2015-05-07 19:26:08.000000000","message":"The current CI will hit some of the code change because the current local.conf \nis with *:02:00.*.\nMy plan was to the add another CI Job with range syntax to see that nothing breaks. \n\nI guess adding a test to tempest that try to launch vms as many as in the range will be stretch goal.","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"508019058b06aee52532197c416b7428a060a56e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Unit tests will be added."},{"line_number":127,"context_line":"* Third party testing for nova/neutron is already in place:"},{"line_number":128,"context_line":"  https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_463467dd","line":127,"in_reply_to":"9af37de9_3be9751b","updated":"2015-05-12 08:31:14.000000000","message":"Done","commit_id":"1ef6ed541cd432ca024b87f1f31efbfa34d11f53"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1fa70e723ea06882a157429ff65c50553a117fde","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Enhance PCI passthrough whitelist to support range on all address attributes."},{"line_number":42,"context_line":"Example for the range syntax."},{"line_number":43,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.2-\",\"physical_network\":\"net1\"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"This allows allocation of VFs whose functions are from 2 upwards."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_8e1263b3","line":43,"updated":"2015-06-05 14:56:43.000000000","message":"should it not be 02- not 2-?","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"35cbeb073da86c1b2b7218df6ab39bc20ab64ffd","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Enhance PCI passthrough whitelist to support range on all address attributes."},{"line_number":42,"context_line":"Example for the range syntax."},{"line_number":43,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.2-\",\"physical_network\":\"net1\"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"This allows allocation of VFs whose functions are from 2 upwards."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_d1559ac6","line":43,"in_reply_to":"3afb71cf_8e1263b3","updated":"2015-06-05 15:14:24.000000000","message":"This is example of pci 0000:05:00.2\nthe function is a number between 0-7","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1fa70e723ea06882a157429ff65c50553a117fde","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Example for the range syntax."},{"line_number":43,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.2-\",\"physical_network\":\"net1\"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"This allows allocation of VFs whose functions are from 2 upwards."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.-2\",\"physical_network\":\"net1\"}"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_8e2ca34b","line":45,"updated":"2015-06-05 14:56:43.000000000","message":"so this is an odd comment, but I think its easier to read if you add a colon after these lines, then include the above example after that.\n\nI was reading this all up side down by default and it was really confusing.","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"35cbeb073da86c1b2b7218df6ab39bc20ab64ffd","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Example for the range syntax."},{"line_number":43,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.2-\",\"physical_network\":\"net1\"}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"This allows allocation of VFs whose functions are from 2 upwards."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:00.-2\",\"physical_network\":\"net1\"}"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_f1f656d6","line":45,"in_reply_to":"3afb71cf_8e2ca34b","updated":"2015-06-05 15:14:24.000000000","message":"sure I will add colon for before all the examples","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1fa70e723ea06882a157429ff65c50553a117fde","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This allows allocation of VFs whose functions are from 2 downwards."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:1-2.\\*\",\"physical_network\":\"net1\"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"This allows allocation of VFs whose slots are between 1 and 2."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_2e3a4f37","line":51,"updated":"2015-06-05 14:56:43.000000000","message":"Should it not be 01-02 ? or it that silly?","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"35cbeb073da86c1b2b7218df6ab39bc20ab64ffd","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This allows allocation of VFs whose functions are from 2 downwards."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"pci_passthrough_whitelist\u003d{\"address\":\"\\*:02:1-2.\\*\",\"physical_network\":\"net1\"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"This allows allocation of VFs whose slots are between 1 and 2."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_d11a3a17","line":51,"in_reply_to":"3afb71cf_2e3a4f37","updated":"2015-06-05 15:14:24.000000000","message":"It can be, but I think the code should also handle this syntax.\nI will update it to be  01-02","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1fa70e723ea06882a157429ff65c50553a117fde","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Alternatives"},{"line_number":56,"context_line":"------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Currently there is no valid alternative."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Data model impact"},{"line_number":61,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_4efeab6c","line":58,"updated":"2015-06-05 14:56:43.000000000","message":"Are you not allowed multiple entries per host? So you would just have a long list of the ones you can\u0027t do without the range?","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"35cbeb073da86c1b2b7218df6ab39bc20ab64ffd","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Alternatives"},{"line_number":56,"context_line":"------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Currently there is no valid alternative."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Data model impact"},{"line_number":61,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_91ba82e0","line":58,"in_reply_to":"3afb71cf_4efeab6c","updated":"2015-06-05 15:14:24.000000000","message":"that true, I will add it.","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1fa70e723ea06882a157429ff65c50553a117fde","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"* Rename the current PciAddress class to WhiteListPciAddress."},{"line_number":113,"context_line":"* Add PciAddress class which represent single PF/VF address."},{"line_number":114,"context_line":"* Add PciAddressRange class which will represent PCI address range."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"},{"line_number":117,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_4e990b6e","line":114,"updated":"2015-06-05 14:56:43.000000000","message":"Not sure this makes sense to me, but its probably too much detail here.\n\nI guess this would be one patch so we only need one bullet.","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"35cbeb073da86c1b2b7218df6ab39bc20ab64ffd","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"* Rename the current PciAddress class to WhiteListPciAddress."},{"line_number":113,"context_line":"* Add PciAddress class which represent single PF/VF address."},{"line_number":114,"context_line":"* Add PciAddressRange class which will represent PCI address range."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"},{"line_number":117,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_31874e11","line":114,"in_reply_to":"3afb71cf_4e990b6e","updated":"2015-06-05 15:14:24.000000000","message":"sorry I wasn\u0027t aware that  each Work Items mean patch, I will update to one bullet.","commit_id":"f5c769c0e95c233e69431cb292272a3d3173a92f"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6bbe9eac8f7dd73f1c25cb9e4a8750f35e2a2e17","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_8486d2b7","line":59,"updated":"2015-06-12 10:52:40.000000000","message":"An other alternative could be have a pci_passthrough_blacklist perhaps easier maintainable, no?","commit_id":"bf098cb9e3e5792e24bfd39efffae0603a9d7a84"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0c28b8e1ee11a423cfa54e98b535c0e45392e23d","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_fea3ce4d","line":59,"in_reply_to":"1af86dd1_8486d2b7","updated":"2015-06-12 12:28:41.000000000","message":"Hmm, thats a really good idea.\n\nWhat do you think to that suggestion?","commit_id":"bf098cb9e3e5792e24bfd39efffae0603a9d7a84"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"22cd8fc7dfd767331ec69d4bc590990b951e5294","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1af86dd1_3e6846f5","line":59,"updated":"2015-06-12 12:30:55.000000000","message":"So what about a black list, as sahid suggested?","commit_id":"8fa729a2cc25f7cd0dc4c14d6c1a95b6c6a4122a"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"d51756da23e1eda2d08f4b0cf06ac74d1083795f","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_6036e753","line":59,"in_reply_to":"1af86dd1_3e6846f5","updated":"2015-06-16 13:07:12.000000000","message":"Or instead of trying to invent our own terribly restrictive regular expression like language, we could just give users real regular expressions. They have the ability to express much more advanced rules than either the existing, or new proposed syntax allows.","commit_id":"8fa729a2cc25f7cd0dc4c14d6c1a95b6c6a4122a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"afa21d6981684e5aa02b291afe987539c95db442","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_6cf4a0f1","line":59,"in_reply_to":"fa32b979_6036e753","updated":"2015-06-16 14:16:37.000000000","message":"+1\n\nI like the real regular expressions approach \nIf all agree I will update the spec","commit_id":"8fa729a2cc25f7cd0dc4c14d6c1a95b6c6a4122a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"bda9e9060e2906d0ba4000a1435c8702f1f5d2db","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Instead of whitelist range we could add multiple PCI passthrough whitelist"},{"line_number":58,"context_line":"  entries per host. These entries include all the VFs that can be used."},{"line_number":59,"context_line":"  This is already supported."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_e7023bb4","line":59,"in_reply_to":"fa32b979_6cf4a0f1","updated":"2015-06-22 08:30:35.000000000","message":"+1","commit_id":"8fa729a2cc25f7cd0dc4c14d6c1a95b6c6a4122a"}],"specs/liberty/approved/pci-passthrough-whitelist-regex.rst":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b94df0e75298209c8faa810dc528243247253ae3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"regular expression syntax, but the PCI passthrough white list format will stay"},{"line_number":45,"context_line":"the same \u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.\u003cfunction\u003e."},{"line_number":46,"context_line":"Both the wildcards and regular expressions syntax will be supported, therefore"},{"line_number":47,"context_line":"\"address\":\"\\*:02:00.1\" is the same as \"address\":\".\\*:02:00.1\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Example for the regular expression syntax:"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_d720fbb2","line":47,"updated":"2015-06-22 13:38:07.000000000","message":"How will the parser distinguish between usage of the two different syntaxes. If it tries to infer use of globbing, vs regexes, then this could lead to poor error handling for users. eg user makes a mistake in their regex, instead of the regex engine reporting the bug, nova silently treats it as a glob, resulting in behaviour the admin does not expect.\n\nCOuld it be desirable to introduce a separate \u0027pci_passthrough_regex\u0027 parameter and just deprecate the existing parameter \u0026 syntax.","commit_id":"5e0096fbecc4d7b341036c76b1e863b66a58d841"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"058eab41f0f9a8ded154e4e57aa37612fe67a2f2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"regular expression syntax, but the PCI passthrough white list format will stay"},{"line_number":45,"context_line":"the same \u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.\u003cfunction\u003e."},{"line_number":46,"context_line":"Both the wildcards and regular expressions syntax will be supported, therefore"},{"line_number":47,"context_line":"\"address\":\"\\*:02:00.1\" is the same as \"address\":\".\\*:02:00.1\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Example for the regular expression syntax:"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_5315b446","line":47,"in_reply_to":"fa32b979_58d4f3bb","updated":"2015-06-23 09:21:31.000000000","message":"yep, sounds good I will update the spec","commit_id":"5e0096fbecc4d7b341036c76b1e863b66a58d841"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"586bdbd1dfb79d27981ee0826e2063b85b6ab273","unresolved":false,"context_lines":[{"line_number":44,"context_line":"regular expression syntax, but the PCI passthrough white list format will stay"},{"line_number":45,"context_line":"the same \u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.\u003cfunction\u003e."},{"line_number":46,"context_line":"Both the wildcards and regular expressions syntax will be supported, therefore"},{"line_number":47,"context_line":"\"address\":\"\\*:02:00.1\" is the same as \"address\":\".\\*:02:00.1\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Example for the regular expression syntax:"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_58d4f3bb","line":47,"in_reply_to":"fa32b979_aa0845da","updated":"2015-06-23 09:09:09.000000000","message":"Havin the \u0027.\u0027 as a separator and also a valid regex character leads to confusion  / ambiguity - rather than having an \u0027address\u0027 field we should break it out\n\n{ domain: \".*\", \"bus\": \"02\",  \"slot\": \"01\", \"function\": \"[0-3]\" }\n\nSo if you see \u0027address\u0027 you know its the traditional glob style, and if you see any of domain/bus/slot/function you know its new regex style.","commit_id":"5e0096fbecc4d7b341036c76b1e863b66a58d841"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65d9daa81b993db5631b20bff7d1ac3cd6a577ec","unresolved":false,"context_lines":[{"line_number":44,"context_line":"regular expression syntax, but the PCI passthrough white list format will stay"},{"line_number":45,"context_line":"the same \u003cdomain\u003e:\u003cbus\u003e:\u003cslot\u003e.\u003cfunction\u003e."},{"line_number":46,"context_line":"Both the wildcards and regular expressions syntax will be supported, therefore"},{"line_number":47,"context_line":"\"address\":\"\\*:02:00.1\" is the same as \"address\":\".\\*:02:00.1\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Example for the regular expression syntax:"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_aa0845da","line":47,"in_reply_to":"fa32b979_d720fbb2","updated":"2015-06-23 08:13:20.000000000","message":"I was thinking to replace the * with the correct regex before doing the match\nfor example if a user put *:02:00.1 I will replace it to regex .*:02:00.1 or better \n[0-9A-Fa-f]{4,4} :02:00.1.\n\nalso keep in mind that I am not planning to take the all address  and check for match I will first split the address to domain, bus,slot and function. if one of them is just * I will replace it with a regex.  (this is alined with the current implementation in devspec.py)\n\n\nanother thing, it just seem wired to me that user will need to put the double dots at the end for example previous syntax was *:02:00.* and will change to be .*:02:00..*","commit_id":"5e0096fbecc4d7b341036c76b1e863b66a58d841"}]}
