Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
synnefo
Commits
f449f606
Commit
f449f606
authored
Nov 27, 2012
by
Christos Stavrakakis
Browse files
Update docs about Cyclades-Ganeti communication
parent
0b148e50
Changes
1
Hide whitespace changes
Inline
Side-by-side
docs/admin-guide.rst
View file @
f449f606
...
...
@@ -230,6 +230,38 @@ Image Overview
Architecture
------------
Asynchronous communication with Ganeti backends
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Synnefo uses Google Ganeti backends for VM cluster management. In order Cyclades
to be able to handle thousand of user requests, Cyclades and Ganeti communicate
asynchronously. Briefly, requests are submitted to Ganeti, and asynchronous
notifications about the progress of jobs is received from the backends. The
architecture and communication with a Ganeti backend is shown in Figure?.
Cyclades API server is responsible for handling user requests. Read-only
requests are directly served by looking up the Cyclades DB. If the request
needs an action in the Ganeti backend, Cyclades submit jobs to the Ganeti
master using the Ganeti RAPI [1].
While Ganeti executes the job, snf-ganeti-eventd, snf-ganeti-hook and
snf-progress-monitor are monitoring the progress of the job and send
corresponding messages to the RabbitMQ servers. Specially,
* *snf-ganeti-eventd* sends messages about operations affecting the operating
state of instances and networks. Works by monitoring Ganeti job queue.
* *snf-ganeti_hook* sends messages about the NIC of instances. It includes a
number of Ganeti hooks for customisation of operations[2].
* *snf-progress_monitor* sends messages about the progress of building a new
instance and image deployment, triggered by snf-image.
Snf-dispatcher consumes messages from the RabbitMQ queues, process these
messages and properly updates the state of Cyclades DB. Subsequent requests in
Cyclades API, will retrieve the updated state from the DB.
[1]: http://docs.ganeti.org/ganeti/2.2/html/rapi.html
[2]: http://docs.ganeti.org/ganeti/2.2/html/hooks.html
Prereqs
-------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment