From ee7e16269aad7c25136e5dbd23e69e752755435b Mon Sep 17 00:00:00 2001 From: Benjamin Michael Cooper Date: Thu, 31 Aug 2017 15:46:55 +0100 Subject: [PATCH] Update contributing documentation Update the documentation for contributions to inlcude a technical overview and the updated procedure for running functional tests. Change-Id: I40760733a3db7f0f667e4c2297e3692bbbfb10c3 --- doc/source/contributing.rst | 239 ++++-------------- doc/source/diagrams/technical_overview.gliffy | 1 + doc/source/diagrams/technical_overview.png | Bin 0 -> 69476 bytes doc/source/diagrams/technical_overview.svg | 1 + 4 files changed, 52 insertions(+), 189 deletions(-) create mode 100644 doc/source/diagrams/technical_overview.gliffy create mode 100644 doc/source/diagrams/technical_overview.png create mode 100644 doc/source/diagrams/technical_overview.svg diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst index 106cbc6..c8eafb3 100644 --- a/doc/source/contributing.rst +++ b/doc/source/contributing.rst @@ -1,218 +1,79 @@ -============ Contributing -============ +++++++++++++ .. include:: ../../CONTRIBUTING.rst +Technical Overview +================== + +An overview of a typical deployment using bareon is given below: + +.. image:: diagrams/technical_overview.svg + +#. Initiate boot via nova or heat, passing in a reference to the + ``deploy_config`` and any ``driver_actions`` which should be performed +#. Request IP from neutron +#. Call ironic to begin deployment +#. Configure TFTP server +#. Cache images (deploy kernel & ramdisk, filesystem, + cloud_default_deploy_config, deploy_config and + driver_actions) and write provision script for bareon +#. Update MAC and PXE config +#. Set boot device to PXE +#. Reboot target node +#. Target node gets IP +#. PXE boot image containing bareon +#. Bareon calls back to tell Ironic that it is ready +#. Ironic SFTPs across the provision script and forwards the rsync server + port by SSH (in secure mode) +#. Provisioning is triggered by SSH, eg: + ``provision --data_driver ironic --deploy_driver rsync`` +#. Partition and clean local storage, mount partitions, rsync filesystem + across, write fstab, configure bootloader and unmount partitions +#. Run driver actions over SSH, eg update BIOS, SFTP file across from Swift +#. Set boot device to local disk +#. Reboot the node + ------------------- Functional testing ------------------- +================== Overview -------- -Bareon Agent functional testing performed against a kernel/ramdisk -built on CentOS minimal. By default the image is built as part of tox command, -using DIB. Option to use pre-built images available. Tests are written using unittest2 and Functional Test Framework -(ramdisk-func-test). The framework itself uses libvirt (python bindings) to -configure network, spawn a slave VM running ramdisk. In future we may add -support for baremetal slaves. Framework resides in a standalone repo. -Functional tests, as well as commonly changed parts of test data (node -templates, etc) are located in bareon tree, so that each -pull request introducing the new functionality to bareon can also carry -corresponding functional tests update. - +(ramdisk-func-test). The framework uses libvirt (python bindings) to +configure a network, spawn a slave VM and run test commands. +The framework resides in a standalone repo, however the functional tests, +as well as commonly changed parts of test data (node templates, etc) are located +in the bareon repo, so that these are updated when new functionality is added. How to run tests (Devstack / CentOS 7.1 environment) ---------------------------------------------------- -- Build the devstack environment -- Install additional dependencies: +Follow the instructions on Running Bareon on Devstack upto and including +"Install Bareon and build images". .. code-block:: console - $ sudo yum install yum-utils.noarch + cd ~/bareon + sudo yum install -y ansible + ansible-playbook bareon/tests_functional/ansible/bootstrap_func_tests.yaml + sudo NO_DIB=1 tox -e func -- Disable GPG check at the epel repo: - - :: - - [epel] - name=Extra Packages for Enterprise Linux 7 - $basearch - #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch - mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch - failovermethod=priority - enabled=1 - gpgcheck=0 - gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 - - -- Install ramdisk-func-test from source: - -.. code-block:: console - - $ cd /opt/stack/ - $ git clone git@github.com:openstack/ramdisk-func-test.git - $ cd ramdisk-func-test - $ sudo python setup.py develop - -- Configure ramdisk-func-test framework - -.. code-block:: console - - # Create config - $ sudo mkdir /etc/ramdisk-func-test - $ sudo chown $USER:$USER /etc/ramdisk-func-test - $ touch /etc/ramdisk-func-test/ramdisk-func-test.conf - - # Open port for the Ironic API stub - $ sudo iptables -I INPUT -p tcp --dport 8011 -j ACCEPT - - # Configure rsync daemon - $ python ramdisk-func-test/tools/setup_rsync.py - - -- Get bareon source: - -.. code-block:: console - - $ cd /opt/stack/ - $ git clone git@github.com:openstack/bareon.git - -- Run tests - -.. code-block:: console - - $ cd /opt/stack/bareon - # Build image & run all tests - $ tox - # Build image & run only functional tests - $ tox -efunc - # Run only functional tests without image rebuild (assuming you already - # have images at /tmp/rft_image_build) - $ NO_DIB=1 tox -efunc - # Run only functional tests without syncing golden images with server - $ NO_SYNC=1 tox -efunc - # Run a single functional test: - $ tox -efunc bareon/tests_functional/test_data_retention.py::DataRetentionTestCase::test_clean_policy - - -How to run tests (Clean CentOS environment, e.g. CI slave) ----------------------------------------------------------- - -- Provision CI slave -- Install tox, and other dependencies: - -.. code-block:: console - - $ sudo pip install tox - $ sudo yum install yum-utils.noarch - $ sudo yum install dib-utils # Use newt-provided noarch rpm - -- If local KVM is going to be used to run slaves (nested virtualization) - -.. note:: Currently this is a required step (no support for remote qemu) - -.. code-block:: console - - $ sudo yum install libvirt - $ sudo yum install libvirt-python - $ echo 'auth_unix_ro = "none"' | sudo tee -a /etc/libvirt/libvirtd.conf - $ echo 'auth_unix_rw = "none"' | sudo tee -a /etc/libvirt/libvirtd.conf - $ /bin/systemctl start libvirtd.service - -- Install ramdisk-func-test from source: - -.. code-block:: console - - $ cd /opt/stack/ - $ git clone git@github.com:openstack/ramdisk-func-test.git - $ cd ramdisk-func-test - # If this job is triggered by pull request to ramdisk-func-test, checkout - # PR source branch git checkout - # Otherwise use master - $ sudo python setup.py develop - -- Configure ramdisk-func-test framework - -.. code-block:: console - - # Create config - $ sudo mkdir /etc/ramdisk-func-test - $ sudo chown $USER:$USER /etc/ramdisk-func-test - $ cp ~/ramdisk-func-test/etc/ramdisk-func-test/ramdisk-func-test.conf.sample \ - /etc/ramdisk-func-test/ramdisk-func-test.conf - - # Open port for the Ironic API stub - $ sudo iptables -I INPUT -p tcp --dport 8011 -j ACCEPT - - # Configure rsync daemon - $ cd ramdisk-func-test && sudo python tools/setup_rsync.py - -- Get bareon source: - -.. code-block:: console - - $ cd /opt/stack/ - $ git clone git@github.com:openstack/bareon.git - # If this job is triggered by pull request to bareon, checkout PR source branch - $ git checkout - # Otherwise use master - $ git checkout newt/kilo - -- Configure image build environment If needed (example below). Otherwise default is used. -- Run all tests - -.. code-block:: console - - $ cd ~/bareon - $ tox +.. note:: + By default each time the tests are ran, the bareon images are built and the golden images + fetched (providing they do not currently exist). To suppress this behaviour set environment + variables ``NO_DIB`` for the bareon images and ``NO_SYNC`` for the golden images. Customizing image build environment ----------------------------------- A default environment file could be found at bareon/tests_functional/image_build/centos_minimal_env.sh -You can override these with your own environment. To run tests using a custom +You can override these with your own environment. To run the tests using a custom environment: .. code-block:: console - $ export BUILD_ENV=/path/to/my_bareon_env.sh - - -Using pre-built images ----------------------- -- Make sure images are at /tmp/rft_image_build and named initramfs and vmlinuz -- Make sure the fuel_key is at /tmp/rft_image_build -- Use the following command to run tests: - -.. code-block:: console - - $ cd ~/bareon - $ NO_DIB=1 tox - - -Updating golden images ----------------------- -According to the https://bugs.launchpad.net/fuel/+bug/1549368 golden images -are hosted at http://images.fuel-infra.org/rft_golden_images/ - -To update existing golden images you need to put them on two hosts. Make sure -you have the key and proper ssh config. - - -.. code-block:: console - - $ cat ~/.ssh/config - - Host fuel-infra-images - HostName seed-*.fuel-infra.org - User images - identityfile ~/.ssh/golden_images_key_rsa - - $ cd /tmp/rft_golden_images - $ rsync -av --progress . images@seed-cz1.fuel-infra.org:/var/www/images/rft_golden_images/ & - $ rsync -av --progress . images@seed-us1.fuel-infra.org:/var/www/images/rft_golden_images/ & + $ export BUILD_ENV=/path/to/my_bareon_env.sh \ No newline at end of file diff --git a/doc/source/diagrams/technical_overview.gliffy b/doc/source/diagrams/technical_overview.gliffy new file mode 100644 index 0000000..1530eaa --- /dev/null +++ b/doc/source/diagrams/technical_overview.gliffy @@ -0,0 +1 @@ +{"contentType":"application/gliffy+json","version":"1.3","stage":{"background":"#FFFFFF","width":730,"height":545,"nodeIndex":267,"autoFit":true,"exportBorder":false,"gridOn":false,"snapToGrid":false,"drawingGuidesOn":true,"pageBreaksOn":false,"printGridOn":false,"printPaper":null,"printShrinkToFit":false,"printPortrait":false,"maxWidth":5000,"maxHeight":5000,"themeData":{"uid":"com.gliffy.theme.blueprint","name":"Blueprint","shape":{"primary":{"strokeWidth":2,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dropShadow":false,"opacity":1,"text":{"color":"#08233F"}},"secondary":{"strokeWidth":2,"strokeColor":"#08233F","fillColor":"#424D76","gradient":false,"dropShadow":false,"opacity":1,"text":{"color":"#FFFFFF"}},"tertiary":{"strokeWidth":2,"strokeColor":"#0B599F","fillColor":"#FFFFFF","gradient":false,"dropShadow":false,"opacity":1,"text":{"color":"#08233F"}},"highlight":{"strokeWidth":2,"strokeColor":"#0B599F","fillColor":"#0B599F","gradient":false,"dropShadow":false,"opacity":1,"text":{"color":"#ffffff"}}},"line":{"strokeWidth":2,"strokeColor":"#0B599F","fillColor":"none","arrowType":2,"interpolationType":"linear","cornerRadius":0,"text":{"color":"#08233F"}},"text":{"color":"#08233F"},"stage":{"color":"#FFFFFF"}},"imageCache":null,"viewportType":"default","fitBB":{"min":{"x":25,"y":0},"max":{"x":730,"y":545}},"printModel":{"pageSize":"Letter","portrait":true,"fitToOnePage":false,"displayPageBreaks":false},"objects":[{"x":30.0,"y":45.0,"rotation":0.0,"id":259,"width":52.0,"height":50.0,"uid":"com.gliffy.shape.basic.basic_v1.default.star","order":132,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.five_star.basic_v1","strokeWidth":2.0,"strokeColor":"#bf9000","fillColor":"#ffff00","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.04,"y":0.0,"rotation":0.0,"id":260,"width":49.92,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

1

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":438.0,"y":30.0,"rotation":0.0,"id":220,"width":45.0,"height":1.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":125,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#cc0000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-0.5,0.0],[12.833333333333314,0.0],[26.166666666666686,0.0],[39.5,0.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":643.0,"y":274.0,"rotation":0.0,"id":203,"width":3.0,"height":88.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":119,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#38761d","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[6.0,116.0],[6.0,132.6699996667333],[6.0,149.33999933346666],[6.0,166.00999900019997]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":249,"width":23.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.3599280215928024,"linePerpValue":0.0,"cardinalityType":null,"html":"

15

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":592.0,"y":342.0,"rotation":0.0,"id":200,"width":1.0,"height":85.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":116,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#38761d","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[19.0,48.0],[19.0,94.0],[19.0,94.0],[19.0,140.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":239,"width":23.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.21518987341772153,"linePerpValue":0.0,"cardinalityType":null,"html":"

14

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":596.0,"y":281.0,"rotation":0.0,"id":199,"width":256.0,"height":155.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":113,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[4.0,79.12489168102786],[-221.0,79.12489168102786],[-221.0,170.7157287525381],[-256.0,170.7157287525381]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":226,"width":22.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.31561466711573916,"linePerpValue":null,"cardinalityType":null,"html":"

11

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":565.0,"y":19.0,"rotation":0.0,"id":194,"width":150.0,"height":14.0,"uid":"com.gliffy.shape.basic.basic_v1.default.text","order":109,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Target node

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":217.00000000000003,"y":190.0,"rotation":0.0,"id":183,"width":140.0,"height":300.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":0,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#b4a7d6","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":30.0,"y":155.0,"rotation":0.0,"id":176,"width":101.0,"height":370.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":1,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#85200c","fillColor":"#e6b8af","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":762.0,"y":32.0,"rotation":0.0,"id":139,"width":72.0,"height":1.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":90,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-171.99285750725141,138.0],[-195.32857167150098,138.0],[-218.66428583575043,138.0],[-242.0,138.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":143,"width":23.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.42839660848315503,"linePerpValue":null,"cardinalityType":null,"html":"

10

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":228.0,"y":280.0,"rotation":0.0,"id":112,"width":51.0,"height":3.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":81,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#cc0000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[2.000000000000057,3.0],[-31.25483399593901,3.0],[-31.25483399593901,220.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":134,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.4967866762367452,"linePerpValue":null,"cardinalityType":null,"html":"

6

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":774.0,"y":101.0,"rotation":0.0,"id":106,"width":273.0,"height":3.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":78,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#38761d","fillColor":"none","dashStyle":null,"startArrow":2,"endArrow":0,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-94.0,238.0],[-72.0,238.0],[-72.0,6.5],[-162.5,6.5]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":144,"width":23.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.8517441860465116,"linePerpValue":0.0,"cardinalityType":null,"html":"

14

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":326.0,"y":259.0,"rotation":0.0,"id":90,"width":441.0,"height":2.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":63,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#ff9900","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[4.000000000000057,-1.5],[86.0,-1.5],[86.0,-46.0],[264.0,-46.0]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":138,"width":36.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.6929392446633827,"linePerpValue":0.0,"cardinalityType":null,"html":"

8,17

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":349.0,"y":281.0,"rotation":0.0,"id":88,"width":433.0,"height":2.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":60,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#000000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-18.999999999999943,26.5],[80.0,26.5],[80.0,-43.0],[241.0,-43.0]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":136,"width":40.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.19277108433734944,"linePerpValue":0.0,"cardinalityType":null,"html":"

7, 16

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":761.0,"y":459.0,"rotation":0.0,"id":80,"width":261.0,"height":2.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":51,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-170.8459556130158,56.0],[-207.56397040867716,56.0],[-244.28198520433864,56.0],[-281.0,56.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":142,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.5265353652947969,"linePerpValue":0.0,"cardinalityType":null,"html":"

9

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":233.0,"y":455.0,"rotation":0.0,"id":77,"width":192.0,"height":6.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":50,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[9.0,60.0],[61.666666666666686,60.0],[114.33333333333331,60.0],[167.0,60.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":140.0,"y":471.0,"rotation":0.0,"id":73,"width":27.0,"height":1.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":44,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-20.0,-48.5],[16.0,-48.5],[16.0,44.0],[38.00000000000003,44.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":114,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.09966777408637872,"linePerpValue":0.0,"cardinalityType":null,"html":"

2

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":116.0,"y":500.0,"rotation":0.0,"id":72,"width":127.0,"height":1.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":41,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[4.0,-30.0],[67.00000000000003,-30.0],[67.00000000000003,-40.0],[114.0,-40.0]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":115,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.12307692307692303,"linePerpValue":0.0,"cardinalityType":null,"html":"

3

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":56.0,"y":80.0,"rotation":0.0,"id":63,"width":1.0,"height":57.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":40,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-1.34375,0.0],[-1.34375,52.5],[-1.0,52.5],[-1.0,105.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":30.0,"y":10.0,"rotation":0.0,"id":10,"width":310.00000000000006,"height":70.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":14,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#38761d","fillColor":"#d9ead3","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":6.199999999999997,"y":0.0,"rotation":0.0,"id":12,"width":297.5999999999998,"height":68.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

# nova boot  --image $IMAGE_ID --flavor $FLAVOR  \\

--meta deploy_config=deploy_config \\

--meta driver_actions=actions_list \\

fuel_deploy

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":477.5,"y":10.0,"rotation":0.0,"id":98,"width":80.0,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":69,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":99,"width":76.8,"height":14.0,"uid":null,"order":71,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Swift

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":202.0,"rotation":0.0,"id":31,"width":110.00000000000001,"height":178.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":26,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":590.0,"y":10.0,"rotation":0.0,"id":39,"width":102.0,"height":520.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":27,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#bf9000","fillColor":"#ffe599","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":327.0,"y":280.0,"rotation":0.0,"id":104,"width":50.0,"height":255.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":75,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#cc0000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[3.000000000000057,3.0],[53.931457505076196,3.0],[53.931457505076196,-230.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":117,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.7149612860222463,"linePerpValue":0.0,"cardinalityType":null,"html":"

5

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":333.0,"y":281.0,"rotation":0.0,"id":122,"width":328.0,"height":226.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":87,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#cc0000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[-2.999999999999943,2.0],[64.0,2.0],[64.0,-111.0],[107.0,-111.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":131,"width":14.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.6726457399103141,"linePerpValue":0.0,"cardinalityType":null,"html":"

4

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":40.0,"y":185.0,"rotation":0.0,"id":0,"width":80.0,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":2,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#d9d9d9","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":1,"width":76.8,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Nova API

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":40.0,"y":240.0,"rotation":0.0,"id":2,"width":80.0,"height":59.99999999999999,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":5,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":4,"width":76.80000000000001,"height":27.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Nova Conductor

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":40.0,"y":317.5,"rotation":0.0,"id":5,"width":80.0,"height":56.99999999999999,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":8,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.0,"y":0.0,"rotation":0.0,"id":7,"width":76.0,"height":27.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Nova Scheduler

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":40.0,"y":390.0,"rotation":0.0,"id":8,"width":80.0,"height":65.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":11,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999994,"y":0.0,"rotation":0.0,"id":9,"width":76.8,"height":27.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Nova Compute

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":40.0,"y":450.0,"rotation":0.0,"id":22,"width":80.0,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":17,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.2307692307692306,"y":0.0,"rotation":0.0,"id":24,"width":77.53846153846153,"height":27.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Ironic virt driver

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.0,"y":440.0,"rotation":0.0,"id":25,"width":110.00000000000001,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":20,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.2,"y":0.0,"rotation":0.0,"id":26,"width":105.60000000000002,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Ironic API

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":380.0,"rotation":0.0,"id":28,"width":110.0,"height":42.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":23,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.1999999999999993,"y":0.0,"rotation":0.0,"id":29,"width":105.59999999999997,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Ironic Conductor

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":178.00000000000003,"y":500.0,"rotation":0.0,"id":42,"width":63.999999999999986,"height":30.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":28,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.2799999999999998,"y":0.0,"rotation":0.0,"id":44,"width":61.43999999999999,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Neutron

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":400.0,"y":500.0,"rotation":0.0,"id":75,"width":80.0,"height":30.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":47,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":76,"width":76.8,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

dnsmasq

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":357.5,"y":10.0,"rotation":0.0,"id":96,"width":80.0,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":66,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":97,"width":76.8,"height":14.0,"uid":null,"order":68,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Glance

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":479.5,"y":80.0,"rotation":0.0,"id":102,"width":132.0,"height":54.99999999999999,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":72,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.6399999999999997,"y":0.0,"rotation":0.0,"id":103,"width":126.71999999999996,"height":41.0,"uid":null,"order":74,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

rsync server

(forwarded over SSH)

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":440.0,"y":150.0,"rotation":0.0,"id":120,"width":80.0,"height":40.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":84,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.5999999999999999,"y":0.0,"rotation":0.0,"id":121,"width":76.8,"height":14.0,"uid":null,"order":86,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

TFTP

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":210.0,"y":209.0,"rotation":0.0,"id":156,"width":150.0,"height":41.0,"uid":"com.gliffy.shape.basic.basic_v1.default.text","order":94,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Bareon driver eg:

bare_rsync_ssh

 

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":600.0,"y":288.0,"rotation":0.0,"id":186,"width":80.0,"height":102.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":103,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.6,"y":0.0,"rotation":0.0,"id":187,"width":76.80000000000001,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Bareon

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":600.0,"y":480.0,"rotation":0.0,"id":191,"width":80.0,"height":45.0,"uid":"com.gliffy.shape.basic.basic_v1.default.cylinder","order":106,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.cylinder.basic_v1","strokeWidth":2.0,"strokeColor":"#073763","fillColor":"#cfe2f3","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":4.0,"y":0.0,"rotation":0.0,"id":193,"width":72.0,"height":27.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Local storage

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":620.0,"y":440.0,"rotation":0.0,"id":197,"width":60.0,"height":20.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":110,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.1999999999999997,"y":0.0,"rotation":0.0,"id":198,"width":57.59999999999999,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

BIOS

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":600.0,"y":250.0,"rotation":0.0,"id":212,"width":80.0,"height":41.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":122,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.6,"y":0.0,"rotation":0.0,"id":213,"width":76.80000000000001,"height":27.0,"uid":null,"order":124,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Provision script

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":275.0,"rotation":0.0,"id":51,"width":100.0,"height":16.0,"uid":"com.gliffy.shape.basic.basic_v1.default.round_rectangle","order":31,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.round_rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#cc0000","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":1.9999999999999998,"y":0.0,"rotation":0.0,"id":52,"width":96.0,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Deploy

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":300.0,"rotation":0.0,"id":53,"width":100.0,"height":15.0,"uid":"com.gliffy.shape.basic.basic_v1.default.round_rectangle","order":34,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.round_rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#000000","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.0,"y":0.0,"rotation":0.0,"id":54,"width":96.00000000000001,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Management

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":250.0,"rotation":0.0,"id":55,"width":100.0,"height":15.0,"uid":"com.gliffy.shape.basic.basic_v1.default.round_rectangle","order":37,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.round_rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#ff9900","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.0,"y":0.0,"rotation":0.0,"id":56,"width":96.0,"height":14.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Power

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":325.0,"rotation":0.0,"id":84,"width":100.0,"height":15.0,"uid":"com.gliffy.shape.basic.basic_v1.default.round_rectangle","order":54,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.round_rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#38761d","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.0,"y":0.0,"rotation":0.0,"id":85,"width":96.00000000000001,"height":14.0,"uid":null,"order":56,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Vendor

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":230.00000000000006,"y":352.5,"rotation":0.0,"id":86,"width":100.0,"height":15.0,"uid":"com.gliffy.shape.basic.basic_v1.default.round_rectangle","order":57,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.round_rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#20124d","fillColor":"#DDE6F1","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":2.0,"y":0.0,"rotation":0.0,"id":87,"width":96.00000000000001,"height":14.0,"uid":null,"order":59,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

Console

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":127.0,"y":103.0,"rotation":0.0,"id":172,"width":39.0,"height":32.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":102,"lockAspectRatio":false,"lockShape":false,"constraints":{"constraints":[],"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":0,"py":0.0,"px":0.7071067811865476}}},"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[23.0,32.0],[-30.431457505076196,32.0],[-30.431457505076196,82.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":150.0,"y":97.5,"rotation":0.0,"id":169,"width":222.0,"height":75.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":99,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#38761d","fillColor":"#d9ead3","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":4.439999999999999,"y":0.0,"rotation":0.0,"id":170,"width":213.11999999999998,"height":54.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

# nova rebuild $INSTANCE \\

$AVAILABLE_IMAGE \\

--meta sb_key=swift:container/file \\ --meta sb_user=centos

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":378.0,"y":457.0,"rotation":0.0,"id":164,"width":52.0,"height":69.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":98,"lockAspectRatio":false,"lockShape":false,"constraints":{"constraints":[],"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":25,"py":0.7071067811865475,"px":0.9999999999999998}}},"graphic":{"type":"Line","Line":{"strokeWidth":2.0,"strokeColor":"#0B599F","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[10.642128244582807,11.284271247461902],[-5.571914503611481,11.284271247461902],[-21.785957251805712,11.284271247461902],[-38.0,11.284271247461902]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":388.5,"y":380.0,"rotation":0.0,"id":162,"width":183.0,"height":100.0,"uid":"com.gliffy.shape.basic.basic_v1.default.rectangle","order":95,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2.0,"strokeColor":"#38761d","fillColor":"#d9ead3","gradient":false,"dashStyle":null,"dropShadow":false,"state":0,"opacity":1.0,"shadowX":0.0,"shadowY":0.0}},"linkMap":[],"children":[{"x":3.6599999999999993,"y":0.0,"rotation":0.0,"id":163,"width":175.67999999999995,"height":68.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"none","paddingTop":8,"paddingRight":8,"paddingBottom":8,"paddingLeft":8,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":null,"linePerpValue":null,"cardinalityType":null,"html":"

# ironic node-vendor-passthru \\

--http-method POST \\

$NODE_UUID exec_actions \\

driver_actions=actions_list

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":327.0,"y":336.0,"rotation":0.0,"id":231,"width":273.0,"height":90.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":126,"lockAspectRatio":false,"lockShape":false,"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":84,"py":0.5,"px":1.0}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":212,"py":0.5,"px":0.0}}},"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#38761d","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[3.000000000000057,-3.5],[123.0,-3.5],[123.0,-65.5],[273.0,-65.5]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":233,"width":23.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.7473841554559044,"linePerpValue":0.0,"cardinalityType":null,"html":"

12

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":311.0,"y":335.0,"rotation":0.0,"id":234,"width":206.0,"height":2.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":129,"lockAspectRatio":false,"lockShape":false,"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":84,"py":0.5,"px":1.0}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":186,"py":0.2928932188134525,"px":1.1102230246251563E-16}}},"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#38761d","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[19.000000000000057,-2.5],[163.0,-2.5],[163.0,-17.12489168102786],[289.0,-17.12489168102786]],"lockSegments":{"1":true},"ortho":true}},"linkMap":[],"children":[{"x":0.0,"y":0.0,"rotation":0.0,"id":237,"width":50.0,"height":18.0,"uid":null,"order":"auto","lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Text","Text":{"overflow":"both","paddingTop":2,"paddingRight":2,"paddingBottom":2,"paddingLeft":2,"outerPaddingTop":6,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingLeft":6,"type":"fixed","lineTValue":0.7557686786733531,"linePerpValue":0.0,"cardinalityType":null,"html":"

13, 15

","tid":null,"valign":"middle","vposition":"none","hposition":"none"}},"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"hidden":false,"layerId":"Mk0i2XKm9gCQ"},{"x":326.85714285714283,"y":438.71428571428567,"rotation":0.0,"id":265,"width":50.0,"height":255.0,"uid":"com.gliffy.shape.basic.basic_v1.default.line","order":135,"lockAspectRatio":false,"lockShape":false,"graphic":{"type":"Line","Line":{"strokeWidth":4.0,"strokeColor":"#cc0000","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":2,"startArrowRotation":"auto","endArrowRotation":"auto","interpolationType":"linear","cornerRadius":null,"controlPath":[[54.0,-275.0],[54.0,-252.5],[53.931457505076196,-252.5],[53.931457505076196,-230.0]],"lockSegments":{},"ortho":true}},"linkMap":[],"children":[],"hidden":false,"layerId":"Mk0i2XKm9gCQ"}],"layers":[{"guid":"sNtKLMAB9Bii","order":1,"name":"Layer 1","active":false,"locked":false,"visible":true,"nodeIndex":0},{"guid":"Mk0i2XKm9gCQ","order":0,"name":"Layer 0","active":true,"locked":false,"visible":true,"nodeIndex":138}],"shapeStyles":{},"lineStyles":{"global":{"fill":"none","stroke":"#38761d","strokeWidth":2,"startArrow":2,"orthoMode":0}},"textStyles":{"global":{"bold":true,"face":"Arial","size":"16px","color":"#000000"}}},"metadata":{"title":"untitled","revision":0,"exportBorder":false,"loadPosition":"default","libraries":["com.gliffy.libraries.uml.uml_v2.class","com.gliffy.libraries.flowchart.flowchart_v1.default","com.gliffy.libraries.basic.basic_v1.default","com.gliffy.libraries.swimlanes.swimlanes_v1.default","com.gliffy.libraries.uml.uml_v2.sequence","com.gliffy.libraries.uml.uml_v2.activity","com.gliffy.libraries.erd.erd_v1.default","com.gliffy.libraries.ui.ui_v3.containers_content","com.gliffy.libraries.ui.ui_v3.forms_controls","com.gliffy.libraries.images"],"autosaveDisabled":false,"lastSerialized":1504185847035,"analyticsProduct":"Confluence"},"embeddedResources":{"index":0,"resources":[]}} \ No newline at end of file diff --git a/doc/source/diagrams/technical_overview.png b/doc/source/diagrams/technical_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..1c89e524c7194a9794a256e1d610058c4d8127dd GIT binary patch literal 69476 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

QnH$Y)pu$c`bhcp_n^taCWY7O|`5)3H} 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 `mVT}2zL8J^( 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 Sv5W`&sH=sgo#D~ literal 0 HcmV?d00001 diff --git a/doc/source/diagrams/technical_overview.svg b/doc/source/diagrams/technical_overview.svg new file mode 100644 index 0000000..e8edd55 --- /dev/null +++ b/doc/source/diagrams/technical_overview.svg @@ -0,0 +1 @@ +NovaAPINovaConductorNovaSchedulerNovaCompute#novaboot--image $IMAGE_ID --flavor $FLAVOR\--meta=deploy_config \deploy_config--meta=actions_list \driver_actionsfuel_deployIronicvirtdriverIronicAPIIronicConductorNeutronDeployManagementPower32dnsmasq9VendorConsole7,168,17GlanceSwiftrsyncserver(forwardedoverSSH)5146TFTP410Bareondrivereg:bare_rsync_ssh#ironicnode-vendor-passthru \--http-methodPOST \$NODE_UUIDexec_actions \=actions_listdriver_actions#novarebuild $INSTANCE \$AVAILABLE_IMAGE \--meta=swift:container/file \--=centossb_keymetasb_userBareonLocalstorageTargetnodeBIOS111415Provisionscript1213,151 \ No newline at end of file