Document restrictions on lock implication
As owning a group lock has the same effect as owning agroup of locks, some restrictions have to be added toto avoid dead locks. Document them.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Merge branch 'stable-2.11' into master
Update design doc wrt to improved SSL design
This patch updates the design document of Ganeti's nodesecurity to make it consistent with the implementationand to extend it with a couple of suggestions to improvethe SSL security even more.
Signed-off-by: Helga Velroyen <helgav@google.com>...
Add the WConfD daemon to build configuration files
Also list it in the Haskell datatype, constants, Python constants andtest configuration.
Signed-off-by: Petr Pudlak <pudlak@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Merge branch 'stable-2.10' into stable-2.11
design: simplify how luxid determins job termination
With the job files, we already have designated files per job. Sothere is no need to additionally signal through a socket regularjob termination. This design also has the advantage that it isalready implemented and working in current luxid....
Update the steps for implementing WConfD in the daemons doc
After Step 1 WConfD will handle the access to the configurationand will allow job-as-processes to access it.
Add job death detection to the daemons refactoring doc
Describe how to use file lock to implement it in a POSIX compliant way.
upgrade design: ensure-dirs before starting daemons
Align the automatic upgrade procedure with the manual upgradeinstructions and run ensure-dirs before starting the new daemons.This is necessary, as only after ensuring that all needed directoriesare present we can rely on the new daemons starting up cleanly....
Fix network management section in admin.rst
..and clarify that IPv6 info currently does not get usedby Ganeti it self.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>Reviewed-by: Jose A. Lopes <jabolopes@google.com>
Add 'dnsmasq' section and TAP interface names
Add Network Management section in admin.rst
This section provides some basic info regarding gnt-network design,adds a simple hands-on example and refers to external componentsthat gnt-network can interact with, in order instances will getthe desired configuration....
Merge branch 'stable-2.9' into stable-2.10
Haskell style: explicit errors, visible in the type
While it is already standard in the Ganeti code base, explicitlydocument that we do not like Exceptions and use sum types instead.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>
Clarify spacing in record syntax
So far, our code base does not have a consistent way of spacingrecords. To work towards more consistency, add a recommendationinto out style guide. We standardize on what seems most commonin the Haskell world and also is the dominant form in our code...
Improve the point-free section of the style guide
Distinguish declaring functions in the point-free style and usinga very similar technique to avoid parentheses (which isn't technicallypoint-free).
Add code style document to documentation
The Ganeti code style has been stored on the project wiki at:
https://code.google.com/p/ganeti/wiki/StyleGuide https://code.google.com/p/ganeti/wiki/HaskellStyleGuide
This commit combines the two pages into an .rst file with minimal...
Export docs from wiki to repo
Export documents about 'cluster keys replacement' and 'design filebased storage' from the wiki to the repository.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Redesign communication mechanism in light of limitations
Redesign the communication mechanism in light of implementationlimitations that have recently come up in prototypes using KVM.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
Anchor OS reinstall design doc in Makefile and index
Add OS reinstall design doc to the list of design docs in theMakefile, otherwise it does not get compiled when modified, and add italso to the index page of the documentation, where all the otherdesign docs are anchored....
Include target node in hooks nodes for migration
In case of DRBD, hooks run on both primary (source) and secondary(target) nodes. To get the same behavior for DTS_EXT_MIRROR, where wedo not have secondary node, we should explicitly add target node tohooks nodes during instance migration/failover....
Docs: Update the version of ganeti-instance-debootstrap
The installation manual used version 0.12, which had some bugs.This patch updates it to the latest 0.14.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Jose A. Lopes <jabolopes@google.com>
Fix 'design-internal-shutdown' not being in a toctree
Add 'design-2.11.rst' which kvmd and instance shutdown
Add 'design-2.11.rst' which kvmd and instance shutdown to thetop-level documentation and Makefile.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Instance shutdown doc from draft to partially implemented
Prepare master as new 2.12 branch
This adapts various file to make the current masterbranch the new stable-2.12 branch.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Link Xen instance shutdown design doc with KVM's
Update instance shutdown for Xen design document by linking it to thedesign document for the KVM daemon and also improve the description ofsome paragraphs.
Signed-off-by: Jose A. Lopes <jabolopes@google.com>...
Technical writing: improve documentation and glossary
Improve structure and content on the main documentation page of Ganetiand the glossary.
Signed-off-by: Betsy Beyer <bbeyer@google.com>Reviewed-by: Jose A. Lopes <jabolopes@google.com>
Merge branch 'stable-2.10' into master
Signed-off-by: Klaus Aehlig <aehlig@google.com>...
design: support post-upgrade hooks
While the general policy for Ganeti is to just accept the situationit finds after being upgraded from an older version, in some casesadditional actions might be necessary. So support a hook for doingso.
admin.rst: update and reword disk template section
The disk template section was not updated for Gluster. This commitalso refactors the section slightly by unifying the different remarksabout /etc/ganeti/file-storage-paths.
sphinx_ext is also changed in order to not hardcode too much...
Technical writing: improve main documentation page
Improve structure and content on the main documentation page ofGaneti.
Design document for KVM daemon
Design document for KVM daemon which is needed by the instanceshutdown detection for KVM.
design: version-specific downgrade actions
Some new features, like client-specific ssl certificates, require additionalsteps at downgrade, so add this to the design. Two things should be noted.
- There cannot be explicit version-specific upgrade actions; upgrades...
Eliminate installation modes in OS reinstalls doc
Eliminate installation modes in OS reinstalls design doc and insteadallow disk images and OS scripts to be combined, with an optionalvirtualized environment.
Update design doc to match implementation
This patch contains some minor changes in the design docto make sure the details match the implementation.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
Gluster: add userspace access support
Add support for the QEMU gluster: protocol. Also change the accessmode routines so they check the access parameter for all templates.
Signed-off-by: Santi Raffa <rsanti@google.com>Signed-off-by: Thomas Thrainer <thomasth@google.com>...
Update INSTALL and devnotes for 2.10 release
The following changes are made: * Add M4 as required dependency * Change reference to qemu-img package to qemu-utils * Never use `sudo` for easy_install (not used for apt-get neither) * Add libpcre3-dev as required package for Wheezy (otherwise linking...
Document format of the file-storage-paths file
The format of the /etc/ganeti/file-storage-paths file was not documentedin the man page. This patch adds a short note about the format there.
Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
OS-redesign: change instance IP
Change the IP of the instance to make it correspond to the one used in theexample.
The .253 is chosen so that, if needed, in the future the network can be changedfrom a /24 to a /28.
Signed-off-by: Michele Tartara <mtartara@google.com>...
OS installation redesign
Add the document describing a new design for the OS installation process fornew instances.
Signed-off-by: Michele Tartara <mtartara@google.com>Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Gluster: Update design document
Anticipate and explain the choices made in the Gluster patch series.Remove parts about a possible way of supporting userspace access asit has been implemented otherwise.
Signed-off-by: Santi Raffa <rsanti@google.com>Reviewed-by: Thomas Thrainer <thomasth@google.com>
Design: Improvements of Node Security
This is a design doc addressing issue 377. Objective isto reduce the number of nodes that are able to establishssh and RPC connections to other nodes. Limiting thisset of nodes to the master candidates is desired to...
design: scheduling will be simple in the first iteration
In order to progress faster towards jobs as processes, the decision onthe final scheduling algorithm will be postponed. For the time being,the simple one will be used that starts jobs until a fixed maximal...
Add LUXID_ARGS to defaults/ganeti
luxid accepts arguments as well.
Design details of the implementation of new WConfD daemon
Describes steps needed to implement the new configuration and locksmanagement.
Signed-off-by: Petr Pudlak <pudlak@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Update design doc wrt to queries from non-masters
This patch updates the design document of the querysplitting with respect to the proposal of making itpossible to run queries from other nodes than themaster node.
Allow instances to obtain externally reserved IPs
The administrator should be able to assign an externally reserved IPto a Ganeti instance manually, if desired. Currently this is notsupported. External reservations should act as holes in the pool andnot just as IPs already used by someone outside of Ganeti....
Fixing rapi documentation wrt to storage types
This fixes a FIXME in the rapi documentation. The list ofstorage types that can be queries for space information waschecked against the complete storage type set and notagainst the set of storage types that actually support...
Update future upgrade plans
Now that mandatory opcode fields are mandatory also on disk,document that, once we use soft drains during upgrades, the diskrepresentation of the job queue needs to be updated by cfgupgradeas well.
Design document for custom SSH ports
See issue 235. It turned out the feature is a bit more complex than expected,hence this design doc.
Signed-off-by: Petr Pudlak <pudlak@google.com>Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Add design document for multi-version tests
This patch adds a design document for multi-version tests, discussingwhat they aim to do and how they should be implemented.
Signed-off-by: Hrvoje Ribicic <riba@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Add --compress option to instance_move
instance_move now supports the --compress option with which it'spossible to select the compression mode to use during the instance move.
Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Merge branch 'origin/stable-2.10' into 'master'
Create check-news Makefile target
Checking the correctness of the NEWS file syntax is an important part of thecheck process, but up to now it was only possible as part of a bigger set oftests. This commit creates a Makefile target to run that independently....
Prepare master branch for 2.11 devel cycle
Bump versions in various places to 2.11 and remove the downgrade codefrom cfgupgrade. Also adapt cfgupgrade tests.
Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Add implemented design docs to hidden toc section
This is required in order to calm a doclint warning.
Prepare version numbers for 2.10 release cycle
- Bump version numbers to 2.10 in various files- Move implemented designs to design-2.10
Update design doc design-storagetypes.rst
This patch updates the design doc with the currentstate of the code base.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Design document for hsqueeze
This design document describes a new htool, hsqueeze, tobe used to move the externally-mirrored instances in such away that as few nodes as possible host instances at all.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Martin Zobel-Helas <zobel@debian.org>...
Merge branch 'stable-2.9' into master
Suggest running 'gnt-cluster upgrade --resume' at reboots
In the example crontab, add an entry to run 'gnt-cluster upgrade --resume'upon reboot of the node, as suggested in the design document.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
Merge branch 'stable-2.8' into stable-2.9
Fix typo in walkthrough documentation
Fix typo in walkthrough documentation, where 'instance3' should read'instance1' in order to be consistent with the output below in theexample.
Fix outdated documentation for users-setup
The --yes-do-it parameter was not properly documented yet. Add it to theadministration guide.
Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Update NEWS and docs to document access switch
Signed-off-by: Santi Raffa <rsanti@google.com>Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Thomas Thrainer <thomasth@google.com>
Conflicts: Makefile.am NEWS configure.ac doc/design-draft.rst...
Add daemon split design doc
This describes the future planned structure of Ganeti daemons.
Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Update supported lint tools version numbers
Linting is now verified against the lint tools version numbers as listed in thispatch.
These version are corresponding to the ones that can be found in therepositories of Ubuntu 13.04.
design: replace 'gnt-upgrade' by 'gnt-cluster upgrade'
Instead of using a separate binary, add the upgradefunctionality to gnt-cluster.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Move-instance can now change the disk template while moving
By using the --dest-disk-template option, the move-instance utilitycan change the disk template of the moved instance on-the-fly.This is done by simply altering the disk template of the instance...
Remove typo from RAPI documentation
"be used instead." was repeated twice.
design update: symlink structure
Update the upgrade design document according to the outcomeof the design discussion at GanetiCon 2013. There are twochanges in the design.
Provide ganeti user and group data in easy-to-parse form
Upon build time, also generate, in the directory doc/users, filescontaining the groups, the users with their primary group, and theadditional groupmemberships to be added. In this way, packages can use...
Replace LD_* constants with DT_* constants
LD_* constants are basically like DT_* constants, exceptfor that both file and shared file were mapped to file.In order to not having to maintain three slightly differentsets of disk-related constants (DT, LD and ST), we merge...
CLI: actually remove the --no-drbd-storage option
This removes the '--no-drbd-storage' option completelyfrom the command line interface. The hugepages designdoc still had a left-over reference to --no-lvm-storage,which is removed in this patch as well....
Change design to install to ${PREFIX}/lib/ganeti-${VERSION}
Even though the ${PREFIX}/opt/ only came into the design in the reviewprocess, it is not the best choice, as /opt is reserverd for manuallyinstalled software, but Ganeti intends to be packaged. Use ${libdir}...
Update iallocator design to include MonD data
Add "MonD data" sub-section.
Signed-off-by: Spyros Trigazis <strigazi@gmail.com>Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
Add design for OpenvSwitch autoconfiguration
This design doc adds details about how the autoconfiguration ofopenvswitch should work in the cluster <-> node group <-> nodehierarchy. Parameters that are needed for succesful configrationare idenfied and inheritance of parameters is defined....
Design document for automatised upgrades
This design document describes how upgrade and downgradescan be made more automatic for future versions.
Require newer python mock library
Older Python mock libraries do not provide MagicMock, which easesmocking of complex objects quite a bit. As this is a build/testdependency only, requiring a new version is OK (it's available viaeasy_install).
Signed-off-by: Thomas Thrainer <thomasth@google.com>...