)]}'
{"specs/pci-device-model.rst":[{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"adb3e46945e50655c9a81ba95429a63dcb8dfdfd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support PCI-device white list "},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":"Related Launchpad Blueprint:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://blueprints.launchpad.net/zun/+spec/container-pci-device-modeling"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f201791_78988769","line":9,"updated":"2017-06-21 04:33:21.000000000","message":"Title underline too short and Trailing with white space.","commit_id":"2e761e1b7621a3137cd41faed1c80418c3772a21"},{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"adb3e46945e50655c9a81ba95429a63dcb8dfdfd","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Some PCI devices provide Single Root I/O Virtualization and Sharing (SR-IOV)"},{"line_number":23,"context_line":"capabilities to share the PCI device among different VMs or containers. When"},{"line_number":24,"context_line":"SR-IOV is used, a physical device is virtualized and appears as multiple PCI"},{"line_number":25,"context_line":"devices. Virtual PCI devices are assigned to the same or different containers. "},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Since release Ocata, Openstack Nova enables flavor-based PCI-passthough device"},{"line_number":28,"context_line":"management. This design will not depend on the Nova \u0027s implementation of PCI-"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f201791_38a20f9c","line":25,"updated":"2017-06-21 04:33:21.000000000","message":"ditto","commit_id":"2e761e1b7621a3137cd41faed1c80418c3772a21"},{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"adb3e46945e50655c9a81ba95429a63dcb8dfdfd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"       \"devname\": Device name of the device (for e.g. interface name). Not all"},{"line_number":63,"context_line":"               PCI devices have a name."},{"line_number":64,"context_line":"       \"\u003ctag\u003e\": Additional \u003ctag\u003e and \u003ctag_value\u003e used for matching PCI devices."},{"line_number":65,"context_line":"             Supported \u003ctag\u003e: \"physical_network\". The pre-defined tag "},{"line_number":66,"context_line":"             \"physical_network\" is used to define the physical network, that"},{"line_number":67,"context_line":"             the SR-IOV NIC devices are attached to. "},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f201791_189f5351","line":65,"updated":"2017-06-21 04:33:21.000000000","message":"ditto","commit_id":"2e761e1b7621a3137cd41faed1c80418c3772a21"},{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"adb3e46945e50655c9a81ba95429a63dcb8dfdfd","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \"vendor_id\": \"8086\", \"device_type\": \"type-PCI\"}"},{"line_number":91,"context_line":"2. User will add the PCI-PASSTHROUGH filter to /etc/zun.conf at openstack"},{"line_number":92,"context_line":"   controller nodes."},{"line_number":93,"context_line":"\tscheduler_available_filters\u003dzun.scheduler.filters.all_filters \t"},{"line_number":94,"context_line":"\tscheduler_default_filters\u003d ..., PciPassthroughFilter "},{"line_number":95,"context_line":"3. User restart the Zun scheduler service to make the configuration"},{"line_number":96,"context_line":"   effective;"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f201791_d8a8bb78","line":93,"updated":"2017-06-21 04:33:21.000000000","message":"ditto","commit_id":"2e761e1b7621a3137cd41faed1c80418c3772a21"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":5,"context_line":" https://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"PCI passthrough device modeling "},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Related Launchpad Blueprint:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_bbcba6a3","line":8,"range":{"start_line":8,"start_character":31,"end_line":8,"end_character":32},"updated":"2017-06-21 15:46:42.000000000","message":"nit: no space","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":25,"context_line":"devices. Virtual PCI devices are assigned to the same or different containers."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Since release Ocata, Openstack Nova enables flavor-based PCI-passthough device"},{"line_number":28,"context_line":"management. This design will not depend on the Nova \u0027s implementation of PCI-"},{"line_number":29,"context_line":"passthough work. However the design and implementation in Zun will refer to"},{"line_number":30,"context_line":"the existing of NOVA work and try to be consistant with NOVA\u0027s implementation."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_3bbf96fc","line":28,"range":{"start_line":28,"start_character":51,"end_line":28,"end_character":52},"updated":"2017-06-21 15:46:42.000000000","message":"nit: no space","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Since release Ocata, Openstack Nova enables flavor-based PCI-passthough device"},{"line_number":28,"context_line":"management. This design will not depend on the Nova \u0027s implementation of PCI-"},{"line_number":29,"context_line":"passthough work. However the design and implementation in Zun will refer to"},{"line_number":30,"context_line":"the existing of NOVA work and try to be consistant with NOVA\u0027s implementation."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Problem description"},{"line_number":33,"context_line":"\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":"5f201791_1b517ad9","line":30,"range":{"start_line":30,"start_character":16,"end_line":30,"end_character":20},"updated":"2017-06-21 15:46:42.000000000","message":"nit: should be Nova. This applies to all to the rest of the spec.","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Problem description"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"Currently, Zun scheduler can only schedule work loads with requests of regular"},{"line_number":35,"context_line":"compute  resources, such as CPUs, RAMs. There are some emerging use cases"},{"line_number":36,"context_line":"requiring containers to access resources such as GPUs, NICs and so on. PCI"},{"line_number":37,"context_line":"passthrough and SR-IOV are the common technology to enable such use cases."},{"line_number":38,"context_line":"To support the new use cases, the new resources will be added to Zun compute"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_bb5966ff","line":35,"range":{"start_line":35,"start_character":7,"end_line":35,"end_character":9},"updated":"2017-06-21 15:46:42.000000000","message":"nit: one space.","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   In zun.conf, whitelist entries are defined as the following:"},{"line_number":51,"context_line":"     pci_passthrough_whitelist \u003d {\u003centry\u003e}"},{"line_number":52,"context_line":"     Each whitelist entry is defined in the format:"},{"line_number":53,"context_line":"        [\"device_id\": \"\u003cid\u003e\",]"},{"line_number":54,"context_line":"        [\"product_id\": \"\u003cid\u003e\",]"},{"line_number":55,"context_line":"        [\"address\": \"[[[[\u003cdomain\u003e]:]\u003cbus\u003e]:][\u003cslot\u003e][.[\u003cfunction\u003e]]\" |"},{"line_number":56,"context_line":"         \"devname\": \"PCI Device Name\",]"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_5be37206","line":53,"range":{"start_line":53,"start_character":10,"end_line":53,"end_character":19},"updated":"2017-06-21 15:46:42.000000000","message":"You mean vendor_id?","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":64,"context_line":"       \"\u003ctag\u003e\": Additional \u003ctag\u003e and \u003ctag_value\u003e used for matching PCI devices."},{"line_number":65,"context_line":"             Supported \u003ctag\u003e: \"physical_network\". The pre-defined tag"},{"line_number":66,"context_line":"             \"physical_network\" is used to define the physical network, that"},{"line_number":67,"context_line":"             the SR-IOV NIC devices are attached to. "},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"2. Introduce a new configuration pci alias to allow zun to specify the PCI"},{"line_number":70,"context_line":"   device without needing to repeat all the PCI property requirement."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_1bc29a34","line":67,"range":{"start_line":67,"start_character":52,"end_line":67,"end_character":53},"updated":"2017-06-21 15:46:42.000000000","message":"nit: space.","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8ea3014564fbfceed4579e8b779fd6498da6cc93","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \"vendor_id\": \"8086\", \"device_type\": \"type-PCI\"}"},{"line_number":91,"context_line":"2. User will add the PCI-PASSTHROUGH filter to /etc/zun.conf at openstack"},{"line_number":92,"context_line":"   controller nodes."},{"line_number":93,"context_line":"\tscheduler_available_filters\u003dzun.scheduler.filters.all_filters"},{"line_number":94,"context_line":"\tscheduler_default_filters\u003d ..., PciPassthroughFilter"},{"line_number":95,"context_line":"3. User restart the Zun scheduler service to make the configuration"},{"line_number":96,"context_line":"   effective;"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f201791_fba0fea7","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":1},"updated":"2017-06-21 15:46:42.000000000","message":"nit: spaces instead of tag. This applies to all to the rest of the spec.","commit_id":"a08d8efe2bf6d915cb7d06c6fea482f7d7d4a85b"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"82e00b66b3dac7c9b4e8075355a37dfdfd08cc74","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"1. Introduce a new configuration to abstract the PCI devices at Zun Compute."},{"line_number":45,"context_line":"   A new PCI passthrough whitelist configuration will allow use to explicitly"},{"line_number":46,"context_line":"   define a list PCI devices to be available for Zun Compute services. The"},{"line_number":47,"context_line":"   whitelist of PCI devices should be common for both network PCI devices and"},{"line_number":48,"context_line":"   other compute or storage PCI devices. The PCI whitelist can be implemented"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_79bba4c3","line":45,"range":{"start_line":45,"start_character":60,"end_line":45,"end_character":63},"updated":"2017-06-23 03:19:55.000000000","message":"/use/user/","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"b8bc56e4cbee0288108b816c2f12eb6948bb05e4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"1. Introduce a new configuration to abstract the PCI devices at Zun Compute."},{"line_number":45,"context_line":"   A new PCI passthrough whitelist configuration will allow use to explicitly"},{"line_number":46,"context_line":"   define a list PCI devices to be available for Zun Compute services. The"},{"line_number":47,"context_line":"   whitelist of PCI devices should be common for both network PCI devices and"},{"line_number":48,"context_line":"   other compute or storage PCI devices. The PCI whitelist can be implemented"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_8f097f32","line":45,"range":{"start_line":45,"start_character":60,"end_line":45,"end_character":63},"in_reply_to":"5f201791_79bba4c3","updated":"2017-06-23 14:09:29.000000000","message":"will fix it in next patch.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"d1a3a8268ea09924864b94cfd76622a7032cfb5c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                   \"type-PF\" and \"type-VF\"."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The typical workflow will be as following:"},{"line_number":86,"context_line":"1. A user add PCI-PASSTHROUGH alias configuration at /etc/zun.conf at"},{"line_number":87,"context_line":"   openstack controller nodes."},{"line_number":88,"context_line":"        [default]"},{"line_number":89,"context_line":"        pci_alias \u003d { \"name\": \"QuickAssist\", \"product_id\": \"0443\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_1b380c9e","line":86,"range":{"start_line":86,"start_character":5,"end_line":86,"end_character":9},"updated":"2017-06-23 19:54:16.000000000","message":"Nit: Do we need to distinguish a cloud administrator from an cloud user? For example, the cloud administrator is the one who configure Zun to enable PCI passthrough and the cloud user is the one who create the container.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"a7c656131ec5d3fb41340bb7c4c20fde522c4a7f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                   \"type-PF\" and \"type-VF\"."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The typical workflow will be as following:"},{"line_number":86,"context_line":"1. A user add PCI-PASSTHROUGH alias configuration at /etc/zun.conf at"},{"line_number":87,"context_line":"   openstack controller nodes."},{"line_number":88,"context_line":"        [default]"},{"line_number":89,"context_line":"        pci_alias \u003d { \"name\": \"QuickAssist\", \"product_id\": \"0443\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_3e85c9cf","line":86,"range":{"start_line":86,"start_character":5,"end_line":86,"end_character":9},"in_reply_to":"5f201791_1b380c9e","updated":"2017-06-27 02:32:55.000000000","message":"good point! Now all configuration have to be done by cloud admin except the final container creation. I will change the doc accordingly.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"82e00b66b3dac7c9b4e8075355a37dfdfd08cc74","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   controller nodes."},{"line_number":93,"context_line":"       scheduler_available_filters\u003dzun.scheduler.filters.all_filters"},{"line_number":94,"context_line":"       scheduler_default_filters\u003d ..., PciPassthroughFilter"},{"line_number":95,"context_line":"3. User restart the Zun scheduler service to make the configuration"},{"line_number":96,"context_line":"   effective;"},{"line_number":97,"context_line":"4. User adds available PCI Passthrough devices to the whitelist of"},{"line_number":98,"context_line":"   /etc/zun.conf at Zun compute nodes. An example can be the following:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_59358845","line":95,"range":{"start_line":95,"start_character":24,"end_line":95,"end_character":33},"updated":"2017-06-23 03:19:55.000000000","message":"Zun does not have scheduler service, scheduler logic actually running in the zun-api. So I\u0027m thinking if we need to split the scheduler to a separate sevice.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"b8bc56e4cbee0288108b816c2f12eb6948bb05e4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   controller nodes."},{"line_number":93,"context_line":"       scheduler_available_filters\u003dzun.scheduler.filters.all_filters"},{"line_number":94,"context_line":"       scheduler_default_filters\u003d ..., PciPassthroughFilter"},{"line_number":95,"context_line":"3. User restart the Zun scheduler service to make the configuration"},{"line_number":96,"context_line":"   effective;"},{"line_number":97,"context_line":"4. User adds available PCI Passthrough devices to the whitelist of"},{"line_number":98,"context_line":"   /etc/zun.conf at Zun compute nodes. An example can be the following:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_f45a0d28","line":95,"range":{"start_line":95,"start_character":24,"end_line":95,"end_character":33},"in_reply_to":"5f201791_59358845","updated":"2017-06-23 14:09:29.000000000","message":"Shunli, ideally, the scheduling should be done through placement API once it become available. I will leave it to you and the team to decide if we really need to have a scheduler service before it happens. The more important things here is to keep consistent with Nova\u0027s implementation. So Zun will not have much unexpected issue when moving to the placement API.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"d1a3a8268ea09924864b94cfd76622a7032cfb5c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_db00546a","line":108,"range":{"start_line":108,"start_character":48,"end_line":108,"end_character":56},"updated":"2017-06-23 19:54:16.000000000","message":"test_QuickAssit container?","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"5f6aed4fed13a07d0a359385fc3c0ee64789729c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_0e77a8a2","line":108,"range":{"start_line":108,"start_character":48,"end_line":108,"end_character":56},"in_reply_to":"5f201791_db00546a","updated":"2017-06-23 20:19:27.000000000","message":"Perhaps you missed the name option:\n\n  $ zun create --name test_gpu --pci_passthrough xxx \u003cimage\u003e","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"d1a3a8268ea09924864b94cfd76622a7032cfb5c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_7bf5c082","line":109,"range":{"start_line":108,"start_character":72,"end_line":109,"end_character":31},"updated":"2017-06-23 19:54:16.000000000","message":"this is the \"--pci_passthrough QuickAssist:1\" ?","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18d0adaded1045c36668390c30533cf919a5807f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_cedd3043","line":109,"range":{"start_line":108,"start_character":72,"end_line":109,"end_character":31},"in_reply_to":"5f201791_6e373ce5","updated":"2017-06-26 01:47:25.000000000","message":"yes, it means the container takes one QuickAssist pci device. The SR-IOV networking use case will be quite different. The user will create network and port with Neutron. Zun container create will specify the network and endpoint type as SRIOV or \"direct\".","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"5f6aed4fed13a07d0a359385fc3c0ee64789729c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_6e373ce5","line":109,"range":{"start_line":108,"start_character":72,"end_line":109,"end_character":31},"in_reply_to":"5f201791_7bf5c082","updated":"2017-06-23 20:19:27.000000000","message":"It looks there is only 1 PIC devices with alias \"QuickAssist\".","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18d0adaded1045c36668390c30533cf919a5807f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"6. Each Zun Compute service updates the PCI-Passthough devices\u0027 availability to"},{"line_number":106,"context_line":"   Zun Scheduler perioadially."},{"line_number":107,"context_line":"7. User create a new container with request of a PCI-Passthrough device. For"},{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_2eeca4f1","line":109,"range":{"start_line":108,"start_character":72,"end_line":109,"end_character":31},"in_reply_to":"5f201791_7bf5c082","updated":"2017-06-26 01:47:25.000000000","message":"yes, the spec needs some cleaning-up.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"82e00b66b3dac7c9b4e8075355a37dfdfd08cc74","unresolved":false,"context_lines":[{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_9931e00e","line":111,"range":{"start_line":111,"start_character":28,"end_line":111,"end_character":57},"updated":"2017-06-23 03:19:55.000000000","message":"Could you provide the link of the other bp to help understand this spec.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"b8bc56e4cbee0288108b816c2f12eb6948bb05e4","unresolved":false,"context_lines":[{"line_number":108,"context_line":"   example, the following command will create a test_gpu container with two PCI"},{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_0f356ff7","line":111,"range":{"start_line":111,"start_character":28,"end_line":111,"end_character":57},"in_reply_to":"5f201791_9931e00e","updated":"2017-06-23 14:09:29.000000000","message":"All I want to do here is to give an example how we want to use the device. I am still working on it. It is a placeholder, I will attach the link here once the spec is available.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"5f6aed4fed13a07d0a359385fc3c0ee64789729c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Alternatives"},{"line_number":115,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_0e9c48be","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":66},"updated":"2017-06-23 20:19:27.000000000","message":"Option should be placed before the image name:\n\n  $ zun create --pci_passthrough QuickAssist:1 test_QuickAssist","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18d0adaded1045c36668390c30533cf919a5807f","unresolved":false,"context_lines":[{"line_number":109,"context_line":"   devices named \"gpu\" attached. The design and implementation details of"},{"line_number":110,"context_line":"   creating a workload with PCI_Passthrough devices are out of the scope of"},{"line_number":111,"context_line":"   this design spec. Please refer to the other blueprints for more details."},{"line_number":112,"context_line":"       zun create test_QuickAssist --pci_passthrough QuickAssist:1"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Alternatives"},{"line_number":115,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_aeb9d4e9","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":66},"in_reply_to":"5f201791_0e9c48be","updated":"2017-06-26 01:47:25.000000000","message":"will fix in next patch.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"d1a3a8268ea09924864b94cfd76622a7032cfb5c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"configurations, in particularly pci_alias can be included in the flavor"},{"line_number":118,"context_line":"configuration [2][3]. Thus users will use the flavor to specify the PCI device"},{"line_number":119,"context_line":"to be used for container."},{"line_number":120,"context_line":"Integration with OpenStack Cyborg is another mid to long term alternative[4]."},{"line_number":121,"context_line":"Cyborg as a service for managing accelerators of any kind needs to cooperate"},{"line_number":122,"context_line":"with Nova as well as Zun on two planes: Cyborg should be able to inform"},{"line_number":123,"context_line":"Nova and Zun about the resources through placement API[5], so that scheduler"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f201791_fb1790a2","line":120,"range":{"start_line":120,"start_character":27,"end_line":120,"end_character":33},"updated":"2017-06-23 19:54:16.000000000","message":"Interesting.","commit_id":"e57cf14ab2b68b02571e226bcb4a50352c475a32"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"d2afecb38e25f6a0e525feb9c2db74424201e5ba","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"1. Introduce a new configuration to abstract the PCI devices at Zun Compute."},{"line_number":45,"context_line":"   A new PCI passthrough whitelist configuration will allow cloud "},{"line_number":46,"context_line":"   administrators to explicitly define a list PCI devices to be available "},{"line_number":47,"context_line":"   for Zun Compute services. The whitelist of PCI devices should be common "},{"line_number":48,"context_line":"   for both network PCI devices and other compute or storage PCI devices."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_97439a6c","line":45,"range":{"start_line":45,"start_character":65,"end_line":45,"end_character":66},"updated":"2017-06-27 02:44:39.000000000","message":"please fix trailing spaces","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"d2afecb38e25f6a0e525feb9c2db74424201e5ba","unresolved":false,"context_lines":[{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"1. Introduce a new configuration to abstract the PCI devices at Zun Compute."},{"line_number":45,"context_line":"   A new PCI passthrough whitelist configuration will allow cloud "},{"line_number":46,"context_line":"   administrators to explicitly define a list PCI devices to be available "},{"line_number":47,"context_line":"   for Zun Compute services. The whitelist of PCI devices should be common "},{"line_number":48,"context_line":"   for both network PCI devices and other compute or storage PCI devices."},{"line_number":49,"context_line":"   The PCI whitelist can be implemented exactly as Nova[1]:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_3a114b53","line":46,"range":{"start_line":46,"start_character":73,"end_line":46,"end_character":74},"updated":"2017-06-27 02:44:39.000000000","message":"ditto","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"d2afecb38e25f6a0e525feb9c2db74424201e5ba","unresolved":false,"context_lines":[{"line_number":44,"context_line":"1. Introduce a new configuration to abstract the PCI devices at Zun Compute."},{"line_number":45,"context_line":"   A new PCI passthrough whitelist configuration will allow cloud "},{"line_number":46,"context_line":"   administrators to explicitly define a list PCI devices to be available "},{"line_number":47,"context_line":"   for Zun Compute services. The whitelist of PCI devices should be common "},{"line_number":48,"context_line":"   for both network PCI devices and other compute or storage PCI devices."},{"line_number":49,"context_line":"   The PCI whitelist can be implemented exactly as Nova[1]:"},{"line_number":50,"context_line":"   In zun.conf, whitelist entries are defined as the following:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_1a1a0f6e","line":47,"range":{"start_line":47,"start_character":74,"end_line":47,"end_character":75},"updated":"2017-06-27 02:44:39.000000000","message":"ditto","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"d2afecb38e25f6a0e525feb9c2db74424201e5ba","unresolved":false,"context_lines":[{"line_number":109,"context_line":"   device. For example, the following command will create a test_QuickAssist"},{"line_number":110,"context_line":"   container with two PCI devices named \"QuickAssist\" attached. The design and"},{"line_number":111,"context_line":"   implementation details of creating a workload with PCI_Passthrough devices"},{"line_number":112,"context_line":"   are out of the scope of this design spec. Please refer to the other "},{"line_number":113,"context_line":"   blueprints (TBD) for more details."},{"line_number":114,"context_line":"       zun create --pci_passthrough QuickAssist:1 test_QuickAssist"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_da29378a","line":112,"range":{"start_line":112,"start_character":70,"end_line":112,"end_character":71},"updated":"2017-06-27 02:44:39.000000000","message":"ditto","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"},{"author":{"_account_id":13629,"name":"Zhipeng","email":"huangzhipeng@huawei.com","username":"zhipengh"},"change_message_id":"d2afecb38e25f6a0e525feb9c2db74424201e5ba","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Nova and Zun about the resources through placement API[5], so that scheduler"},{"line_number":126,"context_line":"can leverage user request for particular functionality into assignment of"},{"line_number":127,"context_line":"specific resource using resource provider which possess an accelerator;"},{"line_number":128,"context_line":"and second, Cyborg should be able to provide an information how Nova compute"},{"line_number":129,"context_line":"can attach particular resource to VM or container."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_5a140744","line":128,"range":{"start_line":128,"start_character":37,"end_line":128,"end_character":44},"updated":"2017-06-27 02:44:39.000000000","message":"For the container running on bare metal scenario, Cyborg will directly handle the management of accelerators and could provide the related information to Zun without involving Nova at all","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"51ee950ca613bc97c77bf837daefe2135bf23a56","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Nova and Zun about the resources through placement API[5], so that scheduler"},{"line_number":126,"context_line":"can leverage user request for particular functionality into assignment of"},{"line_number":127,"context_line":"specific resource using resource provider which possess an accelerator;"},{"line_number":128,"context_line":"and second, Cyborg should be able to provide an information how Nova compute"},{"line_number":129,"context_line":"can attach particular resource to VM or container."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f201791_85044016","line":128,"range":{"start_line":128,"start_character":37,"end_line":128,"end_character":44},"in_reply_to":"5f201791_5a140744","updated":"2017-06-28 14:13:01.000000000","message":"I agree. With this implementation, Zun will interact with Cyborg and Placement service only.","commit_id":"a90092d096d15ca1a2b255ca9ee9b5bab72ef939"}]}
