Add design document for X509 CA
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Update INSTALL and devnotes.rst with Haskell notes
This documents the needed libraries for Haskell development. It alsofixes a tiny typo in devnotes.rst.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Move htools-ganeti 2.3 design doc to doc/
I didn't know where to put in the TOC, so I added it after the ganeti2.3 design doc.
Also, it seems that Sphinx is a bit limited in its list nesting(compared to Pandoc), so I had to rework a bit the indentation (it...
hooks: Provide variables with post-opcode values
When a hook is called, it is provided with a number of variablesdescribing the status of the instance/node/etc. before the operation.Some opcodes provide extra variables to see modified values from hooks,...
RAPI: Add support for querying resources
- Access is only permitted for authenticated clients (queries can return sensitive data)- Filters can be specified when sending a PUT request- Updates RAPI client, documentation and tests
Signed-off-by: Michael Hanselmann <hansmi@google.com>...
Convert OsDiagnose to query
Merge branch 'stable-2.4'
Add shared file storage design doc
Add doc/design-shared-storage.rst to document the proposed changes and updateMakefile.am respectively.
Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Update the DD of OOB with gnt-cluster epo
This command came up in a local discussion about how much logic weshould put into gnt-node power off. We decided to go with a separateconvenience command which takes care of all the steps through theprocedures to turn down the cluster into a state suitable for a shutdown...
Expand some acronyms, add to glossary
Signed-off-by: Stephen Shirley <diamond@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
query: Add support for field description
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Merge branch 'devel-2.4'
Add/rename label for LUXI in documentation
The HTTP server design doc will refer to the LUXI protocol,so conflicts need to be avoided.
Add option to rename groups on conflict
Remove superfluous redundant requirement
The condition is already covered by the previous requirement.
Signed-off-by: Stephen Shirley <diamond@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
RAPI documentation: Use constants and assertions
This doesn't cover everything yet, but it's a good demonstration on howto use “pyeval” and “pyassert”.
RAPI: Use FillOpCode for adding node group
RAPI: Use FillOpCode for renaming groups
RAPI: Clean up instance creation, use generated docs
- Use FillOpCode and unify parameter names between RAPI and opcode- Generate parameter documentation- Improve opcode parameter documentation
RAPI: Generate documentation for assigning nodes to groups
RAPI: Use FillOpCode for modifying node group
RAPI: Use FillOpCode for renaming instances
Generate parts of RAPI documentation from opcodes
This replaces hardcoded lists of parameters with automatically generatedones, making maintenance easier.
Add sphinx extension
For now this just registers a single new directive, “opcode_params”,which can be used to generate opcode parameter documentation.
Add RAPI resource for instance console
Merge branch 'devel-2.3' into devel-2.4
Remove dumb-allocator
- Remove the actual code- Remove mentions of it from iallocator.rst, and use hail instead- Also remove mentions of "etch-image" and use "debootstrap+default" - Mention htools as the reference implementation in iallocator.rst
Signed-off-by: Guido Trotter <ultrotter@google.com>...
Add list of design document drafts
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Clarify job processing order in admin guide
The fact that jobs don't necessarily execute in order has been sourcefor some confusion. Hopefully this update will clarify things.
Fix typo in query2 design document
Adding a basic oob helper as an example
This is just a plain stupid and simple out-of-band helper withoutanything fancy. It uses plain ssh to power off / power cycle themachine, does not support power on. It support power status using fpingto check if the host replies....
Document iallocator change (alloc_policy)
Signed-off-by: Balazs Lecz <leczb@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Rename OpQueryNodes and LUQueryNodes
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Rename OpDiagnoseOS and LUDiagnoseOS
Rename OpQueryInstances and LUQueryInstances
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Rename OpQueryInstanceData and LUQueryInstanceData
Rename OpActivateInstanceDisks and LUActivateInstanceDisks
Rename OpConnectConsole and LUConnectConsole
Rename OpCreateInstance and LUCreateInstance
Rename OpRedistributeConfig and LURedistributeConfig
Rename OpSetClusterParams and LUSetClusterParams
Rename OpExportInstance and LUExportInstance
Merge branch 'devel-2.3'
Conflicts: doc/design-2.3.rst This was a minor conflict with some rewording of a phrase
lib/client/gnt_instance.py Removed _FormatParameterDict function as it was moved to cli.py in master branch
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Add Ganeti 2.4 design document
It contains links to the two implemented designs. The detailed documentsare removed from the visible table of contents to not show up on theirown.
last_resort groups prioritized by iallocator plugin
Also change language slightly for preferred groups to look better nowthat it's repeated.
Signed-off-by: Stephen Shirley <diamond@google.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Fix some doc issues introduced in recent commits
The hooks is due to me not checking the recent patch from David, andthe cli.py change is due to the utils.py split.
More fixes to hooks documentation
Signed-off-by: David Knowles <dknowles@google.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Expose OpAssignGroupNodes over RAPI and RAPI client
Signed-off-by: Adeodato Simo <dato@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Document the intended use of (vm|master)_capable
This patch adds the intended usage scenarios of these two flags.
Additionally it corrects the tag valid charset.
IAllocator: fix breakage for non-vm_capable nodes
Currently, the IAllocator doesn't know that non-vm_capable nodesshould not be queried for hypervisor/instance information.
This patch updates the node data computation to generate basic info,but not the runtime data for such nodes. Furthermore, the...
Updating hooks documentation with missing environment variables
Move doc/upgrade.rst to UPGRADE, copy at build-time
This will allow distributions to install the file as text documentation.
Import upgrade notes into documentation
This patch formats the upgrade notes currently in the wiki1 as reSTand adds them to the documentation.
[1] http://code.google.com/p/ganeti/wiki/UpgradeNotes
RAPI: Add resource to grow instance disk
RAPI: Add resource to modify cluster
query2: Add new field status “offline”
This allows “gnt-node list” to show the difference between modes markedoffline and nodes with e.g. RPC errors (“(nodata)”). node1 is themaster, node2's node daemon crashed and node3 is marked offline:
$ gnt-node list -o name,offline,dtotal,dfree...
Fix N+1 error message
The error contained a typo and is slightly cumbersome. It changes from:
- ERROR: node a: not enough memory on to accommodate failovers should peer node b fail
to:
- ERROR: node a: not enough memory to accomodate instance failovers should node...
Expose OpSetGroupParams in RAPI and RAPI client
This creates the /2/groups/<name>/modify resource; at the moment, only the"alloc_policy" attribute can be modified.
Add the "alloc_policy" attribute to node groups
This can be set at group creation time and via OpSetGroupParams. The defaultis "preferred", and existing node groups from previous Ganeti version willget the attribute set to this value.
Signed-off-by: Adeodato Simo <dato@google.com>...
Rename “kind” to “what” for calls in query2 design
“kind” is already used in the field definition. “what” seems tobe a better fit for the calls (“what should be queried?”).
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Script to gracefully power off KVM instances
When a node is running KVM instances and that node is rebooted orshutdown, the gnt-noded daemon is finished and leaves the KVM instancesrunning. Latter on in the shutdown process, all remaining processesreceive SIGTERM as usual, meaning that the KVM instances are all...
design-2.3.rst: fix whitespace
Group operations: expose add/remove/rename in RAPI
Group operations: CLI code for add/remove/rename a group
Also, minor update to the 2.3 design doc, which was indicating the removeoperation would be `gnt-group del` and not `gnt-group remove` (the latterbeing consistent with gnt-node and gnt-instance)....
Group operations: OpCode and LU for renaming a group
Group operations: OpCode and LU for removing a group
Group operations: OpCode and LU for adding a group
Querying node groups: RAPI support
This implements /groups and /groups/%s RAPI end points.
Signed-off-by: Adeodato Simo <dato@google.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
RAPI: Implement OS parameters for instance reinstallation
Dictionaries are hard to encode into query strings, therefore the“/2/instances/[instance_name]/reinstall” resource is changed to acceptits parameters via the request body. The old query string parameters are...
Move “rapi_users” file into separate directory
This reduces the number of notifications in “ganeti-rapi”. Until now itwas notified for every change in …/lib/ganeti and had to check whetherthe users file was affected. A symlink is always created in cfgupgrade...
Added "vg" argument to the --disk syntax
Added "vg" argument to the "gnt-instance ... --disk" syntax specification.Now is ok to write:
gnt-instance add ... --disk N:size=NNg,vg=VG_NAME ...
But not all internal structures are ready to handle this yet....
Update query2 design document
While starting to implement this, I found a number of deficiencies:
- Drop regular expressions. As it turned out, only very few fields for instances used them, all of which can easily be turned into static field names.- Use two separate calls with a request and response description each....
RAPI: implement no_install during instance creation
Signed-off-by: Lance Albertson <ramereth@gmail.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Fix documentation regarding conversion to drbd
Remove last vestiges of docbook
This patch removes the last traces of docbook.
Design document for new query infrastructure
Design Doc: Ganeti Node OOB Management Framework
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Make *.in non-executable
Add support and checks for version in LUXI
A new constant, LUXI_VERSION, is used to verify the peer's version. Theversion is optional, so old(er) clients and servers talking to peers notsupporting it won't break. Example with mismatching library:
$ gnt-instance list...
Update 2.3 design doc regarding node group features and behavior.
In particular:
- introduce a "gnt-group" command to hold group-level operations. - ditch the concept of "default node group", except for single-group clusters. - introduce an "alloc_policy" attribute for node groups, indicating...
Minor language fixes to the 2.3 design doc.
Signed-off-by: Balazs Lecz <leczb@google.com>[dato@google.com: extracted language fixes from bigger patch.]Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Add documentation about the capability flags
Export a node's group information in iallocator
Export node group data in iallocator
devnotes.rst: Remove hardcoded Python version
ganeti-rapi: Watch directory, not file for user file changes
We noticed several issues when just watching the file, among them raceconditions upon replacing the file using rename(2) (the new watcherwould be created too soon). By just watching the directory for events on...
Merge branch 'devel-2.2'
move-instance: Allow overriding instance parameters
When moving a single instance within the same cluster, the NICis not allowed to re-use an existing MAC address. To avoid this,NIC parameters must be overridden. BE, HV, OS and NIC parameterscan be overridden after applying this patch....
Clean up Ganeti 2.3 design document
- Typos- Fix capitalization- Fix quoting in some places- Rewrite part of privilege separation section to match with subsection titles
Update RAPI documentation for /2/nodes/[node_name]/migrate
This was forgotten in commit 52194140.
Add OS new states to the design doc
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Remove the RPC changes from the 2.2 design
These were not implemented.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Remove 'Detailed Design' from design-2.2.rst
This also bumps up the rest of the headings.
Adding design-doc for user separation
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
RAPI server: Move user file watching out, update documentation
This patch moves the code watching the users file into aa separate class to not mix it with HTTP serving. The usersfile is now driven from outside the HTTP server class.
Also the documentation is updated to mention the automatic...