<div dir="ltr"><div>For example, I have SR-IOV PF with four ports (P_i), two of them are</div><div>connected to one switch (SW_1) and other two to another (SW_2). I</div><div>would like to get VFs from distinct ports connected to distinct</div><div>switches (more details can be found in spec [1]), how it can be</div><div>modeled with nested resource providers?</div><div><br></div><div>Several possible solutions I see:</div><div><br></div><div><font face="monospace, monospace">1)                                                             </font></div><div><font face="monospace, monospace">                          --- compute node -----</font></div><div><font face="monospace, monospace">                     ----/     /          \     \------</font></div><div><font face="monospace, monospace">               -----/         /            \            \-------</font></div><div><font face="monospace, monospace">              /              /              \                   \</font></div><div><font face="monospace, monospace">         SR-IOV PF         SR-IOV PF         SR-IOV PF         SR-IOV PF</font></div><div><font face="monospace, monospace">       (traits:P1,SW1)  (traits:P2,SW1)   (traits:P3,SW2)    (traits:P4,SW2)</font></div><div><font face="monospace, monospace">            :                 :                 :                 :</font></div><div><font face="monospace, monospace">           / \               / \               / \               / \</font></div><div><font face="monospace, monospace">          /   \             /   \             /   \             /   \</font></div><div><font face="monospace, monospace">       VF1    VF2        VF3    VF4        VF5    VF6        VF7    VF8</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">2) </font></div><div><font face="monospace, monospace">                        compute node</font></div><div><font face="monospace, monospace">                      /              \</font></div><div><font face="monospace, monospace">                    /                  \</font></div><div><font face="monospace, monospace">           SR-IOV PF                   SR-IOV PF          </font></div><div><font face="monospace, monospace">          (traits:SW1)                (traits:SW2)        </font></div><div><font face="monospace, monospace">            /      \                    /      \          </font></div><div><font face="monospace, monospace">           /        \                  /        \         </font></div><div><font face="monospace, monospace">      SR-IOV PF     SR-IOV PF     SR-IOV PF     SR-IOV PF </font></div><div><font face="monospace, monospace">     (traits:P1)   (traits:P2)   (traits:P3)   (traits:P4)</font></div><div><font face="monospace, monospace">         :             :             :             :      </font></div><div><font face="monospace, monospace">        / \           / \           / \           / \     </font></div><div><font face="monospace, monospace">       /   \         /   \         /   \         /   \    </font></div><div><font face="monospace, monospace">    VF1    VF2    VF3    VF4    VF5    VF6    VF7    VF8 </font> </div><div><br></div><div><br></div><div>3) Use tags for inventories, so the problem can be solved without complex structures.</div><div><br></div><div>Are the described options applicable or there are other to solve the issue?</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/182242/">https://review.openstack.org/#/c/182242/</a></div><div><br></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div>Thanks,</div><div><br></div><div>Andrey Volkov,</div><div>Software Engineer, <span style="font-size:12.8px">Mirantis, Inc.</span></div></div></div></div></div></div>
</div>