Move developer notes into normal documentation
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Add locking doc to Ganeti documentation
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Luca Bigliardi <shammash@google.com>
Add RAPI resource to redistribute config
rapi doc: Add …/nodes/[name] and …/instances/[name]/reinstall
Update hooks documentation
Example IPsec hook
This hook is a simple example which automatically configures a basic IPsec linkamong all the nodes of a cluster.
Signed-off-by: Luca Bigliardi <shammash@google.com>
Merge branch 'next' into branch-2.1
Add script to clean archived jobs after 21 days
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Document cluster destroy hook
Add documentation about new cluster-destroy-post hook.
Signed-off-by: Luca Bigliardi <shammash@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Document post cluster initialization LU
Update hooks documentation with the new opcode (not deleting OP_INIT_CLUSTERfrom obsolete operations because the name is different).
node-remove post on removed node
Run post phase of node-remove on the removed node as well.
Use script to generate bash completion
Completion for tools/burnin is not yet implemented. It needs to beconverted to definition-based options handling first.
design-2.1: specify hmac key permissions
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
design-2.1: clarify confd usage of serial numbers
rapi: Add /2/instances/[instance_name]/info resource
rapi: Add /2/nodes/[node_name]/storage/repair resource
Improve the example startup script
Currently, the supplised script has two issues: - it doesn't use start-stop-daemon --start correctly, leading to messages like "ganeti.errors.GenericError: /var/run/ganeti/ganeti-rapi.pid contains a live process" in the logs...
Fix insserv dependencies
(import of a Debian patch)
This patch removes xend from the list of dependencies.
Ganeti doesn't need xend running to startup, it will only need it later(and only if xen is used as virtualisation technology). It also removes'Xen' from the description in the init script....
rapi: Add /2/instances/[instance_name]/replace-disks resource
Merge commit 'origin/next' into branch-2.1
Ignore results from drained nodes in iallocator
Since drained nodes could be (partially or fully) broken in iallocator,we ignore results from these nodes when building the cluster map inpreparation for sending it to the script.
This is a cheap change for the stable branch; ideally we should not...
Design-doc: update RedistributeConfig changes
Rewrite the part which discusses the global list of files to be distributedupdating with the description of what is going to be implemented. Just readbelow..
Signed-off-by: Luca Bigliardi <shammash@google.com>...
rapi: Add /2/nodes/[node_name]/storage/modify resource
rapi: Add /2/nodes/[node_name]/storage resource
Ethers hook, compatibility with old lockfile
Remove "-l" option since some ancient systems ship a version of lockfile-progsnot supporting it.
init script: handle ganeti-confd as well
Adding ganeti-confd to the example init script. The daemon itself willonly start on master candidates, but the init script can just try tostart it on all nodes.
Signed-off-by: Guido Trotter <ultrotter@google.com>...
design-2.1: Change OS Flavours with OS Variants
This is the terminology used by libvirt, it's shorter, clearer, and itmakes sense. :)
Also the final sentence about "possible futures" is changed to be a bitmore clear.
Merge branch 'master' into next
design-2.1: detail confd wire protocol
Until now it was being kept too vague, so here we give some realexamples of how things are going to be.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
pyinotify: configure checks and documentation
After 74d519e3b91845a17ae095eb7d58dd9e3d1303e8 Ganeti depends onpyinotify. Updating the documentation accordingly and checking for itspresence at configure time.
example ethers hook: use lockfile-progs
Rather than writing our own locking routing, use the one implemented bythe lockfile-create program.
ethers hook lock: use logger not echo
Overwrite debugging 'echo's
Signed-off-by: Luca Bigliardi <shammash@google.com>Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
ethers hook: reduce the probability of data loss
The hook was exiting immediately if lock was not acquired, entering a timedloop to have more chances when acquiring the lock.
Signed-off-by: Luca Bigliardi <shammash@google.com>Signed-off-by: Guido Trotter <ultrotter@google.com>...
Implement gnt-cluster check-disk-sizes
This patch adds a new opcode and lu for checking disk sizes. Currentlyit does only top-level disk verification, and also doesn't checkprimary/secondary node size mismatches (these two are added as TODOs inthe Exec() function of the LU)....
Add automated disk repair changes to design doc
rapi: Add /2/nodes/[node_name]/migrate resource
rapi: Add /2/[node_name]/evacuate resource
This can be used to evacuate a node.
Add information about storage units framework
This updates the 2.1 design document with storage units framework information.
Signed-off-by: Iustin Pop <iustin@google.com>Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Add new opcode to evacuate nodes
Add an example "ethers" hook
This hook can be used to update /etc/ethers with instance's macaddresses. A dhcp server on the nodes can then serve to the instancestheir correct address. (This has been tested with dnsmasq's dhcpimplementation)
Signed-off-by: Guido Trotter <ultrotter@google.com>
ganeti-confd design doc
ganeti.initd: Pass $*_ARGS to programs when restarting them
design-2.1: Update OS Flavours section
This reflects a discussion we had, according to which the full"parameters" implementation is too heavy weight for 2.1, and we shouldhave a partial version for now, and decide again later.
rapi: Implement /2/nodes/[node_name]/role resource
This resource can be used to retrieve and set the role of a node.
rapi: Add generic “force” parameter
Fix some typos
Update RAPI docs for the dry-run mode
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Document iallocator proposed improvements
2.1 design: non bridged instances support
2.1 design: disk/net parameters
Doc fixes for RAPI
After moving the documentation from the .py files to .rst, we had somecleanups to do.
This fixes the formatting of the comments, improves them a little, andremoves deprecated info (DOC_URI) from the python source.
Signed-off-by: Iustin Pop <iustin@google.com>...
Merge branch 'master' into branch-2.1
2.1 design: add VNC console password changes
2.1 design: OS parameters
Initial design for the OS parameter changes proposed for 2.1.
2.1 design: propose redistribute config changes
This patch proposes a mini-design to improve redistribute-config andintegrate it better with other logical units.
Specify another type of core changes
If a change modifies the way all/most LUs work it should also beconsidered core.
Move the glossary to a separate file
Currently we have an insignificant glossary at the end of the design-2.0document. This patch moves it to a separate file with the goal that itwill grow and all files can refer to it.
Some small doc updates
We change some formatting to sphinx-specific, to show how thedocumentation can be improved.
Switch the documentation to sphinx
This big patch converts the documentation build system to sphinx(http://sphinx.pocoo.org/). Since that uses reStructuredText sourcestoo, there is no change (yet) in the documents themselves, just in thebuild system....
Convert from auto-generated RAPI docs to static
This patch removes the autogeneration of the RAPI docs from the code(based on docstrings) and moves the current autogenerated output tothe rapi.rst file.
The reasons behind this are multiple: - the build system becomes a little more simple (this could have been...
Minor patch to rapi documentation
Minor patch to clarify the URL necessary for accessing the RAPI.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Add initial 2.1 design doc
This document contains a skeleton for the 2.1 design process.For now it just has introductory paragraphs and a structure for thevarious areas' design, but some sections still don't have a text, aswe're still in the early design phases....
Pass optional arguments to the daemons
These can be set in the defaults file, default to no arguments beingpassed, and make it easy for local installation to customize the way theganeti daemons are called.
ganeti.initd: include defaults file, if present
In the example init script we'll execute an optional defaults file tomake it easier to add local customizations to the ganeti startup.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin <iustin@google.com>
Fix ;; indentation in the main initd loop
Currently two of the ;; ending the case bodies are not indented withanything. Reindent all of them to the body of the loop, as it's donesomewhere else in the init script.
A bunch of doc and other small fixes
This patch adds a couple of both externally and internally reportedissues: - missing SGML tags (Issue 54), report and patch by superdupont - wrong variable used in the init.d script, report and patch by Karsten Keil <karsten-keil@t-online.de>...
Add the 2.0-specific node flags to the design doc
This patch adds the newly-introduced node flags to the design document,as they currently are missing from there.
The patch also reduces the TOC depth to 3, as it was too big.
Reviewed-by: ultrotter
Fix bash completion for cluster copyfile/command
“copyfile” takes a file argument, so we enable file-completion for it.“gnt-cluster command” takes a command, so we enable command completion.
Reviewed-by: imsnah
Export tags to cluster verify hooks
This patch export the cluster and node tags to the cluster verify hookscripts. The tags are exported as a space-separated list, which allowseasy parsing from the shell (e.g. “for tag in $GANETI_CLUSTER_TAGS; do...”) and therefore requires the previous “Don't allow spaces in tag...
Update the iallocator documentation
This updates the iallocator documentation to 2.0, bumps up theiallocator version (and moves a constants to lib/constants.py), andfixes a style on install.rst.
A doc update and a small indentation fix
This adds a small paragraph about the “master” role of a node, and fixesa wrong indentation in the bash completion file.
Convert the RAPI document to restructured text
This patch changes the RAPI document, and the RAPI resourcesautogenerated-documentation to restructured text. This meant changingthe autogen tool.
The new fragment can be included via RST directives, and doesn't need...
Convert the install document to restructured text.
This switches back to the hardcoding of the version number, as we don'tyet have a wrapper for rst files that passes them throughreplace-sed-vars.
Add bash-completion rules
This is a not-complete bash completion file for ganeti commands (gnt-*)and the burnin tool. It is based on previous work by Minghua Ye<yeminghua@google.com> for Ganeti 1.1, which wasn't used because thelack of ssconf keys (which allow easy inspection by the shell of the...
Convert the hooks document to restructured text
This also updates the hooks document to 2.0.
Convert iallocator.sgml to restructured text
This is a no-contents change, this doc will need update to conform to2.0 message contents (and also the code will need increase to version 2of the iallocator protocol).
Convert the admin guide to restructured text
The RST format holds a little bit less information, as all the <fileclass="directory"> and <userinput> tags are gone, however we're notreally losing important context here. And it's way easier to read andupdate....
dumb-allocator: avoid allocating on drained nodes
This was forgotten when drained nodes were added.
Reviewed-by: iustinp
Update the install and admin documents
This is not a real update, just a quick pass changing the obvious parts.
RAPI: documentation updates
This patch fixes the version and does some update to the RAPI resourcesdocs.
dumb allocator: do not use drained nodes
This patch changes the dumb allocator not to use drained nodes (similarto offline nodes).
Small improvement to the init.d example file
The start_action function is changed so that it can be called witharguments - this could be used to parse a defaults file, etc.
RAPI: rlib1 removal
The resources we still need moved to rlib2.
Fix batcher for 2.0-style disks and nics
This patch fixes the gnt-instance batch-create command, and in doing soalso slightly changes two other functions: - we change utils.ParseUnit so that it accepts integer values also (both ParseUnit(5) and ParseUnit("5") return the same value)...
Make iallocator work with offline nodes
This patch changes the iallocator framework to work with and properlyexport to plugins offline nodes. It does this by only exporting thestatic configuration data for those nodes, and not attempting to parsethe runtime data....
Get rid of node daemon password
With the new SSL client certificate stuff it's no longer needed.
More updates to the documentation
This patch removes the client-api.txt document (since it's obsoleted bythe documentation inside the design-2.0.rst document) and adds manyupdates to the latter.
Add a cluster architecture diagram
This adds a simple diagram for the cluster architecture and also adds adependency on graphviz (both doc and in configure).
Combine the 2.0 design documents into one
This patch combines all the design documents for 2.0 except thesecurity one into a single document, in order to ease reading and reduceduplication of information.
Future patches will start removing wrong pointers to old document names...
design-2.0-os-interface: update import/export
In the end we ended up taking a slightly different approach forimport/export than the one discussed in the design doc, aftertrying/talking about a few more alternatives. Document this in thedocument.
Fix whitespace-at-EOL
Please configure your editors to strip it, or enable your git hooks...
design-2.0-cluster-parameters: escape final _
In rst a final _ is used for linking. Escaping it prevents an error atcompile time on design-2.0-cluster-parameters.rst
OS Design: invert new and old name
Internally in ganeti we already have renamed the instance, so it'sbetter to pass the new name in INSTANCE_NAME and the old one inOLD_INSTANCE_NAME rather than the old name in INSTANCE_NAME and the newone in NEW_INSTANCE_NAME as this reflects what the cluster thinks....
Provide example for backend parameters
Update the design about cluster parameters and providesome example of backend parameters. By now this includesall supported parameters.
Reviewed-by: iustinp, ultrotter
Some small typos on design docs