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-migrationchanges/38/295238/5
parent
d72ff9ad8e
commit
931509ef44
19
Makefile
19
Makefile
|
@ -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."
|
||||
|
|
|
@ -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'
|
||||
|
|
2
conf.py
2
conf.py
|
@ -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 |
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue