build_chroot: hard-code the version of blaze-builder
The newest version does not build on debian squeeze, so avoidit beeing pulled in as a dependency.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Jose Lopes <jabolopes@google.com>
Fix indentation of devel/build_chroot
This commit is separated from the previous one for reviewingconvenience. If git-blame points to this revision as the culprit ofyour problem, you probably have to go deeper.
Signed-off-by: Santi Raffa <rsanti@google.com>...
Support wheezy schroots
Add support for wheezy in build_chroot.
Merge branch 'stable-2.9' into master
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.
Signed-off-by: Michele Tartara <mtartara@google.com>...
Sync build_chroot with buildbot slack role
Keep the build_chroot script as similar as possible to the buildbot's slack rolefor squeeze.
Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Set pcre version to 0.94.4
Running 'make' in the chroot complains about pcre 0.94.4being required.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
Remove duplicate argument from cabal install
network==2.3 is duplicate in cabal install. One occurrence can thus be removed.
Signed-off-by: Sebastian Gebhard <sege@fs.ei.tum.de>Reviewed-by: Guido Trotter <ultrotter@google.com>
Install python mock using easy_install in chroot
We require a newer mock library, so install it using easy_install inchroot.
Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Michele Tartara <mtartara@google.com>
Merge branch 'stable-2.8' into stable-2.9
Make build_chroot compatible with Squeeze
Modify build_chroot to make it compatible with debian Squeeze. Thisis done by using a function instead of a alias for the command thatwas failing.
Fixes Issue 507.
Merge branch 'stable-2.7' into stable-2.8
Conflicts: NEWS: trivial...
Add logrotate example
Add an example logrotate snippet, along with the relevant documentation.
Signed-off-by: Apollon Oikonomopoulos <apoikos@gmail.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Merge branch 'stable-2.8' into master
Add git send-email to the chroot
"git send-email" is used as part of the official workflow but it was notinstalled in the chroot.
This patch adds it.
Fix apt-get invocation in chroot_builder
Use the macro containing all the required parameters, instead of just using"apt-get install".
Allow customization of the chroot
As different users have different needs about the chroot, allowcustomization in its build script. This is achieved as follows.- The environment variable EXTRA_DEBIAN_PACKAGES is honored, and the packages named there are additionally installed in...
build_chroot: fix duplicate install
In the last change to the chroot build script, theapt-get command 'install' was moved to the APT_INSTALLmacro; however, it was forgotten to remove it outsidethe macro, causing an error, as there is no packagewith name 'install'....
build_chroot: use APT_INSTALL macro for packet installation
In this way, it is easier to change all the apt calls in the chroot.In particular, this patch fixes the missing -y option for the installationof the tools needed to build debian packages.
Signed-off-by: Klaus Aehlig <aehlig@google.com>...
Add tools for building deb packages to build_chroot
The chroot only had tools for building and testing Ganeti, but not forbuilding its Debian packages. They are added by this commit.
Improve the final message of build_chroot
Give more precise instructions on the next steps to actually run thechroot.
Make build_chroot self-contained
The configuration file are included in build_chroot, and areautomatically created by the script if it is not able to find themalready in the directory pointed by $DATA_DIR.
Note that the configuration file directory is cleaned if it's temporary,...
Add dependency on the process library
The tests are already using this library, so it's not really a new builddependency, but it was not specified esplicitly.
Furthermore, it's going to be used by the instance status collector, so it'sadded to the requirements for the monitoring subsystem....
Allow build_chroot to work from any directory
build_chroot used to work only if launched from ./devel/, whereas nowit can be launched from anywhere, and it will store the resulting filesin the current directory.
Fixes Issue 459.
build_chroot: check whether the data dir exists
If the data directory is not in the expected place, the script complainswith an error message and stops, instead of giving obscure messages.
Partially fixes Issue 459.
Add version numbers to chroot build script
Update the script adding explicit version numbers for increased repeatabilityof the build environment construction process. Version numbers are alignedwith those used by the external buildbot slack role.
Support /var/run being a symlink in upload
Starting from Debian Wheezy, /var/run is a symlink to /run. If rsyncdoes not treat receiving symlinks to directories as directories, itwould remove the original symlink and create a new, empty directorywhere only the files to sync are put in. In the case of /var/run, this...
Add dependency on python-mock
Python Mock (http://www.voidspace.org.uk/python/mock/) is a mockinglibrary for Python. It is included in the standard Python distributionas of Python 3.3, but has been around for quite a while. Debian unstablecontains a version we require....
devel/review: fix addition of reviewer from environment
In commit 3dd990, the possibility of taking a default reviewerfrom the environment was introduced. Fix two deficits here- perl does not inherit the environment- add at all places.
devel/review: take default reviewer from environment
When adding a 'Reviewed-by'-line, also add the reviewerpassed through the REVIEWER environment variable. In thatway, adding the reviewer for patch series all reviewedby the same person gets easier....
Add "less" to the chroot
Less is not part of the base debian system, so it has to be addedexplicitly.
Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Set the default editor inside the chroot
Allows the chroot builder to set the default editor to be used in thechroot.
Vim is used as the default choice.
Signed-off-by: Michele Tartara <mtartara@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Add backports to the chroot builder sources
This allows to have newer software than what is available in Debian Squeeze(the default version of the distribution used by the script), particularlyvim and git.
Add script for building chroot
Setting up a proper environment for building a Ganeti can be quite difficult.
This patch adds a script for building a compressed chroot with all therequired libraries and tools.
Add a simple tool for checking split-query equivalence
This is not run automatically (although it could/should), but is veryuseful during development.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Officially require Python 2.6+
We have no way to test Python 2.4 compatibility anymore, and thatversion is long deprecated. From version 2.8+ require Python 2.6 orabove (but still not 3.0).
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Fix OCF files installation in devel/upload
LIBDIR was not defined, so the files ended up directly under /, notgood. Now they're properly installed under /usr/lib/ocf, as perhttp://linux-ha.org/wiki/OCF_Resource_Agents.
Also add "set -u" to prevent future occurrences of this kind of bug....
Add small webserver for development
When working on documentation it can be helpful to use a browser. Insome environments it's not possible to access the files directly from agraphical browser. This trivial webserver exports all files in thecurrent directory and unlike alternatives such as thttpd, doesn't check...
Add ganeti-node-role ocf example file
This allows offlining nodes that don't respond if they are part of alinux-HA cluster.
Add ganeti-master-role.ocf example file
This allows controlling the cluster master role if the nodes are part ofa linux-HA cluster.
Switch devel/upload to a static file
We had twice in the past days questions about devel/upload being"broken", since bash re-reads shell scripts during their run and thisfile can get regenerated due to Makefile changes.
Since we only need this to be dynamically built for 3 variables, let's...
Remove dumb-allocator code from devel/upload
The 'dumb-allocator' has been removed almost two years ago (commit6f547f96, “Remove dumb-allocator”), let's remove this special casingfor it from devel/upload.
Fix devel/upload restart of daemons
While running with a wrong --prefix/--sysconfdir, I saw thatdevel/upload actually uses a hardcoded path for the init script, eventhough it installs it in the correct place.
Signed-off-by: Iustin Pop <iustin@google.com>...
Improve devel/upload command line handling
To people not used to it, it was completely non-obvious why"./devel/upload" didn't do anything.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
bash_completion: Generate more compact version
First the numbers:$ stat --format '%s %n' doc/examples/bash_completion*77847 doc/examples/bash_completion86492 doc/examples/bash_completion-debug
The non-debug version doesn't use indentation and does not have some...
devel/upload: Fix permissions for installed directories
Permissions for the directories created during install depended on theumask of the user running the script. Now umask is reset inside the scriptto remove such dependency.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>...
devel/release: Use release-specific Makefile targets
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Require aclocal 1.11.1 or above for devel/release
1.11.1 is the version in squeeze and lucid, and we know it works. Wealso know that 1.10.1 in hardy and lenny doesn't, nor do 1.10 in etchand 1.9.6 in dapper. We haven't tested any other version.
With older versions python.m4 is buggy, and results in the package being...
Introduce git reference/tag tracking for debugging
This patch adds a new vcs-version file that is generated via git (andcan be adapted if VCS is changed) and then embebbded as VCS_VERSION inthe constants module.
This means two things:- local modifications without committing to git (or when using a tar.gz...
Use reserved documentation IPs and domains
Use RFC 5737 IP addresses and RFC 2606 domain names in allunittests, docs, qa and docstrings.
Signed-off-by: Manuel Franceschini <livewire@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
devel/review: make the range argument optional
Rather than calling devel/review with from..to target we can just usetarget, and assume target..HEAD as the range. This makes it a loteasier, as now you just have to say something like "devel/reviewdevel-2.1" if you're already on the branch you want to commit, and want...
devel/upload: add --no-debug option
When this option is used the /etc/defaults/ganeti file, which sets allthe daemons in debug mode, is not copied.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Small improvements for release script
- Print usage if no tree-ish (tag, branch or commit) was specified.- Use “gntrelease.XXXXXXXXXX” as temporary directory template. This makes it easier to find all of them.- Compute MD5 checksum. This doesn't cost a lot and...
Provide example default files and install one for development
Merge branch 'devel-2.0' into devel-2.1
Add a release script
Currently releases are done via the manual procedure onhttp://code.google.com/p/ganeti/wiki/ReleaseProcess, but that is notvery reliable, and breaks for rc releases. The 1.2.9/2.0.5/2.1.0~rc2releases were done with this new script that eases the process....
Enable batch mode for devel/upload
Since the rsync/ssh calls are done in parallel, they can't read properly apassword or confirmation about keys from stdin. As such, it's better to enablebatch mode so that they fail right away instead of prompting and then timing...
Implement strict mode for devel/review
This should prevent typos in aliases from going unnoticed.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
devel/upload.in: make it more project generic
Only install ganeti specific files if they exist. This way we can callganeti's devel/upload in another sub-projects (eg. nbma) and have ituploaded to a host as well, without having to create a new script there....
upload: Use more compatible regular expression
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Luca Bigliardi <shammash@google.com>
devel/upload: Build in parallel
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Olivier Tharan <olive@google.com>
Merge commit 'origin/next' into branch-2.1
devel/upload: revert rsync -p
The permissions replications also will change the permissions on the /and /usr directories, which is bad. This reverts it to the originalbehaviour.
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...
Add review script
I've been using this script for a while to update commits beforepushing them to the main repository. It copies all commits in arange to another branch using git cherry-pick and starts an editorto modify the Reviewed-by: line(s) for each commit. The script is...
chmod ganeti.initd before uploading it
When an upload is done to a node which doesn't have any version ofganeti installed, this prevents a non-executable-initd error later inthe upload.
Reviewed-by: imsnah
Add very basic online help to devel/upload
devel/upload: Add --no-restart option
If --no-restart is passed to devel/upload, it'll not run"/etc/init.d/ganeti restart" (which kills processes), makingdebugging on a terminal a bit easier.
Reviewed-by: iustinp, ultrotter
Use a single Makefile.am instead of many
This change allows us to use cleaner dependencies betweendirectories. The build system is basically rewritten in large partsand may contain bugs.
Reviewed-by: iustinp
Generate devel/upload during build time from template
- Use variable with prefix instead of grep and sed- Always run with /bin/bash
Reviewed-by: ultrotter
Fix a typo in a devel/upload comment
Files are uploaded to $prefix/sbin, not $prefix/bin
Add tool to ease testing of unsubmitted patches
The upload tool can be used to submit the current code to an arbitrary list ofnodes. This helps developers in easily testing their changes before submittingthem.