Helga Velroyen [Wed, 15 May 2013 12:52:47 +0000 (14:52 +0200)]
Generators for disks
This patch adds generators for Disk instances to the Haskell
test code. It uses somewhat more reasonable generators to
fill the fields instead of just arbitrary values.
'genDiskWithChildren' is a generator that generates a disk
with a specified number of disk children. To avoid shooting
ourselves in the foot we do not generate further (grand)
child disks for the child disks. 'genDisk' calls
'genDiskWithChildren' by requesting three children as a
resonable default.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Michele Tartara [Tue, 14 May 2013 17:26:07 +0000 (18:26 +0100)]
Remove extra newline
Also, properly set the date of the last modification.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 13 May 2013 14:05:08 +0000 (14:05 +0000)]
Add MonD to the watcher
The monitoring daemon should always be alive, therefore it's added to the
watcher.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Mon, 13 May 2013 14:00:17 +0000 (14:00 +0000)]
Start the monitoring and node daemons together
Add the monitoring daemon to the command starting the node daemon, given that
they both have to be started on all nodes.
Note that daemon-util only supports starting one daemon at the time, so the
actual command has to be composed as a sequence of two different daemon-util
invocations.
Also, the monitoring daemon invocation is conditional, depending on whether it
was enabled at configure time.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Mon, 13 May 2013 13:57:46 +0000 (13:57 +0000)]
Add a constant stating whether monitoring is enabled
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Guido Trotter [Fri, 10 May 2013 16:12:55 +0000 (18:12 +0200)]
Move cmdlib.py to cmdlib/__init__.py
cmdlib.py has grown *really* too much. Move it into its own package to
allow splitting it further.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Michele Tartara [Fri, 10 May 2013 13:46:51 +0000 (15:46 +0200)]
Allow build_chroot to work from any directory
build_chroot used to work only if launched from ./devel/, whereas now
it can be launched from anywhere, and it will store the resulting files
in the current directory.
Fixes Issue 459.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Fri, 10 May 2013 13:45:14 +0000 (15:45 +0200)]
build_chroot: check whether the data dir exists
If the data directory is not in the expected place, the script complains
with an error message and stops, instead of giving obscure messages.
Partially fixes Issue 459.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Weiwei Jia [Wed, 8 May 2013 12:46:22 +0000 (20:46 +0800)]
Fix a misspelled word in design-storagetypes
Signed-off-by: Weiwei Jia <harryxiyou@gmail.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Tue, 7 May 2013 13:15:48 +0000 (13:15 +0000)]
Add version numbers to chroot build script
Update the script adding explicit version numbers for increased repeatability
of the build environment construction process. Version numbers are aligned
with those used by the external buildbot slack role.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Bernardo Dal Seno [Fri, 3 May 2013 18:23:54 +0000 (20:23 +0200)]
QA checks suitability for exclusive_storage tests
When instance tests with exclusive_storage are enabled, the number of PVs
on nodes are checked to see if it's suitable for those tests.
This fixes issue 437.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Fri, 3 May 2013 10:31:44 +0000 (12:31 +0200)]
Disk templates are "allowed" and not "enabled" in ipolicies
The way disk templates were displayed in instance policies became confusing
since the introduction of the enabled_disk_templates cluster parameter.
Fix issue 440.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Fri, 3 May 2013 09:51:06 +0000 (11:51 +0200)]
Unit test for FillIPolicy keeping unknown keys
This makes sure that issue 401 doesn't come back.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Fri, 3 May 2013 08:10:43 +0000 (10:10 +0200)]
Merge stable-2.7 into stable-2.8
Conflicts:
INSTALL
NEWS
configure.ac
src/Ganeti/Query/Group.hs
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Fri, 3 May 2013 07:07:06 +0000 (09:07 +0200)]
Cleanup of the INSTALL file
Curl is not optional anymore. Remove reference to it in the optional libraries
section.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Helga Velroyen [Thu, 2 May 2013 13:21:27 +0000 (15:21 +0200)]
gnt-cluster modify: check vg name only on vm-capable nodes
This fixes issue 432: when setting the volume group name, the presence
of the volume group was checked on all nodes. This patch now restricts
the check only to the vm-capable ones.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Helga Velroyen [Thu, 2 May 2013 12:35:39 +0000 (14:35 +0200)]
Disable inter-cluster instance move for file instances
Inter-cluster instance moves depends on exporting an instance. For file-based
instance, exporting is not supported. Therefore, this patch disables
inter-cluster instance moves for file-based instances and informs the user
with an expressive error message.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Helga Velroyen [Thu, 2 May 2013 09:04:50 +0000 (11:04 +0200)]
Improve error message for file instance creation
Currently, when creating an instance with file storage fails,
the error message is rather general. This patch adds a hint
on what to do as a possible fix.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Guido Trotter [Thu, 2 May 2013 10:20:09 +0000 (12:20 +0200)]
Update NEWS for 2.7.0 rc1
Move the "main" 2.7 section up to rc1, and just leave the delta in
beta3. Then add a new beta3 to rc1 delta.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Guido Trotter [Thu, 2 May 2013 09:10:32 +0000 (11:10 +0200)]
admin guide updates for 2.7
- Mention the file-storage-paths config file
- Add information about sharedfile and ext storage types
- Change one manpage reference to a proper link
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Guido Trotter [Thu, 2 May 2013 09:01:52 +0000 (11:01 +0200)]
Mention file-storage-paths in UPGRADE
It was in NEWS, but not mentioned at all in the upgrade notes.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Guido Trotter [Wed, 1 May 2013 10:03:54 +0000 (12:03 +0200)]
kvm: use -machine type,accel= for newer qemu
-enable-kvm and -disable-kvm are deprecated in favor of accel=kvm passed
as a machine specification. This fixes compatibility with newer qemu
versions.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Guido Trotter [Wed, 1 May 2013 09:56:12 +0000 (11:56 +0200)]
kvm: Move parameter validation before use
We had parameter validation when the runtime is generated, but in the
middle of the function. Move up, before any parameter is accessed.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>
Guido Trotter [Wed, 1 May 2013 09:37:54 +0000 (11:37 +0200)]
kvm: Use -display none rather than -nographic
Newer versions of kvm (from 1.4) don't support -nographic with
-daemonize. When -display exists, use -display none instead.
This fixes Issue 389.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>
Guido Trotter [Tue, 30 Apr 2013 13:53:11 +0000 (15:53 +0200)]
INSTALL updates for wheezy, and fixes
- Remove mention of python 2.4 specific modules, as that version
is not supported anymore
- Add bitarray and ipaddr
- Remove a double space
- Add mandatory C library packages too
- Mention the option of using drbd modules directly from your kernel
This also fixes Issue 372.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Tue, 30 Apr 2013 14:15:44 +0000 (14:15 +0000)]
Disable compiling mon-collector if monitoring is disabled
Mon-collector kept being compiled even if monitoring was disabled during
configure.
Fixes Issue 441.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Tue, 30 Apr 2013 14:01:42 +0000 (14:01 +0000)]
Add confd as a dependency of monitoring
Some data collectors require confd data information. Therefore, monitoring is
dependent on confd, but this was not checked.
This commit introduces such a check and partially fixes Issue 441.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Thu, 25 Apr 2013 07:19:49 +0000 (07:19 +0000)]
Add reason trail to haskell opcode format
The haskell type definition of opcodes should remain aligned with the python
one.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Thu, 25 Apr 2013 07:16:03 +0000 (07:16 +0000)]
Add the reason trail type definition in Haskell
It will be added to the haskell definition of opcodes, to keep it aligned to
the python one, and it will be used for fetching the reason trail by the
instance status data collector.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 15:19:52 +0000 (15:19 +0000)]
Update "reason" field in instance status design
Now the reason field is implemented according to the reason trail design
document.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 10:59:54 +0000 (10:59 +0000)]
Remove outdated TODO comment
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 10:20:29 +0000 (10:20 +0000)]
Add proper error management to monitoring daemon
Produce a personalized 404 error when the requested resource is not available.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 09:24:16 +0000 (09:24 +0000)]
Produce a report for all the data collectors
Implement the API function of the monitoring daemon that provides the report
of all the data collectors.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 29 Apr 2013 14:49:51 +0000 (14:49 +0000)]
Generate report for a single collector
Allow to ask the monitoring daemon for the report of one specific data
collector.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 09:41:45 +0000 (09:41 +0000)]
Export the full report from DRBD data collector
Export the full report instead of just the data from the DRBD data collector.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Wed, 24 Apr 2013 08:44:52 +0000 (08:44 +0000)]
Add monitoring daemon to the masterd group
The hmac.key file is owned by group masterd and is required to communicate with
the confd.
The monitoring daemon need to communicate with the confd so it has to be part of
the masterd group.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Thu, 28 Mar 2013 09:14:46 +0000 (09:14 +0000)]
Update JSON serialization for "category"
Change the JSON serialization for the "category" field of data collectors,
in accordance to the latest version of the design document.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Thu, 28 Mar 2013 09:13:08 +0000 (09:13 +0000)]
Improve monitoring agent design document
Specify more precisely the format of the category names.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Fri, 15 Mar 2013 17:40:12 +0000 (17:40 +0000)]
Implement the "list collectors" API in monitoring
Implement the handler for outputting the list of collectors
(name, category, kind) in JSON format.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Iustin Pop [Mon, 25 Feb 2013 16:18:36 +0000 (17:18 +0100)]
Fix bug in group queries related to node/instance fields
Since we use the primitive string type for group UUIDs, the group
fields have a bug where we pass the group name as filter for node
tests, whereas the nodes themselves use the group UUID. This results
in zero node count, empty node list, and no instances being reported
as assigned to groups.
The patch fixes this and adds a test for the node count. It does some
test generation improvement, and also cleans up whitespace issues in
Test/G/Q/Query.hs (the functions case_queryNode_allfields,
prop_queryGroup_noUnknown and case_queryGroup_allfields are unchanged
but simply have indentation fixed).
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Cherry-pick of
e7124835, fixes issue 436
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Conflicts:
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs
Helga Velroyen [Mon, 29 Apr 2013 16:43:39 +0000 (18:43 +0200)]
man gnt-instance: new hypervisor parameter 'vif_type'
This patch extends the man page of the 'gnt-instance' command
by describing the newly implemented hypervisor parameter
'vif_type'.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Helga Velroyen [Mon, 29 Apr 2013 15:04:29 +0000 (17:04 +0200)]
gnt-instance: new hypervisor parameter 'vif_type'
This patch fixes issue 247. It empowers the user to specify
explicitly the vif type of a nic configuration of a Xen HVM
instance. This includes the option of setting it to '' on the
commandline, causing Ganeti to leave out the 'type' parameter
in the vif configuration completely.
Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Wed, 24 Apr 2013 01:15:14 +0000 (03:15 +0200)]
Add shelltests for hspace allocation
Both tiered and standard allocations are tested, with a single and a double
min/max instance specification.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Tue, 23 Apr 2013 21:11:01 +0000 (23:11 +0200)]
hspace: Handle multiple ipolicy specs
With tiered allocation, hspace uses all the max specs in turn as the
initial instance spec.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Tue, 23 Apr 2013 14:37:41 +0000 (16:37 +0200)]
QA: Test multiple instance specs
The test of the interaction between policy and instances is extended.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 22 Apr 2013 23:24:25 +0000 (01:24 +0200)]
QA: Handle multiple instance specs
Existing tests are updated to cope with the new instance specs format.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 22 Apr 2013 14:59:58 +0000 (16:59 +0200)]
Unit test for cli.FormatPolicyInfo()
We try to parse the string obtained by formatting a policy, and see if we
get the same policy.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 15 Apr 2013 23:24:22 +0000 (01:24 +0200)]
Add command-line support for multiple specs in ipolicy
Command line options accept multiple min/max specifications in instance
policies. The output of show-ispecs-cmd is updated accordingly.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 15 Apr 2013 09:03:38 +0000 (11:03 +0200)]
Add multiple min/max specs in instance policy
Now instance policies can contain more than one min/max specs. This is the
main element of the "Constrained instance sizes" section in the
"Partitioned Ganeti" design doc.
This is a big patch, but changing the type of a configuration item requires
to change all the code that handles it.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Tue, 16 Apr 2013 11:49:48 +0000 (13:49 +0200)]
Separate checks for std spec compliance
This is needed to be able to validate the std spec against multiple min/max
spec pairs (appearing in next patches).
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 22 Apr 2013 23:21:01 +0000 (01:21 +0200)]
QA: Transpose instance specs
The format used to store instance specs in QA is changed to better handle
multiple instance specs, a feature contained in the following patches.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Klaus Aehlig [Mon, 29 Apr 2013 12:08:17 +0000 (14:08 +0200)]
Log at info level the success of a luxi query
So far, any successful query was only logged at debug level, thus leaving
no traces in the logs, unless debugging was enabled. Therefore, we add
a notes about successful completion at info level. Also, repeat a failed
request at WARN level, so that, even if debugging disabled, the request
is available together with the error message in the logs.
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Klaus Aehlig [Mon, 29 Apr 2013 12:17:07 +0000 (14:17 +0200)]
Fix typo in documentation string
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Thomas Thrainer [Mon, 29 Apr 2013 07:03:08 +0000 (09:03 +0200)]
Improve gnt-instance documentation
Explain the relationship of the ip and network parameter in
`gnt-instance add --net` better.
Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Guido Trotter [Fri, 26 Apr 2013 12:37:19 +0000 (14:37 +0200)]
Fix unclear error when replacing a nic's ip
The current error message ends up saying something like
'192.168.5.5' != 'network1', which is sort of non-intuitive (yes, of
course they are different). Fix this by explaining better what the
erroneous condition actually is.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>
Klaus Aehlig [Tue, 23 Apr 2013 09:35:18 +0000 (11:35 +0200)]
In plain to drbd conversion, rename LVs back on failure
Currently, if converting an instance from plain to drbd fails after
renaming the original LVs, the instance is left in an inconsistent
state. This commit tries to undo the renaming if a failure occurs
on assembling a DRBD device, e.g., when device minor numbers are
exhausted. (Issue 229)
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>
Guido Trotter [Thu, 25 Apr 2013 10:25:50 +0000 (12:25 +0200)]
Merge branch 'stable-2.7' into stable-2.8
This fixes the problem with the distcheck-release target failing needlessly.
* stable-2.7:
Improve check for "unreleased" versions in NEWS
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Guido Trotter [Thu, 25 Apr 2013 08:37:29 +0000 (10:37 +0200)]
Improve check for "unreleased" versions in NEWS
Currently this is checked only when distcheck-release is called.
Check it in check-news instead, for all versions before the "current"
one (as defined by configure.ac)
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Klaus Aehlig [Thu, 25 Apr 2013 08:31:48 +0000 (10:31 +0200)]
Update documentation for text format
In commit
000ca91a the text format was extended to also include
information about the master node. This commit updates the
htools man page to reflect this change.
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Klaus Aehlig [Wed, 24 Apr 2013 16:30:26 +0000 (18:30 +0200)]
Merge branch 'stable-2.7' into stable-2.8
Conflicts:
NEWS
doc/rapi.rst
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Wed, 24 Apr 2013 12:40:35 +0000 (14:40 +0200)]
Add missing fields in htools text-backend documentation
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Bernardo Dal Seno [Wed, 24 Apr 2013 14:08:10 +0000 (16:08 +0200)]
cfgupgrade: Remove enabled_disk_templates on downgrade
Remove enabled_disk_templates instead of the deprecated
enabled_storage_types.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Tue, 23 Apr 2013 11:38:44 +0000 (13:38 +0200)]
Reason trail implementation for "start"
Opcode-specific implementation of the reason trail for the instance
startup operation.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michele Tartara [Mon, 22 Apr 2013 15:26:29 +0000 (15:26 +0000)]
Reason trail implementation for "shutdown"
Opcode-specific implementation of the reason trail for the instance shutdown
operation.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Fri, 12 Apr 2013 13:53:24 +0000 (15:53 +0200)]
QA: More tests for instance policies in groups
Instance policies are changed and checked for changes.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Fri, 12 Apr 2013 08:22:35 +0000 (10:22 +0200)]
QA: Split function to set and parse instance policies
The main parts, moved to qa_util, will be used for node groups too.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 4 Mar 2013 23:30:33 +0000 (00:30 +0100)]
QA: Update tests for new ipolicy specs command-line options
The old command-line options weren't working any more. Utility functions
are updated, and broken tests are removed (new tests are coming in the
following patches).
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 15 Apr 2013 09:52:04 +0000 (11:52 +0200)]
Add unit tests for cfgupgrade with a real configuration
Test upgrade and downgrade from a realistic 2.7 configuration.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Wed, 10 Apr 2013 23:06:24 +0000 (01:06 +0200)]
Split functions in cfupgrade unit tests
This makes easier to test real configurations.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 8 Apr 2013 18:42:59 +0000 (20:42 +0200)]
cfgupgrade: Limit specs in ipolicy are always complete
Partial specs are filled with cluster defaults.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 8 Apr 2013 18:40:40 +0000 (20:40 +0200)]
Limit specs in ipolicy command lines are always complete
Command line options are brought in line with the specs change of previous
patch. Old options are still allowed in gnt-cluster init, where the
semantic will remain non-ambiguous even after introducing multiple specs.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 8 Apr 2013 18:36:34 +0000 (20:36 +0200)]
Limit specs in instance policies are always complete
Specs used to specify limits in instance policies are always complete, even
at group level (only the whole limit set can be overridden). This is in
preparation for introducing multiple limits.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Tue, 9 Apr 2013 15:37:00 +0000 (17:37 +0200)]
Refactor tests in ipolicy validation
This makes the code more modular, in preparation for the following patches.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Fri, 5 Apr 2013 15:56:41 +0000 (17:56 +0200)]
QA for --ipolicy-xxx-specs and show-ispecs-cmd
The tests check the interactions between the two commands.
Also refactored group QA code to separate tests about ipolicy, as those
tests are going to grow in complexity.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Thu, 4 Apr 2013 20:30:59 +0000 (22:30 +0200)]
Add command to print ipolicy options
The output of this command can be used to create an exact copy of the
current instance policy specs. The command could be expanded to print all
the options used to create a group or the cluster.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Bernardo Dal Seno [Mon, 11 Mar 2013 14:12:21 +0000 (15:12 +0100)]
Add --ipolicy-xxx-specs options
These options allow to specify whole instance policy specs. This is needed
for the upcoming changes that tend to threat specs as monolithic objects.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Wed, 6 Mar 2013 12:03:44 +0000 (13:03 +0100)]
New CLI input type: list of key/value pairs
This will be used for the new instance specs options.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Mon, 8 Apr 2013 17:59:25 +0000 (19:59 +0200)]
Allow "default" as a value for ipolicy templates
Previously the string value was being corrupted.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Bernardo Dal Seno [Fri, 5 Apr 2013 12:48:26 +0000 (14:48 +0200)]
Document all --ipolicy-... options
They were missing from the man pages.
Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Guido Trotter [Tue, 23 Apr 2013 12:05:28 +0000 (14:05 +0200)]
Fix a few unclear sentences in gnt-cluster(8)
The renew-crypto entry had a few obscure sentences. Improve it by
rephrasing it.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Michele Tartara [Tue, 23 Apr 2013 08:42:03 +0000 (08:42 +0000)]
Make burnin compatible with the reason trail
The burnin uses its own option list, different from the one of all other
command line programs, and uses it as a parameter to a function that now
requires the "--reason" option to be present.
This commit updates the burnin option list to be compatible with the reason
trail implementation.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Klaus Aehlig [Mon, 22 Apr 2013 11:50:26 +0000 (13:50 +0200)]
Extend the simulation backend to also simulate a master node
In a simulated cluster as created by the simulation backend to
the htools, make the first node of the first node group the master
node. In this way, hools (like hroller) that require a master node
can also be used on simulated clusters, e.g., for testing.
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>
Klaus Aehlig [Mon, 22 Apr 2013 11:09:06 +0000 (13:09 +0200)]
Add unit tests for hroller
Add a unit test for hroller in a situation where the order
is completely determined. There are 3 nodes where node 2 has,
for each of the other nodes, an instanced shared with it. So
node 2 has to be a reboot group of its own. There are no more
instances, hence, my minimality, the other two nodes have to
form a single group. Node 1 is the master, and hence has to
be rebooted last; this determines the order.
Also add a unit test verifying that hroller rejects configurations
with multiple master nodes, even if the option --force is given.
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Klaus Aehlig [Fri, 19 Apr 2013 12:58:43 +0000 (14:58 +0200)]
Extend Text format by marking the master node
Sometimes, e.g., for hroller, it is necessary to know which node
is the master node. Therefore this information has to be included
in the text format as well. Since we never use an offline node as
master node, we can put this information can be put in the "is
offline" field; as old versions only check this field for equality
to "Y", using "M" to indicate the master is compatible in both
directions. This also leaves room to add more roles in the future,
should we need them.
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Sebastian Gebhard [Mon, 22 Apr 2013 15:28:57 +0000 (17:28 +0200)]
Minor changes / bugfixes in documentation
Signed-off-by: Sebastian Gebhard <sege@fs.ei.tum.de>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Michele Tartara [Fri, 22 Mar 2013 18:31:56 +0000 (19:31 +0100)]
Reason trail implementation for instance reboot
This commits allows ganeti to correctly forward the reason trail information
regarding instance reboot.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Tue, 26 Mar 2013 09:27:37 +0000 (10:27 +0100)]
Add "reason" as a common parameter for all the RAPI calls
Also, this add an infrastructure for having parameters common to all the
RAPI calls.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Tue, 26 Mar 2013 09:33:21 +0000 (10:33 +0100)]
Add infrastructure for adding common RAPI parameters
Some parameters can be common to all the RAPI calls: this commit
adds the possibility of specifying them just once, instead of
manually adding them to the classes describing each call.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Tue, 26 Mar 2013 08:54:03 +0000 (09:54 +0100)]
Add job_id and index to the reason trail
The reason trail will contain an item indicating the job_id and the
index number of the current opcode inside the job queue.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Tue, 26 Mar 2013 12:58:53 +0000 (13:58 +0100)]
Add the reason trail to the opcodes
The reason trail is available for all the opcodes, and as such it is
initialized as a generic option.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 17:24:51 +0000 (18:24 +0100)]
Add a field to store the reason trail in OpCodes
The reason trail will be available for all the OpCodes, so the field that
is to contain it has to be added to the OpCode base class.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 17:19:38 +0000 (18:19 +0100)]
Provide "--reason" as a parameter for all commands
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 15:51:07 +0000 (16:51 +0100)]
Add function for extending the reason trail
Noded functions will have to extend the reason trail specifying what
operation is being executed.
This commit adds a function for doing that (will be used by future commits).
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 15:14:41 +0000 (16:14 +0100)]
Add an opcode name conversion function
Add a function to convert an opcode class name to a source string for the
reason trail, factoring out the code in common with the existing _NameToId
function.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 15:00:25 +0000 (16:00 +0100)]
Add function for storing the reason trail of an instance
We are interested in storing the reason trail for operations that changed
the state of instances. This commit adds a function to do this.
Also, the GetInstReasonFilename() function name is prepended with an
underscore because it is only used in this file.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 14:21:06 +0000 (15:21 +0100)]
Add function for getting the timestamp in nanoseconds
The timestamp is returned as an integer number of nanoseconds since the Unix
epoch.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 14:15:26 +0000 (15:15 +0100)]
Add TMaybeList as a new type for parameters
This will be used as the type for the reason trail parameter.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 14:11:31 +0000 (15:11 +0100)]
Add constants for the reason trail implementation
A few constants are required, describing the source reason of the opcode.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Mon, 25 Mar 2013 13:55:31 +0000 (13:55 +0000)]
Remove old "reason" implementation
Remove the useless parts of the old, partial, implementation of the support for
tracking the reason of instances state change, before implementing the new
reason trail support, as per the design document.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Michele Tartara [Fri, 22 Mar 2013 18:26:34 +0000 (19:26 +0100)]
More specifics on the implementation of the reason trail
Adding the reason trail as a parameter instead of as a new class attribute fits
better with the current structure of the system.
Also, the description of what part of the implementation will be OpCode
specific and which will be shared is added.
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>