Replace PlantUML descriptions with static png

Replace PlantUML descriptions with static pictures as PlantUML is not
supported in gate. Remove all the related stuff from configs and
scripts.

Change-Id: I905153ef7d93a1248c76818048f58e24fc1d556d
Implements: blueprints.launchpad.net/fuel/+spec/fuel-docs-migration
This commit is contained in:
Dzmitry Moisa 2016-03-21 14:49:08 +03:00
parent d72ff9ad8e
commit 931509ef44
12 changed files with 14 additions and 189 deletions

View File

@ -1,19 +1,16 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
#PLANTUML = plantuml.jar
PLANTUML_FROM_PKG = /usr/share/plantuml/plantuml.jar
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
@ -45,19 +42,7 @@ help:
clean:
-rm -rf $(BUILDDIR)/*
#$(PLANTUML):
# @if [ -f $(PLANTUML_FROM_PKG) ]; \
# then \
# echo "Have installed plantuml. Creating link $(PLANTUML) on $(PLANTUML_FROM_PKG)."; \
# ln -sf $(PLANTUML_FROM_PKG) $(PLANTUML); \
# else \
# echo "Downloading plantuml.jar."; \
# wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar -O $(PLANTUML); \
# fi
# $(ACTION.TOUCH)
html:
#$(PLANTUML)
html:
$(SPHINXBUILD) -b html -W $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

View File

@ -1,10 +1,3 @@
# Add any Sphinx extension module names here, as strings.
# They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions += ['sphinx.ext.inheritance_diagram', 'sphinxcontrib.blockdiag',
'sphinxcontrib.actdiag', 'sphinxcontrib.seqdiag',
'sphinxcontrib.nwdiag']
# The encoding of source files.
source_encoding = 'utf-8-sig'
#source_encoding = 'shift_jis'

View File

@ -36,9 +36,7 @@ extensions = [
'sphinx.ext.autodoc',
'oslosphinx',
'rst2pdf.pdfbuilder'
# 'sphinxcontrib.plantuml'
]
#plantuml = ['java', '-jar', 'plantuml.jar']
# The suffix of source filenames.
source_suffix = '.rst'

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -21,30 +21,8 @@ the hardware configuration of all discovered managed nodes, the roles,
environment settings, current deployment status and progress of
running deployments.
#.. uml::
# package "Discovered Node" {
# component "Nailgun Agent"
# }
# package "Master Node" {
# component "Nailgun"
# component "Database"
# interface "REST API"
# component "Fuel Web"
# }
# actor "User"
# component "CLI tool"
# [User] -> [CLI tool]
# [User] -> [Fuel Web]
# [Nailgun Agent] -> [REST API] : Upload hardware profile
# [CLI tool] -> [REST API]
# [Fuel Web] -> [REST API]
# [REST API] -> [Nailgun]
# [Nailgun] -> [Database]
.. image:: _images/uml/nailgun-agent.png
:width: 100%
Managed nodes are discovered over PXE using a special bootstrap image
and the PXE boot server located on the master node. The bootstrap image
@ -59,23 +37,8 @@ file into the *RabbitMQ* queue. This message should be received by one
of the worker processes who will actually deploy the environment. These
processes are called *Astute*.
#.. uml::
# package "Master Node" {
# component "Nailgun"
# interface "RabbitMQ"
# package "Astute Worker" {
# component Astute
# }
# component "Cobbler"
# component "DHCP and TFTP"
# }
# [Nailgun] -> [RabbitMQ] : Put task into Nailgun queue
# [Astute] <- [RabbitMQ] : Take task from Nailgun queue
# [Astute] -> [Cobbler] : Set node's settings through XML-RPC
# [Cobbler] -> [DHCP and TFTP]
.. image:: _images/uml/astute.png
:width: 100%
The Astute workers are listening to the RabbitMQ queue and receives
messages. They use the *Astute* library which implements all deployment
@ -105,43 +68,8 @@ modules and manifests. This agent runs an rsync process that connects
to the rsyncd server on the Master node and downloads the latest version
of Puppet modules and manifests.
#.. uml::
# package "Master Node" {
# interface "RabbitMQ"
# component "Rsyncd"
# component "Astute"
# }
# package "Managed Node" {
# interface "MCollective"
# package "MCollective Agents" {
# component "uploadfile"
# component "puppetsync"
# component "puppetd"
# component "shell"
# }
# component "Puppet"
# component "Rsync"
# interface "astute.yaml"
# component "Puppet Modules"
# }
# [Astute] <-> [RabbitMQ]
# [RabbitMQ] <-> [MCollective]
#
# [MCollective] -> [uploadfile]
# [MCollective] -> [puppetsync]
# [MCollective] -> [puppetd]
# [MCollective] -> [shell]
# [uploadfile] ..> [astute.yaml]
# [puppetsync] -> [Rsync]
# [puppetd] -> [Puppet]
# [Rsync] <..> [Rsyncd]
# [Rsync] ..> [Puppet Modules]
# [astute.yaml] ..> [Puppet]
# [Puppet Modules] ..> [Puppet]
.. image:: _images/uml/puppetsync.png
:width: 100%
When the modules are synchronized, Astute can run the actual deployment
by applying the main Puppet manifest **site.pp**. MCollective agent runs

View File

@ -3,91 +3,18 @@ Sequence Diagrams
OS Provisioning
---------------
# .. uml::
# title Nodes Provisioning
# actor WebUser
# box "Physical Server"
# participant NodePXE
# participant NodeAgent
# end box
# NodePXE -> Cobbler: PXE discovery
# Cobbler --> NodePXE: bootstrap OS image
# NodePXE -> Cobbler: network settings request
# Cobbler --> NodePXE: IP, DNS response
# NodePXE -> NodePXE: OS installation
# NodePXE -> NodeAgent: starts agent
# NodePXE -> MC: starts MCollective
# NodeAgent -> Ohai: get info
# Ohai --> NodeAgent: info
# NodeAgent -> NodePXE: get admin node IP
# NodePXE --> NodeAgent: admin node IP
# NodeAgent -> Nailgun: Registration
# |||
# WebUser -> Nailgun: create cluster
# WebUser -> Nailgun: add nodes to cluster
# WebUser -> Nailgun: deploy cluster
# |||
# Nailgun -> Astute: Provision CentOS
# Astute -> Cobbler: Provision CentOS
# Cobbler -> NodePXE: ssh to reboot
# Cobbler --> NodePXE: CentOS image
# NodePXE -> NodeAgent: starts agent
# NodePXE -> MC: starts MC agent
# NodeAgent -> Nailgun: Node metadata
.. image:: _images/uml/nodes_provisioning.png
:width: 100%
Networks Verification
---------------------
# .. uml::
# title Network Verification
# actor WebUser
# WebUser -> Nailgun: verify networks (cluster #1)
# Nailgun -> Astute: verify nets (100-120 vlans)
# Astute -> MC: start listeners
# MC -> net_probe.py: forks to listen
# MC --> Astute: listening
# Astute -> MC: send frames
# MC -> net_probe.py: send frames
# net_probe.py --> MC: sent
# MC --> Astute: sent
# Astute -> MC: get result
# MC -> net_probe.py: stop listeners
# net_probe.py --> MC: result
# MC --> Astute: result graph
# Astute --> Nailgun: response vlans Ok
# Nailgun --> WebUser: response
.. image:: _images/uml/network_verification.png
:width: 100%
Details on Cluster Provisioning & Deployment (via Facter extension)
-------------------------------------------------------------------
# .. uml::
# title Cluster Deployment
# actor WebUser
# Nailgun -> Astute: Provision,Deploy
# Astute -> MC: Type of nodes?
# MC -> Astute: bootstrap
# Astute -> Cobbler: create system,reboot
# Astute -> MC: Type of nodes?
# MC --> Astute: booted in target OS
# Astute --> Nailgun: provisioned
# Nailgun --> WebUser: status on UI
# Astute -> MC: Create /etc/astute.yaml
# Astute -> MC: run puppet
# MC -> Puppet: runonce
# Puppet -> Facter: get facts
# Facter --> Puppet: set facts and parse astute.yaml
# Puppet -> Puppet: applies $role
# Puppet --> MC: done
# MC --> Astute: deploy is done
# Astute --> Nailgun: deploy is done
# Nailgun --> WebUser: deploy is done
.. image:: _images/uml/cluster_deployment.png
:width: 100%
Once deploy and provisioning messages are accepted by Astute, provisioning
method is called. Provisioning part creates system in Cobbler and

View File

@ -1,12 +1,6 @@
sphinx==1.3b3
cloud_sptheme
sphinxcontrib-blockdiag
rst2pdf
funcparserlib
webcolors
sphinxcontrib-actdiag
sphinxcontrib-seqdiag
sphinxcontrib-nwdiag
sphinxcontrib-plantuml
beautifulsoup4==4.4.0
oslosphinx