ifdown: Use new methods to unconfigure NICs
We unconfigure a NIC (invoke ifdown script) during:
In case of migration we do only a local cleanup.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
ifdown: Use new methods to create NIC files
NIC files containing corresponding tap name are created during:
For compatibility we continue creating indexed based NIC files alongwith uuid based ones.
ifdown: Introduce _UnconfigureNIC() helper method
This method takes a NIC object, creates the proper invironmentand invokes ifdown script.
It takes an extra boolean argument only_local which is passedto ifdown script as the second positional argument. It states...
ifdown: Make Read/LoadKVMRuntime classmethods
.. and make LoadKVMRuntime() take instance_name rather than thewhole instance object as first argument. This will be needed duringinstance cleanup where we the instance object is not available.
We are going to retrieve current NIC configuration from the runtime...
ifdown: Extract env creation from ConfigureNic()
Introduce new helper method that creates the environment passedto ifup/ifdown scripts. Instance tags and NIC index will be passedonly during ifup script since only then are available andvalid. Both can change until a NIC gets removed and thus will not...
ifdown: Introduce helper methods
Until now Ganeti upon TAP creation, a NIC file was createdunder $RUNDIR/kvm-hypervisor/nic/<instance_name>/<nic_index>
Since NICs have obtained a UUID, we are going to create anotherfile named after its UUID. This will be needed during ifdown...
ifdown: Change kvm-if* scripts
ifdown: Add example kvm-ifdown script
This script currently does nothing more that calling user theuser provided one if it exists.
User provided script should be placed under /etc/ganeti/and named `ganeti-kvm-ifdown`.
(ipfix) Allow NICs with mode=routed and ip=none
This allows us to define an IPv6 only network (currently with adummy IPv4 network) with connectivity mode 'routed' and letthe NICs inside this network have only IPv6 address (auto-generatedfrom their MAC and the network's prefix)....
(ext) Do not remove disks if --keep-disks and DT_EXT
(ext) Override disk_cache hvp with disk param in ext
This is a hack that brings disk_cache hypervisor paramat disk level. This is supported only for disks of exttemplate that allow arbitrary params. The correspondingparam that should be used is 'cache'....
(ext) Pass disk geometry in kvm command
Currently we allow this feature only for ext templates thatallow arbitrary params per disk. If both 'heads' and 'secs'params are given then 'cyls' is calculated from the disk size.
TODO: export these params in IDISK_PARAMS since the can be...
(ext) Export logical_id info to hooks env
DISK_ID as the second part of logical_id
(b64) Use base64 encoding in networks' bitarrays
This is needed for GRNET'S production environment.
(snap) Snapshot support for ExtStorage
Extend existing RPC params with the snapshot name andadd allow snapshot not only for LVM but also for EXT.
(grnet) Move disk options before nic ones in kvm command
Older versions of Ganeti did ensure that during startupdisk devices will be inserted before nic devices in PCIconfiguration space. KVM inserts devices to PCI slotsdepending on the order of command line options....
(2.11) Make BlockDev subclasses adhere the interface for Create
In commit 702c3270 two new parameters were added to theCreate function of BlockDev. Make subclasses also adherethis specification.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>
(2.11) Make BlockDev subclasses adhere to new interface
In commit 702c3270 two new parameters were added to theconstructor of BlockDev. Make the subclassess accept theseadditional parameters as well.
(2.11) Make disk.name and disk.uuid available in bdev
Until now Disk name and uuid was not available on bdev level.In case of ExtStorage, this info is useful, and may be for othertemplates in the future too.
This patch treats the name and uuid object slots just like the size...
(2.13) kvm: Add migration capabilities as an hvparam
Latest QEMU versions support various migration capabilities. Eachcan be enabled/disabled with 'migrate_set_capability' monitorcommand.
Version 1.7.0 defines x-rdma-pin-all, auto-converge, zero-blocks,...
(2.8r) Workaround for Issue 621
Upon LUNetworkDisconnect() and LUNetworkConnect() try to acquireall cluster's instances.
By that _LS_ACQUIRE_ALL acquire mode is set and not_LS_ACQUIRE_EXACT and thus the deleted lock does cause any problem.
NOTE: This workaround is not merged upstream. They prefer to have...
Add a test for parsing version strings
...even in the presence of patch levels.
Set correct Ganeti version on setup commands
When asked to execute a setup command, prefix it witha command sequence to test for the existence of theneeded Ganeti version and switching to it.
Add a utility to combine shell commands
Add a function that combines individual shell commands intoa single command (calling the standard shell) that executesthe given commands in sequence while they succeed.
Signed-off-by: Klaus Aehlig <aehlig@google.com>...
Add design doc for performance tests
This design doc describes which tests are added in order to test theperformance of Ganeti, specifically when handling multiple jobs inparallel.
Note that this design doc is submitted to stable-2.10 so performancechanges over different Ganeti versions can be captured....
Merge branch 'stable-2.9' into stable-2.10
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
If Automake version > 1.11, force serial tests
This fixes broken compilation on Debian Jessie (#802).See also http://stackoverflow.com/questions/15820844/
Thanks to Apollon Oikonomopoulos for finding the solutionand Klaus Aehlig for helping to do it conditionally....
Fix failed DRBD disk creation cleanup
When creating a DRBD disk, Ganeti reserves minor numbers on a per-nodebasis. In case of a failed disk creation, these reservations should bereleased. During the name/uuid refactoring, the invocation of thefunction that releases the minors was not updated, resulting in no...
Fix lint errors introduced during cherry-pick
Calm a few lint errors introduced during cherry-picking code inqa_job_utils.py. The fixes were intentionally made in a way which shouldproduce merge conflicts later on, so it's not forgotten to undo them.
Signed-off-by: Thomas Thrainer <thomasth@google.com>...
Hooking up verification for shared file storage
As for the cluster modify, it was also forgotten tohook up the verification of the shared file storagepaths despite all infrastructure was done already.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Fix --shared-file-storage-dir option of gnt-cluster modify
While all infrastructure to make shared-file storageruntime-configurable was already submitted, the actualsetting of the path was forgotten. This patch fixes it.
Signed-off-by: Helga Velroyen <helgav@google.com>...
Clarify default setting of 'metavg'
This fixes issue 810, suggesting to clarify where thedefault for 'metavg' comes from.
Signed-off-by: Helga Velroyen <helgav@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
Fix invocation of GetCommandOutput in QA
The cherry-picked function _GetOutputFromMaster() callsGetCommandOutput() with parameters only present in newer Ganetibranches. Remove those parameters as they cause errors in stable-2.10.
Clean up RunWithLocks
This patch cleans RunWithLocks up a little bit by reducing the numberof delay function terminations, and using the QAThread class to ensureexceptions are thrown at the right time and in the right place.
Signed-off-by: Hrvoje Ribicic <riba@google.com>...
Add an exception-trapping thread class
To have better control over threads, this patch adds a helper Threadsubclass which captures any exceptions occurring for later use.
Signed-off-by: Hrvoje Ribicic <riba@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>...
Wait for delay to provide interruption information
The RunWithLocks test assumed that gnt-debug delay would have the infoneeded for interruption ready immediately after being run, and in somesituations this is not the case. This patch makes the test more patient...
Add an expected block option to RunWithLocks
To compensate for the cases where a QA test is supposed to block whena lock is present, add an additional option showing whether blocking issupposed to happen or not.
Track if a QA test was blocked by locks
This patch adds threading to the RunWithTests function, allowing onethread to execute the QA test, and the other to monitor if it is beingblocked by locks set up during the test. If it is, terminate theblocking job, and let the QA continue, reporting the test failure at...
Add a RunWithLocks QA utility function
This patch adds a QA utility function that acquires a set of locks, andattempts to run a given function with the locks in place. Should thegiven function block, this function does not detect this - laterpatches will address the issue....
Set exclusion tags correctly in requested instance
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Jose Lopes <jabolopes@google.com>
Export extractExTags and updateExclTags
...from the htools Loader. These functions are needed whenparsing the requested instance of an allocator request.
Fix 'gnt-cluster' and 'gnt-node list-storage' outputs
Signed-off-by: Jose A. Lopes <jabolopes@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Document spindles in the hbal man page
When spindles were introduced as a resource, they were alsoused in the computation of the cluster metric. Document this.
Postpone 2.10.3 release to Wednesday, 16th
Signed-off-by: Thomas Thrainer <thomasth@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
Sample logrotate conf breaks permissions with split users
The sample logrotate configuration file(doc/examples/ganeti.logrotate) contains the following line
create 640 root root
which is fine if Ganeti if configured without split users. However,this will change permissions and ownership of log files if Ganeti is...
Revision bump for 2.10.3
Update NEWS file for 2.10.3
Set the release date to Monday, April 14th.Mention changes made since 2.10.2.
Warn in UPGRADE about not tar'ing exported insts
The /var/lib/ganeti directory contains per default also the exportdirectory, which holds exported instances. Warn in UPGRADE in the backupstep about (potentially) excluding those exports from the backup....
Fix non-running test and remove custom_nicparams rename
Due to a missing base class, the test that was supposed to check ifRAPI instance parameter renames during modifications are working didnot execute. As the instances are not covered by the QA tests, the...
Account for NODE_RES lock in opportunistic locking
This patch extends the opportunistic locking to take both theNODE_RES and NODE locks into account when selecting nodes to be usedby the iallocator.
Signed-off-by: Gerard Oskamp <gjo@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
Fix request flooding of noded during disk sync
If a user manually pauses the DRBD sync, Ganeti started to poll the nodedaemon without any waiting between request. This caused heavy load onthe node. This patch fixes this by waiting at least 5 secondes between...
Revision bump for 2.9.6
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Hrvoje Ribicic <riba@google.com>
Update NEWS for 2.9.6
Describe all the changes to Ganeti made since the2.9.5 release. Also set the release date.
Update installation guide wrt to DRBD version
This patch updates the supported DRBD version number to8.4.
Fix list-drbd QA test
The list-drbd QA test assumed falsely that no instance has more thanone disk. This can happen, and this patch accounts for it.
Signed-off-by: Hrvoje Ribicic <riba@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Add messages about skipped QA disk template tests
When disk templates were ignored in the QA, no messages were emitted,in contrast to pretty much all tests. To make it easier to see whya test was not executed, this patch performs a minor refactoring and...
Allow QA asserts to produce more messages
This patch adds a tiny helper function that allows error messagesoutput by the QA asserts to be prefixed with whatever the usersupplies.
(2.10) KVM: use running HVPs to calc blockdev options
Commit 0fe22ad2 moved the call to _GenerateKVMBlockDevicesOptions() from_GenerateKVMRuntime() to _ExecuteKvmRuntime. However, while in_GenerateKVMRuntime() there is only one set of HVPs, those of the...
(2.10) KVM: reserve a PCI slot for the SCSI controller
Currently instances with disk_type=scsi are broken, because the SCSIcontroller uses a PCI slot not accounted for in the PCI assignmentlogic. We reserve a throw-away slot just for that.
This is a temporary workaround and will be reverted during the upcoming...
KVM: use running HVPs to calc blockdev options
Commit 0fe22ad2 moved the call to _GenerateKVMBlockDevicesOptions() from_GenerateKVMRuntime() to _ExecuteKvmRuntime. However, while in_GenerateKVMRuntime() there is only one set of HVPs, those of theinstance's configuration, in _ExecuteKVMRuntime there are two sets of...
KVM: reserve a PCI slot for the SCSI controller
Check for LVM-based verification results only when enabled
This patch fixes a little glitch in 'gnt-cluster verify'.If LVM-based storage was disabled, it would still checkLVM-related verification results and print a confusingerror message.
Fix "existing" typos
This patch fixes the wording of a couple of messages,including two typos of the word 'existing'.
Fix output of gnt-instance info after migration
After migrating a DRBD based instance, the output of gnt-instance infowas wrong wrt. DRBD minors. This patch fixes the output in such cases.
Verify configuration version number before parsing
As the attempt to convert the dict used as json representationof the configuration into a configuration object already makesassumptions about the internal representation, verify the versionbefore such an attempt. Fixes issue 783....
Signed-off-by: Hrvoje Ribicic <riba@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>...
Merge branch 'stable-2.8' into stable-2.9
Fix failing gnt-node list-drbd command
The UUID/name switch avoided this particular bit of code, and as aresult the list-drbd command failed as it tried to compare UUIDs andnames. This patch fixes the retrieval, converts the newly returnedUUIDs to names, and modifies the QA to the results and not only the...
Fix specification of TIDiskParams
Commit 580b1fdd incorrectly assumes that disk parameters arejust the standard ones, whereas the man page explicitly statesthat additional parameters can be passed as well, if they makesense for the chosen storage type. Fix this....
(2.10) Fix conflict between virtio + spice or soundhw
With regard to PCI slot occupied by a KVM instance we haveobserved the following:
1) Slot 0 will always be Host bridge.2) Slot 1 will always be ISA bridge.3) Slot 2 will always be VGA controller (even with -display none)....
(2.10) Fix bitarray ops wrt PCI slots
Introduce new method `_GetFreeSlot()` responsible only for bitarrayoperations. It fixes search in case of bitarray is either '0000..'or '1111..'.
Use it instead of `_UpdatePCISlots()` and in `_GetFreePCISlot()`.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>...
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>...
(2.9) Make gnt-debug locks display fake job locks properly
When a job is dependent on other jobs, a fake lock is created whosepending entry contains a list of job ids waiting on the job. gnt-debuglocks did not expect the job ids to be ints, crashing when encountering...
(2.9) Make NiceSort treat integers well
NiceSort is invoked on arrays that may contain strings, but in othersituations can contain ints as well. As this surprisingly makes sense,add a tiny modification to make NiceSort work in these conditions.
(2.10) hotplug: Verify if a command succeeded or not
Just after issuing _CallHoplugCommands() we invoke_VerifyHotplugCommand() which parses `info pci` resultand searches for given PCI slot and device id.
If we previously had removed a device but it is still there...
(2.10) Workaround for monitor bug related to greeting msg
QMP may return multiple greeting messages upon connection.This is reported on qemu-devel. The fix is one-liner butuntil it get's released this is a quick and dirty workaroundthat flushes the client's buffer after getting the first...
(2.10) hotplug: Each hotplug qemu commmand with a separate socat
Previously we issued one socat command with two "\n" separatedactions (e.g. netdev_add ...\ndevice_add...)
After having observed a strange monitor behavior [1] splittingthose commands and introducing a sleep time in between, may reduce...
(2.9) Gracefully handle degraded instances in verification
The current code assumes that every instance either is of typediskless or has at least one disk. However, with the option toremove individual disk degraded 0-disk non-diskless instancescan occur. While such instances usually are not useful, Ganeti...
(2.9) Be aware of the degraded case when cleaning up an instance
In the case of a degraded file-based instance, the file storage directoryfor that instance cannot be obtained by looking at the first disk. Usethe standard location, computed from first principles, in this case....
(2.9) Preserve disk basename on instance rename
For file-based instances, upon rename, the directory containingthe instance disks is moved. Therefore, the basename needs tobe preserved in this case. Fix this. Note that so far, thisworked by accident as before 94e252a3 file names used to be...
(2.9) Assign unique filenames to filebased disks
With the new format for cmdline arguments, the user is able to add adisk to an instance at a specific index. But filebased disks' filenameshave the form "{0}/disk{1}" where '{0}' is the file_storage_dir and...
(2.9) Remove deprecated _ERROR_DATA_KEY in QMP
Commit de253f14 of QEMU repo "BREAKS QMP's compatibility forthe error response" as it removes "data" key from qmp errorresponse messages. To this end we only log "class" and "desc" values of the message....
(2.10) Include target node in hooks nodes for migration
In case of DRBD, hooks run on both primary (source) and secondary(target) nodes. To get the same behavior for DTS_EXT_MIRROR, where wedo not have secondary node, we should explicitly add target node to...
« Previous 1 2 3 4 ... 120 Next » (101-200/11958) | Per page: 25, 50, 100
Also available in: Atom