Jump to: navigation, search

File:TrunkApiAfter.svg

Original file(SVG file, nominally 1,025 × 460 pixels, file size: 14 KB)
// dot -Tsvg -oTrunkApiAfter.svg TrunkApiAfter.dot

digraph "Neutron API: with Trunks" {

    rankdir = LR
    node [
        shape = plaintext
    ]   

    network [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gold" port="head" >neutron / network</td></tr>
                    <tr><td align="left"   port="id"   >id</td></tr>
                    <tr><td align="left"   port="rest" >...</td></tr>
                </table>>
    ]   

    server [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="green" port="head"               >nova / server</td></tr>
                    <tr><td align="left"   port="id"                  >id</td></tr>
                    <tr><td align="left"   port="hypervisor_hostname" >hypervisor_hostname</td></tr>
                    <tr><td align="left"   port="rest"                >...</td></tr>
                </table>>
    ]   

    hypervisor [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="green" port="head"               >nova / hypervisor</td></tr>
                    <tr><td align="left"   port="hypervisor_hostname" >hypervisor_hostname</td></tr>
                    <tr><td align="left"   port="rest"                >...</td></tr>
                </table>>
    ]   

    port_parent [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gold" port="head"            >neutron / port (parent)</td></tr>
                    <tr><td align="left"   port="id"              >id</td></tr>
                    <tr><td align="left"   port="network_id"      >network_id</td></tr>
                    <tr><td align="left"   port="device_owner"    >device_owner = nova:compute</td></tr>
                    <tr><td align="left"   port="device_id"       >device_id</td></tr>
                    <tr><td align="left"   port="binding_host_id" >binding_host_id</td></tr>
                    <tr><td align="left"   port="mac_address"     >mac_address</td></tr>
                    <tr><td align="left"   port="trunk_details"   >trunk_details = ... (read-only!)</td></tr>
                    <tr><td align="left"   port="rest"            >...</td></tr>
                </table>>
    ]   

    port_child [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gold" port="head"            >neutron / port (child)</td></tr>
                    <tr><td align="left"   port="id"              >id</td></tr>
                    <tr><td align="left"   port="network_id"      >network_id</td></tr>
                    <tr><td align="left"   port="device_owner"    >device_owner = ?</td></tr>
                    <tr><td align="left"   port="device_id"       >device_id = ?</td></tr>
                    <tr><td align="left"   port="binding_host_id" >binding_host_id = ?</td></tr>
                    <tr><td align="left"   port="mac_address"     >mac_address</td></tr>
                    <tr><td align="left"   port="rest"            >...</td></tr>
                </table>>
    ]   

    trunk [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gold" port="head"      >neutron / trunk</td></tr>
                    <tr><td align="left"   port="id"        >id</td></tr>
                    <tr><td align="left"   port="name"      >name</td></tr>
                    <tr><td align="left"   port="status"    >status</td></tr>
                    <tr><td align="left"   port="tenant_id" >tenant_id</td></tr>
                    <tr><td align="left"   port="sub_ports" >sub_ports = ...</td></tr>
                    <tr><td align="left"   port="port_id"   >port_id</td></tr>
                </table>>
    ]   

    sub_ports [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gray" port="head"              >json list of dict of</td></tr>
                    <tr><td align="left"   port="port_id"           >port_id</td></tr>
                    <tr><td align="left"   port="segmentation_type" >segmentation_type</td></tr>
                    <tr><td align="left"   port="segmentation_id"   >segmentation_id</td></tr>
                </table>>
    ]

    trunk_details [
        label = <<table border="0" cellborder="1" cellspacing="0">
                    <tr><td bgcolor="gray" port="head"      >json dict of</td></tr>
                    <tr><td align="left"   port="trunk_id"  >trunk_id</td></tr>
                    <tr><td align="left"   port="sub_ports" >sub_ports</td></tr>
                </table>>
    ]

    ##

    trunk:port_id -> port_parent:id
    port_parent:device_id -> server:id
    port_parent:binding_host_id -> hypervisor:hypervisor_hostname
    port_parent:network_id -> network:id
    port_child:network_id -> network:id
    server:hypervisor_hostname -> hypervisor:hypervisor_hostname
    sub_ports:port_id -> port_child:id
    trunk:sub_ports -> sub_ports:head
    trunk_details:head -> port_parent:trunk_details [
        dir = back
        style = dotted
    ]
    trunk_details:sub_ports -> sub_ports:head [
        style = dotted
    ]
    trunk_details:trunk_id -> trunk:id [
        style = dotted
    ]

}

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current15:05, 22 August 2016Thumbnail for version as of 15:05, 22 August 20161,025 × 460 (14 KB)Bence.romsics (talk | contribs)
13:33, 22 August 2016Thumbnail for version as of 13:33, 22 August 20161,025 × 460 (14 KB)Bence.romsics (talk | contribs)
  • You cannot overwrite this file.

The following 2 pages link to this file:

Metadata