[admin-guide] Deleting the remainder of the admin-guide from master

Change-Id: I7bdcfddfbe6b55e9e462d42617bc57291ed9e008
This commit is contained in:
Alexandra Settle 2017-08-08 14:48:10 +01:00
parent c9754cc576
commit 4f05c571e2
43 changed files with 0 additions and 1878 deletions

View File

@ -28,7 +28,6 @@ declare -A SPECIAL_BOOKS=(
["image-guide"]="RST"
["install-guide"]="RST"
# Do not translate
["admin-guide"]="skip"
["arch-design"]="skip"
["contributor-guide"]="skip"
["releasenotes"]="skip"

View File

@ -1,27 +0,0 @@
[metadata]
name = openstackcloudadminguide
summary = OpenStack Cloud Administrator Guide
author = OpenStack
author-email = openstack-docs@lists.openstack.org
home-page = https://docs.openstack.org/
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Topic :: Documentation
[global]
setup-hooks =
pbr.hooks.setup_hook
[files]
[build_sphinx]
warning-is-error = 1
build-dir = build
source-dir = source
[wheel]
universal = 1

View File

@ -1,30 +0,0 @@
#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
import multiprocessing # noqa
except ImportError:
pass
setuptools.setup(
setup_requires=['pbr'],
pbr=True)

View File

@ -1,9 +0,0 @@
Appendix
~~~~~~~~
.. toctree::
:maxdepth: 1
firewalls-default-ports.rst
common/app-support.rst
common/glossary.rst

View File

@ -1 +0,0 @@
../../common

View File

@ -1,306 +0,0 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import os
# import sys
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['openstackdocstheme']
# Add any paths that contain templates here, relative to this directory.
# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
repository_name = "openstack/openstack-manuals"
bug_project = 'openstack-manuals'
project = u'Administrator Guide'
bug_tag = u'admin-guide'
copyright = u'2015-2017, OpenStack contributors'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '15.0'
# The full version, including alpha/beta/rc tags.
release = '15.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
# today = ''
# Else, today_fmt is used as the format for a strftime call.
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = [
'common/appendix.rst',
'common/cli-*.rst',
]
# The reST default role (used for this markup: `text`) to use for all
# documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
# keep_warnings = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = [openstackdocstheme.get_html_theme_path()]
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = []
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
# html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
# So that we can enable "log-a-bug" links from each output HTML page, this
# variable must be set to a format that includes year, month, day, hours and
# minutes.
html_last_updated_fmt = '%Y-%m-%d %H:%M'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
# html_additional_pages = {}
# If false, no module index is generated.
# html_domain_indices = True
# If false, no index is generated.
html_use_index = False
# If true, the index is split into individual pages for each letter.
# html_split_index = False
# If true, links to the reST sources are added to the pages.
html_show_sourcelink = False
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'admin-guide'
# If true, publish source files
html_copy_source = False
# -- Options for linkcheck ------------------------------------------------
linkcheck_ignore = [r'https://127.0.0.1',
r'https://swift.example.com/']
# -- Options for LaTeX output ---------------------------------------------
latex_engine = 'xelatex'
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
# 'papersize': 'letterpaper',
# set font (TODO: different fonts for translated PDF document builds)
'fontenc': '\\usepackage{fontspec}',
'fontpkg': '''\
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{Liberation Serif}
\setsansfont{Liberation Sans}
\setmonofont[SmallCapsFont={Liberation Mono}]{Liberation Mono}
''',
# The font size ('10pt', '11pt' or '12pt').
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
# 'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'AdminGuide.tex', u'Administrator Guide',
u'OpenStack contributors', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# If true, show page references after internal links.
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
# latex_show_urls = False
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'adminguide', u'Administrator Guide',
[u'OpenStack contributors'], 1)
]
# If true, show URL addresses after external links.
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'AdminGuidereview/joseph_robinson/bp/user-guides-reorganised',
u'Administrator Guide', u'OpenStack contributors', 'AdminGuide',
'This guide shows OpenStack end users how to create and manage resources '
'in an OpenStack cloud with the OpenStack dashboard and OpenStack client '
'commands.', 'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
# texinfo_appendices = []
# If false, no module index is generated.
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']
# -- Options for PDF output --------------------------------------------------
pdf_documents = [
('index', u'AdminGuide', u'Administrator Guide',
u'OpenStack contributors')
]

View File

@ -1,195 +0,0 @@
.. _cross-project:
=============================
Cross-origin resource sharing
=============================
.. note::
This is a new feature in OpenStack Liberty.
OpenStack supports :term:`Cross-Origin Resource Sharing (CORS)`, a W3C
specification defining a contract by which the single-origin policy of a user
agent (usually a browser) may be relaxed. It permits the javascript engine
to access an API that does not reside on the same domain, protocol, or port.
This feature is most useful to organizations which maintain one or more
custom user interfaces for OpenStack, as it permits those interfaces to access
the services directly, rather than requiring an intermediate proxy server. It
can, however, also be misused by malicious actors; please review the
security advisory below for more information.
Enabling CORS with configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In most cases, CORS support is built directly into the service itself. To
enable it, simply follow the configuration options exposed in the default
configuration file, or add it yourself according to the pattern below.
.. code-block:: ini
[cors]
allowed_origin = https://first_ui.example.com
max_age = 3600
allow_methods = GET,POST,PUT,DELETE
allow_headers = Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma,X-Custom-Header
expose_headers = Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma,X-Custom-Header
Additional origins can be explicitly added. To express this in
your configuration file, first begin with a ``[cors]`` group as above,
into which you place your default configuration values. Then, add as many
additional configuration groups as necessary, naming them
``[cors.{something}]`` (each name must be unique). The purpose of the
suffix to ``cors.`` is legibility, we recommend using a reasonable
human-readable string:
.. code-block:: ini
[cors.ironic_webclient]
# CORS Configuration for a hypothetical ironic webclient, which overrides
# authentication
allowed_origin = https://ironic.example.com:443
allow_credentials = True
[cors.horizon]
# CORS Configuration for horizon, which uses global options.
allowed_origin = https://horizon.example.com:443
[cors.wildcard]
# CORS Configuration for the CORS specified domain wildcard, which only
# permits HTTP GET requests.
allowed_origin = *
allow_methods = GET
For more information about CORS configuration,
see `cross-origin resource sharing
<https://docs.openstack.org/ocata/config-reference/common-configurations/cors.html>`_
in OpenStack Configuration Reference.
Enabling CORS with PasteDeploy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CORS can also be configured using PasteDeploy. First of all, ensure that
OpenStack's ``oslo_middleware`` package (version 2.4.0 or later) is
available in the Python environment that is running the service. Then,
add the following configuration block to your ``paste.ini`` file.
.. code-block:: ini
[filter:cors]
paste.filter_factory = oslo_middleware.cors:filter_factory
allowed_origin = https://website.example.com:443
max_age = 3600
allow_methods = GET,POST,PUT,DELETE
allow_headers = Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma,X-Custom-Header
expose_headers = Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma,X-Custom-Header
.. note::
To add an additional domain in oslo_middleware v2.4.0, add
another filter. In v3.0.0 and after, you may add multiple domains
in the above ``allowed_origin`` field, separated by commas.
Security concerns
~~~~~~~~~~~~~~~~~
CORS specifies a wildcard character ``*``, which permits access to all user
agents, regardless of domain, protocol, or host. While there are valid use
cases for this approach, it also permits a malicious actor to create a
convincing facsimile of a user interface, and trick users into revealing
authentication credentials. Please carefully evaluate your use case and the
relevant documentation for any risk to your organization.
.. note::
The CORS specification does not support using this wildcard as
a part of a URI. Setting ``allowed_origin`` to ``*`` would work, while
``*.openstack.org`` would not.
Troubleshooting
~~~~~~~~~~~~~~~
CORS is very easy to get wrong, as even one incorrect property will violate
the prescribed contract. Here are some steps you can take to troubleshoot
your configuration.
Check the service log
---------------------
The CORS middleware used by OpenStack provides verbose debug logging that
should reveal most configuration problems. Here are some example log
messages, and how to resolve them.
Problem
-------
``CORS request from origin 'http://example.com' not permitted.``
Solution
--------
A request was received from the origin ``http://example.com``, however this
origin was not found in the permitted list. The cause may be a superfluous
port notation (ports 80 and 443 do not need to be specified). To correct,
ensure that the configuration property for this host is identical to the
host indicated in the log message.
Problem
-------
``Request method 'DELETE' not in permitted list: GET,PUT,POST``
Solution
--------
A user agent has requested permission to perform a DELETE request, however
the CORS configuration for the domain does not permit this. To correct, add
this method to the ``allow_methods`` configuration property.
Problem
-------
``Request header 'X-Custom-Header' not in permitted list: X-Other-Header``
Solution
--------
A request was received with the header ``X-Custom-Header``, which is not
permitted. Add this header to the ``allow_headers`` configuration
property.
Open your browser's console log
-------------------------------
Most browsers provide helpful debug output when a CORS request is rejected.
Usually this happens when a request was successful, but the return headers on
the response do not permit access to a property which the browser is trying
to access.
Manually construct a CORS request
---------------------------------
By using ``curl`` or a similar tool, you can trigger a CORS response with a
properly constructed HTTP request. An example request and response might look
like this.
Request example:
.. code-block:: console
$ curl -I -X OPTIONS https://api.example.com/api -H "Origin: https://ui.example.com"
Response example:
.. code-block:: console
HTTP/1.1 204 No Content
Content-Length: 0
Access-Control-Allow-Origin: https://ui.example.com
Access-Control-Allow-Methods: GET,POST,PUT,DELETE
Access-Control-Expose-Headers: origin,authorization,accept,x-total,x-limit,x-marker,x-client,content-type
Access-Control-Allow-Headers: origin,authorization,accept,x-total,x-limit,x-marker,x-client,content-type
Access-Control-Max-Age: 3600
If the service does not return any access control headers, check the service
log, such as ``/var/log/upstart/ironic-api.log`` for an indication on what
went wrong.

View File

@ -1,13 +0,0 @@
======================
Cross-project features
======================
Many features are common to all the OpenStack services and are consistent in
their configuration and deployment patterns. Unless explicitly noted, you can
safely assume that the features in this chapter are supported and configured
in a consistent manner.
.. toctree::
:maxdepth: 2
cross-project-cors.rst

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

View File

@ -1,824 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 SCH_5009_V00_NUAC-VNC_OpenStack.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.1137in" height="4.39565in"
viewBox="0 0 800.187 316.487" xml:space="preserve" color-interpolation-filters="sRGB" class="st22">
<title>Schéma Réseau</title>
<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false">
<v:userDefs>
<v:ud v:nameU="msvNoAutoConnect" v:val="VT0(0):26"/>
</v:userDefs>
</v:documentProperties>
<style type="text/css">
<![CDATA[
.st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st2 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st3 {marker-end:url(#mrkr13-10);stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
.st4 {fill:#595959;fill-opacity:1;stroke:#595959;stroke-opacity:1;stroke-width:0.37313432835821}
.st5 {fill:#595959;stroke:none;stroke-linecap:butt;stroke-width:0.75}
.st6 {fill:#ffffff;stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
.st7 {fill:#3f3f3f;font-family:Calibri;font-size:0.666664em}
.st8 {fill:#ff00ff;fill-opacity:0}
.st9 {stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0;stroke-width:0.72}
.st10 {fill:url(#grad32-50);stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
.st11 {fill:url(#grad32-50);visibility:hidden}
.st12 {stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
.st13 {font-size:1em}
.st14 {visibility:visible}
.st15 {fill:#d8d8d8;stroke:#d8d8d8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
.st16 {fill:#ffffff;stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
.st17 {fill:#ffffff;stroke:#595959;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st18 {fill:none}
.st19 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1;visibility:hidden}
.st20 {fill:#000000;font-family:Calibri;font-size:0.666664em}
.st21 {fill:#595959;font-family:Calibri;font-size:1.5em}
.st22 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Patterns_And_Gradients">
<pattern id="grad32-50" v:fillPattern="32" v:foreground="#ffffff" v:background="#ffffff" x="0" y="0" width="1" height="1"
patternContentUnits="objectBoundingBox">
<path d="M 0 1 L 0 0 L 1 0 z" style="fill:url(#grad27-51)"/>
<path d="M 0 1 L 1 1 L 1 0 z" style="fill:url(#grad28-52)"/>
</pattern>
<linearGradient id="grad27-51" v:fillPattern="32" v:foreground="#ffffff" v:background="#ffffff" x1="1" y1="0" x2="0" y2="0">
<stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/>
<stop offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
</linearGradient>
<linearGradient id="grad28-52" v:fillPattern="32" v:foreground="#ffffff" v:background="#ffffff" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/>
<stop offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
</linearGradient>
</defs>
<defs id="Markers">
<g id="lend13">
<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
</g>
<marker id="mrkr13-10" class="st4" v:arrowType="13" v:arrowSize="2" v:setback="8.04" refX="-8.04" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend13" transform="scale(-2.68,-2.68) "/>
</marker>
</defs>
<g v:mID="4" v:index="1" v:groupContext="backgroundPage">
<v:userDefs>
<v:ud v:nameU="msvVisioCreated" v:prompt="" v:val="VT0(0):26"/>
</v:userDefs>
<title>VBackground-1</title>
<v:pageProperties width="11.1137" height="4.39565" v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24"
v:shadowOffsetX="8.50394" v:shadowOffsetY="-8.50394"/>
<g id="shape1-1" v:mID="1" v:groupContext="shape">
<title>Solid</title>
<v:userDefs>
<v:ud v:nameU="Background" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(DoNotContain)"/>
<v:ud v:nameU="msvVisioCreated" v:prompt="" v:val="VT0(0):26"/>
</v:userDefs>
<rect x="0" y="0" width="800.187" height="316.487" class="st1"/>
</g>
<g id="shape13-3" v:mID="13" v:groupContext="shape" transform="translate(18,-18)">
<title>None </title>
<v:userDefs>
<v:ud v:nameU="Background" v:val="VT0(3):26"/>
<v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(DoNotContain)"/>
<v:ud v:nameU="msvVisioCreated" v:prompt="" v:val="VT0(0):26"/>
</v:userDefs>
<rect x="0" y="36" width="764.187" height="280.487" class="st2"/>
</g>
</g>
<g v:mID="0" v:index="2" v:groupContext="foregroundPage">
<v:custProps>
<v:cp v:nameU="AskOnDrop" v:lbl="Ask On Drop" v:type="3" v:langID="1033" v:val="VT4(TRUE)"/>
</v:custProps>
<title>Page-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Connector" v:index="0"/>
<v:layer v:name="Annotations" v:index="1"/>
<v:layer v:name="Flowchart" v:index="2"/>
<v:layer v:name="Alarm and Access Control" v:index="3"/>
<v:layer v:name="Security" v:index="4"/>
<v:layer v:name="Electrical Fixture" v:index="5"/>
<g id="shape58-5" v:mID="58" v:groupContext="shape" transform="translate(129.862,-80.5441)">
<title>Sheet.58</title>
<path d="M0 316.49 L191.83 316.49" class="st3"/>
</g>
<g id="shape10-11" v:mID="10" v:groupContext="shape" transform="translate(65.8928,-222.597)">
<title>User.50</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M37.69 272.6 A19.1385 18.8371 0 0 1 34.74 274.19 L27.03 289.13 L19.32 274.19 A18.9128 18.615 0 0 1 16.37 272.6
A28.4427 27.9947 -180 0 0 0.06 299.75 A21.5444 21.2051 -180 0 0 27.03 315.67 A21.5444 21.2051 -180 0 0 54
299.75 A28.4427 27.9947 -180 0 0 37.69 272.6 ZM27.03 310.36 A18.859 18.562 0 0 1 5.45 299.75 A23.723 23.3494
0 0 1 15.82 279.14 L27.03 300.85 L38.24 279.14 A23.7188 23.3453 0 0 1 48.6 299.75 A18.859 18.562 0 0 1 27.03
310.36 ZM27.03 241.35 A16.1844 15.9295 -180 0 0 10.85 257.27 A16.1844 15.9295 -180 0 0 27.03 273.2 A16.1844
15.9295 -180 0 0 43.21 257.27 A16.1844 15.9295 -180 0 0 27.03 241.35 ZM27.03 267.89 A10.7988 10.6288 0 0
1 16.24 257.27 A10.7988 10.6288 0 0 1 27.03 246.66 A10.7988 10.6288 0 0 1 37.82 257.27 A10.7988 10.6288
0 0 1 27.03 267.89 Z" class="st5"/>
</g>
<g id="group8-13" transform="translate(55.864,-214.576)" v:mID="8" v:groupContext="group" v:layerMember="2">
<v:userDefs>
<v:ud v:nameU="msvThemeColors" v:val="VT0(2):26"/>
<v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
<v:ud v:nameU="visKeywords" v:val="VT4(SharePoint;Workflow;MOSS;SharePoint;Foundation)"/>
<v:ud v:nameU="SolSH" v:val="VT4({21c62d3a-0c14-434d-b64e-fc6e5bbfa482})"/>
<v:ud v:nameU="ShapeClass" v:val="VT0(3):26"/>
<v:ud v:nameU="ShapeType" v:val="VT0(28):26"/>
<v:ud v:nameU="msvAtomicShape" v:val="VT0(1):26"/>
<v:ud v:nameU="msvShapeCategories" v:val="VT4()"/>
</v:userDefs>
<title>Add list item permissions</title>
</g>
<g id="group3-14" transform="translate(346.758,-207.395)" v:mID="3" v:groupContext="group">
<title>Sheet.3</title>
<g id="shape80-15" v:mID="80" v:groupContext="shape" transform="translate(0,-17.1067)">
<title>Network.80</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M13.79 255.67 L13.79 280.45 L50.55 280.45 L50.55 255.67 L13.79 255.67 ZM11.49 282.7 L11.49 253.42 L52.84
253.42 L52.84 282.7 L11.49 282.7 ZM59.74 309.73 L59.74 305.22 L43.65 305.22 L43.65 309.73 L59.74 309.73
ZM39.06 311.98 L39.06 302.97 L25.27 302.97 L25.27 311.98 L39.06 311.98 ZM34.46 291.71 L29.87 291.71
L29.87 298.47 L34.46 298.47 L34.46 291.71 ZM6.89 287.2 L57.44 287.2 L57.44 248.91 L6.89 248.91 L6.89
287.2 ZM20.68 309.73 L20.68 305.22 L4.6 305.22 L4.6 309.73 L20.68 309.73 ZM61.65 300.72 C63.13 300.72
64.33 301.9 64.33 303.35 L64.33 311.6 C64.33 313.06 63.13 314.23 61.65 314.23 L43.57 314.23 C43.38 315.5
42.31 316.49 40.97 316.49 L23.36 316.49 C22.02 316.49 20.95 315.5 20.76 314.23 L2.68 314.23 C1.2 314.23
0 313.06 0 311.6 L0 303.35 C-0 301.9 1.2 300.72 2.68 300.72 L20.76 300.72 C20.95 299.45 22.02 298.47
23.36 298.47 L25.27 298.47 L25.27 291.71 L4.98 291.71 C3.5 291.71 2.3 290.53 2.3 289.08 L2.3 247.04
C2.3 245.58 3.5 244.41 4.98 244.41 L59.35 244.41 C60.83 244.41 62.03 245.58 62.03 247.04 L62.03 289.08
C62.03 290.53 60.83 291.71 59.35 291.71 L39.06 291.71 L39.06 298.47 L40.97 298.47 C42.31 298.47 43.38
299.45 43.57 300.72 L61.65 300.72 Z" class="st5"/>
</g>
<g id="shape2-17" v:mID="2" v:groupContext="shape" transform="translate(6.23971,1.13687E-013)">
<title>Sheet.2</title>
<desc>Nova-api</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="25.9256" cy="309.172" width="51.86" height="14.6291"/>
<rect x="0" y="301.858" width="51.8511" height="14.6291" class="st6"/>
<text x="11.35" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Nova-api</text> </g>
</g>
<g id="group4-20" transform="translate(648.373,-207.395)" v:mID="4" v:groupContext="group">
<title>Sheet.4</title>
<g id="shape7-21" v:mID="7" v:groupContext="shape" transform="translate(0,-17.1067)">
<title>Network.80</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M13.79 255.67 L13.79 280.45 L50.55 280.45 L50.55 255.67 L13.79 255.67 ZM11.49 282.7 L11.49 253.42 L52.84
253.42 L52.84 282.7 L11.49 282.7 ZM59.74 309.73 L59.74 305.22 L43.65 305.22 L43.65 309.73 L59.74 309.73
ZM39.06 311.98 L39.06 302.97 L25.27 302.97 L25.27 311.98 L39.06 311.98 ZM34.46 291.71 L29.87 291.71
L29.87 298.47 L34.46 298.47 L34.46 291.71 ZM6.89 287.2 L57.44 287.2 L57.44 248.91 L6.89 248.91 L6.89
287.2 ZM20.68 309.73 L20.68 305.22 L4.6 305.22 L4.6 309.73 L20.68 309.73 ZM61.65 300.72 C63.13 300.72
64.33 301.9 64.33 303.35 L64.33 311.6 C64.33 313.06 63.13 314.23 61.65 314.23 L43.57 314.23 C43.38 315.5
42.31 316.49 40.97 316.49 L23.36 316.49 C22.02 316.49 20.95 315.5 20.76 314.23 L2.68 314.23 C1.2 314.23
0 313.06 0 311.6 L0 303.35 C-0 301.9 1.2 300.72 2.68 300.72 L20.76 300.72 C20.95 299.45 22.02 298.47
23.36 298.47 L25.27 298.47 L25.27 291.71 L4.98 291.71 C3.5 291.71 2.3 290.53 2.3 289.08 L2.3 247.04
C2.3 245.58 3.5 244.41 4.98 244.41 L59.35 244.41 C60.83 244.41 62.03 245.58 62.03 247.04 L62.03 289.08
C62.03 290.53 60.83 291.71 59.35 291.71 L39.06 291.71 L39.06 298.47 L40.97 298.47 C42.31 298.47 43.38
299.45 43.57 300.72 L61.65 300.72 Z" class="st5"/>
</g>
<g id="shape12-23" v:mID="12" v:groupContext="shape" transform="translate(-7.82161,1.13687E-013)">
<title>Sheet.12</title>
<desc>Compute node</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="40.2066" cy="309.172" width="80.42" height="14.6291"/>
<rect x="0" y="301.858" width="80.4132" height="14.6291" class="st6"/>
<text x="16.03" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Compute node</text> </g>
</g>
<g id="shape13-26" v:mID="13" v:groupContext="shape" transform="translate(406.694,-260.743)">
<title>Sheet.13</title>
<path d="M0 316.49 L228.74 316.49" class="st3"/>
</g>
<g id="shape14-31" v:mID="14" v:groupContext="shape" transform="translate(430.299,-254.095)">
<title>Sheet.14</title>
<desc>The api sends a «get_vnc_console» message</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="97.9899" cy="309.172" width="195.98" height="14.6291"/>
<rect x="0" y="301.858" width="195.98" height="14.6291" class="st6"/>
<text x="25.77" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>The api sends a «get_vnc_console» message</text> </g>
<g id="group19-34" transform="translate(599.283,-167.07)" v:mID="19" v:groupContext="group">
<title>Sheet.19</title>
</g>
<g id="shape21-35" v:mID="21" v:groupContext="shape" transform="translate(998.256,109.463) rotate(90)">
<title>Sheet.21</title>
<path d="M0 316.49 L78.67 316.49" class="st3"/>
</g>
<g id="group18-40" transform="translate(635.963,-170.045)" v:mID="18" v:groupContext="group">
<title>Sheet.18</title>
<g id="shape20-41" v:mID="20" v:groupContext="shape">
<title>Sheet.20</title>
<desc>Generates a token</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="42.2906" cy="309.172" width="84.59" height="14.6291"/>
<rect x="0" y="301.858" width="84.5811" height="14.6291" class="st6"/>
<text x="4" y="311.57" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Generates a token</text> </g>
<g id="shape22-44" v:mID="22" v:groupContext="shape" transform="translate(81.0658,-3.50165)">
<title>Sheet.22</title>
<path d="M2.87 316.25 A1.58888 1.60577 -180 0 0 2.91 316.27 a0.0367968 0.0364098 90 0 1 -0.0368398 -0.0219852 ZM2.91
316.27 A1.58888 1.60577 -180 0 0 4.63 316.18 A5.54577 5.60472 -180 0 0 6.01 314.87 A14.0646 14.2141
-180 0 0 7.52 310.98 L11.13 308.91 L12.46 306.1 L16.52 303.74 L17.58 301.61 L17.58 299.72 L16.29 298.98
L7.23 304.3 A2.02885 2.05041 -180 0 0 6.95 303.77 A1.74485 1.76339 -180 0 0 6.16 303.06 A1.74485 1.76339
-180 0 0 4.87 303.01 A1.70133 1.68344 90 0 1 6.16 303.06 L5.48 302.63 A2.21204 2.18877 -90 0 0 3.34
302.37 A6.27998 6.21394 -90 0 0 1.27 305.16 A15.3607 15.1992 -90 0 0 0 310.91 A8.22802 8.14148 -90 0
0 1.29 315.35 L2.9 316.29 L2.91 316.27 ZM1.29 311.64 A15.563 15.3993 90 0 1 2.24 306.64 A17.2407 17.424
-180 0 0 1.29 311.64 A8.18363 8.27061 -180 0 0 1.81 314.57 A6.45582 6.38792 90 0 1 1.29 311.64 Z"
class="st8"/>
<path d="M2.87 316.25 A1.58888 1.60577 -180 0 0 2.91 316.27 a0.0367968 0.0364098 90 0 1 -0.0368398 -0.0219852M2.91
316.27 A1.58888 1.60577 -180 0 0 4.63 316.18 A5.54577 5.60472 -180 0 0 6.01 314.87 A14.0646 14.2141
-180 0 0 7.52 310.98 L11.13 308.91 L12.46 306.1 L16.52 303.74 L17.58 301.61 L17.58 299.72 L16.29 298.98
L7.23 304.3 A2.02885 2.05041 -180 0 0 6.95 303.77 A1.74485 1.76339 -180 0 0 6.16 303.06 A1.74485 1.76339
-180 0 0 4.87 303.01 A1.70133 1.68344 90 0 1 6.16 303.06 L5.48 302.63 A2.21204 2.18877 -90 0 0 3.34
302.37 A6.27998 6.21394 -90 0 0 1.27 305.16 A15.3607 15.1992 -90 0 0 0 310.91 A8.22802 8.14148 -90 0
0 1.29 315.35 L2.9 316.29M1.29 311.64 A15.563 15.3993 90 0 1 2.24 306.64 A17.2407 17.424 -180 0 0 1.29
311.64 A8.18363 8.27061 -180 0 0 1.81 314.57 A6.45582 6.38792 90 0 1 1.29 311.64" class="st9"/>
</g>
<g id="shape23-47" v:mID="23" v:groupContext="shape" transform="translate(82.3594,-3.50165)">
<title>Sheet.23</title>
<path d="M16.28 299.72 L16.28 301.61 L15.23 303.74 L11.17 306.1 L9.83 308.91 L6.23 310.98 A14.0646 14.2141 0 0 1
4.72 314.87 A5.54577 5.60472 0 0 1 3.34 316.18 A1.58888 1.60577 0 0 1 1 315.63 A8.18363 8.27061 0 0
1 0 311.64 A17.2407 17.424 0 0 1 0.99 306.5 A7.30166 7.37926 0 0 1 3.34 303.11 A1.74485 1.76339 0 0
1 5.65 303.77 A4.64183 4.69116 0 0 1 6.38 305.5 L16.28 299.72 Z" class="st10"/>
</g>
<g id="shape24-53" v:mID="24" v:groupContext="shape" transform="translate(138.107,-3.1212) rotate(10)">
<title>Sheet.24</title>
<ellipse cx="0.980152" cy="314.562" rx="0.980152" ry="1.92488" class="st11"/>
<ellipse cx="0.980152" cy="314.562" rx="0.980152" ry="1.92488" class="st12"/>
</g>
<g id="shape25-57" v:mID="25" v:groupContext="shape" transform="translate(88.2988,-14.4874)">
<title>Sheet.25</title>
<path d="M0 315.29 L0.44 316.49 L10.34 310.7 L9.05 309.96 L0 315.29 Z" class="st10"/>
</g>
<g id="shape26-60" v:mID="26" v:groupContext="shape" transform="translate(81.0658,-3.70182)">
<title>Sheet.26</title>
<path d="M2.9 316.49 A6.38792 6.45582 0 0 1 1.29 311.84 A15.3993 15.563 0 0 1 2.29 306.7 A8.18314 8.27011 0 0 1 4.63
303.32 A1.68344 1.70133 0 0 1 6.16 303.26 L5.48 302.83 A2.18877 2.21204 -180 0 0 3.34 302.57 A6.21394
6.27998 -180 0 0 1.27 305.36 A15.1992 15.3607 -180 0 0 0 311.11 A8.14148 8.22802 -180 0 0 1.29 315.55
L2.9 316.49 Z" class="st10"/>
</g>
<g id="shape27-63" v:mID="27" v:groupContext="shape" transform="translate(83.6184,-7.75985)">
<title>Sheet.27</title>
<path d="M0.76 313.73 A3.52228 3.55971 0 0 1 0 316.02 a0.626726 0.633387 -180 0 0 0.946178 0.363513 A1.85316 1.87285
-180 0 0 1.62 315.39 A3.64133 3.68003 -180 0 0 1.79 313.47 a0.88788 0.897317 -180 0 0 -0.643292 -0.777107
a0.935131 0.94507 -180 0 0 -0.595176 0.242998 A3.2863 3.32123 0 0 1 0.76 313.73 Z" class="st10"/>
</g>
</g>
<g id="group34-66" transform="translate(640.024,-18.25)" v:mID="34" v:groupContext="group">
<title>Sheet.34</title>
<g id="shape16-67" v:mID="16" v:groupContext="shape" transform="translate(6.59125,-22.7607)">
<title>Configure</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M64.49 290.4 C63.12 289.83 58.77 288 58.77 287.99 L59.05 284.38 L59.28 281.35 L58.89 275.55 L61.76 273.9
C61.76 273.9 63.22 273.31 64.57 272.75 C63.6 270.38 63.19 269.4 62.21 267.03 C60.85 267.59 56.34 269.44
56.34 269.44 L54.11 266.66 C53.03 265.31 51.7 264.04 50.02 262.75 L47.38 260.71 L48.45 257.48 C48.45
257.48 49.08 255.97 49.67 254.51 C47.3 253.54 46.31 253.14 43.94 252.17 C43.32 253.67 41.43 258.25 41.43
258.25 L37.93 257.91 C36.15 257.73 34.3 257.77 32.45 258.02 L29.12 258.46 L27.57 255.42 C27.57 255.42
26.89 253.81 26.22 252.24 C23.86 253.24 22.88 253.65 20.51 254.64 C21.22 256.31 23.2 261 23.2 261 L20.5
263.23 C19.22 264.29 18.03 265.54 16.85 267.07 L14.83 269.7 L11.58 268.66 C11.58 268.66 9.82 267.95
8.08 267.26 C7.12 269.64 6.73 270.63 5.77 273.01 C7.54 273.71 12.24 275.59 12.24 275.59 C12.24 275.59
11.95 280.91 11.93 281.34 C11.95 281.72 12.03 282.91 12.03 282.93 C12.03 282.93 12.3 285.75 12.3 285.75
L10.61 287.28 C10.09 287.8 9.91 287.93 5.69 289.59 C6.62 291.98 7.01 292.96 7.94 295.35 C9.7 294.67
14.62 292.76 14.62 292.76 L17.17 296.23 C17.95 297.19 19.04 298.28 20.37 299.4 L22.87 301.5 L21.76 304.62
C21.76 304.62 21.01 306.36 20.26 308.1 C22.61 309.11 23.59 309.53 25.95 310.55 C26.64 308.94 28.69 304.23
28.69 304.23 L32.26 304.73 C33.95 304.97 35.76 305 37.65 304.84 L40.9 304.56 L42.35 307.55 C42.35 307.55
43.01 309.19 43.66 310.79 C46.04 309.84 47.03 309.45 49.41 308.49 C48.82 307.02 46.93 302.31 46.93 302.31
L50.5 299.75 C51.51 298.93 52.67 297.76 53.87 296.31 L55.95 293.79 L59.14 294.87 C59.14 294.87 60.64
295.5 62.08 296.11 C63.07 293.74 63.49 292.76 64.49 290.4 ZM63.41 284.94 C63.41 284.94 63.39 285.07
63.37 285.18 C63.98 285.44 70.24 288.07 70.24 288.07 L64.42 301.84 C64.42 301.84 58.02 299.15 57.42
298.9 C57.34 298.99 57.26 299.08 57.26 299.08 C55.88 300.77 54.51 302.15 53.07 303.29 C53.07 303.29
52.6 303.63 52.28 303.86 C52.53 304.49 55.12 310.93 55.12 310.93 L41.21 316.49 C41.21 316.49 38.51 309.78
38.27 309.18 C38.16 309.19 38.03 309.2 38.03 309.2 C35.8 309.39 33.65 309.35 31.64 309.06 C31.64 309.06
31.51 309.04 31.39 309.02 C31.13 309.64 28.24 316.31 28.24 316.31 L14.48 310.38 C14.48 310.38 17.46
303.5 17.72 302.9 C17.63 302.83 17.54 302.75 17.54 302.75 C15.98 301.44 14.7 300.15 13.62 298.81 C13.62
298.81 13.3 298.36 13.07 298.06 C12.44 298.3 5.45 301.02 5.45 301.02 L0 287.1 C0 287.1 7.5 284.19 7.51
284.18 C7.51 284.18 7.62 284.14 7.73 284.1 C7.69 283.73 7.65 283.22 7.65 283.22 L7.53 281.36 C7.53 281.36
7.65 279.03 7.68 278.48 C7.09 278.25 0.06 275.44 0.06 275.44 L5.63 261.57 C5.63 261.57 12.6 264.35 13.22
264.6 C13.29 264.5 13.37 264.4 13.37 264.4 C14.74 262.62 16.16 261.13 17.7 259.86 C17.7 259.86 17.8
259.78 17.89 259.71 C17.63 259.11 14.76 252.31 14.76 252.31 L28.57 246.5 C28.57 246.5 31.36 253.09 31.62
253.71 C31.73 253.69 31.86 253.68 31.86 253.68 C34.06 253.38 36.25 253.34 38.37 253.55 C38.37 253.55
38.49 253.56 38.6 253.57 C38.85 252.97 41.54 246.45 41.54 246.45 L55.4 252.13 C55.4 252.13 52.77 258.53
52.52 259.14 C52.61 259.21 52.71 259.29 52.71 259.29 C54.66 260.8 56.24 262.31 57.52 263.91 C57.52 263.91
57.62 264.02 57.71 264.14 C58.32 263.89 64.61 261.31 64.61 261.31 L70.31 275.14 C70.31 275.14 64.04
277.7 63.43 277.95 C63.45 278.07 63.46 278.19 63.46 278.19 C63.6 279.4 63.67 280.41 63.67 281.35 C63.67
282.42 63.59 283.56 63.41 284.94 ZM41.49 288.74 C45.56 285.49 46.22 279.57 42.97 275.51 C39.71 271.45
33.77 270.79 29.7 274.04 C25.63 277.28 24.97 283.2 28.23 287.26 C31.48 291.32 37.42 291.98 41.49 288.74
ZM37.12 267.68 C40.8 268.09 44.09 269.9 46.4 272.78 C51.16 278.72 50.19 287.41 44.23 292.15 C41.35 294.46
37.74 295.5 34.07 295.09 C30.39 294.68 27.1 292.87 24.79 289.99 C22.76 287.46 21.77 284.42 21.77 281.4
C21.77 277.35 23.55 273.34 26.96 270.62 C29.84 268.32 33.45 267.28 37.12 267.68 Z" class="st5"/>
</g>
<g id="shape33-69" v:mID="33" v:groupContext="shape">
<title>Sheet.33</title>
<desc>Libvirt driver</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="40.2066" cy="309.172" width="80.42" height="14.6291"/>
<rect x="0" y="301.858" width="80.4132" height="14.6291" class="st6"/>
<text x="19.54" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Libvirt driver</text> </g>
</g>
<g id="group35-72" transform="translate(334.19,-18.25)" v:mID="35" v:groupContext="group">
<title>Sheet.35</title>
<g id="shape38-73" v:mID="38" v:groupContext="shape" transform="translate(6.59125,-22.7607)">
<title>Configure</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M64.49 290.4 C63.12 289.83 58.77 288 58.77 287.99 L59.05 284.38 L59.28 281.35 L58.89 275.55 L61.76 273.9
C61.76 273.9 63.22 273.31 64.57 272.75 C63.6 270.38 63.19 269.4 62.21 267.03 C60.85 267.59 56.34 269.44
56.34 269.44 L54.11 266.66 C53.03 265.31 51.7 264.04 50.02 262.75 L47.38 260.71 L48.45 257.48 C48.45
257.48 49.08 255.97 49.67 254.51 C47.3 253.54 46.31 253.14 43.94 252.17 C43.32 253.67 41.43 258.25 41.43
258.25 L37.93 257.91 C36.15 257.73 34.3 257.77 32.45 258.02 L29.12 258.46 L27.57 255.42 C27.57 255.42
26.89 253.81 26.22 252.24 C23.86 253.24 22.88 253.65 20.51 254.64 C21.22 256.31 23.2 261 23.2 261 L20.5
263.23 C19.22 264.29 18.03 265.54 16.85 267.07 L14.83 269.7 L11.58 268.66 C11.58 268.66 9.82 267.95
8.08 267.26 C7.12 269.64 6.73 270.63 5.77 273.01 C7.54 273.71 12.24 275.59 12.24 275.59 C12.24 275.59
11.95 280.91 11.93 281.34 C11.95 281.72 12.03 282.91 12.03 282.93 C12.03 282.93 12.3 285.75 12.3 285.75
L10.61 287.28 C10.09 287.8 9.91 287.93 5.69 289.59 C6.62 291.98 7.01 292.96 7.94 295.35 C9.7 294.67
14.62 292.76 14.62 292.76 L17.17 296.23 C17.95 297.19 19.04 298.28 20.37 299.4 L22.87 301.5 L21.76 304.62
C21.76 304.62 21.01 306.36 20.26 308.1 C22.61 309.11 23.59 309.53 25.95 310.55 C26.64 308.94 28.69 304.23
28.69 304.23 L32.26 304.73 C33.95 304.97 35.76 305 37.65 304.84 L40.9 304.56 L42.35 307.55 C42.35 307.55
43.01 309.19 43.66 310.79 C46.04 309.84 47.03 309.45 49.41 308.49 C48.82 307.02 46.93 302.31 46.93 302.31
L50.5 299.75 C51.51 298.93 52.67 297.76 53.87 296.31 L55.95 293.79 L59.14 294.87 C59.14 294.87 60.64
295.5 62.08 296.11 C63.07 293.74 63.49 292.76 64.49 290.4 ZM63.41 284.94 C63.41 284.94 63.39 285.07
63.37 285.18 C63.98 285.44 70.24 288.07 70.24 288.07 L64.42 301.84 C64.42 301.84 58.02 299.15 57.42
298.9 C57.34 298.99 57.26 299.08 57.26 299.08 C55.88 300.77 54.51 302.15 53.07 303.29 C53.07 303.29
52.6 303.63 52.28 303.86 C52.53 304.49 55.12 310.93 55.12 310.93 L41.21 316.49 C41.21 316.49 38.51 309.78
38.27 309.18 C38.16 309.19 38.03 309.2 38.03 309.2 C35.8 309.39 33.65 309.35 31.64 309.06 C31.64 309.06
31.51 309.04 31.39 309.02 C31.13 309.64 28.24 316.31 28.24 316.31 L14.48 310.38 C14.48 310.38 17.46
303.5 17.72 302.9 C17.63 302.83 17.54 302.75 17.54 302.75 C15.98 301.44 14.7 300.15 13.62 298.81 C13.62
298.81 13.3 298.36 13.07 298.06 C12.44 298.3 5.45 301.02 5.45 301.02 L0 287.1 C0 287.1 7.5 284.19 7.51
284.18 C7.51 284.18 7.62 284.14 7.73 284.1 C7.69 283.73 7.65 283.22 7.65 283.22 L7.53 281.36 C7.53 281.36
7.65 279.03 7.68 278.48 C7.09 278.25 0.06 275.44 0.06 275.44 L5.63 261.57 C5.63 261.57 12.6 264.35 13.22
264.6 C13.29 264.5 13.37 264.4 13.37 264.4 C14.74 262.62 16.16 261.13 17.7 259.86 C17.7 259.86 17.8
259.78 17.89 259.71 C17.63 259.11 14.76 252.31 14.76 252.31 L28.57 246.5 C28.57 246.5 31.36 253.09 31.62
253.71 C31.73 253.69 31.86 253.68 31.86 253.68 C34.06 253.38 36.25 253.34 38.37 253.55 C38.37 253.55
38.49 253.56 38.6 253.57 C38.85 252.97 41.54 246.45 41.54 246.45 L55.4 252.13 C55.4 252.13 52.77 258.53
52.52 259.14 C52.61 259.21 52.71 259.29 52.71 259.29 C54.66 260.8 56.24 262.31 57.52 263.91 C57.52 263.91
57.62 264.02 57.71 264.14 C58.32 263.89 64.61 261.31 64.61 261.31 L70.31 275.14 C70.31 275.14 64.04
277.7 63.43 277.95 C63.45 278.07 63.46 278.19 63.46 278.19 C63.6 279.4 63.67 280.41 63.67 281.35 C63.67
282.42 63.59 283.56 63.41 284.94 ZM41.49 288.74 C45.56 285.49 46.22 279.57 42.97 275.51 C39.71 271.45
33.77 270.79 29.7 274.04 C25.63 277.28 24.97 283.2 28.23 287.26 C31.48 291.32 37.42 291.98 41.49 288.74
ZM37.12 267.68 C40.8 268.09 44.09 269.9 46.4 272.78 C51.16 278.72 50.19 287.41 44.23 292.15 C41.35 294.46
37.74 295.5 34.07 295.09 C30.39 294.68 27.1 292.87 24.79 289.99 C22.76 287.46 21.77 284.42 21.77 281.4
C21.77 277.35 23.55 273.34 26.96 270.62 C29.84 268.32 33.45 267.28 37.12 267.68 Z" class="st5"/>
</g>
<g id="shape39-75" v:mID="39" v:groupContext="shape" transform="translate(-14.0613,0)">
<title>Sheet.39</title>
<desc>Nova-consoleauth</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="49.9836" cy="309.172" width="99.97" height="14.6291"/>
<rect x="0" y="301.858" width="99.9672" height="14.6291" class="st6"/>
<text x="20.4" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Nova-consoleauth</text> </g>
</g>
<g id="shape41-78" v:mID="41" v:groupContext="shape" transform="translate(694.18,109.463) rotate(90)">
<title>Sheet.41</title>
<path d="M0 316.49 L78.67 316.49" class="st3"/>
</g>
<g id="shape46-83" v:mID="46" v:groupContext="shape" transform="translate(414.604,-167.07)">
<title>Sheet.46</title>
<path d="M2.87 316.25 A1.58888 1.60577 -180 0 0 2.91 316.27 a0.0367968 0.0364098 90 0 1 -0.0368398 -0.0219852 ZM2.91
316.27 A1.58888 1.60577 -180 0 0 4.63 316.18 A5.54577 5.60472 -180 0 0 6.01 314.87 A14.0646 14.2141 -180
0 0 7.52 310.98 L11.13 308.91 L12.46 306.1 L16.52 303.74 L17.58 301.61 L17.58 299.72 L16.29 298.98 L7.23
304.3 A2.02885 2.05041 -180 0 0 6.95 303.77 A1.74485 1.76339 -180 0 0 6.16 303.06 A1.74485 1.76339 -180
0 0 4.87 303.01 A1.70133 1.68344 90 0 1 6.16 303.06 L5.48 302.63 A2.21204 2.18877 -90 0 0 3.34 302.37 A6.27998
6.21394 -90 0 0 1.27 305.16 A15.3607 15.1992 -90 0 0 0 310.91 A8.22802 8.14148 -90 0 0 1.29 315.35 L2.9
316.29 L2.91 316.27 ZM1.29 311.64 A15.563 15.3993 90 0 1 2.24 306.64 A17.2407 17.424 -180 0 0 1.29 311.64
A8.18363 8.27061 -180 0 0 1.81 314.57 A6.45582 6.38792 90 0 1 1.29 311.64 Z" class="st8"/>
<path d="M2.87 316.25 A1.58888 1.60577 -180 0 0 2.91 316.27 a0.0367968 0.0364098 90 0 1 -0.0368398 -0.0219852M2.91 316.27
A1.58888 1.60577 -180 0 0 4.63 316.18 A5.54577 5.60472 -180 0 0 6.01 314.87 A14.0646 14.2141 -180 0 0 7.52
310.98 L11.13 308.91 L12.46 306.1 L16.52 303.74 L17.58 301.61 L17.58 299.72 L16.29 298.98 L7.23 304.3 A2.02885
2.05041 -180 0 0 6.95 303.77 A1.74485 1.76339 -180 0 0 6.16 303.06 A1.74485 1.76339 -180 0 0 4.87 303.01
A1.70133 1.68344 90 0 1 6.16 303.06 L5.48 302.63 A2.21204 2.18877 -90 0 0 3.34 302.37 A6.27998 6.21394 -90
0 0 1.27 305.16 A15.3607 15.1992 -90 0 0 0 310.91 A8.22802 8.14148 -90 0 0 1.29 315.35 L2.9 316.29M1.29
311.64 A15.563 15.3993 90 0 1 2.24 306.64 A17.2407 17.424 -180 0 0 1.29 311.64 A8.18363 8.27061 -180 0 0
1.81 314.57 A6.45582 6.38792 90 0 1 1.29 311.64" class="st9"/>
</g>
<g id="group42-86" transform="translate(303.43,-158.692)" v:mID="42" v:groupContext="group">
<title>Sheet.42</title>
<g id="shape44-87" v:mID="44" v:groupContext="shape">
<title>Sheet.44</title>
<desc>Sends «authorize_console » message</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="80.9592" cy="309.172" width="161.92" height="14.6291"/>
<rect x="0" y="301.858" width="161.918" height="14.6291" class="st6"/>
<text x="4" y="311.57" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Sends «authorize_console » message</text> </g>
<g id="group55-90" transform="translate(154.888,-9.13059)" v:mID="55" v:groupContext="group">
<title>Sheet.55</title>
<g id="shape56-91" v:mID="56" v:groupContext="shape" transform="translate(0.515073,-0.812731)">
<title>Sheet.56</title>
<rect x="0" y="304.581" width="11.4206" height="11.9056" class="st1"/>
</g>
<g id="shape59-93" v:mID="59" v:groupContext="shape">
<title>Document</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M2.41 312.82 L2.41 312.3 L10.12 312.3 L10.12 312.82 L2.41 312.82 ZM2.41 310.73 L2.41 310.2 L10.12 310.2
L10.12 310.73 L2.41 310.73 ZM2.41 308.63 L2.41 308.11 L10.12 308.11 L10.12 308.63 L2.41 308.63 ZM2.41
306.54 L2.41 306.01 L10.12 306.01 L10.12 306.54 L2.41 306.54 ZM2.41 304.44 L2.41 303.92 L7.25 303.92
L7.25 304.44 L2.41 304.44 ZM11.57 315.44 L11.57 303.92 L8.68 303.92 L8.68 300.78 L0.96 300.78 L0.96
315.44 L11.57 315.44 ZM11.45 303.4 L9.16 300.91 L9.16 303.4 L11.45 303.4 ZM9.52 299.73 L12.53 303
L12.53 316.49 L0 316.49 L0 299.73 L9.52 299.73 Z" class="st5"/>
</g>
</g>
</g>
<g id="shape5-95" v:mID="5" v:groupContext="shape" transform="translate(107.891,-259.975)">
<title>Sheet.5</title>
<path d="M0 316.49 L220.83 316.49" class="st3"/>
</g>
<g id="group6-100" transform="translate(404.058,-88.9744)" v:mID="6" v:groupContext="group">
<title>Sheet.6</title>
<g id="shape49-101" v:mID="49" v:groupContext="shape">
<title>Sheet.49</title>
<desc>Caches the connection informations and token</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="101.945" cy="309.172" width="203.89" height="14.6291"/>
<rect x="0" y="301.858" width="203.889" height="14.6291" class="st6"/>
<text x="4" y="311.57" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Caches the connection informations and token</text> </g>
<g id="shape91-104" v:mID="91" v:groupContext="shape" transform="translate(195.101,-6.31185)">
<title>New</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M17.58 307.73 L13.07 305.96 L15 301.54 L10.56 303.46 L8.79 298.98 L7.01 303.46 L2.57 301.54 L4.5 305.96
L0 307.73 L4.5 309.5 L2.57 313.92 L7.01 312 L8.79 316.49 L10.56 312 L15 313.92 L13.07 309.5 L17.58 307.73
ZM9.96 310.55 C9.96 310.55 9.16 312.57 8.79 313.5 C8.42 312.57 7.62 310.55 7.62 310.55 C7.62 310.55
5.61 311.42 4.69 311.81 C5.09 310.9 5.96 308.9 5.96 308.9 C5.96 308.9 3.93 308.1 2.99 307.73 C3.93 307.37
5.96 306.57 5.96 306.57 C5.96 306.57 5.09 304.57 4.69 303.65 C5.61 304.05 7.62 304.92 7.62 304.92 C7.62
304.92 8.42 302.89 8.79 301.96 C9.16 302.89 9.96 304.92 9.96 304.92 C9.96 304.92 11.96 304.05 12.89
303.65 C12.49 304.57 11.61 306.57 11.61 306.57 C11.61 306.57 13.65 307.37 14.58 307.73 C13.65 308.1
11.61 308.9 11.61 308.9 C11.61 308.9 12.49 310.9 12.88 311.81 C11.96 311.42 9.96 310.55 9.96 310.55
Z" class="st5"/>
</g>
</g>
<g id="shape47-106" v:mID="47" v:groupContext="shape" transform="translate(411.195,93.3904) rotate(90)">
<title>Sheet.47</title>
<path d="M0 316.49 L94.74 316.49" class="st3"/>
</g>
<g id="shape53-111" v:mID="53" v:groupContext="shape" transform="translate(38.8888,-154.814)">
<title>Sheet.53</title>
<desc>Browses the url returned Http://novncip:port/?token=xyz</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="58.9065" cy="303.793" width="117.82" height="25.387"/>
<rect x="0" y="291.1" width="117.813" height="25.387" class="st6"/>
<text x="4" y="301.39" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Browses the url returned<v:newlineChar/><tspan
x="4" dy="1.2em" class="st13">Http</tspan>://novncip:port/?token=xyz</text> </g>
<g id="group28-115" transform="translate(591.296,-147.811)" v:mID="28" v:groupContext="group">
<title>Sheet.28</title>
<g id="shape29-116" v:mID="29" v:groupContext="shape">
<title>Sheet.29</title>
<desc>Sends a «get_vnc_connection» message</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="89.7523" cy="309.172" width="179.51" height="14.6291"/>
<rect x="0" y="301.858" width="179.505" height="14.6291" class="st6"/>
<text x="24.38" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Sends a «get_vnc_connection» message</text> </g>
<g id="group30-119" transform="translate(174.36,-4.07806)" v:mID="30" v:groupContext="group">
<title>Sheet.30</title>
<g id="shape31-120" v:mID="31" v:groupContext="shape" transform="translate(0.515073,-0.812731)">
<title>Sheet.31</title>
<rect x="0" y="304.581" width="11.4206" height="11.9056" class="st1"/>
</g>
<g id="shape32-122" v:mID="32" v:groupContext="shape">
<title>Document</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M2.41 312.82 L2.41 312.3 L10.12 312.3 L10.12 312.82 L2.41 312.82 ZM2.41 310.73 L2.41 310.2 L10.12 310.2
L10.12 310.73 L2.41 310.73 ZM2.41 308.63 L2.41 308.11 L10.12 308.11 L10.12 308.63 L2.41 308.63 ZM2.41
306.54 L2.41 306.01 L10.12 306.01 L10.12 306.54 L2.41 306.54 ZM2.41 304.44 L2.41 303.92 L7.25 303.92
L7.25 304.44 L2.41 304.44 ZM11.57 315.44 L11.57 303.92 L8.68 303.92 L8.68 300.78 L0.96 300.78 L0.96
315.44 L11.57 315.44 ZM11.45 303.4 L9.16 300.91 L9.16 303.4 L11.45 303.4 ZM9.52 299.73 L12.53 303
L12.53 316.49 L0 316.49 L0 299.73 L9.52 299.73 Z" class="st5"/>
</g>
</g>
</g>
<g id="group51-124" transform="translate(42.9672,-18.25)" v:mID="51" v:groupContext="group">
<title>Sheet.51</title>
<g id="group92-125" transform="translate(4.17446,-21.2904)" v:mID="92" v:groupContext="group">
<v:userDefs>
<v:ud v:nameU="msvStructureType" v:prompt="" v:val="VT4(Container)"/>
<v:ud v:nameU="topBarHeight" v:prompt="" v:val="VT0(0):0"/>
<v:ud v:nameU="msvSDContainerMargin" v:prompt="" v:val="VT0(0.083333333333333):29"/>
<v:ud v:nameU="barWidth" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="barHeight" v:prompt="" v:val="VT0(0):0"/>
<v:ud v:nameU="msvSDContainerStyle" v:prompt="" v:val="VT0(1):26"/>
<v:ud v:nameU="msvSDContainerStyleCount" v:prompt="" v:val="VT0(5):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<title>Dialog form</title>
<g id="shape92-126" v:mID="92" v:groupContext="groupContent">
<g id="shadow92-127" v:groupContext="shadow" v:shadowOffsetX="1.8" v:shadowOffsetY="-1.8" v:shadowType="1"
transform="matrix(1,0,0,1,1.8,1.8)" class="st14">
<rect x="0" y="244.984" width="88.9818" height="71.5033" rx="4.5" ry="4.5" class="st15"/>
</g>
<rect x="0" y="244.984" width="88.9818" height="71.5033" rx="4.5" ry="4.5" class="st16"/>
</g>
<g id="shape96-130" v:mID="96" v:groupContext="shape" transform="translate(6,-6)">
<title>Sheet.96</title>
</g>
<g id="shape97-132" v:mID="97" v:groupContext="shape" transform="translate(6,-6)">
<title>Sheet.97</title>
<rect x="0" y="283.784" width="76.9818" height="32.7033" class="st17"/>
</g>
<g id="shape98-134" v:mID="98" v:groupContext="shape" transform="translate(6,-6)">
<title>Sheet.98</title>
</g>
<g id="shape100-136" v:mID="100" v:groupContext="shape" transform="translate(0,-42.0233)">
<title>Sheet.100</title>
<v:userDefs>
<v:ud v:nameU="msvStructureType" v:prompt="" v:val="VT4(Heading)"/>
<v:ud v:nameU="msvSDContainerHeadingEdge" v:prompt="" v:val="VT4(Bottom)"/>
<v:ud v:nameU="HSide" v:prompt="" v:val="VT0(0):26"/>
</v:userDefs>
<rect x="0" y="289.687" width="88.9818" height="26.8" rx="4.5" ry="4.5" class="st18"/>
<rect x="0" y="289.687" width="88.9818" height="26.8" rx="4.5" ry="4.5" class="st19"/>
</g>
</g>
<g id="shape50-139" v:mID="50" v:groupContext="shape">
<title>Sheet.50</title>
<desc>Browser</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="49.9836" cy="309.172" width="99.97" height="14.6291"/>
<rect x="0" y="301.858" width="99.9672" height="14.6291" class="st6"/>
<text x="36.5" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Browser</text> </g>
<g id="shape57-142" v:mID="57" v:groupContext="shape" transform="translate(22.7789,-29.764)">
<title>Sheet.57</title>
<desc>noVNC</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.2048" cy="306.605" width="54.41" height="19.7649"/>
<rect x="0" y="296.722" width="54.4095" height="19.7649" class="st2"/>
<text x="16.01" y="309" class="st20" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>noVNC</text> </g>
</g>
<g id="group70-145" transform="translate(154.488,-74.7093)" v:mID="70" v:groupContext="group">
<title>Sheet.70</title>
<g id="shape67-146" v:mID="67" v:groupContext="shape">
<title>Sheet.67</title>
<desc>Sends « check_token » message</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="71.1855" cy="310.322" width="142.38" height="12.3305"/>
<rect x="0" y="304.156" width="142.371" height="12.3305" class="st6"/>
<text x="19.13" y="312.72" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>Sends « check_token » message</text> </g>
<g id="group60-149" transform="translate(135.34,-5.90289)" v:mID="60" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="ShapeClass" v:lbl="ShapeClass" v:type="0" v:invis="true" v:ask="false" v:langID="1033"
v:val="VT4(Security)"/>
<v:cp v:nameU="ShapeType" v:lbl="ShapeType" v:type="0" v:invis="true" v:ask="false" v:langID="1033"
v:val="VT4(Conceptual)"/>
<v:cp v:nameU="SubShapeType" v:lbl="SubShapeType" v:type="0" v:invis="true" v:ask="false" v:langID="1033"
v:val="VT4(Key)"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="HasText" v:val="VT0(0):5"/>
<v:ud v:nameU="ShapeClass" v:val="VT0(8):26"/>
<v:ud v:nameU="ShapeType" v:val="VT0(7):26"/>
<v:ud v:nameU="SubShapeType" v:val="VT0(36):26"/>
<v:ud v:nameU="visLegendShape" v:val="VT0(2):26"/>
<v:ud v:nameU="SolSH" v:val="VT14({BF0433D9-CD73-4EB5-8390-8653BE590246}):41"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<title>Key</title>
<g id="shape61-150" v:mID="61" v:groupContext="shape">
<title>Sheet.61</title>
<path d="M2.87 316.29 L2.91 316.31 a0.0364098 0.031015 -180 0 1 -0.0368398 -0.0185307 ZM2.91 316.31 A1.58888
1.35346 -180 0 0 4.63 316.23 A5.54577 4.72406 -180 0 0 6.01 315.12 A14.0646 11.9807 -180 0 0 7.52
311.85 L11.13 310.1 L12.46 307.73 L16.52 305.74 L17.58 303.94 L17.58 302.35 L16.29 301.73 L7.23
306.22 A2.02885 1.72824 -180 0 0 6.95 305.77 A1.74485 1.48631 -180 0 0 6.16 305.17 A1.74485 1.48631
-180 0 0 4.87 305.13 A1.68344 1.43401 0 0 1 6.16 305.17 L5.48 304.81 A2.18877 1.86446 0 0 0 3.34
304.59 A6.21394 5.29322 0 0 0 1.27 306.94 A15.1992 12.9471 0 0 0 0 311.78 A8.14148 6.93517 0 0 0
1.29 315.53 L2.9 316.32 L2.91 316.31 ZM1.29 312.4 A15.3993 13.1176 -180 0 1 2.24 308.19 A17.2407
14.6862 -180 0 0 1.29 312.4 A8.18363 6.97106 -180 0 0 1.81 314.87 A6.38792 5.44143 -180 0 1 1.29
312.4 Z" class="st8"/>
<path d="M2.87 316.29 L2.91 316.31 a0.0364098 0.031015 -180 0 1 -0.0368398 -0.0185307M2.91 316.31 A1.58888 1.35346
-180 0 0 4.63 316.23 A5.54577 4.72406 -180 0 0 6.01 315.12 A14.0646 11.9807 -180 0 0 7.52 311.85
L11.13 310.1 L12.46 307.73 L16.52 305.74 L17.58 303.94 L17.58 302.35 L16.29 301.73 L7.23 306.22
A2.02885 1.72824 -180 0 0 6.95 305.77 A1.74485 1.48631 -180 0 0 6.16 305.17 A1.74485 1.48631 -180
0 0 4.87 305.13 A1.68344 1.43401 0 0 1 6.16 305.17 L5.48 304.81 A2.18877 1.86446 0 0 0 3.34 304.59
A6.21394 5.29322 0 0 0 1.27 306.94 A15.1992 12.9471 0 0 0 0 311.78 A8.14148 6.93517 0 0 0 1.29 315.53
L2.9 316.32M1.29 312.4 A15.3993 13.1176 -180 0 1 2.24 308.19 A17.2407 14.6862 -180 0 0 1.29 312.4
A8.18363 6.97106 -180 0 0 1.81 314.87 A6.38792 5.44143 -180 0 1 1.29 312.4" class="st9"/>
</g>
<g id="shape62-153" v:mID="62" v:groupContext="shape" transform="translate(1.29363,0)">
<title>Sheet.62</title>
<path d="M16.28 302.35 L16.28 303.94 L15.23 305.74 L11.17 307.73 L9.83 310.1 L6.23 311.85 A14.0646 11.9807 0
0 1 4.72 315.12 A5.54577 4.72406 0 0 1 3.34 316.23 A1.58888 1.35346 0 0 1 1 315.77 A8.18363 6.97106
0 0 1 0 312.4 A17.2407 14.6862 0 0 1 0.99 308.07 A7.30166 6.21978 0 0 1 3.34 305.21 A1.74485 1.48631
0 0 1 5.65 305.77 A4.64183 3.95405 0 0 1 6.38 307.23 L16.28 302.35 Z" class="st10"/>
</g>
<g id="shape63-156" v:mID="63" v:groupContext="shape" transform="translate(57.0963,1.05913) rotate(10)">
<title>Sheet.63</title>
<ellipse cx="0.975458" cy="314.855" rx="0.975458" ry="1.63145" class="st11"/>
<ellipse cx="0.975458" cy="314.855" rx="0.975458" ry="1.63145" class="st12"/>
</g>
<g id="shape64-160" v:mID="64" v:groupContext="shape" transform="translate(7.23295,-9.25961)">
<title>Sheet.64</title>
<path d="M0 315.48 L0.44 316.49 L10.34 311.61 L9.05 310.99 L0 315.48 Z" class="st10"/>
</g>
<g id="shape65-163" v:mID="65" v:groupContext="shape" transform="translate(0,-0.168722)">
<title>Sheet.65</title>
<path d="M2.9 316.49 A6.38792 5.44143 0 0 1 1.29 312.57 A15.3993 13.1176 0 0 1 2.29 308.23 A8.18314 6.97065 0
0 1 4.63 305.39 A1.68344 1.43401 0 0 1 6.16 305.34 L5.48 304.97 A2.18877 1.86446 -180 0 0 3.34 304.76
A6.21394 5.29322 -180 0 0 1.27 307.1 A15.1992 12.9471 -180 0 0 0 311.95 A8.14148 6.93517 -180 0
0 1.29 315.69 L2.9 316.49 Z" class="st10"/>
</g>
<g id="shape66-166" v:mID="66" v:groupContext="shape" transform="translate(2.55263,-3.58912)">
<title>Sheet.66</title>
<path d="M0.76 314.17 A3.52228 3.00038 0 0 1 0 316.09 a0.626726 0.533865 -180 0 0 0.946178 0.306395 A1.85316
1.57858 -180 0 0 1.62 315.56 A3.64133 3.1018 -180 0 0 1.79 313.94 a0.88788 0.756324 -180 0 0 -0.643292
-0.655002 a0.935131 0.796573 -180 0 0 -0.595176 0.204816 A3.2863 2.79937 0 0 1 0.76 314.17 Z"
class="st10"/>
</g>
</g>
</g>
<g id="shape71-169" v:mID="71" v:groupContext="shape" transform="translate(54.7449,-82.2047)">
<title>Internet</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M11.84 293.18 A11.8415 11.655 -180 0 0 0 304.83 A11.841 11.6545 -180 0 0 11.84 316.49 A11.8405 11.654 -180 0
0 23.68 304.83 A11.841 11.6545 -180 0 0 11.84 293.18 ZM12.21 315.01 L12.21 314.63 L12.21 310.3 L16.21 310.3
L15.96 310.82 A13.3821 13.1713 0 0 1 13.37 314.41 L12.98 314.77 L12.73 314.99 L12.21 315.01 ZM12.6 294.67
L12.83 294.87 A13.4054 13.1943 0 0 1 15.87 298.84 L16.14 299.37 L12.21 299.37 L12.21 294.65 L12.6 294.67
ZM20.58 299.37 L16.95 299.37 L16.85 299.15 A14.1999 13.9762 -180 0 0 14.28 295.25 L13.89 294.84 A10.3822
10.2187 0 0 1 20.58 299.37 ZM12.21 304.47 L12.21 300.1 L16.43 300.1 L16.52 300.34 A13.9247 13.7054 0 0 1
17.29 304.09 L17.31 304.47 L12.21 304.47 L12.21 304.47 ZM17.32 305.2 L17.3 305.58 A13.8413 13.6233 0 0 1
16.58 309.32 L16.49 309.57 L12.21 309.57 L12.21 305.2 L17.32 305.2 ZM14.4 314.39 A14.1216 13.8992 -180 0
0 16.9 310.52 L16.99 310.3 L20.58 310.3 A10.3818 10.2183 0 0 1 14.03 314.8 L14.4 314.39 ZM17.28 309.57 L17.43
309.1 A14.6141 14.3839 -180 0 0 18.05 305.55 L18.06 305.2 L22.18 305.2 A10.2928 10.1307 0 0 1 21.01 309.57
L17.28 309.57 ZM18.06 304.47 L18.04 304.13 A14.6934 14.462 -180 0 0 17.39 300.57 L17.24 300.1 L21.01 300.1
A10.2766 10.1148 0 0 1 22.18 304.47 L18.06 304.47 ZM11.47 295.18 L11.47 299.37 L7.55 299.37 L7.81 298.84
A13.4428 13.2311 0 0 1 10.34 295.36 L10.35 295.36 L10.34 295.36 L10.7 295.04 L11.12 294.67 L11.47 294.65
L11.47 295.18 ZM9.84 294.83 L9.45 295.24 A14.16 13.937 -180 0 0 6.87 299.15 L6.77 299.37 L3.11 299.37 A10.3778
10.2144 0 0 1 9.84 294.83 ZM6.48 300.1 L6.33 300.57 A14.6113 14.3812 -180 0 0 5.68 304.13 L5.66 304.47 L1.5
304.47 A10.2869 10.1249 0 0 1 2.67 300.1 L6.48 300.1 ZM1.5 305.2 L5.66 305.2 L5.67 305.55 A14.5258 14.297
-180 0 0 6.29 309.1 L6.44 309.57 L2.67 309.57 A10.2922 10.1301 0 0 1 1.5 305.2 ZM6.72 310.3 L6.82 310.52
A14.1361 13.9135 -180 0 0 9.33 314.41 L9.7 314.81 A10.384 10.2205 0 0 1 3.11 310.3 L6.72 310.3 L6.72 310.3
ZM7.16 309.32 A13.9094 13.6904 0 0 1 6.42 305.59 L6.4 305.2 L11.47 305.2 L11.47 309.57 L7.24 309.57 L7.16
309.32 ZM6.4 304.47 L6.42 304.09 A13.8139 13.5964 0 0 1 7.18 300.34 L7.27 300.1 L11.47 300.1 L11.47 304.47
L6.4 304.47 ZM10.99 314.99 L10.85 314.86 A13.4678 13.2557 0 0 1 7.79 310.82 L7.53 310.29 L11.47 310.29 L11.47
315.01 L10.99 314.99 Z" class="st5"/>
</g>
<g id="shape72-171" v:mID="72" v:groupContext="shape" transform="translate(311.536,553.169) rotate(180)">
<title>Sheet.72</title>
<path d="M0 316.49 L24.74 292.93 L148.52 292.93" class="st3"/>
</g>
<g id="group83-176" transform="translate(193.428,-49.3228)" v:mID="83" v:groupContext="group">
<title>Sheet.83</title>
<g id="shape74-177" v:mID="74" v:groupContext="shape">
<title>Sheet.74</title>
<desc>Proxy starts</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="29.2217" cy="309.172" width="58.45" height="14.6291"/>
<rect x="0" y="301.858" width="58.4434" height="14.6291" class="st6"/>
<text x="4" y="311.57" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Proxy starts</text> </g>
<g id="shape79-180" v:mID="79" v:groupContext="shape" transform="translate(53.1704,-7.69048)">
<title>Power</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M8.57 303.69 L8.57 305.68 A4.76463 4.67134 0 0 1 11.43 309.95 A4.76568 4.67237 0 0 1 6.67 314.62 A4.7667
4.67337 0 0 1 1.9 309.95 A4.76436 4.67108 0 0 1 4.76 305.68 L4.76 303.7 A6.66222 6.53178 -180 0 0 0
309.95 A6.66572 6.53521 -180 0 0 6.67 316.49 A6.66572 6.53521 -180 0 0 13.33 309.95 A6.66245 6.532 -180
0 0 8.57 303.69 ZM5.71 311.35 L7.62 311.35 L7.62 302.48 L5.71 302.48 L5.71 311.35 Z" class="st5"/>
</g>
</g>
<g id="shape102-182" v:mID="102" v:groupContext="shape" transform="translate(304.228,373.162) rotate(180)">
<title>Sheet.102</title>
<path d="M0 316.49 L24.74 292.93 L160.58 292.93 L167.44 292.93" class="st3"/>
</g>
<g id="shape106-187" v:mID="106" v:groupContext="shape" transform="translate(416.753,-254.409)">
<title>Sheet.106</title>
<desc>2</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.19166" cy="309.432" width="8.39" height="14.1096"/>
<rect x="0" y="302.377" width="8.38332" height="14.1096" class="st1"/>
<text x="0" y="314.83" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
<g id="shape107-190" v:mID="107" v:groupContext="shape" transform="translate(581.386,-147.402)">
<title>Sheet.107</title>
<desc>3</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.25197" cy="308.55" width="8.51" height="15.874"/>
<rect x="0" y="300.613" width="8.50394" height="15.874" class="st1"/>
<text x="0" y="313.95" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
<g id="shape108-193" v:mID="108" v:groupContext="shape" transform="translate(293.74,-159.307)">
<title>Sheet.108</title>
<desc>4</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.46457" cy="309.259" width="8.93" height="14.4567"/>
<rect x="0" y="302.03" width="8.92913" height="14.4567" class="st1"/>
<text x="0" y="314.66" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
<g id="group105-196" transform="translate(153.071,-229.291)" v:mID="105" v:groupContext="group">
<title>Sheet.105</title>
<g id="shape104-197" v:mID="104" v:groupContext="shape">
<title>Sheet.104</title>
<desc>Returns a url with a token</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="53.8583" cy="309.172" width="107.72" height="14.6291"/>
<rect x="0" y="301.858" width="107.717" height="14.6291" class="st6"/>
<text x="4" y="311.57" class="st7" v:langID="1036"><v:paragraph/><v:tabList/>Returns a url with a token</text> </g>
<g id="shape1-200" v:mID="1" v:groupContext="shape" transform="translate(95.8617,-8.53134)">
<title>Link.84</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M21.2 310.42 A1.35348 1.37513 0 0 1 19.84 311.79 L9.02 311.79 A1.35348 1.37513 0 0 1 7.67 310.42 A1.35348
1.37513 0 0 1 9.02 309.04 L19.84 309.04 A1.35348 1.37513 0 0 1 21.2 310.42 ZM18.29 312.82 A1.7981 1.82687
-180 0 0 19.84 313.74 L24.35 313.74 A1.80579 1.83468 -180 0 0 26.16 311.9 L26.16 309.16 A1.80521 1.8341
-180 0 0 24.35 307.32 L19.84 307.32 A1.7981 1.82687 -180 0 0 18.29 308.24 L15.42 308.24 A4.51125 4.58343
0 0 1 19.84 304.57 L24.35 304.57 A4.50985 4.58201 0 0 1 28.86 309.16 L28.86 311.9 A4.50985 4.58201 0
0 1 24.35 316.49 L19.84 316.49 A4.51051 4.58268 0 0 1 15.42 312.82 L18.29 312.82 ZM10.57 312.82 A1.7981
1.82687 0 0 1 9.02 313.74 L4.51 313.74 A1.80579 1.83468 0 0 1 2.71 311.9 L2.71 309.16 A1.80521 1.8341
0 0 1 4.51 307.32 L9.02 307.32 A1.7981 1.82687 0 0 1 10.57 308.24 L13.44 308.24 A4.51224 4.58443 -180
0 0 9.02 304.57 L4.51 304.57 A4.50985 4.58201 -180 0 0 0 309.16 L0 311.9 A4.50985 4.58201 -180 0 0 4.51
316.49 L9.02 316.49 A4.51051 4.58268 -180 0 0 13.44 312.82 L10.57 312.82 Z" class="st5"/>
</g>
</g>
<g id="group109-202" transform="translate(166.773,-252.66)" v:mID="109" v:groupContext="group">
<title>Sheet.109</title>
<g id="shape43-203" v:mID="43" v:groupContext="shape">
<title>Sheet.43</title>
<desc>The user requests an access URL</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="62.3971" cy="309.172" width="124.8" height="14.6291"/>
<rect x="0" y="301.858" width="124.794" height="14.6291" class="st6"/>
<text x="9.88" y="311.57" class="st7" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>The user requests an access URL</text> </g>
<g id="shape103-206" v:mID="103" v:groupContext="shape" transform="translate(113.857,-9.31811)">
<title>Internet.103</title>
<v:userDefs>
<v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(14):26"/>
</v:userDefs>
<path d="M8.76 299.25 A8.7555 8.61762 -180 0 0 0 307.87 A8.75515 8.61727 -180 0 0 8.76 316.49 A8.7548 8.61693 -180
0 0 17.51 307.87 A8.75515 8.61727 -180 0 0 8.76 299.25 ZM9.03 315.4 L9.03 315.12 L9.03 311.91 L11.99
311.91 L11.8 312.3 A9.89464 9.73881 0 0 1 9.89 314.95 L9.6 315.22 L9.41 315.38 L9.03 315.4 ZM9.32 300.36
L9.48 300.51 A9.9119 9.75581 0 0 1 11.73 303.44 L11.93 303.83 L9.03 303.83 L9.03 300.34 L9.32 300.36
ZM15.21 303.83 L12.53 303.83 L12.46 303.67 A10.4993 10.334 -180 0 0 10.56 300.79 L10.27 300.48 A7.67653
7.55564 0 0 1 15.21 303.83 ZM9.03 307.6 L9.03 304.37 L12.15 304.37 L12.22 304.55 A10.2958 10.1337 0
0 1 12.78 307.32 L12.8 307.6 L9.03 307.6 L9.03 307.6 ZM12.81 308.14 L12.79 308.42 A10.2341 10.073 0
0 1 12.26 311.19 L12.19 311.37 L9.03 311.37 L9.03 308.14 L12.81 308.14 ZM10.65 314.94 A10.4414 10.277
-180 0 0 12.49 312.07 L12.57 311.91 L15.21 311.91 A7.67625 7.55536 0 0 1 10.37 315.24 L10.65 314.94
ZM12.78 311.37 L12.88 311.02 A10.8055 10.6354 -180 0 0 13.34 308.4 L13.36 308.14 L16.4 308.14 A7.61043
7.49058 0 0 1 15.53 311.37 L12.78 311.37 ZM13.35 307.6 L13.34 307.35 A10.8642 10.6931 -180 0 0 12.86
304.72 L12.75 304.37 L15.53 304.37 A7.59845 7.47879 0 0 1 16.4 307.6 L13.35 307.6 ZM8.48 300.73 L8.48
303.83 L5.58 303.83 L5.78 303.44 A9.93954 9.78301 0 0 1 7.65 300.87 L7.65 300.86 L7.65 300.87 L7.91
300.63 L8.22 300.36 L8.48 300.34 L8.48 300.73 ZM7.27 300.47 L6.99 300.78 A10.4698 10.3049 -180 0 0 5.08
303.67 L5.01 303.83 L2.3 303.83 A7.6733 7.55246 0 0 1 7.27 300.47 ZM4.79 304.37 L4.68 304.72 A10.8035
10.6334 -180 0 0 4.2 307.35 L4.18 307.6 L1.11 307.6 A7.60608 7.4863 0 0 1 1.98 304.37 L4.79 304.37 ZM1.11
308.14 L4.18 308.14 L4.19 308.4 A10.7403 10.5711 -180 0 0 4.65 311.02 L4.76 311.37 L1.98 311.37 A7.60995
7.49011 0 0 1 1.11 308.14 ZM4.97 311.91 L5.04 312.07 A10.4522 10.2876 -180 0 0 6.9 314.95 L7.17 315.25
A7.67788 7.55697 0 0 1 2.3 311.91 L4.97 311.91 L4.97 311.91 ZM5.29 311.19 A10.2845 10.1226 0 0 1 4.75
308.43 L4.73 308.14 L8.48 308.14 L8.48 311.37 L5.36 311.37 L5.29 311.19 ZM4.73 307.6 L4.75 307.32 A10.2139
10.0531 0 0 1 5.31 304.55 L5.37 304.37 L8.48 304.37 L8.48 307.6 L4.73 307.6 ZM8.12 315.38 L8.02 315.29
A9.95803 9.80121 0 0 1 5.76 312.3 L5.57 311.91 L8.48 311.91 L8.48 315.4 L8.12 315.38 Z" class="st5"/>
</g>
</g>
<g id="shape101-208" v:mID="101" v:groupContext="shape" transform="translate(156.472,-253.63)">
<title>Sheet.101</title>
<desc>1</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.25197" cy="310.463" width="8.51" height="12.0472"/>
<rect x="0" y="304.44" width="8.50394" height="12.0472" class="st1"/>
<text x="0" y="315.86" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
<g id="shape110-211" v:mID="110" v:groupContext="shape" transform="translate(143.433,-230.811)">
<title>Sheet.110</title>
<desc>5</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.25197" cy="310.322" width="8.51" height="12.3307"/>
<rect x="0" y="304.156" width="8.50394" height="12.3307" class="st1"/>
<text x="0" y="315.72" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
<g id="shape111-214" v:mID="111" v:groupContext="shape" transform="translate(26.9291,-160.157)">
<title>Sheet.111</title>
<desc>6</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="5.17323" cy="309.259" width="10.35" height="14.4567"/>
<rect x="0" y="302.03" width="10.3465" height="14.4567" class="st1"/>
<text x="0.61" y="314.66" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
<g id="shape112-217" v:mID="112" v:groupContext="shape" transform="translate(144.213,-74.4094)">
<title>Sheet.112</title>
<desc>7</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.42913" cy="309.259" width="8.86" height="14.4567"/>
<rect x="0" y="302.03" width="8.85827" height="14.4567" class="st1"/>
<text x="0" y="314.66" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
<g id="shape113-220" v:mID="113" v:groupContext="shape" transform="translate(183.969,-49.3762)">
<title>Sheet.113</title>
<desc>8</desc>
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
<v:textRect cx="4.2874" cy="309.542" width="8.58" height="13.8898"/>
<rect x="0" y="302.597" width="8.5748" height="13.8898" class="st1"/>
<text x="0" y="314.94" class="st21" v:langID="1036"><v:paragraph v:horizAlign="1"/><v:tabList/>8</text> </g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,138 +0,0 @@
===========================
Firewalls and default ports
===========================
On some deployments, such as ones where restrictive firewalls are in
place, you might need to manually configure a firewall to permit
OpenStack service traffic.
To manually configure a firewall, you must permit traffic through the
ports that each OpenStack service uses. This table lists the default
ports that each OpenStack service uses:
.. list-table:: Default ports that OpenStack components use
:header-rows: 1
* - OpenStack service
- Default ports
- Port type
* - Application Catalog (``murano``)
- 8082
-
* - Block Storage (``cinder``)
- 8776
- publicurl and adminurl
* - Clustering (``senlin``)
- 8778
- publicurl and adminurl
* - Compute (``nova``) endpoints
- 8774
- publicurl and adminurl
* - Compute API (``nova-api``)
- 8773, 8775
-
* - Compute ports for access to virtual machine consoles
- 5900-5999
-
* - Compute VNC proxy for browsers ( openstack-nova-novncproxy)
- 6080
-
* - Compute VNC proxy for traditional VNC clients (openstack-nova-xvpvncproxy)
- 6081
-
* - Proxy port for HTML5 console used by Compute service
- 6082
-
* - Data processing service (``sahara``) endpoint
- 8386
- publicurl and adminurl
* - Identity service (``keystone``) administrative endpoint
- 35357
- adminurl
* - Identity service public endpoint
- 5000
- publicurl
* - Image service (``glance``) API
- 9292
- publicurl and adminurl
* - Image service registry
- 9191
-
* - Networking (``neutron``)
- 9696
- publicurl and adminurl
* - Object Storage (``swift``)
- 6000, 6001, 6002
-
* - Orchestration (``heat``) endpoint
- 8004
- publicurl and adminurl
* - Orchestration AWS CloudFormation-compatible API (``openstack-heat-api-cfn``)
- 8000
-
* - Orchestration AWS CloudWatch-compatible API (``openstack-heat-api-cloudwatch``)
- 8003
-
* - Root Cause Analysis service (``Vitrage``)
- 8999
-
* - Telemetry (``ceilometer``)
- 8777
- publicurl and adminurl
* - Workflow service (``Mistral``)
- 8989
-
To function properly, some OpenStack components depend on other,
non-OpenStack services. For example, the OpenStack dashboard uses HTTP
for non-secure communication. In this case, you must configure the
firewall to allow traffic to and from HTTP.
This table lists the ports that other OpenStack components use:
.. list-table:: Default ports that secondary services related to OpenStack components use
:header-rows: 1
* - Service
- Default port
- Used by
* - HTTP
- 80
- OpenStack dashboard (``Horizon``) when it is not configured to use secure access.
* - HTTP alternate
- 8080
- OpenStack Object Storage (``swift``) service.
* - HTTPS
- 443
- Any OpenStack service that is enabled for SSL, especially secure-access dashboard.
* - rsync
- 873
- OpenStack Object Storage. Required.
* - iSCSI target
- 3260
- OpenStack Block Storage. Required.
* - MySQL database service
- 3306
- Most OpenStack components.
* - Message Broker (AMQP traffic)
- 5672
- OpenStack Block Storage, Networking, Orchestration, and Compute.
On some deployments, the default port used by a service may fall within
the defined local port range of a host. To check a host's local port
range:
.. code-block:: console
$ sysctl net.ipv4.ip_local_port_range
If a service's default port falls within this range, run the following
program to check if the port has already been assigned to another
application:
.. code-block:: console
$ lsof -i :PORT
Configure the service to use a different port if the default port is
already being used by another application.

View File

@ -1,43 +0,0 @@
=============================
OpenStack Administrator Guide
=============================
.. WARNING::
Major rework in progress!
Note that on July 3rd of 2017, all projects have been
moved to a new location on this server.
Keep in mind that bookmarks saved before
the changes may no longer function.
Project-specific content have been moved to the project
repos. For example, if you are looking for Identity service
administration information, please visit the
`keystone <https://docs.openstack.org/keystone/latest/>`_
page.
See `the specification <http://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html>`_
for more information.
Abstract
~~~~~~~~
OpenStack offers open source software for OpenStack administrators to
manage and troubleshoot an OpenStack cloud.
.. note::
This guide documents OpenStack Ocata, Newton, and Mitaka releases
and may not apply to EOL releases Kilo and Liberty.
Contents
~~~~~~~~
.. toctree::
:maxdepth: 2
common/conventions.rst
cross-project.rst
appendix.rst
common/app-support.rst

View File

@ -1,285 +0,0 @@
:orphan:
.. _support-compute:
====================
Troubleshoot Compute
====================
Common problems for Compute typically involve misconfigured
networking or credentials that are not sourced properly in the
environment. Also, most flat networking configurations do not
enable :command:`ping` or :command:`ssh` from a compute node
to the instances that run on that node. Another common problem
is trying to run 32-bit images on a 64-bit compute node.
This section shows you how to troubleshoot Compute.
.. _log-files-for-openstack-compute:
Compute service logging
~~~~~~~~~~~~~~~~~~~~~~~
Compute stores a log file for each service in
``/var/log/nova``. For example, ``nova-compute.log``
is the log for the ``nova-compute`` service. You can set the
following options to format log strings for the ``nova.log``
module in the ``nova.conf`` file:
* ``logging_context_format_string``
* ``logging_default_format_string``
If the log level is set to ``debug``, you can also specify
``logging_debug_format_suffix`` to append extra formatting.
For information about what variables are available for the
formatter, see `Formatter Objects
<https://docs.python.org/library/logging.html#formatter-objects>`_.
You have two logging options for OpenStack Compute based on
configuration settings. In ``nova.conf``, include the
``logfile`` option to enable logging. Alternatively you can set
``use_syslog = 1`` so that the nova daemon logs to syslog.
.. _section_compute-GuruMed-reports:
Guru Meditation reports
~~~~~~~~~~~~~~~~~~~~~~~
A Guru Meditation report is sent by the Compute service upon receipt of the
``SIGUSR2`` signal (``SIGUSR1`` before Mitaka). This report is a
general-purpose error report that includes details about the current state
of the service. The error report is sent to ``stderr``.
For example, if you redirect error output to ``nova-api-err.log``
using :command:`nova-api 2>/var/log/nova/nova-api-err.log`,
resulting in the process ID 8675, you can then run:
.. code-block:: console
# kill -USR2 8675
This command triggers the Guru Meditation report to be printed to
``/var/log/nova/nova-api-err.log``.
The report has the following sections:
* Package: Displays information about the package to which the process
belongs, including version information.
* Threads: Displays stack traces and thread IDs for each of the threads
within the process.
* Green Threads: Displays stack traces for each of the green threads
within the process (green threads do not have thread IDs).
* Configuration: Lists all configuration options currently accessible
through the CONF object for the current process.
For more information, see `Guru Meditation Reports <https://docs.openstack.org/developer/nova/devref/gmr.html>`_.
.. _compute-common-errors-and-fixes:
Common errors and fixes for Compute
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `ask.openstack.org <http://ask.openstack.org>`_ site offers a place to ask
and answer questions, and you can also mark questions as frequently asked
questions. This section describes some errors people have posted previously.
Bugs are constantly being fixed, so online resources are a great way to get
the most up-to-date errors and fixes.
Credential errors, 401, and 403 forbidden errors
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem
-------
Missing credentials cause a ``403 forbidden`` error.
Solution
--------
To resolve this issue, use one of these methods:
#. Manual method
Gets the ``novarc`` file from the project ZIP file, saves existing
credentials in case of override, and manually sources the ``novarc``
file.
#. Script method
Generates ``novarc`` from the project ZIP file and sources it for you.
When you run ``nova-api`` the first time, it generates the certificate
authority information, including ``openssl.cnf``. If you
start the CA services before this, you might not be
able to create your ZIP file. Restart the services.
When your CA information is available, create your ZIP file.
Also, check your HTTP proxy settings to see whether they cause problems with
``novarc`` creation.
Instance errors
~~~~~~~~~~~~~~~
Problem
-------
Sometimes a particular instance shows ``pending`` or you cannot SSH to
it. Sometimes the image itself is the problem. For example, when you
use flat manager networking, you do not have a DHCP server and certain
images do not support interface injection; you cannot connect to
them.
Solution
--------
To fix instance errors use an image that does support
this method, such as Ubuntu, which obtains an IP address correctly
with FlatManager network settings.
To troubleshoot other possible problems with an instance, such as
an instance that stays in a spawning state, check the directory for
the particular instance under ``/var/lib/nova/instances`` on
the ``nova-compute`` host and make sure that these files are present:
* ``libvirt.xml``
* ``disk``
* ``disk-raw``
* ``kernel``
* ``ramdisk``
* ``console.log``, after the instance starts.
If any files are missing, empty, or very small, the ``nova-compute``
service did not successfully download the images from the Image service.
Also check ``nova-compute.log`` for exceptions. Sometimes they do not
appear in the console output.
Next, check the log file for the instance in the ``/var/log/libvirt/qemu``
directory to see if it exists and has any useful error messages in it.
Finally, from the ``/var/lib/nova/instances`` directory for the instance,
see if this command returns an error:
.. code-block:: console
# virsh create libvirt.xml
Empty log output for Linux instances
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem
-------
You can view the log output of running instances
from either the :guilabel:`Log` tab of the dashboard or the output of
:command:`nova console-log`. In some cases, the log output of a running
Linux instance will be empty or only display a single character (for example,
the `?` character).
This occurs when the Compute service attempts to retrieve the log output
of the instance via a serial console while the instance itself is not
configured to send output to the console.
Solution
--------
To rectify this, append the following parameters to kernel arguments
specified in the instance's boot loader:
.. code-block:: ini
console=tty0 console=ttyS0,115200n8
Upon rebooting, the instance will be configured to send output to the Compute
service.
.. _reset-state:
Reset the state of an instance
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem
-------
Instances can remain in an intermediate state, such as ``deleting``.
Solution
--------
You can use the :command:`nova reset-state` command to manually reset
the state of an instance to an error state. You can then delete the
instance. For example:
.. code-block:: console
$ nova reset-state c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
$ openstack server delete c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
You can also use the ``--active`` parameter to force the instance back
to an active state instead of an error state. For example:
.. code-block:: console
$ nova reset-state --active c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
.. _problems-with-injection:
Injection problems
~~~~~~~~~~~~~~~~~~
Problem
-------
Instances may boot slowly, or do not boot. File injection can cause this
problem.
Solution
--------
To disable injection in libvirt, set the following in ``nova.conf``:
.. code-block:: ini
[libvirt]
inject_partition = -2
.. note::
If you have not enabled the configuration drive and
you want to make user-specified files available from
the metadata server for to improve performance and
avoid boot failure if injection fails, you must
disable injection.
.. _live-snapshotting-fail:
Disable live snapshotting
~~~~~~~~~~~~~~~~~~~~~~~~~
Problem
-------
Administrators using libvirt version ``1.2.2`` may experience problems
with live snapshot creation. Occasionally, libvirt version ``1.2.2`` fails
to create live snapshots under the load of creating concurrent snapshot.
Solution
--------
To effectively disable the libvirt live snapshotting, until the problem
is resolved, configure the ``disable_libvirt_livesnapshot`` option.
You can turn off the live snapshotting mechanism by setting up its value to
``True`` in the ``[workarounds]`` section of the ``nova.conf`` file:
.. code-block:: ini
[workarounds]
disable_libvirt_livesnapshot = True