Remove sphinxcontrib.seqdiag

This was a great tool but it seems it is no longer maintained, with no
commits since late 2021 [1]. Remove it, capturing static copies of the
SVGs it was generating so we don't lose information. The original
"source" is retained in case we ever want to revive our use of the tool
but that seems unlikely at this point.

[1] https://github.com/blockdiag/blockdiag

Change-Id: Ie3f89730128fdb8beca8bb02312d11516affcbbc
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2023-07-05 15:21:49 +01:00
parent 554c30522b
commit 00347ca9b7
14 changed files with 538 additions and 172 deletions

View File

@ -1,10 +1,5 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
# NOTE(gibi): Sphinx 4.4.0 made _`[1]` type of refs global
# and that breaks the spec builds
sphinx>=2.0.0,!=2.1.0,!=4.4.0 # BSD
sphinxcontrib-seqdiag>=0.8.4 # BSD
openstackdocstheme>=2.2.1 # Apache-2.0
yasfb>=0.8.0 # BSD

View File

@ -0,0 +1,36 @@
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Resource Tracker'; 'Report Client'; Placement; 'Virt Driver';
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=None)"];
'Resource Tracker' <- 'Virt Driver' [label = "raise ReshapeNeeded", color = red];
'Resource Tracker' -> 'Report Client' [label = "get_allocations_for_provider_tree()", color = red];
'Report Client' -> Placement [label = "GET /resource_providers/{uuid}/allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Report Client' -> 'Report Client' [label = "get_allocations_for_consumer(context, consumer)", color = red];
'Report Client' -> Placement [label = "GET /allocations/{consumer_uuid}", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Resource Tracker' <-- 'Report Client' [label = "{allocations by consumer}", color = red];
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=allocations)", color = red];
'Resource Tracker' <-- 'Virt Driver';
'Resource Tracker' -> 'Report Client' [label = "update_from_provider_tree(
context, new_tree,
allocations)"];
'Report Client' -> Placement [label = "POST /resource_providers
(create new providers)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /resource_providers/{uuid}/aggregates|traits
(fix up aggregates, traits, etc.)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /reshaper {transformation payload}"];
Placement --> Placement [label = "create/modify/
delete
inventories"];
Placement --> Placement [label = "create/modify/
delete
allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 204"];
'Resource Tracker' <-- 'Report Client'
}

View File

@ -0,0 +1,108 @@
<svg height="1160" viewBox="0 0 856 1160" width="856" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="267" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="467" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="667" y="21" />
<path d="M 128 55 L 128 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 328 55 L 328 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 528 55 L 528 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 728 55 L 728 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="128.0" y="41">Resource Tracker</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="264" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="78" x="328.0" y="41">Report Client</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="464" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="528.0" y="41">Placement</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="664" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="728.0" y="41">Virt Driver</text>
<path d="M 136 85 L 720 85" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,81 720,85 712,89" stroke="rgb(0,0,0)" />
<path d="M 136 125 L 720 125" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="144,121 136,125 144,129" stroke="rgb(255,0,0)" />
<path d="M 136 178 L 320 178" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="312,174 320,178 312,182" stroke="rgb(255,0,0)" />
<path d="M 336 231 L 520 231" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="512,227 520,231 512,235" stroke="rgb(255,0,0)" />
<path d="M 336 271 L 520 271" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="344,267 336,271 344,275" stroke="rgb(255,0,0)" />
<path d="M 336 337 L 428 337" fill="none" stroke="rgb(255,0,0)" />
<path d="M 428 337 L 428 353" fill="none" stroke="rgb(255,0,0)" />
<path d="M 428 353 L 336 353" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="344,349 336,353 344,357" stroke="rgb(255,0,0)" />
<path d="M 336 406 L 520 406" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="512,402 520,406 512,410" stroke="rgb(255,0,0)" />
<path d="M 336 446 L 520 446" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="344,442 336,446 344,450" stroke="rgb(255,0,0)" />
<path d="M 136 486 L 320 486" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="144,482 136,486 144,490" stroke="rgb(255,0,0)" />
<path d="M 136 526 L 720 526" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="712,522 720,526 712,530" stroke="rgb(255,0,0)" />
<path d="M 136 551 L 720 551" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="144,547 136,551 144,555" stroke="rgb(0,0,0)" />
<path d="M 136 617 L 320 617" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="312,613 320,617 312,621" stroke="rgb(0,0,0)" />
<path d="M 336 670 L 520 670" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,666 520,670 512,674" stroke="rgb(0,0,0)" />
<path d="M 336 710 L 520 710" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,706 336,710 344,714" stroke="rgb(0,0,0)" />
<path d="M 336 789 L 520 789" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,785 520,789 512,793" stroke="rgb(0,0,0)" />
<path d="M 336 829 L 520 829" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,825 336,829 344,833" stroke="rgb(0,0,0)" />
<path d="M 336 882 L 520 882" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,878 520,882 512,886" stroke="rgb(0,0,0)" />
<path d="M 536 948 L 628 948" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<path d="M 628 948 L 628 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<path d="M 628 964 L 536 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="544,960 536,964 544,968" stroke="rgb(0,0,0)" />
<path d="M 536 1030 L 628 1030" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<path d="M 628 1030 L 628 1046" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<path d="M 628 1046 L 536 1046" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="544,1042 536,1046 544,1050" stroke="rgb(255,0,0)" />
<path d="M 336 1086 L 520 1086" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,1082 336,1086 344,1090" stroke="rgb(0,0,0)" />
<path d="M 136 1111 L 320 1111" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="144,1107 136,1111 144,1115" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="378" x="333.0" y="81">update_provider_tree(provider_tree, nodename, allocations=None)</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="659.0" y="121">raise ReshapeNeeded</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="231.0" y="161">get_allocations_for_provider_</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="162.0" y="174">tree()</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="214">GET /resource_providers/{uuid</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="78" x="383.0" y="227">}/allocations</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="267">HTTP 200</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="394.0" y="307">get_allocations_fo</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="394.0" y="320">r_consumer(context</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="373.0" y="333">, consumer)</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="389">GET /allocations/{consumer_uu</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="353.0" y="402">id}</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="442">HTTP 200</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="150" x="241.0" y="482">{allocations by consumer}</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="420" x="354.0" y="522">update_provider_tree(provider_tree, nodename, allocations=allocations)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="156" x="222.0" y="587">update_from_provider_tree(</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="198.0" y="600">context, new_tree,</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="72" x="180.0" y="613">allocations)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="144" x="416.0" y="653">POST /resource_providers</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="132" x="410.0" y="666">(create new providers)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="706">HTTP 200</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="746">POST /resource_providers/{uui</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="404.0" y="759">d}/aggregates|traits</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="772">(fix up aggregates, traits, e</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="24" x="356.0" y="785">tc.)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="825">HTTP 200</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="865">POST /reshaper {transformatio</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="60" x="374.0" y="878">n payload}</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="582.0" y="918">create/modify/</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="558.0" y="931">delete</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="573.0" y="944">inventories</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="582.0" y="1000">create/modify/</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="558.0" y="1013">delete</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="573.0" y="1026">allocations</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="1082">HTTP 204</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,36 @@
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Resource Tracker'; 'Report Client'; Placement; 'Virt Driver';
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=None)"];
'Resource Tracker' <- 'Virt Driver' [label = "raise ReshapeNeeded", color = red];
'Resource Tracker' -> 'Report Client' [label = "get_allocations_for_provider_tree()", color = red];
'Report Client' -> Placement [label = "GET /resource_providers/{uuid}/allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Report Client' -> 'Report Client' [label = "get_allocations_for_consumer(context, consumer)", color = red];
'Report Client' -> Placement [label = "GET /allocations/{consumer_uuid}", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Resource Tracker' <-- 'Report Client' [label = "{allocations by consumer}", color = red];
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=allocations)", color = red];
'Resource Tracker' <-- 'Virt Driver';
'Resource Tracker' -> 'Report Client' [label = "update_from_provider_tree(
context, new_tree,
allocations)"];
'Report Client' -> Placement [label = "POST /resource_providers
(create new providers)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /resource_providers/{uuid}/aggregates|traits
(fix up aggregates, traits, etc.)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /reshaper {transformation payload}"];
Placement --> Placement [label = "create/modify/
delete
inventories"];
Placement --> Placement [label = "create/modify/
delete
allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 204"];
'Resource Tracker' <-- 'Report Client'
}

View File

@ -0,0 +1,108 @@
<svg height="1160" viewBox="0 0 856 1160" width="856" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="267" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="467" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="667" y="21" />
<path d="M 128 55 L 128 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 328 55 L 328 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 528 55 L 528 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 728 55 L 728 1160" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="128.0" y="41">Resource Tracker</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="264" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="78" x="328.0" y="41">Report Client</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="464" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="528.0" y="41">Placement</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="664" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="728.0" y="41">Virt Driver</text>
<path d="M 136 85 L 720 85" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,81 720,85 712,89" stroke="rgb(0,0,0)" />
<path d="M 136 125 L 720 125" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="144,121 136,125 144,129" stroke="rgb(255,0,0)" />
<path d="M 136 178 L 320 178" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="312,174 320,178 312,182" stroke="rgb(255,0,0)" />
<path d="M 336 231 L 520 231" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="512,227 520,231 512,235" stroke="rgb(255,0,0)" />
<path d="M 336 271 L 520 271" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="344,267 336,271 344,275" stroke="rgb(255,0,0)" />
<path d="M 336 337 L 428 337" fill="none" stroke="rgb(255,0,0)" />
<path d="M 428 337 L 428 353" fill="none" stroke="rgb(255,0,0)" />
<path d="M 428 353 L 336 353" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="344,349 336,353 344,357" stroke="rgb(255,0,0)" />
<path d="M 336 406 L 520 406" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="512,402 520,406 512,410" stroke="rgb(255,0,0)" />
<path d="M 336 446 L 520 446" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="344,442 336,446 344,450" stroke="rgb(255,0,0)" />
<path d="M 136 486 L 320 486" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="144,482 136,486 144,490" stroke="rgb(255,0,0)" />
<path d="M 136 526 L 720 526" fill="none" stroke="rgb(255,0,0)" />
<polygon fill="rgb(255,0,0)" points="712,522 720,526 712,530" stroke="rgb(255,0,0)" />
<path d="M 136 551 L 720 551" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="144,547 136,551 144,555" stroke="rgb(0,0,0)" />
<path d="M 136 617 L 320 617" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="312,613 320,617 312,621" stroke="rgb(0,0,0)" />
<path d="M 336 670 L 520 670" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,666 520,670 512,674" stroke="rgb(0,0,0)" />
<path d="M 336 710 L 520 710" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,706 336,710 344,714" stroke="rgb(0,0,0)" />
<path d="M 336 789 L 520 789" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,785 520,789 512,793" stroke="rgb(0,0,0)" />
<path d="M 336 829 L 520 829" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,825 336,829 344,833" stroke="rgb(0,0,0)" />
<path d="M 336 882 L 520 882" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,878 520,882 512,886" stroke="rgb(0,0,0)" />
<path d="M 536 948 L 628 948" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<path d="M 628 948 L 628 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<path d="M 628 964 L 536 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="544,960 536,964 544,968" stroke="rgb(0,0,0)" />
<path d="M 536 1030 L 628 1030" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<path d="M 628 1030 L 628 1046" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<path d="M 628 1046 L 536 1046" fill="none" stroke="rgb(255,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(255,0,0)" points="544,1042 536,1046 544,1050" stroke="rgb(255,0,0)" />
<path d="M 336 1086 L 520 1086" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="344,1082 336,1086 344,1090" stroke="rgb(0,0,0)" />
<path d="M 136 1111 L 320 1111" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
<polygon fill="rgb(0,0,0)" points="144,1107 136,1111 144,1115" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="378" x="333.0" y="81">update_provider_tree(provider_tree, nodename, allocations=None)</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="659.0" y="121">raise ReshapeNeeded</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="231.0" y="161">get_allocations_for_provider_</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="162.0" y="174">tree()</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="214">GET /resource_providers/{uuid</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="78" x="383.0" y="227">}/allocations</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="267">HTTP 200</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="394.0" y="307">get_allocations_fo</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="394.0" y="320">r_consumer(context</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="373.0" y="333">, consumer)</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="389">GET /allocations/{consumer_uu</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="353.0" y="402">id}</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="442">HTTP 200</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="150" x="241.0" y="482">{allocations by consumer}</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="420" x="354.0" y="522">update_provider_tree(provider_tree, nodename, allocations=allocations)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="156" x="222.0" y="587">update_from_provider_tree(</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="198.0" y="600">context, new_tree,</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="72" x="180.0" y="613">allocations)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="144" x="416.0" y="653">POST /resource_providers</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="132" x="410.0" y="666">(create new providers)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="706">HTTP 200</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="746">POST /resource_providers/{uui</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="404.0" y="759">d}/aggregates|traits</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="772">(fix up aggregates, traits, e</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="24" x="356.0" y="785">tc.)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="825">HTTP 200</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="431.0" y="865">POST /reshaper {transformatio</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="60" x="374.0" y="878">n payload}</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="582.0" y="918">create/modify/</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="558.0" y="931">delete</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="573.0" y="944">inventories</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="582.0" y="1000">create/modify/</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="558.0" y="1013">delete</text>
<text fill="rgb(255,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="573.0" y="1026">allocations</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="492.0" y="1082">HTTP 204</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,39 @@
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Nova Controller'; 'Placement'; 'Cyborg'; 'Nova Compute';
'Nova Controller' -> 'Cyborg' [label =
"GET /v2/device_profiles?name=mydp"];
'Nova Controller' <- 'Cyborg' [label =
'{"device_profiles": $device_profile}'];
'Nova Controller' -> 'Nova Controller' [label=
'Merge request groups into request_spec'];
'Nova Controller' -> 'Placement' [label=
'Get /allocation_candidates'];
'Nova Controller' -> 'Placement' [label=
'allocation candidates with nested RPs'];
'Nova Controller' -> 'Nova Controller' [label=
'Select a candidate'];
'Nova Controller' -> 'Nova Compute' [label=
'build_and_run_instances()'];
'Nova Compute' -> 'Cyborg' [label=
'POST /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Nova Compute' -> 'Cyborg' [label=
'PATCH /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Cyborg' -> 'Nova Controller' [label=
'POST /os-server-external-events'];
'Nova Compute' -> 'Nova Compute' [label=
'Wait for notification from Cyborg'];
'Nova Compute' -> 'Cyborg' [label=
'GET /v2/accelerator_requests?
instance=$uuid&bind_state=resolved'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ....]}'];
}

View File

@ -0,0 +1,84 @@
<svg height="885" viewBox="0 0 856 885" width="856" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="267" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="467" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="667" y="21" />
<path d="M 128 55 L 128 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 328 55 L 328 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 528 55 L 528 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 728 55 L 728 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="90" x="128.0" y="41">Nova Controller</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="264" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="328.0" y="41">Placement</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="464" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="528.0" y="41">Cyborg</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="664" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="72" x="728.0" y="41">Nova Compute</text>
<path d="M 136 85 L 520 85" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,81 520,85 512,89" stroke="rgb(0,0,0)" />
<path d="M 136 125 L 520 125" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,121 136,125 144,129" stroke="rgb(0,0,0)" />
<path d="M 136 191 L 224 191" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 191 L 224 207" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 207 L 136 207" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,203 136,207 144,211" stroke="rgb(0,0,0)" />
<path d="M 136 247 L 320 247" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="312,243 320,247 312,251" stroke="rgb(0,0,0)" />
<path d="M 136 300 L 320 300" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="312,296 320,300 312,304" stroke="rgb(0,0,0)" />
<path d="M 136 353 L 224 353" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 353 L 224 369" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 369 L 136 369" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,365 136,369 144,373" stroke="rgb(0,0,0)" />
<path d="M 136 409 L 720 409" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,405 720,409 712,413" stroke="rgb(0,0,0)" />
<path d="M 536 462 L 720 462" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,458 536,462 544,466" stroke="rgb(0,0,0)" />
<path d="M 536 502 L 720 502" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,498 720,502 712,506" stroke="rgb(0,0,0)" />
<path d="M 536 555 L 720 555" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,551 536,555 544,559" stroke="rgb(0,0,0)" />
<path d="M 536 595 L 720 595" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,591 720,595 712,599" stroke="rgb(0,0,0)" />
<path d="M 136 635 L 520 635" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,631 136,635 144,639" stroke="rgb(0,0,0)" />
<path d="M 736 701 L 816 701" fill="none" stroke="rgb(0,0,0)" />
<path d="M 816 701 L 816 717" fill="none" stroke="rgb(0,0,0)" />
<path d="M 816 717 L 736 717" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="744,713 736,717 744,721" stroke="rgb(0,0,0)" />
<path d="M 536 796 L 720 796" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,792 536,796 544,800" stroke="rgb(0,0,0)" />
<path d="M 536 836 L 720 836" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,832 720,836 712,840" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="198" x="243.0" y="81">GET /v2/device_profiles?name=mydp</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="216" x="408.0" y="121">{"device_profiles": $device_profile}</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="161">Merge request grou</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="174">ps into request_sp</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="12" x="146.0" y="187">ec</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="156" x="222.0" y="243">Get /allocation_candidates</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="231.0" y="283">allocation candidates with ne</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="168.0" y="296">sted RPs</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="343">Select a candidate</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="150" x="219.0" y="405">build_and_run_instances()</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="452">POST /v2/accelerator_requests</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="604.0" y="498">{"arqs": [$arq, ...]</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="538">PATCH /v2/accelerator_request</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="6" x="713.0" y="551">s</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="604.0" y="591">{"arqs": [$arq, ...]</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="186" x="423.0" y="631">POST /os-server-external-events</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="788.0" y="671">Wait for notific</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="788.0" y="684">ation from Cybor</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="6" x="743.0" y="697">g</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="760">GET /v2/accelerator_requests?</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="773">instance=$uuid&amp;bind_state=res</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="701.0" y="786">olved</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="132" x="610.0" y="832">{"arqs": [$arq, ....]}</text>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,39 @@
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Nova Controller'; 'Placement'; 'Cyborg'; 'Nova Compute';
'Nova Controller' -> 'Cyborg' [label =
"GET /v2/device_profiles?name=mydp"];
'Nova Controller' <- 'Cyborg' [label =
'{"device_profiles": $device_profile}'];
'Nova Controller' -> 'Nova Controller' [label=
'Merge request groups into request_spec'];
'Nova Controller' -> 'Placement' [label=
'Get /allocation_candidates'];
'Nova Controller' <- 'Placement' [label=
'allocation candidates with nested RPs'];
'Nova Controller' -> 'Nova Controller' [label=
'Select a candidate'];
'Nova Controller' -> 'Nova Compute' [label=
'build_and_run_instances()'];
'Nova Compute' -> 'Cyborg' [label=
'POST /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Nova Compute' -> 'Cyborg' [label=
'PATCH /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Cyborg' -> 'Nova Controller' [label=
'POST /os-server-external-events'];
'Nova Compute' -> 'Nova Compute' [label=
'Wait for notification from Cyborg'];
'Nova Compute' -> 'Cyborg' [label=
'GET /v2/accelerator_requests?
instance=$uuid&bind_state=resolved'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ....]}'];
}

View File

@ -0,0 +1,84 @@
<svg height="885" viewBox="0 0 856 885" width="856" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="267" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="467" y="21" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="667" y="21" />
<path d="M 128 55 L 128 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 328 55 L 328 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 528 55 L 528 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 728 55 L 728 885" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="90" x="128.0" y="41">Nova Controller</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="264" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="328.0" y="41">Placement</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="464" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="528.0" y="41">Cyborg</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="664" y="15" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="72" x="728.0" y="41">Nova Compute</text>
<path d="M 136 85 L 520 85" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="512,81 520,85 512,89" stroke="rgb(0,0,0)" />
<path d="M 136 125 L 520 125" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,121 136,125 144,129" stroke="rgb(0,0,0)" />
<path d="M 136 191 L 224 191" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 191 L 224 207" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 207 L 136 207" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,203 136,207 144,211" stroke="rgb(0,0,0)" />
<path d="M 136 247 L 320 247" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="312,243 320,247 312,251" stroke="rgb(0,0,0)" />
<path d="M 136 300 L 320 300" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,296 136,300 144,304" stroke="rgb(0,0,0)" />
<path d="M 136 353 L 224 353" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 353 L 224 369" fill="none" stroke="rgb(0,0,0)" />
<path d="M 224 369 L 136 369" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,365 136,369 144,373" stroke="rgb(0,0,0)" />
<path d="M 136 409 L 720 409" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,405 720,409 712,413" stroke="rgb(0,0,0)" />
<path d="M 536 462 L 720 462" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,458 536,462 544,466" stroke="rgb(0,0,0)" />
<path d="M 536 502 L 720 502" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,498 720,502 712,506" stroke="rgb(0,0,0)" />
<path d="M 536 555 L 720 555" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,551 536,555 544,559" stroke="rgb(0,0,0)" />
<path d="M 536 595 L 720 595" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,591 720,595 712,599" stroke="rgb(0,0,0)" />
<path d="M 136 635 L 520 635" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,631 136,635 144,639" stroke="rgb(0,0,0)" />
<path d="M 736 701 L 816 701" fill="none" stroke="rgb(0,0,0)" />
<path d="M 816 701 L 816 717" fill="none" stroke="rgb(0,0,0)" />
<path d="M 816 717 L 736 717" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="744,713 736,717 744,721" stroke="rgb(0,0,0)" />
<path d="M 536 796 L 720 796" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="544,792 536,796 544,800" stroke="rgb(0,0,0)" />
<path d="M 536 836 L 720 836" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="712,832 720,836 712,840" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="198" x="243.0" y="81">GET /v2/device_profiles?name=mydp</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="216" x="408.0" y="121">{"device_profiles": $device_profile}</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="161">Merge request grou</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="174">ps into request_sp</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="12" x="146.0" y="187">ec</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="156" x="222.0" y="243">Get /allocation_candidates</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="229.0" y="283">allocation candidates with ne</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="292.0" y="296">sted RPs</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="194.0" y="343">Select a candidate</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="150" x="219.0" y="405">build_and_run_instances()</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="452">POST /v2/accelerator_requests</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="604.0" y="498">{"arqs": [$arq, ...]</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="538">PATCH /v2/accelerator_request</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="6" x="713.0" y="551">s</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="120" x="604.0" y="591">{"arqs": [$arq, ...]</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="186" x="423.0" y="631">POST /os-server-external-events</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="788.0" y="671">Wait for notific</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="96" x="788.0" y="684">ation from Cybor</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="6" x="743.0" y="697">g</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="760">GET /v2/accelerator_requests?</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="174" x="629.0" y="773">instance=$uuid&amp;bind_state=res</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="701.0" y="786">olved</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="132" x="610.0" y="832">{"arqs": [$arq, ....]}</text>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -18,7 +18,6 @@ extensions = [
'sphinx.ext.todo',
'openstackdocstheme',
'yasfb',
'sphinxcontrib.seqdiag',
]
todo_include_todos = True
@ -64,9 +63,3 @@ openstackdocs_auto_version = False
feed_base_url = 'https://specs.openstack.org/openstack/nova-specs'
feed_author = 'OpenStack Nova Team'
# -- seqdiag configuration ----------------------------------------------------
seqdiag_html_image_format = 'SVG'
seqdiag_antialias = True

View File

@ -43,44 +43,7 @@ Proposed change
The overall flow is as follows. The parts in red only happen when a reshape is
needed. This represents the happy path on compute startup only.
.. seqdiag::
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Resource Tracker'; 'Report Client'; Placement; 'Virt Driver';
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=None)"];
'Resource Tracker' <- 'Virt Driver' [label = "raise ReshapeNeeded", color = red];
'Resource Tracker' -> 'Report Client' [label = "get_allocations_for_provider_tree()", color = red];
'Report Client' -> Placement [label = "GET /resource_providers/{uuid}/allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Report Client' -> 'Report Client' [label = "get_allocations_for_consumer(context, consumer)", color = red];
'Report Client' -> Placement [label = "GET /allocations/{consumer_uuid}", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Resource Tracker' <-- 'Report Client' [label = "{allocations by consumer}", color = red];
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=allocations)", color = red];
'Resource Tracker' <-- 'Virt Driver';
'Resource Tracker' -> 'Report Client' [label = "update_from_provider_tree(
context, new_tree,
allocations)"];
'Report Client' -> Placement [label = "POST /resource_providers
(create new providers)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /resource_providers/{uuid}/aggregates|traits
(fix up aggregates, traits, etc.)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /reshaper {transformation payload}"];
Placement --> Placement [label = "create/modify/
delete
inventories"];
Placement --> Placement [label = "create/modify/
delete
allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 204"];
'Resource Tracker' <-- 'Report Client'
}
.. image:: /_media/rocky/reshape-provider-tree.svg
Note that, for Fast-Forward Upgrades, the ``Resource Tracker`` lane is actually
the `Offline Upgrade Script`_.

View File

@ -43,44 +43,7 @@ Proposed change
The overall flow is as follows. The parts in red only happen when a reshape is
needed. This represents the happy path on compute startup only.
.. seqdiag::
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Resource Tracker'; 'Report Client'; Placement; 'Virt Driver';
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=None)"];
'Resource Tracker' <- 'Virt Driver' [label = "raise ReshapeNeeded", color = red];
'Resource Tracker' -> 'Report Client' [label = "get_allocations_for_provider_tree()", color = red];
'Report Client' -> Placement [label = "GET /resource_providers/{uuid}/allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Report Client' -> 'Report Client' [label = "get_allocations_for_consumer(context, consumer)", color = red];
'Report Client' -> Placement [label = "GET /allocations/{consumer_uuid}", color = red];
'Report Client' <-- Placement [label = "HTTP 200", color = red];
'Resource Tracker' <-- 'Report Client' [label = "{allocations by consumer}", color = red];
'Resource Tracker' -> 'Virt Driver' [label = "update_provider_tree(provider_tree, nodename, allocations=allocations)", color = red];
'Resource Tracker' <-- 'Virt Driver';
'Resource Tracker' -> 'Report Client' [label = "update_from_provider_tree(
context, new_tree,
allocations)"];
'Report Client' -> Placement [label = "POST /resource_providers
(create new providers)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /resource_providers/{uuid}/aggregates|traits
(fix up aggregates, traits, etc.)"];
'Report Client' <-- Placement [label = "HTTP 200"];
'Report Client' -> Placement [label = "POST /reshaper {transformation payload}"];
Placement --> Placement [label = "create/modify/
delete
inventories"];
Placement --> Placement [label = "create/modify/
delete
allocations", color = red];
'Report Client' <-- Placement [label = "HTTP 204"];
'Resource Tracker' <-- 'Report Client'
}
.. image:: /_media/stein/reshape-provider-tree.svg
Note that, for Fast-Forward Upgrades, the ``Resource Tracker`` lane is actually
the `Offline Upgrade Script`_.

View File

@ -272,48 +272,7 @@ conductor and scheduler are together represented as the Nova controller. The
ARQ creation is shown to happen in Nova compute manager only for concreteness;
it may be in the controller instead.
.. seqdiag::
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Nova Controller'; 'Placement'; 'Cyborg'; 'Nova Compute';
'Nova Controller' -> 'Cyborg' [label =
"GET /v2/device_profiles?name=mydp"];
'Nova Controller' <- 'Cyborg' [label =
'{"device_profiles": $device_profile}'];
'Nova Controller' -> 'Nova Controller' [label=
'Merge request groups into request_spec'];
'Nova Controller' -> 'Placement' [label=
'Get /allocation_candidates'];
'Nova Controller' -> 'Placement' [label=
'allocation candidates with nested RPs'];
'Nova Controller' -> 'Nova Controller' [label=
'Select a candidate'];
'Nova Controller' -> 'Nova Compute' [label=
'build_and_run_instances()'];
'Nova Compute' -> 'Cyborg' [label=
'POST /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Nova Compute' -> 'Cyborg' [label=
'PATCH /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Cyborg' -> 'Nova Controller' [label=
'POST /os-server-external-events'];
'Nova Compute' -> 'Nova Compute' [label=
'Wait for notification from Cyborg'];
'Nova Compute' -> 'Cyborg' [label=
'GET /v2/accelerator_requests?
instance=$uuid&bind_state=resolved'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ....]}'];
}
.. image:: /_media/train/nova-cyborg-interaction.svg
Alternatives
------------

View File

@ -269,48 +269,7 @@ Cyborg API calls are routed through that.
This flow is captured by the following sequence diagram, in which the Nova
conductor and scheduler are together represented as the Nova controller.
.. seqdiag::
seqdiag {
edge_length = 200;
span_height = 15;
activation = none;
default_note_color = white;
'Nova Controller'; 'Placement'; 'Cyborg'; 'Nova Compute';
'Nova Controller' -> 'Cyborg' [label =
"GET /v2/device_profiles?name=mydp"];
'Nova Controller' <- 'Cyborg' [label =
'{"device_profiles": $device_profile}'];
'Nova Controller' -> 'Nova Controller' [label=
'Merge request groups into request_spec'];
'Nova Controller' -> 'Placement' [label=
'Get /allocation_candidates'];
'Nova Controller' <- 'Placement' [label=
'allocation candidates with nested RPs'];
'Nova Controller' -> 'Nova Controller' [label=
'Select a candidate'];
'Nova Controller' -> 'Nova Compute' [label=
'build_and_run_instances()'];
'Nova Compute' -> 'Cyborg' [label=
'POST /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Nova Compute' -> 'Cyborg' [label=
'PATCH /v2/accelerator_requests'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ...]'];
'Cyborg' -> 'Nova Controller' [label=
'POST /os-server-external-events'];
'Nova Compute' -> 'Nova Compute' [label=
'Wait for notification from Cyborg'];
'Nova Compute' -> 'Cyborg' [label=
'GET /v2/accelerator_requests?
instance=$uuid&bind_state=resolved'];
'Nova Compute' <- 'Cyborg' [label=
'{"arqs": [$arq, ....]}'];
}
.. image:: /_media/ussuri/nova-cyborg-interaction.svg
Alternatives
------------