Export a node's group information in iallocator
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Export node group data in iallocator
devnotes.rst: Remove hardcoded Python version
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
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
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
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...
Proposed design changes for 2.3 and big clusters
A big design doc patch touching three areas related to increasingscalability in 2.3.
locking: Implement priorities in SharedLock and LockSet
For proper support of job priorities, jobs' locks need to respectpriorities. Otherwise it could happen that a job with a lower prioritycould get a lock before a job with a higher priority (depending on...
Design for job priorities
This is an additional patch on top of my previous design forworkerpool priorities.
Move sections of 2.3 design doc up a level
This removes the "Detailed design" section and moves everything else upa level.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Node groups design doc
For the first version we should be able to implement node groups withoutany backend api changes (ie. Iallocator). Yikes!
IPv6 design doc part
Signed-off-by: Manuel Franceschini <livewire@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
workerpool: Add support for task priority
To add job priorities, the worker pool underlying the job queue mustsupport priorities per task. This patch adds them to the worker pool.
Use Sphinx' :rfc: extension to refer to RFCs
Document non-standard usage of JSON in RAPI
This was requested in issue 118.
RAPI: Allow modifying instance
Small fixes for instance creation via RAPI documentation
- Inconsistencies- Missing types
Add template 2.3 design doc
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Allow renaming instances via RAPI
RAPI: Support migrating instances
Fix install document regarding DRBD usage
This is related to issue 105.
Update RAPI documentation for the OS changes
Rename masterfailover to master-failover
Most (all?) of our commands use dash-separator: replace-disks,verify-disks, add-tags, etc. “gnt-cluster masterfailover” is an oldexception to this rule.
The patch replaces it with master-failover, add a compatiblity alias,...
Remove a couple of empty design sections
The 2.1 and 2.2 designs contain sections with no actual content, as theyare detailed for each single change. Removing the global empty ones.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Manuel Franceschini <livewire@google.com>
Use reserved documentation IPs and domains
Use RFC 5737 IP addresses and RFC 2606 domain names in allunittests, docs, qa and docstrings.
Fixing Makefile.am to reflect the document move and adding of cluster merger
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Adding a user document for the use of cluster-merge
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Move cluster merger design doc to design-2.1.rst
Adding design-doc for privilege separation work done on Ganeti 2.2
RAPI: switch evacuate node to the new model
This patch removes the last use of the old-style OpEvacuateNode. It alsofixes the dry-run mode for this RAPI resource - the dry-run parameterwas not used at all before.
Signed-off-by: Iustin Pop <iustin@google.com>...
Update the 2.2 design doc with OS parameters
Add repetition count to the TestDelay opcode
If the repetition count is not passed or is passed as 0 we sleep exactlyone time, otherwise we sleep "repeat" times and log in between.
Add example gnt-debug submit-job json files
These files are being used to test the job queue performance withvarious changes and conditions. Adding them here for posterity.
Start to prepare documentation for 2.2 release
- Update NEWS file- Remove dependency on OpenSSL (pyOpenSSL remains)- Update manpages, fix typos and other things
Merge branch 'devel-2.1'
Document the check-man change
Since this affects developers' systems, document it in NEWS anddevnotes.rst
Master core scalability design doc
This initial design still lacks information about the job queue lockcontention decrease.
design-2.2: job queue lock analysis/remediation
This builds up on the "Master core scalability design doc" detailing thecritical situations in the job queue and proposing how to fix them. Thebulleted point list at the beginning is changed to subparagraph, as the...
Add tool to move instances between clusters
This is a first version of the instance move tool and it supports moving1..N instances from one cluster to another. When moving a single instance,the instance can be renamed, allowing for moves within the same cluster...
RAPI changes for instance moves
Two new resources are added:- /2/instances/$name/prepare-export- /2/instances/$name/export
The documentation for the existing resource for creating instances is updatedfor remote imports. The RAPI client is extended for the new resources....
Add missing documentation for RAPI instance creation mode
Conflicts: daemons/ganeti-noded lib/daemon.py lib/rapi/baserlib.py lib/rapi/rlib2.py lib/utils.py
Signed-off-by: Luca Bigliardi <shammash@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
RAPI: Add new request data format for instance creation
As mentioned in commit d975f482d, the current way of creating aninstance via RAPI is not very flexible. With this patch, a newinstance creation request data format is introduced and documented.Support can be detected by checking the list of features returned...
Mention RAPI client in documentation
Add new /2/features RAPI resource
The /2/features RAPI resource can be used to detect optionalfeatures implemented by the RAPI server. This will be usedto recognize servers implementing a new request format forinstance creation requests.
Signed-off-by: Michael Hanselmann <hansmi@google.com>...
Node daemon availability improvements proposal
Signed-off-by: Luca Bigliardi <shammash@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
install.rst: update os version and add KVM notes
The 0.7 version was just an example, but since we're on 0.9 now,updating the number cannot be wrong. The new admonition helps KVM usersto configure debootstrap correctly so that instances can be shutdown...
RAPI: Allow waiting for job changes
Conflicts: doc/security.rst trivial lib/cli.py trivial
Signed-off-by: Balazs Lecz <leczb@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
security.rst: add a KVM security section
Add user-id pool design doc
Signed-off-by: Balazs Lecz <leczb@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Forward-port the ganeti 2.0 cfgupgrade
2.1's cfgupgrade doesn't support upgrading from 1.2, only from 2.0.However, it's trivial to forward-port the 2.0 cfgupgrade to work with2.1, thus providing an upgrade path for 1.2 users directly to 2.1,without the intermediate step of installing 2.0....
Add a new tool: sanitize-config
This can be used for two purposes:
- safety copy of the config file, with just the secrets changed- cleanup of the config file (full randomization), so that (e.g.) users could send a broken config file to the devel-list...
Improving the RAPI documentation
Merge remote branch 'devel-2.1'
Update import documentation for the recent changes
Document the watcher node maintenance feature
The patch changes significantly the watcher man page, as it was verysimplistic.
Adding missing documentation to make the docs better
Also fixed a typo I noticed.
utils: Add functions to sign and verify X509 certs using HMAC
Certificates exchanged via an untrusted third party should besigned to ensure they haven't been modified.
Merge remote branch 'origin/devel-2.1'
Update instance modify documentation
Update documentation for disk adoption
ganeti.initd: Move all daemon names from init script to daemon-util
The list of daemon names will be used in daemon-util, too.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
ganeti.initd: Move code checking daemon exit code to daemon-util
This is again for re-using code.
ganeti.initd: Move code checking config to daemon-util
This allows for more code re-use. daemon-util will also be used to startall daemons.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Update inter-cluster instance move design with HMAC signatures
This also adds a large piece of pseudo code for explanatory purposes.
Update documentation for hashed passwords
Clarify cluster nic parameters in install.rst
There were a few outdated options specified there. This patch unifiesthe description under only one section, and updates it.
Add make target to generate unittest coverage report
Update the IAllocator documentation
This should be rewritten from a 'change document' (e.g. "Ganeti onlysupports...") to a 'current implementation document', but in themeantime we can at least update it with the multi-evac changes.
Merge remote branch 'origin/stable-2.1' into devel-2.1
Adding design doc for cluster merger
Signed-off-by: René Nussbaumer <rn@google.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>(applied slightly modified patch)
Update inter-cluster instance move design with HMAC verification
Run instance hooks on more nodes
This should fix issue 68: some hooks should be run on more nodes thancurrently. GrowDisk runs on both nodes, remove run the post hook on theinstance's nodes, and failover and migrate run the post hook on thesource node too....
Add {NEW,OLD}_{PRIMARY,SECONDARY} vars to hooks
Per issue 71, the migrate and failover need special variables forkeeping the nodes consistent during instance migrations.
Fix confd procotol design description
The protocol design for confd was missing a description of the fourcccode which we use to distinguish between different message types, if wewant to completely change the protocol. Adding them so that someoneimplementing it can find out....
Initial design for inter-cluster instance moves
Initial KVM security improvement design for 2.2
Provide example default files and install one for development
install.rst: note about the default parameters
As we know, those are just defaults, mostly chosen by replicating theonly behavior we supported before allowing customization. They may needchanges, to work in specific environments (which is why we introduced...
Inter-node RPC timeout design