History | View | Annotate | Download (12.8 kB)
Provide example default files and install one for development
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Allow passing options to pylint in the lint rule
This allows automated builders to override the format, for example.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Olivier Tharan <olive@google.com>
Introduce a makefile lint rule
This runs pylint over all the python files. Yes, it takes a long while,but it's the only way to properly analyze the source codes as only inthis way pylint can see all uses of the various modules/classes/etc.
Signed-off-by: Iustin Pop <iustin@google.com>...
Update the _autoconf.py make rule for pylint
This adds targeted pylint disables, but since _autoconf.py isautogenerated we need to do this in Makefile.am (hence the separatepatch).
build-bash-completion: Check for None before comparing
Comparing a number with None is not a good idea:
>>> (0 < None, 0 > None) (False, True)
This patch also adds build-bash-completion to the listof checked Python scripts and wraps one line of more...
sphinx: Treat warnings as errors
This makes it easier to catch warnings.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Include INSTALL in documentation
Fix and simplify socat escape detection
- Program paths should not be --with-… options (see Autoconf docs)- Simplify checks for escape functionality- Make SOCAT_USE_ESCAPE variable a bool
Use “daemon-util” to reload SSH keys
Remove the KVM_MIGRATION_PORT configure.ac param
Since this is easily configurable at run-time, we remove theconfigure-time parameter. If anyone is building custom packages, thenthe default can be tweaked by a one-line patch to constants.py.
Note that this also fixes the type of parameter, the default from...
Add new “daemon-util” script to start/stop Ganeti daemons
Until now, Ganeti started and stopped its own daemons using custom functions.To start, the daemon was just executed and then sent the appropriate signals tostop it again. Init scripts would have to pay attention to the PID file and...
configure: check for socat and its escape feature
Currently we use a static value for the socat path, or we trust theuser-provided one. With this patch we still trust any user providedvalue, but if none is passed we check for socat on the machine we're...
Revert "configure: check for socat and its escape feature"
This reverts commit 37fc2cf5ba8919cef407199ee540aad4b1a9a2b6, since itintroduces configure.ac changes that depend on very very new autoconfmacros that are not present in current stable distros (and it was not...
Add an example script for backing up the config
This requires git and lockfile-progs, and only backs up config.data (seethe comments why).
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Makefile.am: Add more checks to distcheck-hook
Also use grep only to convert find's output to an exit status.
Documentation updates
Our admin guide was very very trivial. This patch updates it to containadvice on when to use which commands, removes the instanceadministration part from the installation guide (moved to the adminguide), and adds a walkthrough document that should be useable as a...
Include NEWS in documentation again
This was implemented in 350ecfecca and reverted in 700bb84367after it broke “make distcheck”. With other changes in thispatch series this will work now.
Contributing to the original problem was that the news.rst file...
Makefile.am: Wrap long lines
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Makefile.am: Use noinst_DATA instead of all-local target
Makefile.am: Don't include MAINTAINERCLEANFILES in EXTRA_DIST
Makefile.am: Make HTML doc building depend on stamp file
This patch also adds an explicit list of all files written bysphinx (“docoutput”).
By using an explicit list the build process is more predictableand will allow us to include the NEWS file again....
Makefile.am: Use dependencies to create symlinks only if necessary
Makefile.am: Move stamp-directories to BUILT_SOURCES
Use RUN_IN_TEMPDIR in Makefile.am
Since we have this variable and use it in other places, remove the onlyleftover hardcoded place.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Olivier Tharan <olive@google.com>
Makefile: Use path from configure script for sphinx-build
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Ken Wehr <ksw@google.com>
Man page for ganeti-confd
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
mcpu: Implement lock timeouts
The timeout is always between ~0.1 and ~10.0 seconds. A smallvariation of ±5% is added to prevent different jobs fromfighting each other. After 10 attempts to acquire the locks witha timeout, a blocking acquire is made.
Lock status reporting will be improved in a separate patch....
Add support for using the bootloader in xen-pvm
This patch adds three optional parameters: - 'use_bootloader', whether use or not the bootloader - 'bootloader_path', absolute path to the bootloader - 'bootloader_args', extra arguments to the bootloader...
Merge remote branch 'origin/master' into mogu
Add initial confd client unittests
Some basic tests for the confd client library
Add man page for ganeti-cleaner
Merge commit 'origin/next'
Add implementation details for 2.1 locking changes
Revert "Include NEWS file in documentation"
This reverts commit 350ecfecca136f50877898774c6b40014b5c2b1c. It brokedistcheck.
Include NEWS file in documentation
Confd client library
Initial confd client library implementation. This initial version usesasyncore, and supports answers via a callback.
Move developer notes into normal documentation
Check for tabs and long lines in Python code
Makefile: Move lengthy variable list to separate variable
Add new ganeti.build namespace
This will be used to store build-time Python code.
Add locking doc to Ganeti documentation
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Luca Bigliardi <shammash@google.com>
Add simple unittest for hooks documentation
Makefile: add IPsec hook
Enable creation and dist for IPsec hook.
Signed-off-by: Luca Bigliardi <shammash@google.com>
Replace BINDIR variable as well
Add bindir to the list of variables replaced at make time.
Signed-off-by: Luca Bigliardi <shammash@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Merge branch 'next' into branch-2.1
Add script to clean archived jobs after 21 days
Run unittests in a temporary directory
Fix building in a different directory
Also add build-bash-completion to EXTRA_DIST.
Add script to run build commands in temporary directory
Python always compiles imported modules. By running these targetsin a temporary directory we don't pollute the source tree.
Makefile: Use BUILT_SOURCES
These are always built before anything else.
Simplify manpage building
This eliminates one temporary directory in the process.
Makefile: Fix docbook2man error message
Add tools directory to constants
Use script to generate bash completion
Completion for tools/burnin is not yet implemented. It needs to beconverted to definition-based options handling first.
Fix unittest breakage due to new test file
Merge commit 'origin/next' into branch-2.1
Implement confd queries
We'll start with a simple ping query, which returns ok if it gets noquery argument, and an error if it gets any. Also non-implemented queryare handled by the base ConfdQuery class, so we don't have tospecial-case them in ConfdProcessor anymore....
Ship the ethers hook
doc/examples/hooks/ethers has been added without being shipped in thereleased tarball. Putting a stop to this.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Initial confd implementation
ganeti-confd is a simple asynchronous daemon, which listens on a UDPport, passes each packet to a processor, and sends back to the clientthe result.
It also listens on an inotify socket, in order to reload itsconfiguration when the ganeti config file changes....
confd.server.ConfdProcessor
A ConfdProcessor is the job processor for a confd query.It's responsible for all the processing, from unpacking it, verifyingit, to calculating the result.
Add empty ganeti.confd module
It will be used for the confd server code, and for a basic clientlibrary.
Merge branch 'master' into next
asycnotifier.AsyncNotifier
AsyncNotifier is a special asyncore class that delivers inotify eventsasynchronously.
ConfigObject.ToDict() only export non-None values
The method is changed to a normal loop, to avoid calling getattr()twice. Also getstate is changed to just use ToDict() by default.
This should also make getstate work for objects which have tooverride the ToDict function because they contain other objects....
Simplify the devel/upload script
Instead of multiple uploads to each node, this script copies everythingas needed to the temporary directory, exactly as to be installed in thedestination machine, then runs only one rsync per host.
This is more dangerous (we can break /etc now), but for development...
Merge commit 'origin/branch-2.1' into feature/containers
Add first implementation of generic storage unit framework
Build HTML from Ganeti 2.1 design
Add custom pylintrc
A small makefile rule to create a TAGS file
This helps emacs users ☺
Add a lvm stripecount configure parameter
This patch adds a configure-time customizable parameter that will beused to enable stripped LVs. The default of the parameter is 3.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Merge branch 'branch-2.1' into feature/containers
New hypervisor implementation: chroot manager
This patch adds a new hypervisor implementation: a chroot manager. Thishypervisor type can be used to manage (in combination with special OSdefinitions) the start and stop of chroot areas, and if used with drbd...
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.
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...
Add the new DRBD test files to the Makefile
These were forgotten in commit 01e2ce3a6e4ca68983f50dedaddd0d0fc7b77026,and caused “make distcheck” to fail.
Make Python interpreter selectable for test scripts
The Python interpreter used to run the test cases is hard-coded to be/usr/bin/python. If we use the first one from $PATH instead, it ismuch easier to test ganeti with other Python versions.
Trivial typo fix in error message
Reviewed-by: iustinp
Distribute built documentation
This patch changes the way documentation is built in order to distributethe generated output in the 'dist' archive, and thus no longerrequiring the presence of the docbook/rst toolchains during build time.This will lower the requirements for installation and also makes the...
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.
Reviewed-by: imsnah
Fix the Makefile after the bash_completion patch
I've somehow left these two out. Sorry!
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.
Reviewed-by: ultrotter
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....
Also generate HTML format for the man pages
This would help in generating online-viewable docs, which could link tothe man pages.
Update the command line scripts man pages for 2.0
This patch updates the gnt-* scripts to show the new 2.0 syntax. It'snot guaranteed to be 80% complete.
Man page updates for the ganeti daemons.
This patch adds new man pages for the master and RAPI daemons, andupdates the node daemon and watcher man pages.
Remove a duplicate line in sed_vars
LOCALSTATEDIR is added twice to the sed variables.
RAPI: rlib1 removal
The resources we still need moved to rlib2.
KVM: instance migration
The tcp port used for migrating KVM instances is selectable at./configure time. We use a single port as nodes are locked anyway duringa migration, so no two migrations can happen at the same time to thesame node.
ganeti.http: Add support for basic HTTP authentication
As per RFC2617.
Reviewed-by: amishchenko
KVM: improve socat interface
Call socat with a full path specified at configure time, rather thanjust by its name, and check for the binary to exist at hypervisorverify.