History | View | Annotate | Download (32.2 kB)
Adding a wrapper around connecting to kvm console
The wrapper will connect to the console, and check in the background ifthe instance is paused, unpausing it as necessary.
Signed-off-by: Stephen Shirley <diamond@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adding a wrapper around "xm console"
Design for chained jobs
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Fix some issues in htools apidoc generation
First, auto-generated files were not processed if HsColour thus the'source' link in Haddock documentation was dangling.
Second, we document the original Python constant name in theGaneti.Constants source, so that it's easily retrievable (as opposed...
Replace an mkdir -p with mkdir_p in Makefile.am
mkdir_p
Oops, this shouldn't have gone in in the first place…
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Exclude auto-generated Haskell code from coverage
Especially for Ganeti.Constants, which has many declarations, itdoesn't make sense to check for coverage.
Reverts the patch series about console wrappers
This reverts commits 030a9cb8022b83bf43ec14dfbafd943299bc01c4 andae082df0000a785b693b2f4aa434650a81a94bdf.
There are two problems:
- Makefile.am breakage, which is trivial to revert- unittest breakage, which honestly I'm not sure how to fix and how...
Fix htools, QuickCheck library detection and tests
Just saw this while testing the migration to QuickCheck v2: whileconfigure.ac detects that QuickCheck-2.x is not available, the test inMakefile.am was against WANT_HTOOLS (overall htools compilation), not...
Add gnt-network design doc
This design covers high level network block definition and poolmanagement.
Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr>Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>...
Makefile: Add version check for iallocator.rst
iallocator.rst contains the Ganeti version at the top.
Design doc for CPU pinning
Signed-off-by: Tsachy Shacham <tsachy@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Yet another attempt to fix builds
It seems that abs_top_srcdir is not a good option, so I tested againwith just using the same as in doc/examples/bash_completion.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Fix build breakage
Sorry, I already had PYTHONPATH exported in my env, and as I said Iwasn't able to test this on buildbot.
Merge branch 'devel-2.4'
Implement conversion of Python constants to Haskell
With the merge of the repositories, we can now auto-generate the codefor Haskell constants from the Python code.
Currently this only handles the basic types (strings andintegers). Handling containers such as lists and dictionaries is only...
autotools: Add noded group
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Fix distcheck
README is not copied to the build tree.
Some more changes to Makefile.am for htools
I duplicate the BINARY= rule in the ghc invocation in order to be ableto silence the if, which was confusing.
Additionally, a new target for running just the htools unit-tests isprovided.
Signed-off-by: Iustin Pop <iustin@google.com>...
Update version in README
Also add a check to Makefile's check-local target.
Two small Makefile fixes related to htools
First, fix hs-coverage on non-pristine tree, where the index.html filealready existed, and second, disallow compilation of htools binariesif configure, for some reason, didn't enable them.
Expose whether htools was enabled to Python code
This exports whether htools was enabled at configure-time, and adds aconstant for our reference iallocator.
Clarify the need for QuickCheck/Haskell tests
Expands the devnotes.rst doc and adds warnings in the Makefile.
Add design for inter-group instance moves (multi-reloc)
Signed-off-by: Adeodato Simo <dato@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Remove old ensure-dirs (no longer needed)
Rewrite of ensure-dirs in python
I provided unittest to test the important pieces of the infrastructure.The one remaining function (ResuriveEnsure) is not easy to unittestbut also not critical if it fails to operate correctly.
Signed-off-by: René Nussbaumer <rn@google.com>...
hs-coverage: make a symlink hpc_index.html
This allows Apache to display the directory in a nicer way.
Another attempt at fixing htools build without curl
OK, my previous small fix was not good. There is another issue: haddoc(the documentation generator) needs to pass the same compiler options(i.e. in our case, -DNO_CURL) to ghc. But in case of no curl, then it...
Add design for submitting jobs from LUs
This patch adds a design document describing how jobs can be submittedfrom within LUs.
Add import/export version 2 design document
Add design document for lighttpd as HTTP server
Add design document for X509 CA
Revert and change the apidoc and coverage dirs
Based on Michael's suggestion, this patch partially reverts mychanges. The new directories are:
- doc/api/py- doc/api/hs- doc/coverage/py- doc/coverage/hs
Basically the Python-specific output moves one level down (into py/)...
Cleanup the Haskell-related Makefile.am variables
This should be more readable now. I wanted to even use the nicer_SOURCES, but _SOURCES is special in Automake (again), so _SRCS it is.
Move hlint rule to the main Makefile
Since we do have errors currently, this is not enabled from the main'make lint' rule. That will get cleaned up later.
Port the live-test htools rule to the main Makefile
This was a bit tricky, as the compilation from the top-dir changes thepaths in the .tix/.mix files.
Enable htools apidoc generation and unify dir names
Previously, Python api doc was under doc/api (which didn't match withthe target rule, apidoc). After this patch, we have the following:
- make py-apidoc generates Python api doc under doc/py-apidoc- make hs-apidoc generates Haskell api doc under doc/hs-apidoc...
Enable htools unittests and coverage reports
Since we have two sets of coverage data, we make the namingconsistent:
- doc/py-coverage for Python coverage- doc/hs-coverage for Haskell coverage
We also need to exclude some more dirs from the list of checked...
Fix parallel compilation for htools
We do it via per-target-binary .o/.hi files. There are a few otheroptions, in the end this was chosen as different binaries can havedifferent options/components (e.g. hail won't use RAPI, etc.) and thatthe unittests need different compilation options....
htools: add option to control the use of RAPI
RAPI needs the curl module, which is a binding to the libcurl Clibrary. This is more complex (can be compiled either against gnutlsor openssl, etc.) and it's not of much help when the tools are used onthe cluster itself, we disable it by default....
htools: install hail in the iallocator dir
Instead of bindir. We do this by adding a new allocdir variable, andredirecting hail to it.
Makefile.am: add rules for htools compilation
This patch adds some (not very nice) rules for htoolscompilation. Since automake only knows about some languages, anddoesn't have a real extension mechanism, I cheat and declare them as"buildable scripts", instead of programs. Rationale:...
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...
Integrate htools man pages in the main tree
This moves the man pages to their right place, removes the staticfooter and header, and adds Makefile rules for the new .1 man pages.
Core shared file storage support
This patch introduces core file storage support, consisting of the following:
A configure-time switch for enabling/disabling shared file storagesupport and controlling the shared file storage location:--with-shared-file-storage-dir=. Shared file storage configuration is then...
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>
Generate query fields in man pages
This patch replaces the hand-written lists of fields, sometimesincomplete, wrong or inconsistent, with generated ones. What's not verynice yet is the representation for numbered lists (“nic.ip/0: IP addressof 1st network interface”, “nic.ip/1: IP address of 2nd network...
Add script to generate query fields documentation
- All lines matching "QUERY_FIELDS_${resource}" in the input will be replaced with a definition list describing the fields for $resource- The core code is kept in the Sphinx extension, so that it could be...
QUERY_FIELDS_${resource}
Introducing gnt-cluster epo
This is a convenience command to do an automated EPO in the possible limits ofGaneti.
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
epydoc.conf: Avoid newlines, rebuild if necessary
Using $(strip …) ensures there won't be any newlines in the value.
Fix html docs builds
This fixes the doc builds broken by commit b292b986, but is only anugly workaround due to our dependency chain.
opcodes.py imports (both directly and indirectly) constants.py, whichimports _autoconf.py. Hence one could say that all .py files have a...
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.
Introduce re-openable log record handler
This patch adds a new log handler class based on the standard library'sBaseRotatingHandler. This new class allows the log file to be re-opened,e.g. upon receiving a SIGHUP signal. The latter will be implemented in...
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>
Change the Makefile to use bash as SHELL
This is because we want, whenever we use sequences of commands, to setpipefail, otherwise detecting build failures is difficult.
Add check-news to EXTRA_DIST
This was missing from commit 7385c51d.
Add script checking release dates in NEWS
This will detect human errors when setting a release date in NEWS.
Build epydoc's module list from Makefile
Ship default kvm-ifup script
In order to retain backwards compatibility, we ship the shell script previouslygenerated by _WriteNetScript as a stand-alone script under PKGLIBDIR.
Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr>Signed-off-by: Guido Trotter <ultrotter@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.
Run pylint over QA code too
Right now, the QA code is not covered by pylint, and this shows atleast one low-impact bug.
This patch does the necessary changes to make QA pylint-clean, and thechanges the makefile to run pylint for it.
Notable changes:...
utils: Move process-related code into separate file
utils: Move code manipulating /etc/hosts to separate file
utils: Move X509-related code into separate file
utils: Move I/O-related code into separate file
utils: Move code related to file locking into separate file
utils: Move wrappers into separate file
utils: Move logging-related code into separate file
utils: Move hashing-related code into separate file
utils: Split algorithms into separate file
utils: Split Retry & co. into separate file
utils: Move text-related functions into separate file
utils: Move Mlockall into separate file
The unittest file is renamed to match the other utils.* tests.
utils: Move to separate module
This is preparing for splitting the whole units module.
Use new console information in hypervisor abstraction
This makes use of the new way of returning console information from themaster daemon. Unittests are included.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
Introduce verbose opcode result for console
With this patch OpConnectConsole will no longer just return a commandwith arguments, but rather a detailed description about how to connectto an instance's console. Unittests for some parts are included. Another...
Merge branch 'devel-2.3'
Makefile: Merge build-time reST copying
No need to copy this snippet around, “make” can work harder for us.
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
Signed-off-by: Michael Hanselmann <hansmi@google.com>...
baserlib: Add function for filling opcodes
This function makes use of the opcode parameters which now livedirectly in the opcode. A number of RAPI resources can now be simplified.
Add unittests for ht module
Initial import of listrunner
This tool was used and worked on internally for quite a long time. Wedecided to include it in Ganeti.
Known issues:- Code doesn't match rest of Ganeti (e.g. using “print” all over the place, hardcoded calls to sys.exit deep in functions)...
Allow customisation of the disk index separator
As per issue 124, some Xen versions (or packaging) don't deal nicelywith the colon being part of a disk name. Therefore we add aconfigure-time option for customising this.
Note: setting the separator to interesting values like / is not...
Add QA scripts to checked Python code
pylint is not yet included as the code needs some work for that.
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...
Querying node groups: add client/gnt_group.py
This implements `gnt-group list`.
Signed-off-by: Adeodato Simo <dato@google.com>Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
impexpd: Disable OpenSSL compression in socat if possible
This uses an option only available in patched socat versions. Moreinformation is available from the INSTALL update included in thispatch.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>...
Conflicts: Makefile.am
Merge branch 'devel-2.2' into devel-2.3
Add utility class for definition-based data queries
While not immediately visible, using definition-based queries will allowfor a number of optimizations and simplifications. This patch justcontains the utility class used for executing queries.
Add simple query filter parser
This parser reads only the format described by the query2design document: either an empty filter or an OR operatorwith equality checks as operands.
Fix breakage from previous commit e695efb
Wrong file name in Makefile.am and wrong naming (.unittest vs_unittest).
Add missing paramter and unittests for this case
While git-am'ing the blockdev_prefix patch, I modified the hv_xen.pyfile but forgot to amend the patch :(, so here it is.
Furthermore, to detect such inconsistencies in the future, a unittest isadded that cross-checks the default parameters in constants.py and the...