Merge "Remove the sphinxcontrib-seqdiag dependency"

This commit is contained in:
Zuul 2024-01-29 18:19:16 +00:00 committed by Gerrit Code Review
commit 9050f66a1b
25 changed files with 1566 additions and 295 deletions

View File

@ -3,5 +3,4 @@ os-api-ref>=1.4.0 # Apache-2.0
reno>=3.1.0 # Apache-2.0 reno>=3.1.0 # Apache-2.0
sphinx>=2.0.0,!=2.1.0 # BSD sphinx>=2.0.0,!=2.1.0 # BSD
sphinxcontrib-apidoc>=0.2.0 # BSD sphinxcontrib-apidoc>=0.2.0 # BSD
sphinxcontrib-seqdiag>=0.8.4 # BSD
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD

View File

@ -61,55 +61,14 @@ token, allowing the agent to authenticate the caller.
With Virtual Media With Virtual Media
------------------ ------------------
.. seqdiag:: .. figure:: ./../images/agent-token-with-virtual-media.svg
:scale: 80 :width: 100%
diagram {
API; Conductor; Baremetal; Swift; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> Conductor [label = "Generates a random token"];
Conductor -> Conductor [label = "Generates configuration for IPA ramdisk"];
Conductor -> Swift [label = "IPA image, with configuration is uploaded"];
Conductor -> Baremetal [label = "Attach IPA virtual media in Swift as virtual CD"];
Conductor -> Baremetal [label = "Conductor turns power on"];
Baremetal -> Swift [label = "Baremetal reads virtual media"];
Baremetal -> Baremetal [label = "Boots IPA virtual media image"];
Baremetal -> Baremetal [label = "IPA is started"];
IPA -> Baremetal [label = "IPA loads configuration and agent token into memory"];
IPA -> API [label = "Lookup node"];
API -> IPA [label = "API responds with node UUID and token value of '******'"];
IPA -> API [label = "Heartbeat with agent token"];
}
With PXE/iPXE/etc. With PXE/iPXE/etc.
------------------ ------------------
.. seqdiag:: .. figure:: ./../images/agent-token-with-pxe-ipxe.svg
:scale: 80 :width: 100%
diagram {
API; Conductor; Baremetal; iPXE; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> Baremetal [label = "Conductor turns power on"];
Baremetal -> iPXE [label = "Baremetal reads kernel/ramdisk and starts boot"];
Baremetal -> Baremetal [label = "Boots IPA iPXE image"];
Baremetal -> Baremetal [label = "IPA is started"];
IPA -> Baremetal [label = "IPA loads configuration"];
IPA -> API [label = "Lookup node"];
API -> Conductor [label = "API requests conductor to generates a random token"];
API -> IPA [label = "API responds with node UUID and token value"];
IPA -> API [label = "Heartbeat with agent token"];
}
Agent Configuration Agent Configuration
=================== ===================

View File

@ -21,25 +21,8 @@ In essence, ironic sets the stage for the process, by providing the required
information to the boot interface to facilitate the configuration of the information to the boot interface to facilitate the configuration of the
the node OR the iPXE boot templates such that the node CAN be booted. the node OR the iPXE boot templates such that the node CAN be booted.
.. seqdiag:: .. figure:: ./../images/boot-from-volume.svg
:scale: 80 :width: 100%
diagram {
User; API; Conductor; Storage; Boot; Network; Deploy;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
User -> API [label = "User or intermediate service such as nova supplies volume target configuration."];
User -> API [label = "Sends deployment request."];
API -> Conductor [label = "API transmits the action to the conductor service"];
Conductor -> Storage [label = "Conductor calls the storage_interface to perform attachment of volume to node"];
Conductor -> Boot [label = "Conductor calls the boot interface signaling preparation of an instance"];
Conductor -> Network [label = "Conductor attaches the machine to network requested by the user VIF"];
Conductor -> Deploy [label = "Conductor starts deployment steps which just turn the power on."];
}
In this example, the boot interface does the heavy lifting. For drivers the In this example, the boot interface does the heavy lifting. For drivers the
``irmc`` and ``ilo`` hardware types with hardware type specific boot ``irmc`` and ``ilo`` hardware types with hardware type specific boot

View File

@ -1099,197 +1099,32 @@ Deploy Process
Glance and swift for partition images Glance and swift for partition images
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. seqdiag:: .. figure:: ./../../images/glance-and-swift-for-partition-images.svg
:scale: 80 :width: 100%
diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to root partition"];
IPA -> IPA [label = "Installs boot loader"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> iLO [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}
Glance and swift with whole-disk images Glance and swift with whole-disk images
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. seqdiag:: .. figure:: ./../../images/glance-and-swift-whole-disk-images.svg
:scale: 80 :width: 100%
diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> iLO [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}
Swiftless deploy Swiftless deploy
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
.. seqdiag:: .. figure:: ./../../images/swiftless-deploy.svg
:scale: 80 :width: 100%
diagram {
Glance; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -> ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}
HTTP(S) based deploy HTTP(S) based deploy
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. seqdiag:: .. figure:: ./../../images/https-based-deploy.svg
:scale: 80 :width: 100%
diagram {
Webserver; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Webserver [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Webserver [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}
Standalone ironic Standalone ironic
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
.. seqdiag:: .. figure:: ./../../images/standalone-ironic.svg
:scale: 80 :width: 100%
diagram {
Webserver; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -> ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates URL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Webserver [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Webserver [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}
Activating iLO Advanced license as manual clean step Activating iLO Advanced license as manual clean step
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -34,7 +34,6 @@ sys.path.insert(0, os.path.join(os.path.abspath('.'), '_exts'))
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.viewcode', extensions = ['sphinx.ext.viewcode',
'sphinx.ext.graphviz', 'sphinx.ext.graphviz',
'sphinxcontrib.seqdiag',
'sphinxcontrib.apidoc', 'sphinxcontrib.apidoc',
'sphinxcontrib.rsvgconverter', 'sphinxcontrib.rsvgconverter',
'oslo_config.sphinxext', 'oslo_config.sphinxext',
@ -163,7 +162,3 @@ latex_documents = [
# Allow deeper levels of nesting for \begin...\end stanzas # Allow deeper levels of nesting for \begin...\end stanzas
latex_elements = {'maxlistdepth': 10} latex_elements = {'maxlistdepth': 10}
# -- Options for seqdiag ------------------------------------------------------
seqdiag_html_image_format = "SVG"

View File

@ -0,0 +1,18 @@
diagram {
API; Conductor; Baremetal; iPXE; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> Baremetal [label = "Conductor turns power on"];
Baremetal -> iPXE [label = "Baremetal reads kernel/ramdisk and starts boot"];
Baremetal -> Baremetal [label = "Boots IPA iPXE image"];
Baremetal -> Baremetal [label = "IPA is started"];
IPA -> Baremetal [label = "IPA loads configuration"];
IPA -> API [label = "Lookup node"];
API -> Conductor [label = "API requests conductor to generates a random token"];
API -> IPA [label = "API responds with node UUID and token value"];
IPA -> API [label = "Heartbeat with agent token"];
}

View File

@ -0,0 +1,83 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1256 407" 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>diagram {
API; Conductor; Baremetal; iPXE; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; Baremetal [label = "Conductor turns power on"];
Baremetal -&gt; iPXE [label = "Baremetal reads kernel/ramdisk and starts boot"];
Baremetal -&gt; Baremetal [label = "Boots IPA iPXE image"];
Baremetal -&gt; Baremetal [label = "IPA is started"];
IPA -&gt; Baremetal [label = "IPA loads configuration"];
IPA -&gt; API [label = "Lookup node"];
API -&gt; Conductor [label = "API requests conductor to generates a random token"];
API -&gt; IPA [label = "API responds with node UUID and token value"];
IPA -&gt; API [label = "Heartbeat with agent token"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<path d="M 128 41 L 128 414" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 414" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 414" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 414" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 414" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="128.0" y="28">API</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="878.0" y="28">iPXE</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<path d="M 386 60 L 620 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,56 620,60 612,64" stroke="rgb(0,0,0)" />
<path d="M 636 105 L 870 105" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,101 870,105 862,109" stroke="rgb(0,0,0)" />
<path d="M 636 150 L 753 150" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 150 L 753 166" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 166 L 636 166" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,162 636,166 644,170" stroke="rgb(0,0,0)" />
<path d="M 636 195 L 753 195" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 195 L 753 211" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 211 L 636 211" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,207 636,211 644,215" stroke="rgb(0,0,0)" />
<path d="M 636 240 L 1120 240" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,236 636,240 644,244" stroke="rgb(0,0,0)" />
<path d="M 136 269 L 1120 269" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,265 136,269 144,273" stroke="rgb(0,0,0)" />
<path d="M 136 314 L 370 314" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,310 370,314 362,318" stroke="rgb(0,0,0)" />
<path d="M 136 343 L 1120 343" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,339 1120,343 1112,347" stroke="rgb(0,0,0)" />
<path d="M 136 372 L 1120 372" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,368 136,372 144,376" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="56">Conductor turns power on</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="758.5" y="85">Baremetal reads kernel/ramdisk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="705.0" y="101"> and starts boot</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="130">Boots IPA iPXE ima</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="647.5" y="146">ge</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="693.0" y="191">IPA is started</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="1028.5" y="236">IPA loads configuration</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="265">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="294">API requests conductor to gene</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="220.0" y="310">rates a random token</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="328" x="308.0" y="339">API responds with node UUID and token value</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="198" x="1017.0" y="368">Heartbeat with agent token</text>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -0,0 +1,21 @@
diagram {
API; Conductor; Baremetal; Swift; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> Conductor [label = "Generates a random token"];
Conductor -> Conductor [label = "Generates configuration for IPA ramdisk"];
Conductor -> Swift [label = "IPA image, with configuration is uploaded"];
Conductor -> Baremetal [label = "Attach IPA virtual media in Swift as virtual CD"];
Conductor -> Baremetal [label = "Conductor turns power on"];
Baremetal -> Swift [label = "Baremetal reads virtual media"];
Baremetal -> Baremetal [label = "Boots IPA virtual media image"];
Baremetal -> Baremetal [label = "IPA is started"];
IPA -> Baremetal [label = "IPA loads configuration and agent token into memory"];
IPA -> API [label = "Lookup node"];
API -> IPA [label = "API responds with node UUID and token value of '******'"];
IPA -> API [label = "Heartbeat with agent token"];
}

View File

@ -0,0 +1,101 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1256 574" 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>diagram {
API; Conductor; Baremetal; Swift; IPA;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; Conductor [label = "Generates a random token"];
Conductor -&gt; Conductor [label = "Generates configuration for IPA ramdisk"];
Conductor -&gt; Swift [label = "IPA image, with configuration is uploaded"];
Conductor -&gt; Baremetal [label = "Attach IPA virtual media in Swift as virtual CD"];
Conductor -&gt; Baremetal [label = "Conductor turns power on"];
Baremetal -&gt; Swift [label = "Baremetal reads virtual media"];
Baremetal -&gt; Baremetal [label = "Boots IPA virtual media image"];
Baremetal -&gt; Baremetal [label = "IPA is started"];
IPA -&gt; Baremetal [label = "IPA loads configuration and agent token into memory"];
IPA -&gt; API [label = "Lookup node"];
API -&gt; IPA [label = "API responds with node UUID and token value of '******'"];
IPA -&gt; API [label = "Heartbeat with agent token"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<path d="M 128 41 L 128 581" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 581" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 581" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 581" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 581" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="128.0" y="28">API</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="878.0" y="28">Swift</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<path d="M 386 76 L 503 76" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 76 L 503 92" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 92 L 386 92" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,88 386,92 394,96" stroke="rgb(0,0,0)" />
<path d="M 386 153 L 503 153" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 153 L 503 169" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 169 L 386 169" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,165 386,169 394,173" stroke="rgb(0,0,0)" />
<path d="M 386 198 L 870 198" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,194 870,198 862,202" stroke="rgb(0,0,0)" />
<path d="M 386 243 L 620 243" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,239 620,243 612,247" stroke="rgb(0,0,0)" />
<path d="M 386 272 L 620 272" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,268 620,272 612,276" stroke="rgb(0,0,0)" />
<path d="M 636 317 L 870 317" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,313 870,317 862,321" stroke="rgb(0,0,0)" />
<path d="M 636 362 L 753 362" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 362 L 753 378" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 378 L 636 378" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,374 636,378 644,382" stroke="rgb(0,0,0)" />
<path d="M 636 407 L 753 407" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 407 L 753 423" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 423 L 636 423" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,419 636,423 644,427" stroke="rgb(0,0,0)" />
<path d="M 636 452 L 1120 452" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,448 636,452 644,456" stroke="rgb(0,0,0)" />
<path d="M 136 481 L 1120 481" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,477 136,481 144,485" stroke="rgb(0,0,0)" />
<path d="M 136 510 L 1120 510" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,506 1120,510 1112,514" stroke="rgb(0,0,0)" />
<path d="M 136 539 L 1120 539" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,535 136,539 144,543" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="56">Generates a random</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="412.5" y="72"> token</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="117">Generates configur</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="133">ation for IPA ramd</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="401.0" y="149">isk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="313" x="550.5" y="194">IPA image, with configuration is uploaded</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="508.5" y="223">Attach IPA virtual media in Sw</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="239">ift as virtual CD</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="268">Conductor turns power on</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="221" x="754.5" y="305">Baremetal reads virtual media</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="342">Boots IPA virtual </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="682.0" y="358">media image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="693.0" y="403">IPA is started</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="389" x="921.5" y="448">IPA loads configuration and agent token into memory</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="477">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="420" x="354.0" y="506">API responds with node UUID and token value of '******'</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="198" x="1017.0" y="535">Heartbeat with agent token</text>
</svg>

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,16 @@
diagram {
User; API; Conductor; Storage; Boot; Network; Deploy;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
User -> API [label = "User or intermediate service such as nova supplies volume target configuration."];
User -> API [label = "Sends deployment request."];
API -> Conductor [label = "API transmits the action to the conductor service"];
Conductor -> Storage [label = "Conductor calls the storage_interface to perform attachment of volume to node"];
Conductor -> Boot [label = "Conductor calls the boot interface signaling preparation of an instance"];
Conductor -> Network [label = "Conductor attaches the machine to network requested by the user VIF"];
Conductor -> Deploy [label = "Conductor starts deployment steps which just turn the power on."];
}

View File

@ -0,0 +1,82 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1756 365" 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>diagram {
User; API; Conductor; Storage; Boot; Network; Deploy;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
User -&gt; API [label = "User or intermediate service such as nova supplies volume target configuration."];
User -&gt; API [label = "Sends deployment request."];
API -&gt; Conductor [label = "API transmits the action to the conductor service"];
Conductor -&gt; Storage [label = "Conductor calls the storage_interface to perform attachment of volume to node"];
Conductor -&gt; Boot [label = "Conductor calls the boot interface signaling preparation of an instance"];
Conductor -&gt; Network [label = "Conductor attaches the machine to network requested by the user VIF"];
Conductor -&gt; Deploy [label = "Conductor starts deployment steps which just turn the power on."];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<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="1567" y="7" />
<path d="M 128 41 L 128 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 372" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1628 41 L 1628 372" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="128.0" y="28">User</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="378.0" y="28">API</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="878.5" y="28">Storage</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="1128.0" y="28">Boot</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1378.5" y="28">Network</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="1628.5" y="28">Deploy</text>
<path d="M 136 92 L 370 92" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,88 370,92 362,96" stroke="rgb(0,0,0)" />
<path d="M 136 121 L 370 121" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,117 370,121 362,125" stroke="rgb(0,0,0)" />
<path d="M 386 166 L 620 166" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,162 620,166 612,170" stroke="rgb(0,0,0)" />
<path d="M 636 227 L 870 227" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,223 870,227 862,231" stroke="rgb(0,0,0)" />
<path d="M 636 272 L 1120 272" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,268 1120,272 1112,276" stroke="rgb(0,0,0)" />
<path d="M 636 301 L 1370 301" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,297 1370,301 1362,305" stroke="rgb(0,0,0)" />
<path d="M 636 330 L 1620 330" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,326 1620,330 1612,334" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="56">User or intermediate service s</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="72">uch as nova supplies volume ta</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="216.5" y="88">rget configuration.</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="190" x="239.0" y="117">Sends deployment request.</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="508.5" y="146">API transmits the action to th</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="162">e conductor service</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="758.5" y="191">Conductor calls the storage_in</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="758.5" y="207">terface to perform attachment </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="708.5" y="223">of volume to node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="473" x="880.5" y="252">Conductor calls the boot interface signaling preparation of an</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="678.0" y="268"> instance</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="511" x="899.5" y="297">Conductor attaches the machine to network requested by the user VIF</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="481" x="884.5" y="326">Conductor starts deployment steps which just turn the power on.</text>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -0,0 +1,47 @@
diagram {
Nova; API; Conductor; Neutron; HTTPStore; "TFTP/HTTPd"; Node;
activation = none;
edge_length = 250;
span_height = 1;
default_note_color = white;
default_fontsize = 14;
Nova -> API [label = "Set instance_info\n(image_source,\nroot_gb, etc.)"];
Nova -> API [label = "Validate power and deploy\ninterfaces"];
Nova -> API [label = "Plug VIFs to the node"];
Nova -> API [label = "Set provision_state,\noptionally pass configdrive"];
API -> Conductor [label = "do_node_deploy()"];
Conductor -> Conductor [label = "Validate power and deploy interfaces"];
Conductor -> HTTPStore [label = "Store configdrive if configdrive_use_swift \noption is set"];
Conductor -> Node [label = "POWER OFF"];
Conductor -> Neutron [label = "Attach provisioning network to port(s)"];
Conductor -> Neutron [label = "Update DHCP boot options"];
Conductor -> Conductor [label = "Prepare PXE\nenvironment for\ndeployment"];
Conductor -> Node [label = "Set PXE boot device \nthrough the BMC"];
Conductor -> Conductor [label = "Cache deploy\nand instance\nkernel and ramdisk"];
Conductor -> Node [label = "REBOOT"];
Node -> Neutron [label = "DHCP request"];
Neutron -> Node [label = "next-server = Conductor"];
Node -> Node [label = "Runs agent\nramdisk"];
Node -> API [label = "lookup()"];
API -> Node [label = "Pass UUID"];
Node -> API [label = "Heartbeat (UUID)"];
API -> Conductor [label = "Heartbeat"];
Conductor -> Node [label = "Continue deploy asynchronously: Pass image, disk info"];
Node -> HTTPStore [label = "Downloads image, writes to disk, \nwrites configdrive if present"];
=== Heartbeat periodically ===
Conductor -> Node [label = "Is deploy done?"];
Node -> Conductor [label = "Still working..."];
=== ... ===
Node -> Conductor [label = "Deploy is done"];
Conductor -> Node [label = "Install boot loader, if requested"];
Conductor -> Neutron [label = "Update DHCP boot options"];
Conductor -> Conductor [label = "Prepare PXE\nenvironment for\ninstance image\nif needed"];
Conductor -> Node [label = "Set boot device either to PXE or to disk"];
Conductor -> Node [label = "Collect ramdisk logs"];
Conductor -> Node [label = "POWER OFF"];
Conductor -> Neutron [label = "Detach provisioning network\nfrom port(s)"];
Conductor -> Neutron [label = "Bind tenant port"];
Conductor -> Node [label = "POWER ON"];
Conductor -> Conductor [label = "Mark node as\nACTIVE"];
}

View File

@ -0,0 +1,237 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1756 1624" 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>diagram {
Nova; API; Conductor; Neutron; HTTPStore; "TFTP/HTTPd"; Node;
activation = none;
edge_length = 250;
span_height = 1;
default_note_color = white;
default_fontsize = 14;
Nova -&gt; API [label = "Set instance_info\n(image_source,\nroot_gb, etc.)"];
Nova -&gt; API [label = "Validate power and deploy\ninterfaces"];
Nova -&gt; API [label = "Plug VIFs to the node"];
Nova -&gt; API [label = "Set provision_state,\noptionally pass configdrive"];
API -&gt; Conductor [label = "do_node_deploy()"];
Conductor -&gt; Conductor [label = "Validate power and deploy interfaces"];
Conductor -&gt; HTTPStore [label = "Store configdrive if configdrive_use_swift \noption is set"];
Conductor -&gt; Node [label = "POWER OFF"];
Conductor -&gt; Neutron [label = "Attach provisioning network to port(s)"];
Conductor -&gt; Neutron [label = "Update DHCP boot options"];
Conductor -&gt; Conductor [label = "Prepare PXE\nenvironment for\ndeployment"];
Conductor -&gt; Node [label = "Set PXE boot device \nthrough the BMC"];
Conductor -&gt; Conductor [label = "Cache deploy\nand instance\nkernel and ramdisk"];
Conductor -&gt; Node [label = "REBOOT"];
Node -&gt; Neutron [label = "DHCP request"];
Neutron -&gt; Node [label = "next-server = Conductor"];
Node -&gt; Node [label = "Runs agent\nramdisk"];
Node -&gt; API [label = "lookup()"];
API -&gt; Node [label = "Pass UUID"];
Node -&gt; API [label = "Heartbeat (UUID)"];
API -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Node [label = "Continue deploy asynchronously: Pass image, disk info"];
Node -&gt; HTTPStore [label = "Downloads image, writes to disk, \nwrites configdrive if present"];
=== Heartbeat periodically ===
Conductor -&gt; Node [label = "Is deploy done?"];
Node -&gt; Conductor [label = "Still working..."];
=== ... ===
Node -&gt; Conductor [label = "Deploy is done"];
Conductor -&gt; Node [label = "Install boot loader, if requested"];
Conductor -&gt; Neutron [label = "Update DHCP boot options"];
Conductor -&gt; Conductor [label = "Prepare PXE\nenvironment for\ninstance image\nif needed"];
Conductor -&gt; Node [label = "Set boot device either to PXE or to disk"];
Conductor -&gt; Node [label = "Collect ramdisk logs"];
Conductor -&gt; Node [label = "POWER OFF"];
Conductor -&gt; Neutron [label = "Detach provisioning network\nfrom port(s)"];
Conductor -&gt; Neutron [label = "Bind tenant port"];
Conductor -&gt; Node [label = "POWER ON"];
Conductor -&gt; Conductor [label = "Mark node as\nACTIVE"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<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="1567" y="7" />
<path d="M 128 41 L 128 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 1631" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1628 41 L 1628 1631" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="128.0" y="28">Nova</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="378.0" y="28">API</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="878.5" y="28">Neutron</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1128.0" y="28">HTTPStore</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="1378.0" y="28">TFTP/HTTPd</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="30" x="1628.0" y="28">Node</text>
<path d="M 136 92 L 370 92" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,88 370,92 362,96" stroke="rgb(0,0,0)" />
<path d="M 136 137 L 370 137" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,133 370,137 362,141" stroke="rgb(0,0,0)" />
<path d="M 136 166 L 370 166" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,162 370,166 362,170" stroke="rgb(0,0,0)" />
<path d="M 136 211 L 370 211" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,207 370,211 362,215" stroke="rgb(0,0,0)" />
<path d="M 386 240 L 620 240" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,236 620,240 612,244" stroke="rgb(0,0,0)" />
<path d="M 636 301 L 753 301" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 301 L 753 317" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 317 L 636 317" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,313 636,317 644,321" stroke="rgb(0,0,0)" />
<path d="M 636 362 L 1120 362" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,358 1120,362 1112,366" stroke="rgb(0,0,0)" />
<path d="M 636 391 L 1620 391" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,387 1620,391 1612,395" stroke="rgb(0,0,0)" />
<path d="M 636 436 L 870 436" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,432 870,436 862,440" stroke="rgb(0,0,0)" />
<path d="M 636 465 L 870 465" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,461 870,465 862,469" stroke="rgb(0,0,0)" />
<path d="M 636 526 L 753 526" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 526 L 753 542" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 542 L 636 542" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,538 636,542 644,546" stroke="rgb(0,0,0)" />
<path d="M 636 587 L 1620 587" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,583 1620,587 1612,591" stroke="rgb(0,0,0)" />
<path d="M 636 664 L 753 664" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 664 L 753 680" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 680 L 636 680" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,676 636,680 644,684" stroke="rgb(0,0,0)" />
<path d="M 636 709 L 1620 709" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,705 1620,709 1612,713" stroke="rgb(0,0,0)" />
<path d="M 886 738 L 1620 738" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="894,734 886,738 894,742" stroke="rgb(0,0,0)" />
<path d="M 886 767 L 1620 767" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,763 1620,767 1612,771" stroke="rgb(0,0,0)" />
<path d="M 1636 812 L 1716 812" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1716 812 L 1716 828" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1716 828 L 1636 828" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1644,824 1636,828 1644,832" stroke="rgb(0,0,0)" />
<path d="M 386 857 L 1620 857" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,853 386,857 394,861" stroke="rgb(0,0,0)" />
<path d="M 386 886 L 1620 886" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,882 1620,886 1612,890" stroke="rgb(0,0,0)" />
<path d="M 386 915 L 1620 915" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,911 386,915 394,919" stroke="rgb(0,0,0)" />
<path d="M 386 944 L 620 944" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,940 620,944 612,948" stroke="rgb(0,0,0)" />
<path d="M 636 973 L 1620 973" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,969 1620,973 1612,977" stroke="rgb(0,0,0)" />
<path d="M 1136 1018 L 1620 1018" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,1014 1136,1018 1144,1022" stroke="rgb(0,0,0)" />
<path d="M 636 1088 L 1620 1088" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1084 1620,1088 1612,1092" stroke="rgb(0,0,0)" />
<path d="M 636 1117 L 1620 1117" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1113 636,1117 644,1121" stroke="rgb(0,0,0)" />
<path d="M 636 1187 L 1620 1187" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1183 636,1187 644,1191" stroke="rgb(0,0,0)" />
<path d="M 636 1216 L 1620 1216" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1212 1620,1216 1612,1220" stroke="rgb(0,0,0)" />
<path d="M 636 1245 L 870 1245" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,1241 870,1245 862,1249" stroke="rgb(0,0,0)" />
<path d="M 636 1322 L 753 1322" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1322 L 753 1338" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1338 L 636 1338" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1334 636,1338 644,1342" stroke="rgb(0,0,0)" />
<path d="M 636 1367 L 1620 1367" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1363 1620,1367 1612,1371" stroke="rgb(0,0,0)" />
<path d="M 636 1396 L 1620 1396" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1392 1620,1396 1612,1400" stroke="rgb(0,0,0)" />
<path d="M 636 1425 L 1620 1425" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1421 1620,1425 1612,1429" stroke="rgb(0,0,0)" />
<path d="M 636 1470 L 870 1470" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,1466 870,1470 862,1474" stroke="rgb(0,0,0)" />
<path d="M 636 1499 L 870 1499" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,1495 870,1499 862,1503" stroke="rgb(0,0,0)" />
<path d="M 636 1528 L 1620 1528" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,1524 1620,1528 1612,1532" stroke="rgb(0,0,0)" />
<path d="M 636 1573 L 753 1573" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1573 L 753 1589" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1589 L 636 1589" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1585 636,1589 644,1593" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="208.5" y="56">Set instance_info</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="197.0" y="72">(image_source,</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="197.0" y="88">root_gb, etc.)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="190" x="239.0" y="117">Validate power and deploy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="182.0" y="133">interfaces</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="160" x="224.0" y="162">Plug VIFs to the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="220.0" y="191">Set provision_state,</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="247.0" y="207">optionally pass configdrive</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="455.0" y="236">do_node_deploy()</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="273">Validate power and</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="289"> deploy interfaces</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="320" x="804.0" y="342">Store configdrive if configdrive_use_swift</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="99" x="693.5" y="358">option is set</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="678.0" y="387">POWER OFF</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="758.5" y="416">Attach provisioning network to</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="674.5" y="432"> port(s)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="735.5" y="461">Update DHCP boot options</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="682.0" y="490">Prepare PXE</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="697.0" y="506">environment for</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="678.0" y="522">deployment</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="716.5" y="567">Set PXE boot device</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="701.0" y="583">through the BMC</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="685.5" y="620">Cache deploy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="685.5" y="636">and instance</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="652">kernel and ramdisk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="666.5" y="705">REBOOT</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="1570.5" y="734">DHCP request</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="981.5" y="763">next-server = Conductor</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="1678.0" y="792">Runs agent</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1666.5" y="808">ramdisk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="1585.5" y="853">lookup()</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="428.0" y="882">Pass UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="1555.0" y="911">Heartbeat (UUID)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="428.0" y="940">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="404" x="846.0" y="969">Continue deploy asynchronously: Pass image, disk info</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="1494.0" y="998">Downloads image, writes to disk,</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="221" x="1505.5" y="1014">writes configdrive if present</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="701.0" y="1084">Is deploy done?</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="1555.0" y="1113">Still working...</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="1563.0" y="1183">Deploy is done</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="252" x="770.0" y="1212">Install boot loader, if requested</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="735.5" y="1241">Update DHCP boot options</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="682.0" y="1270">Prepare PXE</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="697.0" y="1286">environment for</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="106" x="693.0" y="1302">instance image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="674.0" y="1318">if needed</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="305" x="796.5" y="1363">Set boot device either to PXE or to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="720.0" y="1392">Collect ramdisk logs</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="678.0" y="1421">POWER OFF</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="747.0" y="1450">Detach provisioning network</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="689.5" y="1466">from port(s)</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="705.0" y="1495">Bind tenant port</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="674.5" y="1524">POWER ON</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="685.5" y="1553">Mark node as</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="662.5" y="1569">ACTIVE</text>
<path d="M 40 1047 L 784 1047" fill="none" stroke="rgb(0,0,0)" />
<path d="M 40 1051 L 784 1051" fill="none" stroke="rgb(0,0,0)" />
<path d="M 972 1047 L 1716 1047" fill="none" stroke="rgb(0,0,0)" />
<path d="M 972 1051 L 1716 1051" fill="none" stroke="rgb(0,0,0)" />
<rect fill="rgb(208,208,208)" height="22" stroke="rgb(0,0,0)" width="188" x="784" y="1038" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="168" x="878.0" y="1056">Heartbeat periodically</text>
<path d="M 40 1146 L 857 1146" fill="none" stroke="rgb(0,0,0)" />
<path d="M 40 1150 L 857 1150" fill="none" stroke="rgb(0,0,0)" />
<path d="M 899 1146 L 1716 1146" fill="none" stroke="rgb(0,0,0)" />
<path d="M 899 1150 L 1716 1150" fill="none" stroke="rgb(0,0,0)" />
<rect fill="rgb(208,208,208)" height="22" stroke="rgb(0,0,0)" width="42" x="857" y="1137" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="878.0" y="1155">...</text>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,34 @@
diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to root partition"];
IPA -> IPA [label = "Installs boot loader"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> iLO [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}

View File

@ -0,0 +1,169 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1506 1127" 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>diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; iLO [label = "Powers off the node"];
Conductor -&gt; Glance [label = "Get the metadata for deploy ISO"];
Glance -&gt; Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -&gt; Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -&gt; Swift [label = "Uploads the FAT32 image"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -&gt; iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -&gt; iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -&gt; iLO [label = "Sets one time boot to CDROM"];
Conductor -&gt; iLO [label = "Reboot the node"];
iLO -&gt; Swift [label = "Downloads deploy ISO"];
Baremetal -&gt; iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -&gt; Conductor [label = "Lookup node"];
Conductor -&gt; IPA [label = "Provides node UUID"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; IPA [label = "Sends the user image HTTP(S) URL"];
IPA -&gt; Swift [label = "Retrieves the user image on bare metal"];
IPA -&gt; IPA [label = "Writes user image to root partition"];
IPA -&gt; IPA [label = "Installs boot loader"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Baremetal [label = "Sets boot device to disk"];
Conductor -&gt; IPA [label = "Power off the node"];
Conductor -&gt; iLO [label = "Power on the node"];
Baremetal -&gt; Baremetal [label = "Boot user image from disk"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<path d="M 128 41 L 128 1134" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 1134" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 1134" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 1134" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 1134" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 1134" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="128.5" y="28">Glance</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="878.0" y="28">Swift</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1378.0" y="28">iLO</text>
<path d="M 386 60 L 1370 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,56 1370,60 1362,64" stroke="rgb(0,0,0)" />
<path d="M 136 105 L 370 105" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,101 136,105 144,109" stroke="rgb(0,0,0)" />
<path d="M 136 150 L 370 150" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,146 370,150 362,154" stroke="rgb(0,0,0)" />
<path d="M 386 211 L 503 211" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 211 L 503 227" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 227 L 386 227" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,223 386,227 394,231" stroke="rgb(0,0,0)" />
<path d="M 386 320 L 503 320" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 320 L 503 336" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 336 L 386 336" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,332 386,336 394,340" stroke="rgb(0,0,0)" />
<path d="M 386 365 L 870 365" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,361 870,365 862,369" stroke="rgb(0,0,0)" />
<path d="M 386 426 L 503 426" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 426 L 503 442" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 442 L 386 442" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,438 386,442 394,446" stroke="rgb(0,0,0)" />
<path d="M 386 471 L 1370 471" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,467 1370,471 1362,475" stroke="rgb(0,0,0)" />
<path d="M 386 500 L 1370 500" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,496 1370,500 1362,504" stroke="rgb(0,0,0)" />
<path d="M 386 529 L 1370 529" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,525 1370,529 1362,533" stroke="rgb(0,0,0)" />
<path d="M 386 558 L 1370 558" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,554 1370,558 1362,562" stroke="rgb(0,0,0)" />
<path d="M 886 587 L 1370 587" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="894,583 886,587 894,591" stroke="rgb(0,0,0)" />
<path d="M 636 616 L 1370 616" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,612 1370,616 1362,620" stroke="rgb(0,0,0)" />
<path d="M 386 645 L 1120 645" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,641 386,645 394,649" stroke="rgb(0,0,0)" />
<path d="M 386 674 L 1120 674" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,670 1120,674 1112,678" stroke="rgb(0,0,0)" />
<path d="M 386 703 L 1120 703" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,699 386,703 394,707" stroke="rgb(0,0,0)" />
<path d="M 386 732 L 1120 732" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,728 1120,732 1112,736" stroke="rgb(0,0,0)" />
<path d="M 886 777 L 1120 777" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="894,773 886,777 894,781" stroke="rgb(0,0,0)" />
<path d="M 1136 838 L 1253 838" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 838 L 1253 854" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 854 L 1136 854" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,850 1136,854 1144,858" stroke="rgb(0,0,0)" />
<path d="M 1136 899 L 1253 899" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 899 L 1253 915" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 915 L 1136 915" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,911 1136,915 1144,919" stroke="rgb(0,0,0)" />
<path d="M 386 944 L 1120 944" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,940 386,944 394,948" stroke="rgb(0,0,0)" />
<path d="M 386 973 L 620 973" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,969 620,973 612,977" stroke="rgb(0,0,0)" />
<path d="M 386 1002 L 1120 1002" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,998 1120,1002 1112,1006" stroke="rgb(0,0,0)" />
<path d="M 386 1031 L 1370 1031" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,1027 1370,1031 1362,1035" stroke="rgb(0,0,0)" />
<path d="M 636 1076 L 753 1076" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1076 L 753 1092" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1092 L 636 1092" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1088 636,1092 644,1096" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="56">Powers off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="251.5" y="85">Get the metadata for deploy IS</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="7" x="362.5" y="101">O</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="130">Returns the metadata for deplo</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="163.0" y="146">y ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="175">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="191">mpURL for deploy I</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="397.5" y="207">SO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="260">Creates the FAT32 </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="276">image containing i</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="292">ronic API URL and </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="308">driver name</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="481.5" y="361">Uploads the FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="390">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="406">mpURL for FAT32 im</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="401.0" y="422">age</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="473" x="630.5" y="467">Attaches the FAT32 image swift tempURL as virtual media floppy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="458" x="623.0" y="496">Attaches the deploy ISO swift tempURL as virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="497.0" y="525">Sets one time boot to CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="451.0" y="554">Reboot the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="1290.0" y="583">Downloads deploy ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="427" x="857.5" y="612">Boots deploy kernel/ramdisk from iLO virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="641">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="670">Provides node UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="699">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="516.0" y="728">Sends the user image HTTP(S) URL</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="1001.5" y="757">Retrieves the user image on ba</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="1085.5" y="773">re metal</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="810">Writes user image </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="1204.5" y="826">to root partition</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="879">Installs boot load</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="1147.5" y="895">er</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="940">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="969">Sets boot device to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="998">Power off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="1027">Power on the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="1056">Boot user image fr</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="666.5" y="1072">om disk</text>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,33 @@
diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> iLO [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}

View File

@ -0,0 +1,162 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1506 1050" 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>diagram {
Glance; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; iLO [label = "Powers off the node"];
Conductor -&gt; Glance [label = "Get the metadata for deploy ISO"];
Glance -&gt; Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -&gt; Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -&gt; Swift [label = "Uploads the FAT32 image"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -&gt; iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -&gt; iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -&gt; iLO [label = "Sets one time boot to CDROM"];
Conductor -&gt; iLO [label = "Reboot the node"];
iLO -&gt; Swift [label = "Downloads deploy ISO"];
Baremetal -&gt; iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -&gt; Conductor [label = "Lookup node"];
Conductor -&gt; IPA [label = "Provides node UUID"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; IPA [label = "Sends the user image HTTP(S) URL"];
IPA -&gt; Swift [label = "Retrieves the user image on bare metal"];
IPA -&gt; IPA [label = "Writes user image to disk"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Baremetal [label = "Sets boot device to disk"];
Conductor -&gt; IPA [label = "Power off the node"];
Conductor -&gt; iLO [label = "Power on the node"];
Baremetal -&gt; Baremetal [label = "Boot user image from disk"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<path d="M 128 41 L 128 1057" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 1057" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 1057" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 1057" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 1057" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 1057" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="128.5" y="28">Glance</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="878.0" y="28">Swift</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1378.0" y="28">iLO</text>
<path d="M 386 60 L 1370 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,56 1370,60 1362,64" stroke="rgb(0,0,0)" />
<path d="M 136 105 L 370 105" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,101 136,105 144,109" stroke="rgb(0,0,0)" />
<path d="M 136 150 L 370 150" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,146 370,150 362,154" stroke="rgb(0,0,0)" />
<path d="M 386 211 L 503 211" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 211 L 503 227" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 227 L 386 227" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,223 386,227 394,231" stroke="rgb(0,0,0)" />
<path d="M 386 320 L 503 320" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 320 L 503 336" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 336 L 386 336" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,332 386,336 394,340" stroke="rgb(0,0,0)" />
<path d="M 386 365 L 870 365" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,361 870,365 862,369" stroke="rgb(0,0,0)" />
<path d="M 386 426 L 503 426" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 426 L 503 442" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 442 L 386 442" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,438 386,442 394,446" stroke="rgb(0,0,0)" />
<path d="M 386 471 L 1370 471" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,467 1370,471 1362,475" stroke="rgb(0,0,0)" />
<path d="M 386 500 L 1370 500" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,496 1370,500 1362,504" stroke="rgb(0,0,0)" />
<path d="M 386 529 L 1370 529" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,525 1370,529 1362,533" stroke="rgb(0,0,0)" />
<path d="M 386 558 L 1370 558" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,554 1370,558 1362,562" stroke="rgb(0,0,0)" />
<path d="M 886 587 L 1370 587" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="894,583 886,587 894,591" stroke="rgb(0,0,0)" />
<path d="M 636 616 L 1370 616" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,612 1370,616 1362,620" stroke="rgb(0,0,0)" />
<path d="M 386 645 L 1120 645" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,641 386,645 394,649" stroke="rgb(0,0,0)" />
<path d="M 386 674 L 1120 674" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,670 1120,674 1112,678" stroke="rgb(0,0,0)" />
<path d="M 386 703 L 1120 703" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,699 386,703 394,707" stroke="rgb(0,0,0)" />
<path d="M 386 732 L 1120 732" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,728 1120,732 1112,736" stroke="rgb(0,0,0)" />
<path d="M 886 777 L 1120 777" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="894,773 886,777 894,781" stroke="rgb(0,0,0)" />
<path d="M 1136 822 L 1253 822" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 822 L 1253 838" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 838 L 1136 838" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,834 1136,838 1144,842" stroke="rgb(0,0,0)" />
<path d="M 386 867 L 1120 867" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,863 386,867 394,871" stroke="rgb(0,0,0)" />
<path d="M 386 896 L 620 896" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,892 620,896 612,900" stroke="rgb(0,0,0)" />
<path d="M 386 925 L 1120 925" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,921 1120,925 1112,929" stroke="rgb(0,0,0)" />
<path d="M 386 954 L 1370 954" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,950 1370,954 1362,958" stroke="rgb(0,0,0)" />
<path d="M 636 999 L 753 999" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 999 L 753 1015" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 1015 L 636 1015" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,1011 636,1015 644,1019" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="56">Powers off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="251.5" y="85">Get the metadata for deploy IS</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="7" x="362.5" y="101">O</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="130">Returns the metadata for deplo</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="163.0" y="146">y ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="175">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="191">mpURL for deploy I</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="397.5" y="207">SO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="260">Creates the FAT32 </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="276">image containing i</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="292">ronic API URL and </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="308">driver name</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="481.5" y="361">Uploads the FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="390">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="406">mpURL for FAT32 im</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="401.0" y="422">age</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="473" x="630.5" y="467">Attaches the FAT32 image swift tempURL as virtual media floppy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="458" x="623.0" y="496">Attaches the deploy ISO swift tempURL as virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="497.0" y="525">Sets one time boot to CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="451.0" y="554">Reboot the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="1290.0" y="583">Downloads deploy ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="427" x="857.5" y="612">Boots deploy kernel/ramdisk from iLO virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="641">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="670">Provides node UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="699">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="516.0" y="728">Sends the user image HTTP(S) URL</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="1001.5" y="757">Retrieves the user image on ba</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="1085.5" y="773">re metal</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="802">Writes user image </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1166.5" y="818">to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="863">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="892">Sets boot device to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="921">Power off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="950">Power on the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="979">Boot user image fr</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="666.5" y="995">om disk</text>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,30 @@
diagram {
Webserver; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -> Swift [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Webserver [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Webserver [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}

View File

@ -0,0 +1,143 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1506 867" 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>diagram {
Webserver; Conductor; Baremetal; Swift; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; iLO [label = "Powers off the node"];
Conductor -&gt; Conductor [label = "Creates the FAT32 image containing ironic API URL and driver name"];
Conductor -&gt; Swift [label = "Uploads the FAT32 image"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for FAT32 image"];
Conductor -&gt; iLO [label = "Attaches the FAT32 image swift tempURL as virtual media floppy"];
Conductor -&gt; iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -&gt; iLO [label = "Sets one time boot to CDROM"];
Conductor -&gt; iLO [label = "Reboot the node"];
iLO -&gt; Webserver [label = "Downloads deploy ISO"];
Baremetal -&gt; iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -&gt; Conductor [label = "Lookup node"];
Conductor -&gt; IPA [label = "Provides node UUID"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; IPA [label = "Sends the user image HTTP(S) URL"];
IPA -&gt; Webserver [label = "Retrieves the user image on bare metal"];
IPA -&gt; IPA [label = "Writes user image to disk"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Baremetal [label = "Sets boot device to disk"];
Conductor -&gt; IPA [label = "Power off the node"];
Conductor -&gt; Baremetal [label = "Power on the node"];
Baremetal -&gt; Baremetal [label = "Boot user image from disk"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<path d="M 128 41 L 128 874" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 874" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 874" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 874" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 874" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 874" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="128.0" y="28">Webserver</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="878.0" y="28">Swift</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1378.0" y="28">iLO</text>
<path d="M 386 60 L 1370 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,56 1370,60 1362,64" stroke="rgb(0,0,0)" />
<path d="M 386 153 L 503 153" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 153 L 503 169" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 169 L 386 169" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,165 386,169 394,173" stroke="rgb(0,0,0)" />
<path d="M 386 198 L 870 198" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,194 870,198 862,202" stroke="rgb(0,0,0)" />
<path d="M 386 259 L 503 259" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 259 L 503 275" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 275 L 386 275" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,271 386,275 394,279" stroke="rgb(0,0,0)" />
<path d="M 386 304 L 1370 304" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,300 1370,304 1362,308" stroke="rgb(0,0,0)" />
<path d="M 386 333 L 1370 333" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,329 1370,333 1362,337" stroke="rgb(0,0,0)" />
<path d="M 386 362 L 1370 362" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,358 1370,362 1362,366" stroke="rgb(0,0,0)" />
<path d="M 386 391 L 1370 391" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,387 1370,391 1362,395" stroke="rgb(0,0,0)" />
<path d="M 136 420 L 1370 420" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,416 136,420 144,424" stroke="rgb(0,0,0)" />
<path d="M 636 449 L 1370 449" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,445 1370,449 1362,453" stroke="rgb(0,0,0)" />
<path d="M 386 478 L 1120 478" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,474 386,478 394,482" stroke="rgb(0,0,0)" />
<path d="M 386 507 L 1120 507" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,503 1120,507 1112,511" stroke="rgb(0,0,0)" />
<path d="M 386 536 L 1120 536" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,532 386,536 394,540" stroke="rgb(0,0,0)" />
<path d="M 386 565 L 1120 565" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,561 1120,565 1112,569" stroke="rgb(0,0,0)" />
<path d="M 136 594 L 1120 594" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,590 136,594 144,598" stroke="rgb(0,0,0)" />
<path d="M 1136 639 L 1253 639" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 639 L 1253 655" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 655 L 1136 655" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,651 1136,655 1144,659" stroke="rgb(0,0,0)" />
<path d="M 386 684 L 1120 684" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,680 386,684 394,688" stroke="rgb(0,0,0)" />
<path d="M 386 713 L 620 713" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,709 620,713 612,717" stroke="rgb(0,0,0)" />
<path d="M 386 742 L 1120 742" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,738 1120,742 1112,746" stroke="rgb(0,0,0)" />
<path d="M 386 771 L 620 771" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,767 620,771 612,775" stroke="rgb(0,0,0)" />
<path d="M 636 816 L 753 816" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 816 L 753 832" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 832 L 636 832" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,828 636,832 644,836" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="56">Powers off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="93">Creates the FAT32 </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="109">image containing i</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="125">ronic API URL and </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="141">driver name</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="481.5" y="194">Uploads the FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="223">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="239">mpURL for FAT32 im</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="401.0" y="255">age</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="473" x="630.5" y="300">Attaches the FAT32 image swift tempURL as virtual media floppy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="381" x="584.5" y="329">Attaches the deploy ISO URL as virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="497.0" y="358">Sets one time boot to CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="451.0" y="387">Reboot the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="1290.0" y="416">Downloads deploy ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="427" x="857.5" y="445">Boots deploy kernel/ramdisk from iLO virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="474">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="503">Provides node UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="532">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="516.0" y="561">Sends the user image HTTP(S) URL</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="290" x="971.0" y="590">Retrieves the user image on bare metal</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="619">Writes user image </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1166.5" y="635">to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="680">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="709">Sets boot device to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="738">Power off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="767">Power on the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="796">Boot user image fr</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="666.5" y="812">om disk</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,30 @@
diagram {
Webserver; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -> ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -> Conductor [label = "Generates URL for FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Webserver [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Webserver [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}

View File

@ -0,0 +1,143 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1506 851" 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>diagram {
Webserver; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; iLO [label = "Powers off the node"];
Conductor -&gt; Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -&gt; ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -&gt; Conductor [label = "Generates URL for FAT32 image"];
Conductor -&gt; iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -&gt; iLO [label = "Attaches the deploy ISO URL as virtual media CDROM"];
Conductor -&gt; iLO [label = "Sets one time boot to CDROM"];
Conductor -&gt; iLO [label = "Reboot the node"];
iLO -&gt; Webserver [label = "Downloads deploy ISO"];
Baremetal -&gt; iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -&gt; Conductor [label = "Lookup node"];
Conductor -&gt; IPA [label = "Provides node UUID"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; IPA [label = "Sends the user image HTTP(S) URL"];
IPA -&gt; Webserver [label = "Retrieves the user image on bare metal"];
IPA -&gt; IPA [label = "Writes user image to disk"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Baremetal [label = "Sets boot device to disk"];
Conductor -&gt; IPA [label = "Power off the node"];
Conductor -&gt; Baremetal [label = "Power on the node"];
Baremetal -&gt; Baremetal [label = "Boot user image from disk"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<path d="M 128 41 L 128 858" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 858" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 858" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 858" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 858" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 858" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="128.0" y="28">Webserver</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="878.0" y="20">ConductorWebserv</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="878.5" y="36">er</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1378.0" y="28">iLO</text>
<path d="M 386 60 L 1370 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,56 1370,60 1362,64" stroke="rgb(0,0,0)" />
<path d="M 386 153 L 503 153" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 153 L 503 169" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 169 L 386 169" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,165 386,169 394,173" stroke="rgb(0,0,0)" />
<path d="M 386 198 L 870 198" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,194 870,198 862,202" stroke="rgb(0,0,0)" />
<path d="M 386 243 L 503 243" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 243 L 503 259" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 259 L 386 259" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,255 386,259 394,263" stroke="rgb(0,0,0)" />
<path d="M 386 288 L 1370 288" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,284 1370,288 1362,292" stroke="rgb(0,0,0)" />
<path d="M 386 317 L 1370 317" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,313 1370,317 1362,321" stroke="rgb(0,0,0)" />
<path d="M 386 346 L 1370 346" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,342 1370,346 1362,350" stroke="rgb(0,0,0)" />
<path d="M 386 375 L 1370 375" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,371 1370,375 1362,379" stroke="rgb(0,0,0)" />
<path d="M 136 404 L 1370 404" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,400 136,404 144,408" stroke="rgb(0,0,0)" />
<path d="M 636 433 L 1370 433" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,429 1370,433 1362,437" stroke="rgb(0,0,0)" />
<path d="M 386 462 L 1120 462" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,458 386,462 394,466" stroke="rgb(0,0,0)" />
<path d="M 386 491 L 1120 491" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,487 1120,491 1112,495" stroke="rgb(0,0,0)" />
<path d="M 386 520 L 1120 520" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,516 386,520 394,524" stroke="rgb(0,0,0)" />
<path d="M 386 549 L 1120 549" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,545 1120,549 1112,553" stroke="rgb(0,0,0)" />
<path d="M 136 578 L 1120 578" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,574 136,578 144,582" stroke="rgb(0,0,0)" />
<path d="M 1136 623 L 1253 623" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 623 L 1253 639" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 639 L 1136 639" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,635 1136,639 1144,643" stroke="rgb(0,0,0)" />
<path d="M 386 668 L 1120 668" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,664 386,668 394,672" stroke="rgb(0,0,0)" />
<path d="M 386 697 L 620 697" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,693 620,697 612,701" stroke="rgb(0,0,0)" />
<path d="M 386 726 L 1120 726" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,722 1120,726 1112,730" stroke="rgb(0,0,0)" />
<path d="M 386 755 L 620 755" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,751 620,755 612,759" stroke="rgb(0,0,0)" />
<path d="M 636 800 L 753 800" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 800 L 753 816" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 816 L 636 816" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,812 636,816 644,820" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="56">Powers off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="93">Creates the FAT32 </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="109">image containing I</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="125">ronic API URL and </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="141">driver name</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="481.5" y="194">Uploads the FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="223">Generates URL for </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="239">FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="397" x="592.5" y="284">Attaches the FAT32 image URL as virtual media floppy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="381" x="584.5" y="313">Attaches the deploy ISO URL as virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="497.0" y="342">Sets one time boot to CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="451.0" y="371">Reboot the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="1290.0" y="400">Downloads deploy ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="427" x="857.5" y="429">Boots deploy kernel/ramdisk from iLO virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="458">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="487">Provides node UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="516">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="516.0" y="545">Sends the user image HTTP(S) URL</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="290" x="971.0" y="574">Retrieves the user image on bare metal</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="603">Writes user image </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1166.5" y="619">to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="664">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="693">Sets boot device to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="722">Power off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="751">Power on the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="780">Boot user image fr</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="666.5" y="796">om disk</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,32 @@
diagram {
Glance; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -> iLO [label = "Powers off the node"];
Conductor -> Glance [label = "Get the metadata for deploy ISO"];
Glance -> Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -> Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -> Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -> ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -> iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -> iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -> iLO [label = "Sets one time boot to CDROM"];
Conductor -> iLO [label = "Reboot the node"];
iLO -> Swift [label = "Downloads deploy ISO"];
Baremetal -> iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -> Conductor [label = "Lookup node"];
Conductor -> IPA [label = "Provides node UUID"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> IPA [label = "Sends the user image HTTP(S) URL"];
IPA -> Swift [label = "Retrieves the user image on bare metal"];
IPA -> IPA [label = "Writes user image to disk"];
IPA -> Conductor [label = "Heartbeat"];
Conductor -> Baremetal [label = "Sets boot device to disk"];
Conductor -> IPA [label = "Power off the node"];
Conductor -> Baremetal [label = "Power on the node"];
Baremetal -> Baremetal [label = "Boot user image from disk"];
}

View File

@ -0,0 +1,158 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 1756 957" 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>diagram {
Glance; Conductor; Baremetal; ConductorWebserver; IPA; iLO;
activation = none;
span_height = 1;
edge_length = 250;
default_note_color = white;
default_fontsize = 14;
Conductor -&gt; iLO [label = "Powers off the node"];
Conductor -&gt; Glance [label = "Get the metadata for deploy ISO"];
Glance -&gt; Conductor [label = "Returns the metadata for deploy ISO"];
Conductor -&gt; Conductor [label = "Generates swift tempURL for deploy ISO"];
Conductor -&gt; Conductor [label = "Creates the FAT32 image containing Ironic API URL and driver name"];
Conductor -&gt; ConductorWebserver [label = "Uploads the FAT32 image"];
Conductor -&gt; iLO [label = "Attaches the FAT32 image URL as virtual media floppy"];
Conductor -&gt; iLO [label = "Attaches the deploy ISO swift tempURL as virtual media CDROM"];
Conductor -&gt; iLO [label = "Sets one time boot to CDROM"];
Conductor -&gt; iLO [label = "Reboot the node"];
iLO -&gt; Swift [label = "Downloads deploy ISO"];
Baremetal -&gt; iLO [label = "Boots deploy kernel/ramdisk from iLO virtual media CDROM"];
IPA -&gt; Conductor [label = "Lookup node"];
Conductor -&gt; IPA [label = "Provides node UUID"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; IPA [label = "Sends the user image HTTP(S) URL"];
IPA -&gt; Swift [label = "Retrieves the user image on bare metal"];
IPA -&gt; IPA [label = "Writes user image to disk"];
IPA -&gt; Conductor [label = "Heartbeat"];
Conductor -&gt; Baremetal [label = "Sets boot device to disk"];
Conductor -&gt; IPA [label = "Power off the node"];
Conductor -&gt; Baremetal [label = "Power on the node"];
Baremetal -&gt; Baremetal [label = "Boot user image from disk"];
}
</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="7" />
<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="317" y="7" />
<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="567" y="7" />
<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="817" y="7" />
<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="1067" y="7" />
<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="1317" y="7" />
<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="1567" y="7" />
<path d="M 128 41 L 128 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 378 41 L 378 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 628 41 L 628 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 878 41 L 878 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1128 41 L 1128 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1378 41 L 1378 964" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
<path d="M 1628 41 L 1628 964" 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="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="128.5" y="28">Glance</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="378.0" y="28">Conductor</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="628.0" y="28">Baremetal</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="814" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="122" x="878.0" y="20">ConductorWebserv</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="878.5" y="36">er</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1064" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1128.0" y="28">IPA</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1314" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="1378.0" y="28">iLO</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="1564" y="1" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="1628.0" y="28">Swift</text>
<path d="M 386 60 L 1370 60" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,56 1370,60 1362,64" stroke="rgb(0,0,0)" />
<path d="M 136 105 L 370 105" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="144,101 136,105 144,109" stroke="rgb(0,0,0)" />
<path d="M 136 150 L 370 150" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="362,146 370,150 362,154" stroke="rgb(0,0,0)" />
<path d="M 386 211 L 503 211" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 211 L 503 227" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 227 L 386 227" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,223 386,227 394,231" stroke="rgb(0,0,0)" />
<path d="M 386 320 L 503 320" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 320 L 503 336" fill="none" stroke="rgb(0,0,0)" />
<path d="M 503 336 L 386 336" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,332 386,336 394,340" stroke="rgb(0,0,0)" />
<path d="M 386 365 L 870 365" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="862,361 870,365 862,369" stroke="rgb(0,0,0)" />
<path d="M 386 394 L 1370 394" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,390 1370,394 1362,398" stroke="rgb(0,0,0)" />
<path d="M 386 423 L 1370 423" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,419 1370,423 1362,427" stroke="rgb(0,0,0)" />
<path d="M 386 452 L 1370 452" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,448 1370,452 1362,456" stroke="rgb(0,0,0)" />
<path d="M 386 481 L 1370 481" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,477 1370,481 1362,485" stroke="rgb(0,0,0)" />
<path d="M 1386 510 L 1620 510" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,506 1620,510 1612,514" stroke="rgb(0,0,0)" />
<path d="M 636 539 L 1370 539" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1362,535 1370,539 1362,543" stroke="rgb(0,0,0)" />
<path d="M 386 568 L 1120 568" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,564 386,568 394,572" stroke="rgb(0,0,0)" />
<path d="M 386 597 L 1120 597" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,593 1120,597 1112,601" stroke="rgb(0,0,0)" />
<path d="M 386 626 L 1120 626" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,622 386,626 394,630" stroke="rgb(0,0,0)" />
<path d="M 386 655 L 1120 655" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,651 1120,655 1112,659" stroke="rgb(0,0,0)" />
<path d="M 1136 684 L 1620 684" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1612,680 1620,684 1612,688" stroke="rgb(0,0,0)" />
<path d="M 1136 729 L 1253 729" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 729 L 1253 745" fill="none" stroke="rgb(0,0,0)" />
<path d="M 1253 745 L 1136 745" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1144,741 1136,745 1144,749" stroke="rgb(0,0,0)" />
<path d="M 386 774 L 1120 774" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="394,770 386,774 394,778" stroke="rgb(0,0,0)" />
<path d="M 386 803 L 620 803" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,799 620,803 612,807" stroke="rgb(0,0,0)" />
<path d="M 386 832 L 1120 832" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="1112,828 1120,832 1112,836" stroke="rgb(0,0,0)" />
<path d="M 386 861 L 620 861" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="612,857 620,861 612,865" stroke="rgb(0,0,0)" />
<path d="M 636 906 L 753 906" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 906 L 753 922" fill="none" stroke="rgb(0,0,0)" />
<path d="M 753 922 L 636 922" fill="none" stroke="rgb(0,0,0)" />
<polygon fill="rgb(0,0,0)" points="644,918 636,922 644,926" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="145" x="466.5" y="56">Powers off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="251.5" y="85">Get the metadata for deploy IS</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="7" x="362.5" y="101">O</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="229" x="258.5" y="130">Returns the metadata for deplo</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="38" x="163.0" y="146">y ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="175">Generates swift te</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="191">mpURL for deploy I</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="397.5" y="207">SO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="260">Creates the FAT32 </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="276">image containing I</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="458.5" y="292">ronic API URL and </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="432.0" y="308">driver name</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="175" x="481.5" y="361">Uploads the FAT32 image</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="397" x="592.5" y="390">Attaches the FAT32 image URL as virtual media floppy</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="458" x="623.0" y="419">Attaches the deploy ISO swift tempURL as virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="206" x="497.0" y="448">Sets one time boot to CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="451.0" y="477">Reboot the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="152" x="1470.0" y="506">Downloads deploy ISO</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="427" x="857.5" y="535">Boots deploy kernel/ramdisk from iLO virtual media CDROM</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="84" x="1074.0" y="564">Lookup node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="593">Provides node UUID</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="622">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="244" x="516.0" y="651">Sends the user image HTTP(S) URL</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="290" x="1289.0" y="680">Retrieves the user image on bare metal</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="1208.5" y="709">Writes user image </text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="1166.5" y="725">to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="1082.0" y="770">Heartbeat</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="183" x="485.5" y="799">Sets boot device to disk</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="462.5" y="828">Power off the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="129" x="458.5" y="857">Power on the node</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="137" x="708.5" y="886">Boot user image fr</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="666.5" y="902">om disk</text>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -246,56 +246,8 @@ Example: PXE Boot and Direct Deploy Process
This process is how :ref:`direct-deploy` works. This process is how :ref:`direct-deploy` works.
.. seqdiag:: .. figure:: ./../images/direct-deploy.svg
:scale: 75 :width: 100%
diagram {
Nova; API; Conductor; Neutron; HTTPStore; "TFTP/HTTPd"; Node;
activation = none;
edge_length = 250;
span_height = 1;
default_note_color = white;
default_fontsize = 14;
Nova -> API [label = "Set instance_info\n(image_source,\nroot_gb, etc.)"];
Nova -> API [label = "Validate power and deploy\ninterfaces"];
Nova -> API [label = "Plug VIFs to the node"];
Nova -> API [label = "Set provision_state,\noptionally pass configdrive"];
API -> Conductor [label = "do_node_deploy()"];
Conductor -> Conductor [label = "Validate power and deploy interfaces"];
Conductor -> HTTPStore [label = "Store configdrive if configdrive_use_swift \noption is set"];
Conductor -> Node [label = "POWER OFF"];
Conductor -> Neutron [label = "Attach provisioning network to port(s)"];
Conductor -> Neutron [label = "Update DHCP boot options"];
Conductor -> Conductor [label = "Prepare PXE\nenvironment for\ndeployment"];
Conductor -> Node [label = "Set PXE boot device \nthrough the BMC"];
Conductor -> Conductor [label = "Cache deploy\nand instance\nkernel and ramdisk"];
Conductor -> Node [label = "REBOOT"];
Node -> Neutron [label = "DHCP request"];
Neutron -> Node [label = "next-server = Conductor"];
Node -> Node [label = "Runs agent\nramdisk"];
Node -> API [label = "lookup()"];
API -> Node [label = "Pass UUID"];
Node -> API [label = "Heartbeat (UUID)"];
API -> Conductor [label = "Heartbeat"];
Conductor -> Node [label = "Continue deploy asynchronously: Pass image, disk info"];
Node -> HTTPStore [label = "Downloads image, writes to disk, \nwrites configdrive if present"];
=== Heartbeat periodically ===
Conductor -> Node [label = "Is deploy done?"];
Node -> Conductor [label = "Still working..."];
=== ... ===
Node -> Conductor [label = "Deploy is done"];
Conductor -> Node [label = "Install boot loader, if requested"];
Conductor -> Neutron [label = "Update DHCP boot options"];
Conductor -> Conductor [label = "Prepare PXE\nenvironment for\ninstance image\nif needed"];
Conductor -> Node [label = "Set boot device either to PXE or to disk"];
Conductor -> Node [label = "Collect ramdisk logs"];
Conductor -> Node [label = "POWER OFF"];
Conductor -> Neutron [label = "Detach provisioning network\nfrom port(s)"];
Conductor -> Neutron [label = "Bind tenant port"];
Conductor -> Node [label = "POWER ON"];
Conductor -> Conductor [label = "Mark node as\nACTIVE"];
}
(From a `talk`_ and `slides`_) (From a `talk`_ and `slides`_)

View File

@ -0,0 +1,9 @@
---
upgrade:
- Removes the sphinxcontrib-seqdiag dependency as the Pillow upgrade to
version 10.x (from OpenStack upper constraints) breaks its usage. seqdiag
has not been maintained for the last 3 years, hence the upgrade causes it
to break.
In the ironic docs (source) rst files, adds references to svg files, and
keeps the svg files in the doc/source/images/ directory, alongside their
associated .diag files as backup.