Merge "Remove the sphinxcontrib-seqdiag dependency"
@ -3,5 +3,4 @@ os-api-ref>=1.4.0 # Apache-2.0
|
||||
reno>=3.1.0 # Apache-2.0
|
||||
sphinx>=2.0.0,!=2.1.0 # BSD
|
||||
sphinxcontrib-apidoc>=0.2.0 # BSD
|
||||
sphinxcontrib-seqdiag>=0.8.4 # BSD
|
||||
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD
|
||||
|
@ -61,55 +61,14 @@ token, allowing the agent to authenticate the caller.
|
||||
With Virtual Media
|
||||
------------------
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../images/agent-token-with-virtual-media.svg
|
||||
:width: 100%
|
||||
|
||||
With PXE/iPXE/etc.
|
||||
------------------
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../images/agent-token-with-pxe-ipxe.svg
|
||||
:width: 100%
|
||||
|
||||
Agent Configuration
|
||||
===================
|
||||
|
@ -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
|
||||
the node OR the iPXE boot templates such that the node CAN be booted.
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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."];
|
||||
}
|
||||
.. figure:: ./../images/boot-from-volume.svg
|
||||
:width: 100%
|
||||
|
||||
In this example, the boot interface does the heavy lifting. For drivers the
|
||||
``irmc`` and ``ilo`` hardware types with hardware type specific boot
|
||||
|
@ -1099,197 +1099,32 @@ Deploy Process
|
||||
Glance and swift for partition images
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
|
||||
.. figure:: ./../../images/glance-and-swift-for-partition-images.svg
|
||||
:width: 100%
|
||||
|
||||
Glance and swift with whole-disk images
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../../images/glance-and-swift-whole-disk-images.svg
|
||||
:width: 100%
|
||||
|
||||
Swiftless deploy
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../../images/swiftless-deploy.svg
|
||||
:width: 100%
|
||||
|
||||
HTTP(S) based deploy
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../../images/https-based-deploy.svg
|
||||
:width: 100%
|
||||
|
||||
Standalone ironic
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 80
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../../images/standalone-ironic.svg
|
||||
:width: 100%
|
||||
|
||||
Activating iLO Advanced license as manual clean step
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -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 = ['sphinx.ext.viewcode',
|
||||
'sphinx.ext.graphviz',
|
||||
'sphinxcontrib.seqdiag',
|
||||
'sphinxcontrib.apidoc',
|
||||
'sphinxcontrib.rsvgconverter',
|
||||
'oslo_config.sphinxext',
|
||||
@ -163,7 +162,3 @@ latex_documents = [
|
||||
|
||||
# Allow deeper levels of nesting for \begin...\end stanzas
|
||||
latex_elements = {'maxlistdepth': 10}
|
||||
|
||||
# -- Options for seqdiag ------------------------------------------------------
|
||||
|
||||
seqdiag_html_image_format = "SVG"
|
||||
|
18
doc/source/images/agent-token-with-pxe-ipxe.diag
Normal 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"];
|
||||
}
|
83
doc/source/images/agent-token-with-pxe-ipxe.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
21
doc/source/images/agent-token-with-virtual-media.diag
Normal 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"];
|
||||
}
|
101
doc/source/images/agent-token-with-virtual-media.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
16
doc/source/images/boot-from-volume.diag
Normal 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."];
|
||||
}
|
82
doc/source/images/boot-from-volume.svg
Normal 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 -> 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."];
|
||||
}
|
||||
</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 |
47
doc/source/images/direct-deploy.diag
Normal 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"];
|
||||
}
|
237
doc/source/images/direct-deploy.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
34
doc/source/images/glance-and-swift-for-partition-images.diag
Normal 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"];
|
||||
}
|
169
doc/source/images/glance-and-swift-for-partition-images.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
33
doc/source/images/glance-and-swift-whole-disk-images.diag
Normal 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"];
|
||||
}
|
162
doc/source/images/glance-and-swift-whole-disk-images.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
30
doc/source/images/https-based-deploy.diag
Normal 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"];
|
||||
}
|
143
doc/source/images/https-based-deploy.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
30
doc/source/images/standalone-ironic.diag
Normal 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"];
|
||||
}
|
143
doc/source/images/standalone-ironic.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
32
doc/source/images/swiftless-deploy.diag
Normal 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"];
|
||||
}
|
158
doc/source/images/swiftless-deploy.svg
Normal 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 -> 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"];
|
||||
}
|
||||
</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 |
@ -246,56 +246,8 @@ Example: PXE Boot and Direct Deploy Process
|
||||
|
||||
This process is how :ref:`direct-deploy` works.
|
||||
|
||||
.. seqdiag::
|
||||
:scale: 75
|
||||
|
||||
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"];
|
||||
}
|
||||
.. figure:: ./../images/direct-deploy.svg
|
||||
:width: 100%
|
||||
|
||||
(From a `talk`_ and `slides`_)
|
||||
|
||||
|
@ -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.
|