Adeodato Simo [Wed, 8 Dec 2010 16:14:07 +0000 (16:14 +0000)]
design-2.3.rst: fix whitespace
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Wed, 8 Dec 2010 16:05:53 +0000 (16:05 +0000)]
constants.py: fix tiny grammar issue in comment
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Wed, 8 Dec 2010 19:27:06 +0000 (19:27 +0000)]
objects.py: fix minor error in NodeGroup.SimpleFillND docstring
The defaults are filled in from the node group defaults, not cluster
defaults (presumably copy & paste error).
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Michael Hanselmann [Wed, 8 Dec 2010 18:22:24 +0000 (19:22 +0100)]
Node query: maintain order as requested
If the client requests certain names, their order should be maintained.
This is already done for instance queries. Moving this part into a
separate function allows sharing code.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 19:41:05 +0000 (20:41 +0100)]
query: Improve error checking
- Show only field definition, not callback when a result row is
inconsistent
- Show list of duplicate titles if there are any (module load time)
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Michael Hanselmann [Tue, 30 Nov 2010 13:56:51 +0000 (14:56 +0100)]
constants: Clarify comment for QRFS_NODATA
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Michael Hanselmann [Thu, 2 Dec 2010 21:48:48 +0000 (22:48 +0100)]
cmdlib: Fix prototype for _QueryBase.DeclareLocks
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Adeodato Simo [Mon, 6 Dec 2010 16:46:01 +0000 (16:46 +0000)]
Group operations: add QA tests for add/remove/rename
This is a single function that tests all of of the following:
- creating groups
- creating groups that exist fails
- renaming an empty group
- renaming a group with nodes
- renaming to a name that already exists fails
- removing an empty group works
- removing a group with nodes fails
The "default" group is only used for the "rename group with nodes"
test.
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Mon, 6 Dec 2010 15:30:27 +0000 (15:30 +0000)]
Group operations: update ganeti.rapi.client with all node group operations
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Mon, 6 Dec 2010 15:23:46 +0000 (15:23 +0000)]
Group operations: expose add/remove/rename in RAPI
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Fri, 3 Dec 2010 12:41:14 +0000 (12:41 +0000)]
Group operations: CLI code for add/remove/rename a group
Also, minor update to the 2.3 design doc, which was indicating the remove
operation would be `gnt-group del` and not `gnt-group remove` (the latter
being consistent with gnt-node and gnt-instance).
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 18:24:51 +0000 (18:24 +0000)]
Group operations: OpCode and LU for renaming a group
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 18:24:40 +0000 (18:24 +0000)]
Group operations: OpCode and LU for removing a group
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 18:23:37 +0000 (18:23 +0000)]
Group operations: OpCode and LU for adding a group
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 16:56:36 +0000 (16:56 +0000)]
Expose new node group attributes in CLI and RAPI
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 16:34:53 +0000 (16:34 +0000)]
config.py, objects.py: more node group support
In particular:
- add AddNodeGroup and RemoveNodeGroup in config.py
- refactor _UpgradeConfig to make use of _UnlockedAddNodeGroup
- add support for objects.NodeGroup in ConfigWriter.Update; add missing
"serial_no" attribute to NodeGroup objects
- update NodeGroup.UpgradeConfig to set mtime and serial_no if missing
(the refactored code in _UpgradeConfig was not settting mtime nor ctime)
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Thu, 2 Dec 2010 13:50:57 +0000 (14:50 +0100)]
Adding new OpCode for OOB
Register OpCode and Logical Unit in mcpu.py
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Thu, 2 Dec 2010 13:51:12 +0000 (14:51 +0100)]
Adding new Logical Unit for OOB
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Michael Hanselmann [Mon, 6 Dec 2010 18:46:55 +0000 (19:46 +0100)]
cmdlib: Don't sort list of nodes if names are given
This makes _GetWantedNodes consistent wit _GetWantedInstances.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 19:41:47 +0000 (20:41 +0100)]
utils: Add function to find duplicates in sequence
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Adeodato Simo <dato@google.com>
Adeodato Simo [Mon, 6 Dec 2010 16:25:09 +0000 (16:25 +0000)]
hv_kvm.py: fix some lint issues introduced in 4b784cf
In particular:
- break as couple lines that were longer than 80 characters
- fix a couple "comma not followed by a space"
- fix an unused variable warning
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Guido Trotter [Wed, 27 Oct 2010 13:00:28 +0000 (14:00 +0100)]
locking: add nodegroup lock level
This also changes masterd to initialize the ganeti's manager with the
current list of nodegroup uuids, and updates unittests
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Guido Trotter [Mon, 6 Dec 2010 11:06:44 +0000 (12:06 +0100)]
Remove bridge NIC slot
This has been deprecated and unused since 2.1.
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Miguel Di Ciurcio Filho [Thu, 2 Dec 2010 16:00:10 +0000 (14:00 -0200)]
kvm: Improve network syntax and tests
The current syntax when defining a NIC uses a pair of arguments, like this:
-net tap,vlan=0 -net nic,vlan=0,model=virtio
When using this pair, internally KVM will create a VLANState structure to send
ethernet frames between the guest NIC and the host tap device. This is
suboptimal and is going to be removed in the future. Plus, this combination
breaks vhost-net support.
The new syntax does not need the vlan craziness anymore, creating a direct 1:1
relationship between the backend device and the frontend device.
-netdev tap,id=netdev0 -device virtio-net-pci,mac=52:54:00:56:6c:55,netdev=netdev0
The current code does not verify if vhost_net is available before starting an
instance. All this tests are done verifying the KVM version installed on the
node.
Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Miguel Di Ciurcio Filho [Thu, 2 Dec 2010 16:00:09 +0000 (14:00 -0200)]
kvm: Make _GetKVMVersion() return integers
The current code returns the major, minor and rev portions of the version of
KVM as strings. Returning them as integers makes it easier to compare.
Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michael Hanselmann [Thu, 2 Dec 2010 15:52:57 +0000 (16:52 +0100)]
Merge branch 'devel-2.3'
* devel-2.3:
locking: Clarify message for removed locks
Bump version for 2.3.1~rc1 release
impexpd: Disable OpenSSL compression in socat if possible
Bump version for 2.3.0
Conflicts:
NEWS: Trivial
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 2 Dec 2010 15:47:56 +0000 (16:47 +0100)]
Merge branch 'stable-2.3' into devel-2.3
* stable-2.3:
Bump version for 2.3.1~rc1 release
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Iustin Pop [Thu, 2 Dec 2010 14:04:59 +0000 (14:04 +0000)]
Make snapshots multi-vg aware
Currently, the Snapshot() function of LogicalVolume returns only the
logical volume path, with the assumption that we only have one VG. But
with the recent changes, it makes more sense to return the full data (vg
and lv) from it, so as to not require computing it in the master.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 15:01:58 +0000 (15:01 +0000)]
config.py: add error code to OpPrereqError
This adds a errors.ECODE_NOENT for OpPrereqError in LookupNodeGroup.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Thu, 2 Dec 2010 15:01:57 +0000 (15:01 +0000)]
config.py: replace "node group" with "nodegroup"
Though code uses "nodegroup" as data member name, strings that will be
read by the user should use "node group" (with a space), since "nodegroup"
is not a word.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Dmitry Chernyak [Fri, 26 Nov 2010 19:57:00 +0000 (22:57 +0300)]
Make rpc.call_lv_list() VG-aware
Changes to backend.GetVolumeList():
- now accepts a list of VGs instead of one VG
- returns LV names in the form "vg_name/lv_name"
Corresponding changes are done in: VerifyDisks, VerifyNode,
LUCreateInstance (for both disk creation and adoption cases)
Now the syntax
"gnt-instance add ... --disk N:adopt=LV_NAME,vg=VG_NAME"
as was described earlier in the man page works.
Signed-off-by: Dmitry Chernyak <dmi.chernyak@gmail.com>
[iustin@google.com: QA changes for reserved LVs, style fixes and a few
extra error checks, reviewed by hansmi/rn]
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Thu, 2 Dec 2010 12:47:19 +0000 (12:47 +0000)]
cmdlib: fix typos in the docstring for LogicalUnit
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Thu, 2 Dec 2010 13:03:47 +0000 (13:03 +0000)]
opcodes: document OP_DSC_FIELD in OpCode and OpCode.Summary()
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 17:33:27 +0000 (18:33 +0100)]
locking: Clarify message for removed locks
Just being told that a lock doesn't exist can be confusing. One case
were this happens is when a job (e.g. instance modify) waits for a job
removing the instance (e.g. export with remove).
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 19:45:06 +0000 (20:45 +0100)]
Bump version for 2.3.1~rc1 release
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Wed, 1 Dec 2010 17:25:59 +0000 (17:25 +0000)]
Querying node groups: add QA tests
This adds QA tests for both CLI and RAPI.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Wed, 1 Dec 2010 17:25:39 +0000 (17:25 +0000)]
Querying node groups: RAPI support
This implements /groups and /groups/%s RAPI end points.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Wed, 1 Dec 2010 17:25:22 +0000 (17:25 +0000)]
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>
Adeodato Simo [Tue, 30 Nov 2010 19:48:03 +0000 (19:48 +0000)]
Querying node groups: add luxi.REQ_QUERY_GROUPS
This also updates masterd.py.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Wed, 1 Dec 2010 17:24:50 +0000 (17:24 +0000)]
Querying node groups: LU/Opcode
This adds opcodes.OpQueryGroups and cmdlib.LUQueryGroups.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 10 Nov 2010 18:43:01 +0000 (19:43 +0100)]
impexpd: Disable OpenSSL compression in socat if possible
This uses an option only available in patched socat versions. More
information is available from the INSTALL update included in this
patch.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 15:55:47 +0000 (16:55 +0100)]
Merge branch 'stable-2.3' into devel-2.3
* stable-2.3:
Bump version for 2.3.0
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 15:03:56 +0000 (16:03 +0100)]
Bump version for 2.3.0
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
René Nussbaumer [Wed, 1 Dec 2010 10:16:14 +0000 (11:16 +0100)]
Adding RPC infrastructure to call oob
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
René Nussbaumer [Wed, 1 Dec 2010 10:08:47 +0000 (11:08 +0100)]
Adding backend functionality to call oob helper
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
René Nussbaumer [Tue, 30 Nov 2010 09:20:48 +0000 (10:20 +0100)]
Adding ndparams to gnt-cluster init|modify and man page
This is reverting the revert and adaption to fix the issue which caused
the revert
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 1 Dec 2010 13:13:57 +0000 (14:13 +0100)]
Merge branch 'devel-2.3'
* devel-2.3:
Correct version check for release candidates
config.py: need explicit %-formatting in errors.OpPrereqError.
Fix version check
Add script to check version format
Conflicts:
Makefile.am
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Tue, 30 Nov 2010 18:26:46 +0000 (19:26 +0100)]
Merge branch 'devel-2.2' into devel-2.3
* devel-2.2:
Correct version check for release candidates
Fix version check
Add script to check version format
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Tue, 30 Nov 2010 17:50:44 +0000 (18:50 +0100)]
Correct version check for release candidates
The tilde needs to be escaped and I forgot the space which should be
used instead.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Adeodato Simo [Tue, 30 Nov 2010 16:05:47 +0000 (16:05 +0000)]
config.py: need explicit %-formatting in errors.OpPrereqError.
Signed-off-by: Adeodato Simo <dato@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Adeodato Simo [Tue, 30 Nov 2010 15:01:25 +0000 (15:01 +0000)]
Trivial style fixes
Add missing closing brackets and fix a typo.
Signed-off-by: Adeodato Simo <dato@google.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Iustin Pop [Mon, 29 Nov 2010 14:47:06 +0000 (14:47 +0000)]
Further cleanups on QA
This is more of an RFC. The patch attempts to address two issues:
- running conditional tests is ugly right now
- we don't know what tests we skipped
By using the new RunTestIf, we solve both. But a significant number of
test decisions are more complex than just “is test enabled”, so those
remain to be run via RunTest, which means we don't get logging of when
they're not run. Hence the logging is not complete… Sugesstions on how
to solve it are welcome.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: René Nussbaumer <rn@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 18:54:29 +0000 (19:54 +0100)]
Check for editor-specific settings at build time
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 18:55:14 +0000 (19:55 +0100)]
Remove editor-specific settings from cfgupgrade*
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 19 Nov 2010 20:32:19 +0000 (21:32 +0100)]
Add OpQuery opcode
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 19 Nov 2010 20:25:51 +0000 (21:25 +0100)]
LUQueryNodes: Convert to new query model
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 19 Nov 2010 20:26:04 +0000 (21:26 +0100)]
cmdlib: Add base for query classes
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 12 Nov 2010 15:17:43 +0000 (16:17 +0100)]
Add node query definition
This includes a bunch of helper functions which can be helpful for other
queries, too. Unittests are included.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 19 Nov 2010 19:41:26 +0000 (20:41 +0100)]
Add simple query filter parser
This parser reads only the format described by the query2
design document: either an empty filter or an OR operator
with equality checks as operands.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 22 Oct 2010 17:40:07 +0000 (19:40 +0200)]
Add utility class for definition-based data queries
While not immediately visible, using definition-based queries will allow
for a number of optimizations and simplifications. This patch just
contains the utility class used for executing queries.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 12 Nov 2010 17:28:01 +0000 (18:28 +0100)]
Add query constants
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 19:16:23 +0000 (20:16 +0100)]
bootstrap: Set master node's {c,m}time on cluster init
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 18:25:54 +0000 (19:25 +0100)]
QA: Fix upload of RAPI users file
After moving the users file to a directory, we must ensure the
directory exists.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 25 Nov 2010 21:02:38 +0000 (22:02 +0100)]
RAPI: Implement OS parameters for instance reinstallation
Dictionaries are hard to encode into query strings, therefore the
“/2/instances/[instance_name]/reinstall” resource is changed to accept
its parameters via the request body. The old query string parameters are
still accepted for backwards compatibility.
To allow clients to detect whether a server supports the new body
parameters, a new feature string is added to the “/2/features” resource.
Some people might not like this, but it reuses existing functionality.
The RAPI client and its unittests are updated.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 17:41:29 +0000 (18:41 +0100)]
Revert "InitCluster support for ndparams"
This reverts commit
fd7f5b411ca61be2e4eff638773ba6c0fac7eb32.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Mon, 29 Nov 2010 17:40:14 +0000 (18:40 +0100)]
Revert "Adding ndparams to gnt-cluster init|modify and man page"
This reverts commit
cb1ef9736dec68d6786359bc7d019f0bbee48c61. QA was
broken by this commit.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 24 Nov 2010 17:37:07 +0000 (18:37 +0100)]
Move “rapi_users” file into separate directory
This reduces the number of notifications in “ganeti-rapi”. Until now it
was notified for every change in …/lib/ganeti and had to check whether
the users file was affected. A symlink is always created in cfgupgrade
to not break tools referring to the old name.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Fri, 12 Nov 2010 17:28:13 +0000 (18:28 +0100)]
objects: Add QueryFieldDefinition
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 25 Nov 2010 19:47:44 +0000 (20:47 +0100)]
Increase timeout for connection on remote import
The source cluster has to shut down an instance before it can be
exported. Doing so can take a while, but the default connection timeout
is only 60 seconds. Adding the shutdown timeout on the receiving cluster
should help.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 25 Nov 2010 17:21:40 +0000 (18:21 +0100)]
Use IPv6 for import/export
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 25 Nov 2010 17:21:05 +0000 (18:21 +0100)]
backend: Add support for IPv6 in import/export
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Thu, 25 Nov 2010 17:20:35 +0000 (18:20 +0100)]
impexpd: Implement support for IPv6
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
René Nussbaumer [Fri, 26 Nov 2010 14:04:34 +0000 (15:04 +0100)]
Adding ndparams to gnt-cluster init|modify and man page
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Thu, 25 Nov 2010 15:15:44 +0000 (16:15 +0100)]
Adding ndparams to gnt-node add|modify and man page
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Mon, 29 Nov 2010 10:01:58 +0000 (11:01 +0100)]
Add node parameters to ganeti(7)
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Mon, 29 Nov 2010 10:10:14 +0000 (11:10 +0100)]
InitCluster support for ndparams
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Mon, 29 Nov 2010 02:34:57 +0000 (02:34 +0000)]
Simplify QA commands
Currently, 95% of the QA commands are executed in the same way: on the
master, based on a command list and with expectancies for succes:
AssertEqual(StartSSH(master['primary'],
utils.ShellQuoteArgs(cmd)).wait(), 0)
The rest 5% are variations on this theme (maybe the command needs to
fail, or the node is different, etc.). Based on this, we can simplify
the code significantly if we abstract the common theme into a new
AssertCommand() function. This saves ~250 lines of code in the QA suite,
around 8% of the entire QA code size.
Additionally, the output was very cryptic before (the famous "QA error:
1 != 0" messages), whereas now we show a clear error message (node,
command, exit code and failure mode).
The patch replaces single quotes with double quotes in all the parts of
the code that I touch; let me know if that's not OK…
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Sun, 28 Nov 2010 14:47:41 +0000 (14:47 +0000)]
Fix typo in _ANS1_TIME_REGEX
Thanks Balasz!
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Sat, 27 Nov 2010 18:58:24 +0000 (18:58 +0000)]
Improve unittests for the utils module
This just a random collection of unittest improvements. Coverage
increases from 73% to 76%.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Sat, 27 Nov 2010 18:07:19 +0000 (18:07 +0000)]
Move compilation of some regexes to init time
I have found a few regexes which are static and thus can be moved to
load time, rather than run time, creation.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Sat, 27 Nov 2010 17:34:20 +0000 (17:34 +0000)]
Fix breakage from previous commit e695efb
Wrong file name in Makefile.am and wrong naming (.unittest vs
_unittest).
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Sat, 27 Nov 2010 16:21:49 +0000 (16:21 +0000)]
Add missing paramter and unittests for this case
While git-am'ing the blockdev_prefix patch, I modified the hv_xen.py
file but forgot to amend the patch :(, so here it is.
Furthermore, to detect such inconsistencies in the future, a unittest is
added that cross-checks the default parameters in constants.py and the
hypervisor PARAMETERS dict.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Maciej Bliziński [Fri, 26 Nov 2010 17:40:07 +0000 (17:40 +0000)]
Adding blockdev_prefix to hypervisor options
Allows to install Red Hat based systems, for example Oracle Linux.
Tested with OEL.
The hypervisor by default offers a device named 'sda'. If the SCSI
module is already loaded, the disk device can't be created due to naming
conflict, and the disk is not available. A workaround is to modify the
initrd by removing the scsi driver from it. This helps, but doesn't
allow to install the OS.
Red Hat's installer, anaconda, runs parted, which tries to execute a
check against /dev/sda and fails. This makes anaconda think that the
disk is faulty, and not available. The best way to work around this, is
to declare 'xvda' as the xen disk device. Red Hat version of parted
package contains a patch which makes parted skip the SCSI test if device
name starts with 'xvd'.
This patch allows to pass -H xen-pvm:blockdev_prefix="xvd" and
successfully run the Red Hat installer.
Signed-off-by: Maciej Bliziński <blizinski@google.com>
[iustin@google.com: added the new parameter to XenHvm PARAMS]
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Iustin Pop [Fri, 26 Nov 2010 18:42:39 +0000 (18:42 +0000)]
RPC call_node_info: change protocol
Currently, the call_node_info RPC does always check both the VG free
space and the hypervisor information. However, in ⅔ of the uses, we only
care about one or the other. Therefore, we change it so that if any of
the passed parameters is None, we don't perform the respective check. We
also modify its callers to only pass in what they need.
This also helps if the "default" hypervisor is broken and we want to
create an instance for another hypervisor.
With this patch, the duration of this rpc changes from 500ms to 90ms for
a normal LVM+Xen PVM node, when we only require the LVM data; when we
only require the hypervisor data, it doesn't change (as the “xm list”
time is dominant).
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Fri, 26 Nov 2010 16:23:32 +0000 (16:23 +0000)]
asyncnotifier tests: simplify the setup code
First change is to replace "range(len(self.NOTIFIERS)))" with
self.NOTIFIERS, as range(len(range(N))) ≡ range(N).
Sencond change is switch from an explicit indexing to use of zip.
Unittests still pass :)
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Fri, 26 Nov 2010 15:25:30 +0000 (15:25 +0000)]
Cluster rename: skip offline nodes
This only tries to upload the ssh_known_hosts_file to the online nodes,
eliminating a timeout and warning for offline nodes.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Thu, 25 Nov 2010 14:00:04 +0000 (15:00 +0100)]
Fix missed CheckArguments on ndparams for SetNodeParams
In the previous patch where I modified LUSetNodeParams to take ndparams
into account I missed this additional check of parameters in the Logical
Unit. This patch adds ndparams to the recognized parameter lists which
has to be filled out if nothing else is.
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
René Nussbaumer [Thu, 25 Nov 2010 15:11:44 +0000 (16:11 +0100)]
The default value for ndparams should be None not {}
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Iustin Pop [Thu, 25 Nov 2010 13:40:30 +0000 (13:40 +0000)]
Fix per-vg checks in instance disk conversion
Since we now have just two possibilities (plaint to drbd or drbd to
plain), we can assume (+an assert) that we come from LVM and access
directly logical_id[0] for the VG on which it is stored.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Michael Hanselmann [Wed, 24 Nov 2010 19:50:46 +0000 (20:50 +0100)]
Fix version check
Don't ask … all I say is distcheck.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Dmitry Chernyak [Thu, 25 Nov 2010 00:14:39 +0000 (03:14 +0300)]
Removed _CheckNodesFreeDisk function
Was substituted by _CheckNodesFreeDiskPerVG.
Signed-off-by: Dmitry Chernyak <dmi.chernyak@gmail.com>
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Dmitry Chernyak [Thu, 25 Nov 2010 00:14:38 +0000 (03:14 +0300)]
Make instance creation VG-aware
Also should work disk growing, instance moving and prerequisite checks.
Signed-off-by: Dmitry Chernyak <dmi.chernyak@gmail.com>
[iustin@google.com: small style fixes]
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Dmitry Chernyak [Thu, 25 Nov 2010 00:14:37 +0000 (03:14 +0300)]
Introduced VG-aware disk space checks
Implemented _CheckNodesFreeDiskPerVG and _ComputeDiskSizePerVG functions
for VG-aware iterations.
Signed-off-by: Dmitry Chernyak <dmi.chernyak@gmail.com>
[iustin@google.com: some style fixes (long lines, etc.)]
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Dmitry Chernyak [Thu, 25 Nov 2010 00:14:36 +0000 (03:14 +0300)]
Added "vg" argument to the --disk syntax
Added "vg" argument to the "gnt-instance ... --disk" syntax specification.
Now is ok to write:
gnt-instance add ... --disk N:size=NNg,vg=VG_NAME ...
But not all internal structures are ready to handle this yet.
Signed-off-by: Dmitry Chernyak <dmi.chernyak@gmail.com>
[iustin@google.com: removed changes to design-2.0.rst]
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Michael Hanselmann [Wed, 24 Nov 2010 19:18:14 +0000 (20:18 +0100)]
Add script to check version format
Only versions of the format “x.y.z” and “x.y.z~(rc|beta)N” (for N>0) are
allowed.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Iustin Pop [Wed, 24 Nov 2010 17:12:38 +0000 (17:12 +0000)]
Merge branch 'devel-2.3'
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Wed, 24 Nov 2010 17:01:57 +0000 (17:01 +0000)]
Merge branch 'devel-2.2' into devel-2.3
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Iustin Pop [Wed, 24 Nov 2010 16:06:32 +0000 (16:06 +0000)]
Fix coverage reports
Currently, the coverage reports include the unittests themselves, and
this skewes unfairly the reports, as the coverage for the tests is very
high (since they all run).
To fix this, we export the ganeti temp dir from run-in-temp-dir, and we
use that to exclude the tests directory. The patch also fixes a but
related to multiple directories to be omitted (--omit a --omit b is
wrong, it needs to be --omit a,b).
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Wed, 24 Nov 2010 12:14:03 +0000 (13:14 +0100)]
Adding --node-parameters command line flag
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
René Nussbaumer [Wed, 24 Nov 2010 10:59:35 +0000 (11:59 +0100)]
Adding ndparams to their OpCodes and LU calls
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>