2013-11-28  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: conditional for hostname require
	Fedora rawhide (F21) build is failing because cannot locate /bin/hostname.
	It has changed to /usr/bin/hostname as changelog from hostname 3.14-2.

	Koji info:
	http://koji.fedoraproject.org/koji/buildinfo?buildID=471302

	vdsm.spec: conditional to execute semanage
	To avoid load policy when selinux is disabled, only
	execute semanage when selinux is enabled.

2013-11-28  Dan Kenigsberg  <danken@redhat.com>

	Revert "fix premature selinux dependency"
	This reverts commit 6193dbe36d4d5e17a4c5342193e7f20d0bc8bc04 as
	selinux-policy-3.7.19-195.el6_4.13 is out.

2013-11-28  Nir Soffer  <nsoffer@redhat.com>

	vm: Fix vm unpausing during recovery
	Domain monitor thread was not reporting when going from unknown state to
	known state. The thread would start with a bogus valid state, before
	checking the domain. If the first domain check found the domain as
	valid, no notification was emitted. If there were paused vms while
	connecting to the pool, they were not unpaused as they should.

	This patch fixes various modules:

	- Domain monitor status lastCheck is initialized now to special
	  NOT_CHECKED_YET value. The monitor thread use this value to detect the
	  first sample, and emit the missing notification.

	- To get the new event when monitor thread starts, domain state change
	  callbacks are registered now *before* the monitor threads are started.

	- To get the vm unpause code to work in recovery mode, the Vm.sdIds is
	  initialized in Vm._run. This probably fixes other issues with
	  recovered vms.

	This is a backport of http://gerrit.ovirt.org/21649.

	Bug-Url: https://bugzilla.redhat.com/1003588

2013-11-28  Yaniv Bronhaim  <ybronhei@redhat.com>

	Disable exception on after hooks failures
	Adding to all after hooks - raiseError=False

2013-11-27  Yaniv Bronhaim  <ybronhei@redhat.com>

	Fix Makefile.am in debian folder.

	Adding debian folder makefile

2013-11-27  Antoni S. Puimedon  <asegurap@redhat.com>

	fuserTests fix for f20 and arch
	In newer distributions, fuser doesn't report a process as accessing
	it's own executable file, making this test fail. We don't know why
	this has changed (tried with newer kernels and newer fuser and the
	issue persists) but we do not care enough about fuser reporting all
	the pids from the processes created and alive of an executable file.
	We fix this test for the fuser use case that we have.

	F20 netinfo: fix linkShowDev parsing in getVlanID
	Newer linux distributions return more detailed information for each
	link. Where before we had:

	    3: enp3s0.11@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
	        link/ether c8:60:00:99:01:37 brd ff:ff:ff:ff:ff:ff promiscuity 0
	        vlan id 11 <REORDER_HDR>

	Now we have:

	    3: enp3s0.11@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
	        link/ether c8:60:00:99:01:37 brd ff:ff:ff:ff:ff:ff promiscuity 0
	        vlan protocol 802.1Q id 11 <REORDER_HDR>

	Thus, since after the vlan type indication we can have several key, value
	pairs, it is necessary to change the parsing so that it looks at the keys
	to decide if it's the value we want.

	This patch is a very very partial backport of the master branch fix:
	    http://gerrit.ovirt.org/#/c/21054/
	That patch was very complex and introduced different behaviors that
	are not suitable for a backport such as the one this patch is doing.

2013-11-26  Vinzenz Feenstra  <vfeenstr@redhat.com>

	Migration cancellation replies wrong message format
	The message currently returns:

	{'status': {'message': 'Migration canceled',
	            'code': { 'status': { 'message': 'Migration not in progress',
	                      'code': 47}}},
	            'progress': 1}

	The content of code is wrong. This commit fixes it so the message will
	look like this:

	{'status': {'message': 'Migration canceled', 'code': 47}, 'progress': 1}

	Bug-Url: https://bugzilla.redhat.com/1015887

2013-11-25  Yaniv Bronhaim  <ybronhei@redhat.com>

	Keeping gluster modules when with_gluster set to 0
	Currently the code imports and uses gluster modules. Setting
	with_gluster=0 brakes the code. With this patch with_gluster=0 will
	only drop the vdsm-gluster rpm creation.

	This patch was reviewed on - http://gerrit.ovirt.org/21477 &&
	http://gerrit.ovirt.org/#/c/21625/ (as a join of both patches)

2013-11-25  Martin Polednik  <mpoledni@redhat.com>

	Ensure cancellation of migrations gets handled correctly
	If the migration is cancelled before the source calls libvirt.migrateToURI2
	we have to raise an libvirtError with the VIR_ERROR_OPERATION_ABORTED error
	code to ensure that _finishSuccessfully() does not get called and we're
	correctly reporting that the migration has been cancelled and that we're
	destroying the VM on the destination in the process, since we're bailing
	out.

	Additionally we'll do the check if the migration has been cancelled
	right after the semaphore has been accquired, to avoid doing things
	like calling the before_vm_migration_source hook and calling the
	destination vdsm to create the VM instance.

	Bug-Url: https://bugzilla.redhat.com/1023131

2013-11-25  Martin Betak  <mbetak@redhat.com>

	vdsm: Accents in the vm name break the migration
	Added utf-8 encoding of the configuration xml on the destination to
	handle non-ascii characters.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1002246

2013-11-25  Yaniv Bronhaim  <ybronhei@redhat.com>

	Peform related services restart after reconfiguring
	Although we tried to avoid doing restart to external services as part of
	the pre-start of vdsm, the full implementation of vdsm-tool API that allows to
	check isconfigured before performing the configuration itself is missing in
	ovirt-3.3.

	Currently when running libvirt-configure we return 0 (SUCCESS) on both
	reconfigure and if libvirt conf is already configured with vdsm details.
	That's lead to a problem to decide when to stop the pre-start part and wait
	for manual restart, or continue as it is already working with the right
	configurations.

	To avoid more changes, we return the auto restart to allow easy start of
	vdsm without more specific tweaks.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1031592

2013-11-22  Nir Soffer  <nsoffer@redhat.com>

	pep8: Fix indentation to comply with pep8 1.3.3
	Commit 2c9f0d66db7795 introduced a pep8 indentation regression, breaking
	the build on RHEL using vdsm provided pep8. This patch fixes the
	indentation by breaking long statement to multiple lines.

	Relates-To: https://bugzilla.redhat.com/1022975

2013-11-21  Nir Soffer  <nsoffer@redhat.com>

	lvm: Deactivate lvs during bootstrap
	When using FC storage, physical volumes are connected during boot, and vdsm
	logical volumes are auto-activated by both /etc/rc.sysinit and
	/etc/init.d/netfs startup scripts. These logical volumes do not pick changes
	done by the SPM on the storage, which may lead to data corruption sooner or
	later, when a vm is trying to write to logical volume with stale meta data.

	This patch check all vdsm logical volumes during lvm bootstrap and
	deactivate them if possible. Special logical volumes are refreshed,
	since they are accessed early when connecting to storage pool, possibly
	before lvm bootstrap is done. Open logical volumes are skipped because
	we assume that they use correct meta data when opened.

	To fix the auto-activation during boot, we could perform this only on
	the first start of the service and limit the operation to FC storage.
	However, we decided to use this on all block storage types, and on every
	start of the service, as additional layer of protection from logical
	volumes left active after unclean shutdown of the service, or other
	failures to deactivate logical volumes.

	Deactivation adds up to two lvchange calls for each volume group with
	active logical volumes. After the first service start, logical volumes
	are typically inactive and this change adds minimal additional cost,
	refreshing active special logical volumes.

	Depends on http://gerrit.ovirt.org/#/c/21500/ for refreshing multiple
	logical volumes in one call.

	Bug-Url: https://bugzilla.redhat.com/1009812

2013-11-21  Lee Yarwood  <lyarwood@redhat.com>

	lvm: Allow multiple LVs to be refreshed at once
	lvm.refreshLV() function used to accept only single lv, requiring
	multiple invocations for refreshing multiple lvs, although lvm allows
	refreshing of multiple lvs. This patch rename the function and accept
	multiple lvs and invoke lvchange once with given lvs.

	This change is required for patch http://gerrit.ovirt.org/#/c/21501.

	Bug-Url: https://bugzilla.redhat.com/1009812

2013-11-20  Dan Kenigsberg  <danken@redhat.com>

	Report qemu-kvm-rhev if installed
	Bug-Url: https://bugzilla.redhat.com/1029792

	caps: coarse-grain libvirt.rpm may be missing
	As of http://gerrit.ovirt.org/15761 we no longer require the legacy
	libvirt.rpm to be installed on Fedora, so getCaps should not look for
	it. Instead, it should report the information of the installed
	libvirt-daemon-kvm.rpm.

	Without this patch we get an annoying
	    (_getKeyPackages) rpm package libvirt not found
	log message, and do not report libvirt's version.

2013-11-18  Federico Simoncelli  <fsimonce@redhat.com>

	vm: prevent faulty volume extensions
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=998443

	vm: unify _highWrite and _onAbnormalStop
	Both _highWrite and _onAbnormalStop should share the same logic about
	the volume extension.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=998443

2013-11-17  Sandro Bonazzola  <sbonazzo@redhat.com>

	Renaming /etc/sysctl.d/vdsm to /etc/sysctl.d/vdsm.conf
	Fixing Bug #740887 it has been added the file /etc/sysctl.d/vdsm which
	works fine on RHEL and CentOS but it's not read on Fedora because
	it should be /etc/sysctl.d/vdsm.conf ( see sysctl --system output )

	Bug-Url: https://bugzilla.redhat.com/1029368

2013-11-14  Federico Simoncelli  <fsimonce@redhat.com>

	vm: refresh raw disk before live extension
	As part of the online disk extension (raw format on block domains) flow
	the leaf logical volume is extended by the SPM to the new size.
	On the HSM host (where the VM is running) we need to refresh the volume
	in order to update the volume segments and make the new size visible to
	the qemu process.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1029501

2013-11-13  Pavel Zhukov  <pzhukov@redhat.com>

	Invalidate filters  on HSMs before rescanning extended VG
	domainMonitor thread might use stale lvm filters while running vgs
	command after extending of the VG (added PV is missed in the filter
	set). Since LvmCache doesn't invalidate filters, the volume
	group  is marked as partial and domainMonitor selftest fails
	(host goes to non-operational status). By design filter should be
	invalidated if cmd returns nonzero code but vgs returns zero even if
	devices are filtered . The patch introduces public  method for
	filter invalidation and calls it from the getDevicesVisibility
	because getDevicesVisibility is called on all DC hosts after
	adding new device but before extendSD.

	Bugzilla-Url: https://bugzilla.redhat.com/1022976

2013-11-11  Mooli Tayer  <mtayer@redhat.com>

	configuring selinux allowing qemu-kvm to generate coredumps.
	this is a hack until we replce coredumping with abrt.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1005031

2013-11-10  Dan Kenigsberg  <danken@redhat.com>

	spec: declare we provide an existing python-cpopen
	Currently, vdsm-python-cpopen claims to provide python-cpopen = 4.13.1,
	which is not true, as no such version exists. Worse, if may cause issue
	in a future occasion of someone trying to replace vdsm-python-cpopen
	with python-cpopen-1.2.17.

2013-11-07  Dan Kenigsberg  <danken@redhat.com>

	Avoid M2Crypto races
	As documented in
	http://www.heikkitoivonen.net/m2crypto/api/M2Crypto.threading-module.html
	and painfully recognized long ago in https://bugzilla.redhat.com/482420,
	using M2Crypto in a multi-threaded server such as Vdsm requires explicit
	initialization.

	Bug-Url: https://bugzilla.redhat.com/1026556

2013-11-06  Martin Sivak  <msivak@redhat.com>

	Fix ballooning rules for computing the minimum available memory
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1025845

2013-11-05  Nir Soffer  <nsoffer@redhat.com>

	lvm: Do not use udev cache for obtaining device list
	lvm is obtaining the device list from udev. When using concurrently,
	udev sometimes returns incomplete list, which cause lvm to think that a
	vg is missing, and the command may fail with "Volume group not found"
	error, or "Cannot change VG test while PVs are missing".

	lvm fixed this issue in version 2.02.100-7.el6 by disabling udev cache,
	setting obtain_device_list_from_udev to 0. Unfortunatlly, lvm fix is not
	enough for vdsm, as the fix is applied only if no lvm.conf file exists.
	When upgrading existing lvm installation, lvm creates a lvm.conf.rpmnew
	file, and the system administrator is responsible for updating lvm
	configuration.

	This patch disable udev cache using the --config option, used to
	override many other lvm options, ensuring proper configuration on both
	new and upgraded systems.

	Disabling udev cache may have minimal performance effect according to
	lvm developers.

	Bug-Url: https://bugzilla.redhat.com/1014942

2013-11-05  Federico Simoncelli  <fsimonce@redhat.com>

	upgrade: fix v3ResetMetaVolSize argument
	In commit c072945 (one shot prepare) the v3ResetMetaVolSize argument
	was changed from volume object to volume uuid (string) triggering
	attribute errors during the execution (e.g. getMetaParam, etc.).
	This patch fixes the issue reintroducing the volume objects and the
	relevant exception handling.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1022975

2013-11-05  Yaniv Bronhaim  <ybronhei@redhat.com>

	Don't fail hotplugNic operation when after hook fails
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1015171

2013-10-31  Saggi Mizrahi  <smizrahi@redhat.com>

	storage: fix getDomUuidFromVolumePath()
	getDomUuidFromVolumePath returned the imgUUID instead of the sdUUID.

	Since this is used as the parameter for getProcessPool() a process pool
	was created per image id instead of per domain id.

	Since imgUUIDs are much more abundant this can cause the creation of an
	obscene number of process pools and in turn a lot of processes.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1017735

2013-10-30  Yaniv Bronhaim  <ybronhei@redhat.com>

	Override python-cpopen package
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1023733

	Changing return method from vdsmd start function
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1019360

2013-10-29  Dan Kenigsberg  <danken@redhat.com>

	fix premature selinux dependency
	Vdsm v4.13.0 places its storage repository under /var/run/vdsm/storage
	instead of the non-standard trademarked /rhev/data-center. This change
	requires a compatible change to selinux which would be available only
	when selinux-policy-3.7.19-195.el6.13 is released.

	Until then, we try to hack the issue on EL6 by tweaking the policy on vdsm installation with

	    semanage fcontext -a -s system_u -t virt_var_run_t -r s0 '/var/run/vdsm(/.*)?'

	This patch should be promptly reverted when
	selinux-policy-3.7.19-195.el6.13 is released.

	Bug-Url: https://bugzilla.redhat.com/1021147

2013-10-22  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding reconfigure libvirt to vdsm upgrade flow
	After upgrade vdsm and supervdsm should restart if ran (due to code upgrade).
	libvirt configure should run if needed, and if reconfigure occurred we
	should restart libvirt service as well if it was up.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1019200

2013-10-19  Allon Mureinik  <amureini@redhat.com>

	sd.py: Remove sds from sdCache when connecting
	When connecting to a storage server, pre-existing domains should be
	removed, since we have no way of knowing what happened to these
	domains in the meanwhile.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=950055

2013-10-08  Yeela Kaplan  <ykaplan@redhat.com>

	image: produce volume in order to shrink after merge
	Create of new volume in case of raw base volume,
	causes us to work on a stale object when shrinking
	the merged volume.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1015071

2013-10-08  Dan Kenigsberg  <danken@redhat.com>

	vm.Vm._getUnderlyingDriveInfo: extract path of gluster disks
	_getUnderlyingDriveInfo() is broken by design. It has no reliable means
	to match Engine-requested devices with libvirt-produced ones. As a
	heuristic, it uses the device's as matching key. However, before this
	patch, it failed to extract the path from the xml definition of gluster
	disks.

	Bug-Url: https://bugzilla.redhat.com/1007980

2013-10-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Enable VM migration to old vdsm's.
	Old vdsm's can't run VM from /var/run/vdsm/storage and rely on
	/rhev/data-center hierarchy.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1011608

2013-10-04  Dan Kenigsberg  <danken@redhat.com>

	Reintroduce afterMigrationStatus
	In http://gerrit.ovirt.org/19306 I was fooled to believe that we can
	drop the unused afterMigrationStatus parameter. However vdsm version
	prior to that change (e.g. that of ovirt-3.3.0) expect to delete it.

2013-10-03  Antoni S. Puimedon  <asegurap@redhat.com>

	Manage and fix test dummies handling -> module level
	We can handle the dummies at the global level so that less work needs
	to be done per test and the cleanupNetwork decorator doesn't miss
	the dummies that were previously already destroyed at that stage.

	The reutilization of the dummy interfaces exposed two bugs in the
	current tests in their cleaning up phase that this patch addresses
	as well.

2013-10-02  Mooli Tayer  <mtayer@redhat.com>

	Text: add 'dstqemu' to vds client migration command description
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1007686

2013-10-02  Nir Soffer  <nsoffer@redhat.com>

	readme: how to configure libvirt after manual installation
	When vdsm is installed automatically, libvirt is configured during the
	bootstap flow. However, when installing vdsm manually the user must
	configure and restart libvirt using vdsm-tool.

2013-10-01  Nir Soffer  <nsoffer@redhat.com>

	Fix tokenizing of unsupported data in vdsmapi-schema.json
	vdsmapi tokenizer got into an endless loop when unsupported token was
	found. Example input trigering this are invalid tokens such as unquoted
	string, or valid JSON tokens like null, true and false, which are not
	supported by the parser.

	Now the tokenizer raise ValueError with the offending data. This should
	be good enough for developers usage.

	New unittests cover tokenizing valid, invalid and unspported tokens.

2013-10-01  Mooli Tayer  <mtayer@redhat.com>

	Alphabetize test modules list that has gone out of order.

	libvirtconnection: ping libvirt upon disconnection
	Upon recieving an error from libvirt we should ping it
	(using getLibVersion) and only upon failure treat it as down.

	Libvirt error codes do not distinguish recoverable from non-recoverable
	libvirt errors.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=982634

2013-10-01  Martin Polednik  <mpoledni@redhat.com>

	vdsClient: hibernate now sends required hiberVolHandle
	- vdsClient did not pass hiberVolHandle, causing it to fail any attempt
	to hibernate
	- BindigsXMLRPC defaulted required parameter to None

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=802446

2013-09-30  Shahar Havivi  <shaharh@redhat.com>

	vdsm: add support for ram/vram on QXL device
	setting support for qxl device with proper ram/vram attributes:

	1 Monitor, Single PCI checked     64MB   32MB
	2 Monitors, Single PCI checked    128MB  32MB
	4 Monitors, Single PCI checked    256MB  32MB

	Bug-Url: https://bugzilla.redhat.com/787578

2013-09-30  Federico Simoncelli  <fsimonce@redhat.com>

	vm: shared attribute backward compatibility
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1011608

2013-09-30  Eduardo Warszawski  <ewarszaw@redhat.com>

	Convert guids into mapper devs for extend blockSD
	After I1ec54147205992ac130684d01e73cd7aceccad48, which changed
	multipath.getMPDevNamesIter() to return full paths,
	HSM.extendStorageDomain() guids param should be converted accordingly.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1012944

2013-09-29  Yaniv Bronhaim  <ybronhei@redhat.com>

	Workaround to avoid password request when starting vdsmd service
	During start of vdsmd we shutdown conflicting services. As part of this
	we try to stop libvirt-guests. `service libvirt-guests stop` tries to
	access libvirtd which requires sasl authentication.
	This patch removes libvirt-guests lockfile instead of stopping the service.

	The patch should be reverted after a fix for:
	https://bugzilla.redhat.com/show_bug.cgi?id=1011981 will be available
	(Comment was added above the change to keep tracking the issue)

	The workaround was part of vdsmd init script already in the past and was
	removed by mistake.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1010693

2013-09-29  Martin Polednik  <mpoledni@redhat.com>

	vdsProxy pass calls to undefined methods to API and return msg/status
	Currently, every API call to be made has to be appended to utils.py in
	order to be accessible by vdsProxy instance, this patch removes this
	need for calls where only status and msg return values are relevant and
	therefore reducing code (and api) duplication

2013-09-27  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm: Load softdog if hardware watchdog is not available
	On Ubuntu softdog is not loaded automatically. When there is not
	hardware watchdog available, we have to load softdog to make wdmd and
	sanlock work properly.

	This patch detects /dev/watchdog during vdsmd startup and load softdog
	if /dev/watchdog does not exist.

2013-09-26  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Ubuntu: packaging: keep up with vdsm.spec.in
	In vdsm.spec.in we add new files and folders, so add those files and
	folders to Ubuntu packaging scripts as well.

2013-09-26  Mark Wu  <wudxw@linux.vnet.ibm.com>

	tests: Fix testBondHwAddress for fedora kernel
	In relatively new kernel, the hwaddr of bonding will be set to a
	random address when the last slave is released. You can find it in:
	https://github.com/torvalds/linux/blob/master/drivers/net/bonding/bond_main.c#L1824

	So to make the testBondHwAddress pass on fedora, we need backup the
	hwaddr before destroy it.

2013-09-26  Dan Kenigsberg  <danken@redhat.com>

	net tests: setupNetworks over exiting USED bond
	Currently testSetupNetworksAddOverExistingBond fails, but only because
	it is too strict: it does not allow the bonding device to change its
	state even when it has no users. However, if the bond is not used, we
	actually WANT it to be reconfigured (e.g. if its MTU is to be set to a
	lower value).

	Thus the tests is amended so that it would fail only if bond0 changes
	its operstate while it is being used by a birdgeless network.

2013-09-25  Federico Simoncelli  <fsimonce@redhat.com>

	sd: use the correct default for LEASE_TIME_SEC
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1011505

2013-09-25  Sandro Bonazzola  <sbonazzo@redhat.com>

	systemd: vdsmd: fixed sanlock requirement
	Added missing .service.

2013-09-25  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix duplicate port mirrorring when reattaching vm
	When there is a VM running with port mirrorring defined, the fact
	that a vdsm restart re-attaches by "recreating" the vdsm vm object
	makes it run setPortMirroring again. This caused every vdsm restart
	to add a mirrorring duplication.

	Bug-Url: https://bugzilla.redhat.com/1001704

2013-09-25  Timothy Asir  <tjeyasin@redhat.com>

	gluster: bug fix for listing and adding hook
	Earlier, with regard to gluster hooks there would be definitely a pre and post
	directory for each and every gluster command. But presently, if either pre
	or post script is not present there will be no pre or post directories also.
	Therefore, if there is no such directories available the gluster hook list
	will simply omit it.
	When a gluster hook is added if pre or post directories are absent, they
	will be created accordingly, then the hook will be added.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=999795

2013-09-25  Yeela Kaplan  <ykaplan@redhat.com>

	iscsiadm: Filter out IPv6 addresses when discovering targets
	This patch is not diminishing any capabilities we have, since we
	currently don't support ipV6 targets in vdsm.

	When discovering targets on Netapp storage we get a return value that
	includes both IPv4 and IPv6 addresses.

	The only thing I've changed is preventing vdsm from failing discovery
	because of getting an unexpected response from iscsiadm (our parser is
	very hardcoded).

	If we decide to support ipV6 addresses for discovery, login and managing
	the connection then it needs to be addressed separately.

2013-09-24  Vitor de Lima  <vitor.lima@eldorado.org.br>

	deployUtil: Remove null character from the id on IBM POWER
	The hardware id for IBM POWER machines had a trailing null character that
	caused errors in the oVirt engine. (This patch was also submitted to the
	oVirt host deploy project).

2013-09-23  Sandro Bonazzola  <sbonazzo@redhat.com>

	packaging: spec: selinux-policy-targeted requirements
	fixed selinux policy-targeted requirements for fedora.

2013-09-23  Yaniv Bronhaim  <ybronhei@redhat.com>

	supervdsmServer was not passing kwargs to fuser
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1006203

	respawn script fix: Adding -- after logger arguments and using $*
	Without using -- the usage of $@ in the string can count as more arguments to
	logger call instead of part of the string. This crashes the respawn process.

	The replacement of $@ to $* is to avoid spaces during the print.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=986635

2013-09-21  Greg Padgett  <gpadgett@redhat.com>

	vdsm-tool: update wording of libvirt/supervdsm restart message
	Update wording of message telling the user what to run in order to
	restart libvirt and supervdsmd.

2013-09-20  Petr Sebek  <psebek@redhat.com>

	Fix missing bootproto line
	Bootproto of new network was overwritten by value in ifcfg file. That
	file lacked BOOTPROTO value and therefore it was stated as None value
	(not str).

	Bootproto was deleted by function _removeConfigValues because deleted
	vlan called function vlan.device.remove() -> Nic.remove().

	Patchset 4 fixes usecase tested by testAddVlanedBridgeless_oneCommand.

	Patchset 6  log ifcfg files that are written
	            fixes usecase tested by testAddVlanedBridgeless
	            added function isBond() to NetDevice

	Patchset 7  removed needless functions removeIfaceCleanup and
	            _removeConfigValues
	            in _getIfaceConfValues is given priority to network setup
	            over current configuration in cfg file

	Bug-Url: https://bugzilla.redhat.com/980174

2013-09-20  Juan Hernandez  <juan.hernandez@redhat.com>

	Fix pep8 issue in SecureXMLRPCServer
	Commit 35c571 introduced a pep8 issue (an extra blank line) that
	produces failures in continuous integration jobs.

2013-09-20  Bala.FA  <barumuga@redhat.com>

	gluster: Using XML output for rebalance/remove-brick status verbs
	Modified rebalance/remove-brick status output to consume XML
	output provided by gluster cli command.

	Modified verbs(As below verbs are not consumed by engine/RHS-C yet,
	its OK to differ in compatibility issue now)
	glusterVolumeRebalanceStatus
	glusterVolumeRemoveBrickStatus

	Output:
	    {'summary': {
	        'filesScanned': INT,
	        'filesMoved': INT,
	        'filesFailed': INT,
	        'filesSkipped': INT,
	        'totalSizeMoved': INT,
	        'status': STRING
	    },
	    'hosts': [{
	        'name': STRING,
	        'filesScanned': INT,
	        'filesMoved': INT,
	        'filesFailed': INT,
	        'filesSkipped': INT,
	        'totalSizeMoved': INT,
	        'status': STRING
	    }]}

2013-09-20  Juan Hernandez  <juan.hernandez@redhat.com>

	Log client address on SSL errors
	We used to write to the log the IP address of the client when an SSL
	error occurred. With the introduction of cached SSL sessions this
	stopped working. This patch modifies the SSLServerSocket class that was
	introduced in order to implement cached SSL sessiosn so that when an SSL
	error is detected while accepting a connection the IP address of the
	client will be added to the message of the exception, and thus written
	to the log as part of the traceback, for example:

	  BindingXMLRPC::ERROR::2013-09-17
	  20:34:25,901::BindingXMLRPC::72::vds::(threaded_start) xml-rpc handler exception
	  Traceback (most recent call last):
	    File "/usr/share/vdsm/BindingXMLRPC.py", line 68, in threaded_start
	      self.server.handle_request()
	    File "/usr/lib64/python2.7/SocketServer.py", line 280, in handle_request
	      self._handle_request_noblock()
	    File "/usr/lib64/python2.7/SocketServer.py", line 290, in _handle_request_noblock
	      request, client_address = self.get_request()
	    File "/usr/lib64/python2.7/SocketServer.py", line 463, in get_request
	      return self.socket.accept()
	    File "/usr/lib64/python2.7/site-packages/vdsm/SecureXMLRPCServer.py", line 128, in accept
	      raise SSL.SSLError("%s, client %s" % (e, address[0]))
	  SSLError: sslv3 alert certificate unknown, client 192.168.122.1

	Note the text "client 192.168.122.1" added to the last line of the
	traceback.

	Bug-Url: https://bugzilla.redhat.com/983630

2013-09-19  Federico Simoncelli  <fsimonce@redhat.com>

	blockVolume: round up volume size for createVolume
	The logical volume size granularity used in lvm(.py) is 1Mb, therefore
	the size in sectors should be aligned. When the size is particularly
	small this also prevents failing lvcreate calls with size 0m.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1009086

2013-09-19  Martin Polednik  <mpoledni@redhat.com>

	vdsm: remove afterMigrationStatus
	The expectation for afterMigrationStatus was dropped before ovirt-3.0,
	as part of https://bugzilla.redhat.com/609417. Versions prior to
	ovirt-3.0 are no longer supported, thus we may finally remove this.

2013-09-19  Sergey Gotliv  <sgotliv@redhat.com>

	Fix parent volume rollback after failure to create snapshot
	1. Calling teardown() without prepare() throws an exception
	2. Narrowing try/except block
	3. Moving call to teardown() to finally block
	4. Remove redundant internal "if"

	Bug-Url: https://bugzilla.redhat.com/982004

2013-09-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	multipath.getMPDevNamesIter() return /dev/mapper.
	multipath names return the /dev/mapper part of the path for
	consistency with lvm module.

	Normalize lvm._buildFilter().

	Introduce lvm short filters.
	lvm commands that operate in a known VG can use the known pvs for
	filter.

2013-09-18  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packaging: VDSM v4.12.0 packaged on Ubuntu
	Add files for building VDSM .deb packages on Ubuntu. The package is
	split into vdsm-python, vdsm-client, vdsm, vdsm-tests ,various vdsm
	hooks, vdsm-python-cpopen vdsm-yajsonrpc and vdsm-gluster.

	How does it work.
	The deb packaging scripts are written according to Debian New
	Maintainers' Guide [1]. We use dh_make, quilt and -buildpackage to do
	the packaging. All files unde the sub-dir debian are related to
	packaging. The most important ones are as follow.

	debian/changelog
	This file declares the deb package version.

	debian/control
	This file declares the dependency packages and other basic informations

	debian/rules
	This file is an executable Makefile. During the packaging process, it
	calls dh_XXX helpers to do the things. We can override some of the stages to
	provide custom actions. In this rule file, the following build options
	are used.
	1 Do not configure libvirt to use sanlock, since it's not supported on
	Ubuntu.
	2 Do not configure libvirt to use selinux and apparmor. Becuase apparmor
	is conflicting with VDSM, and libvirt on Ubuntu does not compiled with
	selinux support, so just do not use the security driver of libvirt.
	3 Hooks are enabled and built into respetive packages.

	debian/package-name.install
	Describe files go to the respective sub .deb packages. The directory
	containing the file is created automatically.

	debian/package-name.dirs
	Any dir that is not created automatically by the .intall file.

	debian/vdsm.postinst
	debian/vdsm.postrm
	debian/vdsm.preinst
	debian/vdsm.prerm
	These four files are maintainer scripts. They are like %pre %post %preun
	and %postun in a RPM .spec file. They are run before VDSM package is
	intalled, upgraded, and removed. The Debian upgrading process is not
	like RPM.
	Script execution order when updating a RPM [2]
	     %pre of new package
	     (package install)
	     %post of new package
	     %preun of old package
	     (removal of old package)
	     %postun of old package
	Script execution order when updating DEB [3]
	    old->prerm upgrade new_ver
	    new->preinst upgrade old_ver
	    (new files are unpackad)
	    old->postrm upgrade new_ver
	    (old files are deleted)
	    new->postinst configure old_ver
	So you will see the contents of these file is very different with
	vdsm.spec.in. Another difference is Debian do not generate .pyc files
	when packaging, instead, it just ship .py files and after install,
	compile the .py to .pyc according to /etc/python/debian_config [4]. The
	postinst and prerm scripts do this automatically if we include the
	string "#DEBHELPER#". This means actions calling the .pyc files should
	happen after the .pyc files are generated.

	Other files are just boilerplates to fill.

	There are some dependencies that are too old or not available on Ubuntu.

	python-ethtool
	Too old. The official maintainer does not work on it any longer. So we
	have to download the source package and repackage it using the latest
	upstream.

	python-pthreading
	Not available on Ubuntu, need to create .deb packages.

	python-rtslib
	Ubuntu provide the official version, but in functional tests we use the
	Fedora forked version. The two versions are not compatible. Now we do
	not add python-rtslib dependency to vdsm-tests. The user can install the
	Fedora forked version by "pip install rtslib-fb", if they want to run
	functional tests.

	sanlock
	Too old. The official maintainer does not work on it any longer, but he
	helps me and provide new version of sanlock packages. These new packages
	are not in Debian official repository unless they are well tested. For
	now we can host these packages together with VDSM .deb package. The
	packages are for Debian, thus I made a little change to fit into Ubuntu.

	libvirt-sanlock
	libvirt-sanlock is not available on Ubuntu, but it's in Debian "sid",
	the next Debian release. Not sure Ubuntu will take lbvirt-sanlock in
	next release. So now just drop libvirt disk locking.

	I re-packaged python-ethtool, and packaged python-pthreading from sratch.
	sanlock pakcages are provided by the original maintainer, and I modified
	it to suit into Ubuntu. The packages are put on launchpad.net [5]. To test
	the package, firstly setup a Ubuntu 1304 server, then run the following
	command.

	add-apt-repository ppa:zhshzhou/vdsm-ubuntu
	add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.4
	aptitude update
	aptitude install python-pip vdsm vdsm-gluster vdsm-tests vdsm-client
	pip install rtslib-fb
	chmod a+r /boot/vmlinuz* /boot/initrd.img*
	cd /usr/share/vdsm/tests
	./run_tests.sh functional/virtTests.py functional/storageTests.py

	[1] http://www.debian.org/doc/manuals/maint-guide/index.en.html
	[2] http://fedoraproject.org/wiki/Packaging:ScriptletSnippets
	[3] https://wiki.debian.org/MaintainerScripts
	[4] http://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html#s-byte_compilation
	[5] https://launchpad.net/~zhshzhou/+archive/vdsm-ubuntu

2013-09-18  Petr Sebek  <psebek@redhat.com>

	Change of ConfigWriter._createConfFile parameters
	ifcfg.ConfigWriter._createConfFile now accepts _ipConfig object instead
	of number of arguments. It helps to reduce number of arguments passed

2013-09-17  Alon Bar-Lev  <alonbl@redhat.com>

	packaging: spec: own /etc/pki/vdsm/libvirt-spice

2013-09-17  Federico Simoncelli  <fsimonce@redhat.com>

	sp: update lease parameters on masterMigrate
	Given the current API the lease parameters should be considered pool
	metadata (since they're passed to vdsm in createStoragePool and in
	reconstructMaster). On the contrary the implementation is (rightfully,
	you might argue) storing these values in the domain metadata.

	On master migrate we should copy the lease parameters from the old
	master to the new one in order to maintain the appropriate values.

	In this patch:
	- update lease parameters on masterMigrate
	- relax the default parameters

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=999343

2013-09-17  Yeela Kaplan  <ykaplan@redhat.com>

	hsm: deleteImage fails because of wrong dictionary use
	also, get fake template params before deleting the template.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=964649

2013-09-16  Federico Simoncelli  <fsimonce@redhat.com>

	hsm: fix updateVolumeSize for raw volumes

2013-09-16  Yaniv Bronhaim  <ybronhei@redhat.com>

	Removing automatic restart of services in libvirt-reconfigure
	libvirt-reconfigure also restarted libvirtd as post reconfigure operation. The
	restart is required but there is no reason and its not expected to perform it
	automatically as part of the reconfigure operation.

	Restart also required to supervdsmd service (as described in the
	Bug-Url). Instead of restarting both, this patch prints message to user to
	preform the restart manually.
	To make it easier and centralized the patch also adds
	libvirt-configure-services-restart command that restart related services
	after reconfigure.

	For backward compatibility with systemd, this also update
	systemd-vdsmd script to restart libvirtd and supervdsmd services in
	previous versions.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=999853

2013-09-16  Federico Simoncelli  <fsimonce@redhat.com>

	imageSharing: return proper size in httpGetSize
	When importing images from OpenStack Glance the Content-Length is 0
	so we need to override the value with the content of the custom header
	X-Image-Meta-Size.

2013-09-16  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netconf: Fix the mtu of bond/nic not being set for new network
	The configuring should not be skipped if the new vlaned network
	over the bond or nic has a bigger mtu than current.

	This patch fixes the testSetupNetworksMtus functional test, broken by
	http://gerrit.ovirt.org/17491.

	Bug-Url: https://bugzilla.redhat.com/1004196

2013-09-15  Yaniv Bronhaim  <ybronhei@redhat.com>

	Handling errors in daemonAdapter
	This patch adds --syslog arguments to daemonAdapter, this option is
	needed in order to catch and log possible failures when vdsm is run via sysv,
	which does not capture stderr of the service script (which is used by
	default).

	This patch also introduces daemonAdapter class to simplify the implementation.

	Modification in lockfile usage mechanism as part of sysv init script
	The problem:
	Start can run if lock is free and respawn pid is not exist. Currently we keep
	holding the lock until the service is stopped. It means, that if the
	process that was initiated (the respawn prcoess) was crashed, we still hold
	the lock (as we didn't stop it by service stop) and this blocks us from
	initiating new instance. We acquire lock when start, and release it only after
	stop.

	The solution:
	Using flock to avoid multi instances of the init script. Vdsm execution
	is performed in subprocess and it releases the locked fd before starting
	the respawn process.

2013-09-15  Amador Pahim  <apahim@redhat.com>

	vdsClient: Fix str/unicode concatenation issue.
	"vdsClient -s 0 getVmsInfo <spUUID>" command fails with error:
	Error using command: 'ascii' codec can't encode characters in position
	2001-2004: ordinal not in range(128)

	Here the snip from guest info xml causing the issue:
	...
	<app_list>Windows XP ¸üÐÂ (KB898461),Microsoft Kernel-Mode Driver Framework
	Feature Pack 1.9,RHEV-Tools 3.2.8,WebFldrs XP,RHEV-Serial 3.2.4,RHEV-Spice-Agent
	3.2.5,RHEV-Agent 3.2.5,RHEV-SSO 3.2.4,RHEV-USB 3.2.3,RHEV-Balloon 3.2.4,
	RHEV-Spice 3.2.3,RHEV-Block 3.2.4,RHEV-Network 3.2.4</app_list>
	...

	Positions 2001-2004 point for characters "¸üÐÂ".

	infos['vmlist'][entry] can be type str or unicode. When it happens to
	be unicode with characters out of ASC-II range, converted to str and
	concatenated with the given strings, the issue is triggered:

	To reproduce with python interpreter:

	>>> var = u'¸üÐÂ'
	>>> type(var)
	<type 'unicode'>
	>>> test = 'string' + str(var)
	Traceback (most recent call last):
	  File "<stdin>", line 1, in <module>
	UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal
	not in range(128)

	This patch is removing the str() conversion for infos['vmlist'][entry]. The result
	is 'message' variable as type unicode when infos['vmlist'][entry] is unicode.

	Also, to avoid stdout redir encode error, the messages print is encoded as UTF-8.

2013-09-14  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packaging: Fix help string and usage for --disable-libvirt-sanlock
	Help strings in configure.ac for --disable-libvirt-sanlock and
	--disable-libvirt-selinux are as follow.

	  --disable-libvirt-sanlock
	                          disable libvirt sanlock plugin [default=yes]
	  --disable-libvirt-selinux
	                          disable libvirt selinux plugin [default=yes]

	From simplicity and disambiguation, we remove "[default=yes]". This
	patch changes the help string to as follow

	  --disable-libvirt-sanlock
	                          disable libvirt sanlock plugin
	  --disable-libvirt-selinux
	                          disable libvirt selinux plugin

	So there is no ambiguity of whether the feature is disbale or enabled
	by default. We also avoid suggesting user to use
	"--disable-libvirt-sanlock=yes|no" which is a bit confusing (at least to
	me). The user can just use "--disable-libvirt-sanlock" to disable it.

	This patch also fix the code logic related to ENABLE_LIBVIRT_SELINUX in
	libvirt_configure.sh.in to make it agree with the help string.

2013-09-13  Assaf Muller  <amuller@redhat.com>

	Functional Tests [3/3]: Added static source routing functional test

	Functional Tests [2/3]: Added ipwrapper.ruleExists+routeExists
	Added functional tests for both functions as well.

	We can now parse rules that contain '[detached]' - If you add
	rules for devices that don't exist (Or add rules for devices
	that do exist and then delete the device) then 'ip rule' outputs
	the rule with '[detached]'. We couldn't parse such rules.
	This is important because when cleaning up rules that the test
	added we first get rid of the dummy nic and only then get
	rid of rules.

2013-09-13  Federico Simoncelli  <fsimonce@redhat.com>

	lib: add create function to the qemuImg module

2013-09-12  Shu Ming  <shuming@linux.vnet.ibm.com>

	Nits: clean the magic number for seek()

2013-09-12  Federico Simoncelli  <fsimonce@redhat.com>

	vdsm-tool: handle missing sanlock pid file

2013-09-12  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packaging: make libvirtd env file path and qemu process user group configurable
	In Ubuntu, qemu user is libvirt-qemu, qemu group is kvm. libvirt daemon
	environment file is /etc/default/libvirt-bin. This patch make these
	configurable by adding the following options.

	--with-libvirt-service-default=/etc/default/libvirt-bin
	--with-qemu-user=libvirt-qemu
	--with-qemu-group=kvm

	The default value are based on RH family so Fedora and RHEL can safely
	ignore these options.

2013-09-10  Federico Simoncelli  <fsimonce@redhat.com>

	vdsm-tool: fix qemu-sanlock configuration
	Fixing the logic about qemu-sanlock configuration: if sanlock is
	enabled then qemu-sanlock.conf needs to be updated.

2013-09-10  Ayal Baron  <abaron@redhat.com>

	Removing validate sd from spm verbs which calls ckvg and refreshes the domain metadata on the spm even though the spm already controls the changes (i.e. a lot of redundant time is wasted)
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=979193

2013-09-10  Yeela Kaplan  <ykaplan@redhat.com>

	Remove redundant check that causes lvm cache to refresh every volume creation
	We try to create a volume without validating if it exists first.
	If the volume exists we need to make sure we don't it delete in
	rollback.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=979193

2013-09-10  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packaging: Remove hard coded 12- prefix of vdsm-lvm.rules from upstream
	vdsm-lvm.rules.in is to fix lvm block device permissions, it should be
	applied after the system default lvm rules. On RH family distributions,
	12 is correct because system default is 11-dm-lvm.rules. On Ubuntu, 12 is
	incorrect and we use 61-vdsm.lvm.rules. This patch removes the 12-prefix
	from the upstream file name, and leaves the downstream packaging script
	to decide the correct installed name.

2013-09-10  Alon Bar-Lev  <alonbl@redhat.com>

	build: cleanup: reformat AC_ARG_ENABLE
	consistent use of tabs/non-tabs.

	consistent use of formatting method for all statements.

	consistent indent, single tab, not "drawing" code.

	shorter lines as requested.

2013-09-10  Yeela Kaplan  <ykaplan@redhat.com>

	remoteFileHandler: Add create exclusive option for truncateFile
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=979193

2013-09-10  Federico Simoncelli  <fsimonce@redhat.com>

	hsm: fix sloppy rebase of one shot prepare
	A sloppy rebase of c072945 "One shot prepare" removed the changes
	introduced by cef2d5b "vm: extend shared property to support locking".

2013-09-10  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: bondHwAddress, safeNetworkConfig, volatileConfig
	Added three functional tests:

	* testBondHwAddress
	* testSafeNetworkConfig
	* testVolatileConfig

2013-09-09  Yeela Kaplan  <ykaplan@redhat.com>

	lvm: add logs to indicate finshing reload lvs op
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=979193

2013-09-09  Eduardo Warszawski  <ewarszaw@redhat.com>

	One shot prepare.
	The number of storage accesses is reduced to 1 or none instead of
	the recursive volume images produces.
	Requires a new selinux policy.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=960952
	Related to BZ#769502, BZ#990509.

2013-09-09  Sergey Gotliv  <sgotliv@redhat.com>

	Making setStorageDomainDescription the SPM command

2013-09-07  Dan Kenigsberg  <danken@redhat.com>

	Require libvirt that allows vmUpdateDevice
	Bug-Url: https://bugzilla.redhat.com/1001001

2013-09-07  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packaging: libvirt plugin of selinux and sanlock usage is configurable at build time
	VDSM makes use of these two plugins. However on platform such as Ubuntu,
	libvirt is compiled without selinux and sanlock plugin. In this patch we
	make these plugins configurable at build time by

	--enable-libvirt-selinux
	--enable-libvirt-sanlock

	By default they are both enabled.

	Because of non standard use of substitution (not using AC_OUTPUT) the
	scripts that are effected will not be regenerated unless make clean is
	called, out of the scope of this patch.

2013-09-07  Alon Bar-Lev  <alonbl@redhat.com>

	build: cleanup: reformat use of AC_ARG_ENABLE
	1. Use AS_HELP_STRING to format help.

	2. Use autoconf variable for statement.

2013-09-04  Federico Simoncelli  <fsimonce@redhat.com>

	spec: remove shared glusterfs requirements
	Since we now require glusterfs in the main package we can now remove the
	same dependencies from the gluster rpm.

2013-09-03  Federico Simoncelli  <fsimonce@redhat.com>

	storage: kill ongoing operations on exit
	Some storage operations must be forcibly interrupted when the vdsm
	(parent) process exits.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=713434

2013-09-03  Yaniv Bronhaim  <ybronhei@redhat.com>

	Fixing start return the return value of vdsm execution

	Adding requires to python-argparse

	Removing has_systemd from sysv script
	After separating sysv and systemd common code, we forgot cleaning all
	systemd dedicated code from sysv init script. This patch removes has_systemd
	calls and definition from sysv init script, as this script doesn't in use by
	systemd anymore.

2013-09-03  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests : setupNetworks resizeBond, remove param validation.
	Added a couple of tests:

	* testSetupNetworksResizeBond (functional test).
	* testValidateNetSetupRemoveParamValidation (unit test).

	Adding further coverage of setupNetworks and functions
	on which it depends.

2013-09-03  Federico Simoncelli  <fsimonce@redhat.com>

	vm: extend shared property to support locking
	The drives "shared" property has been extended (from True/False) to
	support sanlock locking.

	The new values are:

	 - "none":      no infomation (locking disabled)
	 - "exclusive": the disk is used by the VM in exclusive mode
	 - "shared":    the disk might be used by multiple VMs

	For backward compatibility the old values are mapped as follows:

	 - True: "shared"
	 - False: "none" (or "exclusive" if use_volume_leases is True)

2013-09-02  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Add vdsm upstart jobs
	Add Upstart jobs for vdsmd, supervdsmd, vdsm-restore-net-config,
	vdsm-tmpfiles.

	vdsmd, supervdsmd, vdsm-restore-net-config jobs are Upstart counterpart
	of vdsmd.service, supervdsmd.service and vdsm-restore-net-config.service
	in systemd.

	vdsm-tmpfiles is to create directories under /var/run/ for vdsm and
	supervdsm. In Upstart there is no systemd-tmpfiles.sercice equivalent,
	so we implement simple script in vdsm-tmpfiles to do the necessary job.

2013-09-02  Yeela Kaplan  <ykaplan@redhat.com>

	clientIF: return doneCode in getDiskAlignment
	Engine expects a dictionary instead of an integer(0)

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=998411

2013-08-31  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: setupNetworks convertVlanNetBridgeness, Mtus
	Added a couple of functional tests:

	* testSetupNetworksConvertVlanNetBridgeness
	  covering behavior of converstion of a network
	  from bridged to bridgeless and viceversa.

	* testSetupNetworksMtus covering behaviour of
	  setupNetworks when used with different mtus.

	test : delNetwork with bond accumulation.
	Added functional test covering behaviour of delNetwork
	when creating and deleting a bond.

2013-08-30  Assaf Muller  <amuller@redhat.com>

	Functional Tests [1/3]: Added module for dummy nics
	Added setLinkUpDummy, setLinkDownDummy, setIPDummy
	These methods will be used in an upcoming test

	Added required ipwrapper functions for iproute2 configurator
	These ipwrapper functions are required by more than one patch
	so for efficiency's sake I've moved them to a separate patch.

2013-08-30  Dan Kenigsberg  <danken@redhat.com>

	fix testDelNetworkWithMTU
	If a network with an MTU lesser than the default is created on top of an
	existing nic or bond, the new MTU is not set on the underlying device.
	This makes sense if the high MTU of the device is being used by
	something else, but not if there are no users to the device.

	There is a caveat to this fix, though. If someone outside of Vdsm has
	been using the underlying device for other purposes (such as another
	vlan with a higher MTU), Vdsm would now change the MTU while it takes
	ownership on the device. This should be of no surprise, since when Vdsm
	owns a device, it truly owns it, and may control all of its attributes.

2013-08-30  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Packageing: Move SystemD and SysVInit files to respective sub-dirs
	A new dir /init is created to place vdsm init files.
	/init for common init files.
	/init/systemd for SystemD related files.
	/init/sysvinit for SysV init related files.
	/init/upstart will be created in future for Upstart related files.

2013-08-29  Allon Mureinik  <amureini@redhat.com>

	vm.py: Fix comment regarding MOM and KSM
	Fixed the comment's typo and grammar mistake.

2013-08-29  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	packaging: rename supervdsmServer.py to supervdsmServer and add environment file
	supervdsm process is started by "python supervdsmServer.pyc". This is a
	bit verbose when it is put in the SysV init script and SystemD service
	unit. This patch renames supervdsmServer.py to supervdsmServer to enable
	the init script start supervdsmServer directly.

	In this patch, an environment file is also add for supervdsmd service.

	vdsmd and supervdsmd: extract common init tasks and add init adapter
	Move common init tasks from vdsmd.init.in to a separated file,
	vdsmd_init_common.sh. This enables SysV init script, SystemD and other
	init systems re-use vdsm pre-start/post-stop scripts.

	Add vdsm/init/daemonAdapter for various init systems. daemonAdapter can
	start vdsm optionally with respawn and console redirection. On powerful
	init systems, we call daemonAdapter with no/few options, on SysV init
	system, we call it with respawn, console redirection and pid creation
	option. In this way we can remedy the gap of powerful init systems and
	less powerful ones.

	This patch uses daemonAdapter in vdsmd.init.in, vdsmd.service,
	supervdsmd.init.in and supervdsmd.service.in.
	vdsmd systemd service does not relies on SysV init scripts to run init
	tasks any more, it calls vdsmd_init_common.sh to run init tasks.

2013-08-27  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: setupNetworks with invalid params.
	Added three tests:

	* testIsNicValid
	* testBuildBondOptionsBadParams
	* testSetupNetworksAddBadParams

	covering the behaviour of configNetwork._buildBondOptions,
	nic entity creation and setup networks when providing
	invalid parameters.

	tests: adding missing cleanup decoration
	Some tests need to cleanup the env in case of failure.
	This patch adds the missed cleanupNet decoration to
	some tests.

2013-08-27  Antoni S. Puimedon  <asegurap@redhat.com>

	Allow configurators to be used as context managers
	Since configurators have commit and rollback, they are the perfect
	candidate for being used as context managers.

	Before:
	    configurator = Ifcfg()
	    try:
	        b = Bond(bonding, configurator, options, nics,
	                 mtu, NetInfo(), implicitBond).configure()
	    except:
	        configurator.rollback
	        raise

	After:
	    with Ifcfg() as configurator:
	        Bond(bonding, configurator, options, nics,
	             mtu, NetInfo(), implicitBond).configure()

2013-08-27  Alon Bar-Lev  <alonbl@redhat.com>

	vdsmd: remove reconfigure sanlock on 'reconfigure' verb
	reconfigure sanlock is perform at every restart, so there is no need for
	performing that on reconfigure target.

	if it is required, we need vdsm-tool configure or similar verb, as
	systemd does not support custom targets.

2013-08-27  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	xmlrpcTests: Mount configfs automatically
	In some systems such as Ubuntu, configfs is not mounted by default.

	In this patch, configfs is mounted automatically for iscsi tests.

	xmlrpcTests: Detect Ubuntu initramfs when booting VM
	Ubuntu initramfs file name is different from that in Fedora and RHEL.
	This patch tries to detect possible initramfs file names.

2013-08-27  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: setupNetworks compatibility bond and nic.
	Added four functional tests, testing setupNetworks
	compatibility for nics and bonds bridged and bridgeless:

	* testSetupNetworksNetCompatibilityBondSingleBridge
	* testSetupNetworksNetCompatibilityBondSingleBridgeless
	* testSetupNetworksNetCompatibilityNicSingleBridge
	* testSetupNetworksNetCompatibilityNicSingleBridgeless

2013-08-26  Antoni S. Puimedon  <asegurap@redhat.com>

	Remove bonds before editing and adding
	The current implementation of handleBondings relies on the
	non-deterministic ordering of the bondings dictionary for choosing
	which bonds should be handled first.

	The correct ordering is to first delete all the bonds to remove,
	then edit and finally add new bonds. This ensures that slaves
	of bonds to remove are properly freed before being added to existing
	or new bonds.

	Bug-Url: https://bugzilla.redhat.com/987525

2013-08-25  Martin Polednik  <mpoledni@redhat.com>

	xmlrpcTests: refactoring
	- split xmlrpcTests into storageTests and virtTests to reduce complexity
	- use vdsProxy approach for virtTests part

2013-08-24  Antoni S. Puimedon  <asegurap@redhat.com>

	fix getVlanID returning an int issues
	The fact that getVlanId now returns an int causes issues across
	the networking codebase due to the fact that there was a lot of
	concatenation of the kind:

	    vlanDev = ifacename + '.' + vlanId

	which of course causes a TypeError due to trying to concatenate
	string and int.

	Additionally, there was code like:

	if (not) vlan:

	which now that vlan is int, will be evaluated as False when we
	use vlan with id 0.

	Finally, this patch makes all internal dealings with vlan ids
	to be converted to integer on reception.

2013-08-22  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	vdsm.spec: BZ 988299: Fix GlusterFS RPM dep to support GlusterFS SD
	This patch fixes the GlusterFS RPM dependency needed by VDSM to
	support Gluster Storage Domain feature. Recent GlusterFS RPM
	re-packaging effort to better separate the client and server side
	bits and availability of qemu with libgfapi support mark the
	pre-req for this patch. These pre-req are now available in
	F18/F19/RHEL6/Centos6 and above in the appropriate distro specific
	repos. Also removing F17 dep as its End of life now.

	BZ 988299 has more details, with pointers to the community
	discussions around these.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=988299

2013-08-22  Antoni S. Puimedon  <asegurap@redhat.com>

	Don't down bonds and nics when adding vlan or resizing
	When adding vlans on top of devices, a configure of the underlying
	device incurs in ifdown and ifup, which in case of that device
	backing other vlans, will cause a network interruption.

	This patch makes that nics are only reconfigured (if a vlan is being
	put on top of them) when the interface was already down. This works
	because any extra config that would need to be applied for the new
	action needs only application on the vlan device itself.

	For Bonds, we only need to reconfigure in case the bonding options
	differ or the slaves don't match, in any other case, it's the same
	as with nics.

	Bug-Url: https://bugzilla.redhat.com/982632

2013-08-22  Amador Pahim  <apahim@redhat.com>

	[3/3] Use fixed getVlanDevice() and getVlanID().
	Change many functions to use getVlanDevice() and getVlanID() as a
	split('.') replacement.

	[2/3] Add "vlanid" to VLAN information
	Currently vdsm does not report vlan id as an idependent field. ovirt-engine
	is deducting vlan id by parsing vlan name, not reasonable as vlans can be
	made with any name.
	This patch adds the 'vlanid' information for vlans to be consumed by
	ovirt-engine:

	...
	        vlans = {'eth0.10': {'addr': '',
	                             'cfg': {},
	                             'iface': 'eth0',
	                             'ipv6addrs': [],
	                             'mtu': '1500',
	                             'netmask': '',
	                             'vlanid': 10},
	                 'eth0.myvlan': {'addr': '',
	                                 'cfg': {},
	                                 'iface': 'eth0',
	                                 'ipv6addrs': [],
	                                 'mtu': '1500',
	                                 'netmask': '',
	                                 'vlanid': 20}}

	...

2013-08-22  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix the 'MTU' option in networkTests
	The 'mtu' option should be in lower case. It doesn't fail with ifcfg
	configurator, because the 'MTU=1234' passes through to the ifcfg file
	as an extra option.

2013-08-22  Martin Polednik  <mpoledni@redhat.com>

	vdsmapi-schema: optional/required params fix
	- VideoDevice specParams field 'vram' is required according to
	current dom getXML
	- Smartcard device was previously missing required parameters
	mode and type
	- Type is actually required only for passthrough mode, fixed in code and
	  definition

2013-08-21  Yaniv Bronhaim  <ybronhei@redhat.com>

	After exception on _recoverExistingVms thread we should try again
	Currently we fail the process on exception and gets stuck on recovery.
	This might be because libvirt exception during first connect. Anyhow, we
	should continue try to recover to start serving vdsm requests.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=991091

2013-08-21  Giuseppe Vallarelli  <gvallare@redhat.com>

	macspoof hooks: new hook script to enable macspoof filtering per vnic.
	Puropose of this patch is to add a new hook script which is
	almost equal to the existing one except that is applied on
	a per vnic basis. This hook script uses a different custom
	property ifacemacspoof to avoid conflicts with the macspoof
	one which operates for all VM's interfaces.

	* Patchset-1 first implmentation.
	* Patchset-2 Removing for loop cycling through ifaces,
	             the xml is only related to a specific iface.
	* Patchset-3 Cherrypicked on top of fix broken storage test.
	* Patchset-4 Changed custom property name from macspoofperdevice
	             to ifacemacspoof, small fixes to README.
	* Patchset-5 Updated implementation, fixed small issue
	             related to the parsing code.
	* Patchset-6 Updated README key is now part of CustomDeviceProperties.
	* Patchset-7 Added before_nic_hotplug hook script.
	* Patchset-8 Changed script name to macspoof_vnic and used it
	             for 2 events instead of having two equal scripts.
	             Updated Makefile and added docstring on top of the script.
	* Patchset-9 Inlined removeFilter function, changed assignment 'style'.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=908704

2013-08-21  MeiLiu  <liumbj@linux.vnet.ibm.com>

	modify mom functional test to use VdsProxy
	This patch puts vdscli APIs in VdsProxy in utils. It modifies mom functional
	test to use it instead of direct calling. It resembles the way network
	functional test uses.

2013-08-20  Amador Pahim  <apahim@redhat.com>

	Introducing hidden_vlans configurable.

2013-08-20  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: setupNetworks add net bond breaking and resizing.
	Added 3 functional tests to cover cases of new networks
	on top of a bond after resizing/breaking and behaviour
	of setup networks which should keep a network when
	resizing a bond.

	List of added functional tests:

	* testSetupNetworksAddNetworkToNicAfterBondResizing
	* testSetupNetworksAddNetworkToNicAfterBondBreaking
	* testSetupNetworksKeepNetworkOnBondAfterBondResizing

2013-08-19  Allon Mureinik  <amureini@redhat.com>

	define.py: remove %s from imageErr
	imageErr untypically has an %s in the error message.
	To make things worse, most flows do not fill it, producing messages
	which are difficult to understand.

	This patch removes the aforementioned %s.

	Bug-Url: https://bugzilla.redhat.com/960635

2013-08-17  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: adding missing cleanupNet and refined testQosNetwork.
	Some additional cleanupNet were necessary on some tests
	which might, on possible failure, make the env dirty.
	Added the deletion of network created in the testQosNetwork.

2013-08-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	libvirt configure: use "ed" instead of "sed --copy -i"
	"sed -i" generates a temp file for output, then renames the temp file to
	the targeted file. Renaming a file means just changing the content of
	the directory entry, and the edited file has different inode index from
	the original version. So the sed edited file is a different file though
	with the same file name as the original version. To use sed on
	ovirt-node on bind-mounted files, we need "--copy" to copy the temp file
	into targeted file instead of renaming. Unfortunately, "--copy" is
	provided by a patch that is specific to the RPM packaged sed on Red Hat
	family distros. The "--copy" option is neither in GNU sed [1] nor in
	Single Unix Specification sed [2].

	In this patch we use "ed" instead of "sed -i --copy". "ed" edits the
	file in-place, by buffering the edited contents in memory and flushing
	to the file at last.

	[1] http://www.gnu.org/software/sed/manual/sed.html
	[2] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html

2013-08-16  Amador Pahim  <apahim@redhat.com>

	[1/3] Fix getVlanID() and getVlanDevice().
	Previous implementations work only under root privileges.
	This patch reimplements both functions to use "ip" tool.

2013-08-16  MeiLiu  <liumbj@linux.vnet.ibm.com>

	mom: add mom balloon functional tests for running vms
	The balloon functional test includes the grow and shrink tests.
	It uses diverse policies to triger grow and shrink operation.

2013-08-16  Giuseppe Vallarelli  <gvallare@redhat.com>

	refactoring: replacing ifcfg dependency to storage with one from lib.
	Ifcfg is using execCmd from storage.misc module, this patch replaces it
	with its equivalent from utils module.

2013-08-15  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netconf: Simplify addSourceRoute arguments

	netmodels: Improve getIpConfig using namedtuple

2013-08-13  Federico Simoncelli  <fsimonce@redhat.com>

	image: use successor volume size when merging
	Volumes in the same image chain might have different capacity since the
	introduction of the disk resize feature. This means that when we merge
	volumes the ancestor should get the new size from the successor in order
	to be able to contain the additional data that we are collapsing.

2013-08-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	Handling signals interrupts, using pidofproc and prevent lock over systemd
	Under start lock, if signal is received, we should clean the lock file and
	stop the instance. During stop we should not stop the process until
	respawn and vdsm instances are cleared.

	Instead of checking the existence of respawn.pid and vdsmd.pid files, using
	pidofproc checks if the processes are actually run. The deletion of the
	respawn.pid file is redundant and leads to conflicts.

	Over systemd we don't require to use locking at all. Systemd takes care of
	that.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=994912

2013-08-13  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: setupNetworks add one or more vlans.
	Added a couple of functional tests:

	* testSetupNetworksAddVlan
	* testSetupNetworksAddManyVlans

	covering the behaviour of setupNetworks when adding
	one or more vlans.

2013-08-12  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix stale call to deactivateVolumes().
	Calling deactivateImage() is correct due to the one volume (no
	template limitation of Image._activateVolumeForImportExport().

	This calls were introduced by a conflict in changes:
	Ib208bb20d88633167b5c66b42febe912439a022d
	I4b6a4e99cf3a657affb4f5e96aa1ac1978a297da

2013-08-12  Assaf Muller  <amuller@redhat.com>

	Only remove dhcp source routing if the removal reason is "STOP"
	If the reason is FAIL then the IP configuration is not lost
	and source routing should not be removed. Only STOP actually
	removes the ip configuration from the device.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=995142

2013-08-11  Assaf Muller  <amuller@redhat.com>

	Management network is now kept in main routing table
	Only the management network should add its default route
	to the main routing table. Each NetDevice holds an IpConfig
	instance who now holds defaultRoute='yes', 'no' or None.
	Only the top level device will have a defaultRoute value.
	When writing ifcfg files we check if we got a defaultRoute
	value, if so we write it.

	Patch Set 7 changed the implementation so that only the top
	level device has DEFROUTE=yes/no in its ifcfg file.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=984028

2013-08-11  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	SecureXMLRPCServer: Work with Official M2Crypto Release
	VDSM uses the "settimeout" method of M2Crypto.SSL.Connection. This
	method is defined by a patch shipped in Fedora and RHEL m2crypto RPM.
	The "settimeout" patch is not available in official code, so other
	distro such as Ubuntu does not provide "settimeout".

	We can detect if the "Connection" class provides "settimeout" and work
	with both RPM and official release of M2Crypto. If it provides
	"settimeout", use it, otherwise falls back to use "settimeout" from the
	socket object.

2013-08-10  Giuseppe Vallarelli  <gvallare@redhat.com>

	lint: providing a default pylintrc
	We can use pylint to enable some further checks on the codebase.
	This can help up to have a cleaner codebase. The proposed pylintrc
	is adapted from the one used by the Python language to let us
	use java-like coding conventions for functions, methods and such.

2013-08-09  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: addNetwork bond with one or many vlans.
	Added a couple of functional tests:

	* testAddNetworkBondWithManyVlans
	* testAddNetworkVlanBond

	covering the behaviour related to addNetwork using bond
	and vlans.

	refactoring: rename variable in getVlanID function
	In the function getVlanID we're using id as a variable
	name, proposed refactoring changes this variable name,
	so we don't redefine the built-in function 'id'.

2013-08-08  Ohad Basan  <obasan@redhat.com>

	Fixing return value of function 'start' in init script
	During fixing lock mechanism (http://gerrit.ovirt.org/#/c/17662) we
	change to use locked_start function, this set to return "start ||
	release_lock && return 1". Without surrender the second part with brackets,
	this function returns always 1. This 1 returns as exit code and fail external
	operations as hostDeploy.

2013-08-07  Assaf Muller  <amuller@redhat.com>

	Source Route script now checks that the DHCP response is whole
	Previously we assumed that every DHCP response contains a
	gateway. Clearly that's wrong :(

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=994600

2013-08-07  Dan Kenigsberg  <danken@redhat.com>

	supervdsm: some log beautification
	- log return value, not only function call
	- keep try-block cleaner

	Patchset-1 Initial implementation.
	Patchset-2 Used @wraps decoration from functools.

2013-08-07  Yaniv Bronhaim  <ybronhei@redhat.com>

	Lock init script when vdsmd starts up until the service is stopped
	As described in:
	http://fedoraproject.org/wiki/Packaging:SysVInitScript#Why_do_SysV_initscripts_with_resident_daemons_require_lock_files.3F
	This patch adds lock mechanism between stop and start operations.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=984616

2013-08-07  Antoni S. Puimedon  <asegurap@redhat.com>

	netinfo getIfaceCfg cleanup, naked except removal
	getIfaceCfg was using shlex but not taking advantage that it
	can handle comments better than we were doing (inline comments
	and such). This patch makes heavier use of it as well as removes
	the naked exceptions that were catching BaseExceptions (which
	is usually evil).

	vdsm_reg: fix ovirt_node without default bridge
	This patch reflects the fact that nowadays ovirt-node usually
	doesn't have a br* interface by default, thus the standing
	assumption that it did lead to exceptions.

	Bug-Url: https://bugzilla.redhat.com/988990

2013-08-07  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Bump requires version of selinux-policy-targeted
	Current SElinux policy prevent the dhcp hook for source routing
	from running. It has been fixed in latest selinux policy, so we
	we need bump the requires version. More information, please see:
	https://bugzilla.redhat.com/show_bug.cgi?id=977856

2013-08-07  Yeela Kaplan  <ykaplan@redhat.com>

	vm: Fix broken hotunplugDisk
	hotunplugDisk was broken by commit:
	I4a19380c26ff4b6b697455e060dab4c651ff3f7c

	vm: Remove redundant if statements in hotUnplugDisk

2013-08-07  Assaf Muller  <amuller@redhat.com>

	VDSM now writes its version number in VDSM-generated ifcfg files
	Take 2!
	This is a fix so that the code is identical in master and ovirt-3.3
	branch.

2013-08-06  Yeela Kaplan  <ykaplan@redhat.com>

	clientIF: maintain list of vm's domains inside the vm object
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=990985

2013-08-06  Saggi Mizrahi  <smizrahi@redhat.com>

	infra: Rearrange PYTHONPATH for remoteFileHandler
	When running tests P_VDSM is set to $GIT_ROOT which makes "import vdsm"
	conflict. This makes sure we only take from the root dir in case there
	is no other alternative.

	infra: Add logging in case PoolHandler crashes
	This helps for debugging cases where the helper crashes because of bugs
	rather than an IO error

	We only do it if the process closes in a timely fashion as it might be
	in D state for a long time.

	schema: Fix schema error

2013-08-06  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: addNetwork with one or more vlans.
	Added a couple of functional tests:

	* testAddNetworkManyVlans
	* testAddNetworkVlan

	covering the behaviour related to addNetwork using vlans.

	tests: miscellanous tests with/without addNetwork.
	Added three functional tests:

	* testTwiceAdd
	* testDelWithoutAdd
	* testEditWithoutAdd

	covering the behaviour of addNetwork when bridge is already in use,
	editNetwork and delNetwork in case of missing network.

2013-08-06  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix break in FileVolumeGetVSizeTest
	The implementation of FileVolume.getVSize was improved in
	http://gerrit.ovirt.org/17510. The test case of it should be updated
	accordingly.

2013-08-05  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Fix regression introduced by refactoring libvirtvm
	Rebasing the changeset of refactoring libvirtvm.py and vm.py into vm.py [1]
	caused an accidental removal of changes made in commit 30a4b50 [2].

	This commit fixes the mess up of this rebase mess up.

	[1]: http://gerrit.ovirt.org/gitweb?p=vdsm.git;a=commit;h=ee082b8
	[2]: http://gerrit.ovirt.org/gitweb?p=vdsm.git;a=commit;h=30a4b50

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=985735

	vdsm: Always retrieve alias for Balloon and Console devices
	We haven't been retrieving the alias value for console devices which
	now starts to bite us due to the assumption that all VmDevice objects,
	have to have an alias attribute during the migration.

	Due to a bug in the handling for Balloon devices this also happened.

	This commit fixes the problem for the future by retrieving the aliases.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=988065

2013-08-05  Assaf Muller  <amuller@redhat.com>

	Crash fix for migrations that involve devices with no aliases
	The destination host updates the device XML cache for every
	device by scanning the VM's XML that was received from
	the source host, breaking it apart and placing each device's
	XML into its Device class instance. The identification
	of devices is done via the alias pulled from the VM conf. Some
	devices don't have aliases pulled from libvirt. In any case,
	migrations should succeed (instead of crashing VDSM) and
	devices with no aliases should be dealt with in a separate patch.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=988065

2013-08-05  Eduardo Warszawski  <ewarszaw@redhat.com>

	Make lvm.listPVNames() be based on vgs information.
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=955993

	Avoid Img and Vol produces in fileVolume.getV*Size
	No need for produce Images and Volumes for get the volume path
	when calculating the size.

	Related to BZ#960952, BZ#769502.

	Too many True sizes for a False Volume class.
	Since an (abstract) volume never will be instantiated alone, get
	the size of the typed object instead.

	Removes Volume.getVSize(), Volume.getVTrueSize() and
	Volume.getVolumeTrueSize().

	Reduce the number of SD produces.

	Related to BZ#960952, BZ#769502.

	Remove unused lvm._vgmknodes().

	Remove broken getDeviceInfo().
	This function is unused by the Engine.
	It was broken a long time ago, Jun 19 of 2012, without complains,
	by commit f4304e25.

2013-08-04  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: delNetwork with specified mtu.
	Added one functional test:

	* testDelNetworkWithMTU

	covering the behaviour related to delNetwork when
	when setting an mtu.

	refactoring: fix imports stmts, replaced glob with iglob for uniformity.

	QoS host networks: caps now reports QoS for networks.
	In the context of applying QoS to host networks it's important
	to report the current networks' QoS. Example follows below:

	 'awesome': {'addr': '',
	             'bridged': True,
	             'cfg': {'DELAY': '0',
	                     'DEVICE': 'franta',
	                     'NM_CONTROLLED': 'no',
	                     'ONBOOT': 'yes',
	                     'TYPE': 'Bridge'},
	             'gateway': '0.0.0.0',
	             'iface': 'awesome',
	             'ipv6addrs': ['fe80::210:18ff:fee1:6d2e/64'],
	             'ipv6gateway': '::',
	             'mtu': '1500',
	             'netmask': '',
	             'ports': ['p1p4'],
	             'qosInbound': {'average': '1024', 'burst': '2048', 'peak': ''},
	             'qosOutbound': {'average': '2400', 'burst': '', 'peak': ''},
	             'stp': 'off'}

	Same information is available when calling networks() function, after adding
	a network named pluto this is the expected result:

	{'ovirtmgmt': {'bridge': u'ovirtmgmt',
	               'bridged': True,
	               'qosInbound': '',
	               'qosOutbound': ''},
	 'pluto': {'bridge': u'pluto',
	           'bridged': True,
	           'qosInbound': {'average': u'1024', 'burst': '', 'peak': ''},
	           'qosOutbound': {'average': u'2400', 'burst': '', 'peak': ''}}}

	In case a QoS is not defined in for incoming/inbound or outgoing/outbond
	traffic an empty string is placed instead to mark as undefined.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=987586

2013-08-04  Yeela Kaplan  <ykaplan@redhat.com>

	multipath: Use reload option on multipath rescan
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=964768

2013-08-02  huntxu  <mhuntxu@gmail.com>

	jsonrpc: make TCPReactor IPv6 capable

2013-08-01  Dan Kenigsberg  <danken@redhat.com>

	spec: vdsm-hook-sriov on el6 should not require non-existing rpm
	As reported by a dead horse, el6 does not carry
	libvirt-daemon-driver-nodedev so the said hook should not require this
	subrpm. Since it the rpm hook is meaningful only when vdsm is installed,
	and el6's vdsm requires al libvirt, we need no special requirement
	there.

2013-08-01  Assaf Muller  <amuller@redhat.com>

	VDSM now writes its version number in VDSM-generated ifcfg files

2013-08-01  Martin Sivak  <msivak@redhat.com>

	Add support for direct setting of cpu_shares when creating a VM
	This adds new API field to the Vm structures. The new field
	'cpuShares' will override the old 'nice' when used.

2013-07-31  Eduardo Warszawski  <ewarszaw@redhat.com>

	One shot teardown.
	Unique or none lvm command issued instead of recursive image
	volumes produces.

	Changing volumes that are active in multiple hosts can lead to DC.

	Related to BZ#960952, BZ#769502.

2013-07-31  Yaniv Bronhaim  <ybronhei@redhat.com>

	Changing libvirt configure print

2013-07-31  Sergey Gotliv  <sgotliv@redhat.com>

	Removing update of 'node.startup' setting in 'addIscsiPortal'
	I removed not working code in 'addIscsiPortal' method. It supposed
	to update 'node.startup' setting to 'manual', but used 'discoverydb'
	operational mode instead of 'node' what caused to exception.

	Bug-Url: https://bugzilla.redhat.com/851050

2013-07-31  Martin Sivak  <msivak@redhat.com>

	Mark ksmtuned as conflicting service in the init file
	MoM and ksmtuned fight over control of ksm when running at the
	same time. MoM is the prefered manager now so ksmtuned should
	be stopped during VDSM startup. VDSM can start ksmtuned again
	when needed (in case MoM is not available or fails).

	Resolves: rhbz#987926

2013-07-31  Yeela Kaplan  <ykaplan@redhat.com>

	clientIF: automatically unpause vms in EIO when SD becomes active

2013-07-31  Shahar Havivi  <shaharh@redhat.com>

	Support for multiple heads for Qxl display device
	Bug-Url: https://bugzilla.redhat.com/787578

2013-07-31  Doron Fediuck  <dfediuck@redhat.com>

	mom: Require latest mom
	Latest mom build uses strings for the balloon info,
	needed for proper ballooning integration.

	This patch will make vdsm depending on the latest mom
	supporting the strings api.

2013-07-30  Giuseppe Vallarelli  <gvallare@redhat.com>

	refactoring: Configurator base class making attributes explicit.
	Currently the base class contains references to internal attributes
	in some methods that are instantiated in the subclass Ifcfg.
	Proposed refactoring let the baseclass instantiate the configApplier
	and the _libvirtAdded set.

	Refactoring: changing nic_devices visilibity, now private.
	nic_devices is used in the as helper function of the
	public one nics(), having both as public might be
	misleading for the user of this module.

2013-07-30  huntxu  <mhuntxu@gmail.com>

	vdscli: update cannonize helper function for IPv6 environment
	The original approach considers any string contains a colon to have
	a port information which is not true in IPv6 environment.

	The new approach assumes the input string follows the format
	'host [ ":" port ]' in rfc3986 as it would be then used in a URI, gives
	a default port if the input doesn't supply one. This means IPv6
	addresses should be enclosed within square brackets ("[" and "]").

	How to test:
	* The following commands should all work correctly in a default setup
	  1) for IPv4 environment:
	    * vdsClient -s 127.0.0.1 getVdsCaps
	    * vdsClient -s 127.0.0.1:54321 getVdsCaps
	    * vdsClient -s localhost getVdsCaps
	    * vdsClient -s localhost:54321 getVdsCaps
	  2) for IPv6 environment:
	    * vdsClient -s [::1] getVdsCaps
	    * vdsClient -s [::1]:54321 getVdsCaps
	    * vdsClient -s localhost6 getVdsCaps
	    * vdsClient -s localhost6:54321 getVdsCaps
	    * vdsClient -s ['IPv6 link-local addr'%ovirtmgmt] getVdsCaps
	    * vdsClient -s ['IPv6 link-local addr'%ovirtmgmt]:54321 getVdsCaps

2013-07-30  Yeela Kaplan  <ykaplan@redhat.com>

	multipath: Reload multipathd instead of restart on setup
	Multipathd is required by vdsmd.
	We should not take care of starting it, but only reloading
	new configuration.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=988995

2013-07-30  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Do not fail releasing a VM due to agent stopping errors
	If the guest agent socket couldn't get created for whatever reason
	VDSM will no longer be able to stop release the VM without killing
	it manually and restarting the VDSM service.
	This patch is fixing this problem and also logs the occurrences.

	Bug-Url: https://bugzilla.redhat.com/985770

2013-07-30  Ohad Basan  <obasan@redhat.com>

	fileSD: remove reference to the removed safeUnlink
	the method safeUnlink was replaced by rmFile
	changed the file to use the new method

2013-07-30  Assaf Muller  <amuller@redhat.com>

	Improved ip rule and route robustness + improved logging
	* SuperVDSM should no longer crash when failing to parse routing
	  rules.
	* Improved logging - Routes / rules that cannot be parsed are
	  logged.
	* (Improved logging)^2 - Failing to configure or remove source
	  routing no longer displays a scary stack trace, just the error
	  message.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=987335

2013-07-26  Martin Sivak  <msivak@redhat.com>

	Use strings when reporting VM's memory stats
	This patch changes the API to use strings when reporting memory and
	balloon stats for a VM. This fixes an issue with xml-rpc that
	can only transfer 32 bit signed numbers.

	The maximum memory value when using KiB is about 2TB and we
	already hit that.

	Resolves: rhbz#974917

2013-07-26  Dan Kenigsberg  <danken@redhat.com>

	follow modern naming of wifi devices
	Fedora has forsaken wlan* names, but sampling wifi device still spams
	the logs with

	  File "/usr/lib64/python2.7/site-packages/vdsm/netinfo.py", line 235, in speed
	    s = int(file('/sys/class/net/%s/speed' % dev).read())
	IOError: [Errno 22] Invalid argument

2013-07-26  Mark Wu  <wudxw@linux.vnet.ibm.com>

	spec: fix that vdsmd.service is not enabled after installation
	For fedora18+, we use the helper macro to replace the manual systemd
	scriptlets. But for post installation, %systemd_post is expanded as
	below:
		/usr/bin/systemctl preset vdsmd.service >/dev/null 2>&1 || :
	So vdsm service will be disabled after installation because the default
	systemd preset setting disable all services which are not explictly
	enabled in the configuration files.

	We can ship a preset configuration file to enable vdsmd service, but
	reverting to manual systemd scriptlets is simpler and doesn't lose any
	benefit.

2013-07-25  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Make guest agent FQDN information available
	The FQDN value is the fully qualified domain name of the guest OS.
	This might be on not properly configured systems only 'localhost.localdomain',
	however for properly configured systems this is a very useful information.

2013-07-25  Arik Hadas  <ahadas@redhat.com>

	do not rely on default values on restoreFlags invocation
	The signature of libvirt's verb 'restoreFlags' changed - in previous
	versions it didn't set default values for its optional arguments. this
	patch changes how we invoke this verb to set the 'flags' argument to 0
	explicitly in order to be backward compatible with libvirt versions that
	don't set default values for 'restoreFlags' arguments.

	Bug-Url: https://bugzilla.redhat.com/988229

2013-07-25  Petr Sebek  <psebek@redhat.com>

	Deleted ovirt check from vdsm-restore-net-config
	Check if the machine is ovirt node prevented from proper network
	restoration. Deleted condition is no longer needed.

	Bug-Url: https://bugzilla.redhat.com/979081

2013-07-25  Yeela Kaplan  <ykaplan@redhat.com>

	image: shrink the new volume When merging block cow volumes
	On merge, size of the new volume is currently the sum of virtual
	sizes of the original volumes that were merged. With qcow
	volumes on block devices we don't use the whole size of the new volume,
	so we want to allocate only the actual size needed by the new volume
	with some additions to match the vdsm conventions.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=887909

2013-07-25  Lee Yarwood  <lyarwood@redhat.com>

	dumpStorageTable: Avoid an unnecessary traceback if vdsmd is down.
	When vdsmd is down the first getConnectedStoragePoolsList call
	results in a 'Connection Refused' trace being shown. To avoid
	this trace being picked up by abrt and thus worrying users we
	should test the connection, catching any errors before continuing.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=987833

2013-07-25  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netconf: Skip source routing cfg files when restoring devices
	_sortModifiedIfcfgs() uses the cfg files under '/etc/sysconfig/network-scripts'
	to get the devices which should be stopped and started during rollback. But the
	backed up files could also include source routing cfg files after the source routing
	feature was added. So this patch skips those files when it gets the devices list.

2013-07-23  Antoni S. Puimedon  <asegurap@redhat.com>

	fix setupNets 'remove' of non-existent net
	setupNetworks was assuming that if a net was not in vdsm nets nor in
	libvirt nets it was a net that we were trying to add when, in fact,
	it could very well be a non-existent network that was incorrectly
	marked for removal.

	The fix checks the case specified above and raises the same
	configNetworkError that delNetwork does on similar circumstances.

	Bug-url: https://bugzilla.redhat.com/977843

2013-07-23  Federico Simoncelli  <fsimonce@redhat.com>

	build: use pythondir for vdsmapi

2013-07-23  Giuseppe Vallarelli  <gvallare@redhat.com>

	bugfix: regression network qos
	Inbound and Outbound parameters are no longer dispatched
	through the configurator when adding a network, this means
	that configured network will not present the desired
	QoS. See previously merged implementation
	http://gerrit.ovirt.org/#/c/15724/17/vdsm/configNetwork.py

	* Patchset 1 - Improving a previously defined functional test
	               and verified that the current implementation make
	               the updated test fail.

	* Patchset 2 - Adding missing qos parameters to configureLibvirtNetwork
	               verified the code behaviour.

2013-07-23  Assaf Muller  <amuller@redhat.com>

	Improve logging for misformed ip routes and rules

2013-07-23  Federico Simoncelli  <fsimonce@redhat.com>

	build: do not distribute precompiled cpopen.so

	build: use pythondir for yajsonrpc

2013-07-22  Yaniv Bronhaim  <ybronhei@redhat.com>

	Catching remoteError while communicate with supervdsm
	When remoteError is raised due to broken communication with supervdsm,
	try to reconnect to supervdsm socket and raise runtime exception.
	If fails to reconnect, vdsm calls panic and restarts itself.

	Initialize supervdsm log before importing other modules
	1. When importing configNetwork, it imports libvirtconnection that
	initializes it own logger. The setconfig should occurred before the import.
	2. Adding log print before each call to supervdsm.

2013-07-22  Martin Sivak  <msivak@redhat.com>

	Fix missing symbol errors in the MoM policy for ballooning

2013-07-22  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding libvirtd dependency when supervdsm starts up with systemd
	libvirt service needs to be up and serving before supervdsm starts up.

2013-07-22  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Add folders required by sourceRoute to vdsm-tmpfiles.d.conf
	sourceRouteThread needs '/var/run/vdsm/sourceRoutes' , so let systemd's
	tmpfiles service create it after reboot. Without this patch,  sourceRouteThread
	will fail and therefore supervdsmd will fail to start too.

	trackedInterfaces is also required by sourceRoute, so add it together.

	change v1>v2: add trackedInterfaces

2013-07-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	Symmetrize *StorageDomain.*activateVolumes().
	Related to BZ#960952, BZ#769502.

2013-07-22  Assaf Muller  <amuller@redhat.com>

	Fixed functional test SetupNetworksAddBondWithManyVlans

2013-07-21  Assaf Muller  <amuller@redhat.com>

	Source routes files now deleted on non-VDSM interfaces
	Files in /var/run/vdsm/sourceRoutes are created by a VDSM DHCP
	hook for all interfaces that release or get a DHCP configuration.
	sourceRouteThread.py configures source routing on those interfaces.
	However, first it checks that the interface in question is known
	to VDSM. Previously the files weren't deleted in such a case.

2013-07-21  Dan Kenigsberg  <danken@redhat.com>

	functional network tests: revert config on failure
	With systemd, `systemctl vdsm-restore-net-config start` does nothing, as
	that service is marked as already-started since boot time. Using
	`restart` instead makes the tests revert config remnants upon test
	failure.

2013-07-19  Martin Sivak  <msivak@redhat.com>

	Use the current balloon size from libvirt info
	This patch changes our current data source for balloon information
	from internal vdsm balloon target to the real live data provided
	by libvirt.

	The old target value is now reported as balloon_target.

2013-07-18  Doron Fediuck  <dfediuck@redhat.com>

	mom: require latest mom version
	Latest mom will support balloon_min needed for minimum guaranteed
	memory. This patch makes vdsm dependant of the relevant version.

2013-07-18  Dan Kenigsberg  <danken@redhat.com>

	Bugfix: xml network definition.
	In case of a bridgeless network, interface xml element should be
	contained within the forward element, it should not be a direct
	child of the network element like in the case of a bridged network.

2013-07-18  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove '/run/vdsm' from vdsm-tmpfiles.d.conf
	'/var/run' is symlink of '/run', so the dir '/run/vdsm' also be
	created when the tempfiles service create '/var/run/vdsm'. And
	we don't use '/run/vdsm' directly, so we don't need care about it.

2013-07-18  Humble Chirammal  <hchiramm@redhat.com>

	dumpStorageTable: Fix typos in serverConnection string
	Current version of dumpStorageTable has typo on 'serverConnection'
	string. This corrects it.

2013-07-17  MeiLiu  <liumbj@linux.vnet.ibm.com>

	Fix required mom version
	mom-0.3.2 contains changes to the policy language, balloon guest
	collector and reset mom policy API. Without changes on balloon
	collector, balloon will not work. The new version also provides
	reset mom policy API for vdsm related interface to support multi-policy.
	These are what we need in vdsm, and thus the version is updated.

2013-07-17  Humble Chirammal  <hchiramm@redhat.com>

	sos: Patch to add sanlock.log in sos.
	Currently the sanlock.log is missing from vdsm plugin of sos.
	This adds missing sanlock log to troubleshoot sanlock issues.

	Bug-Url:https://bugzilla.redhat.com/attachment.cgi?id=774659

2013-07-17  Federico Simoncelli  <fsimonce@redhat.com>

	vm: catch getVolumeSize failures in _normalizeVdsmImg
	When getVolumeSize fails during the VM startup (e.g. volume is missing
	or corrupted) a descriptive error should be returned (instead of the
	previous KeyError: 'truesize'). An example of this behavior can be found
	in BZ#883858.

2013-07-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsmd.init.in: fix some style problems
	Add quotes to variable references. Use configurable variable instead of
	hard coded utility path. Uniform the block statement style.

2013-07-17  Giuseppe Vallarelli  <gvallare@redhat.com>

	Hidden bonds[2/2]: Refactored and updated nics implementation.
	nics implementation now allows to hide bonds marked as hidden
	in the config file.

2013-07-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: adding {?with_tmpfiles_macro}
	The macro %{_tmpfilesdir} was introduced by Fedora 18.
	This patch will add a Fedora validation before using it.

2013-07-16  Federico Simoncelli  <fsimonce@redhat.com>

	image: add support to upload/download images
	This patch adds the support for uploading and downloading images using
	different methods. Added API:

	 uploadImage(methodArgs, spUUID, sdUUID, imgUUID, volUUID=None)

	 downloadImage(methodArgs, spUUID, sdUUID, imgUUID, volUUID=None)

	Argument methodArgs elects the method used for uploading or downloading
	the image and provides the required additional information needed to
	reach the receiving/sending endpoint.
	Arguments spUUID, sdUUID, imgUUID identify an image and the optional
	volUUID option could identify a specific volume in the chain (the leaf
	is used by default).

	This patch also adds the implementation of the 'http' method used to
	download/upload images from/to web servers or any other http service
	(e.g. openstack glance).

	 info = {
	   'method': 'http',
	   'url': 'http://source-or-destination/path/to/image',
	   'headers': {'X-My-Header', 'MyHeaderValue'},
	 }

2013-07-16  David Gibson  <david@gibson.dropbear.id.au>

	guestIF: Rework XML character filtering
	Data from the guest agent is essentially untrusted, and may contain
	characters which cannot be included in XML such as vdsm's XML-RPC
	responses.

	Commits b5db7c60b61ef6143d3be27c58658ac94c858626 (guestIF: Additional
	object strings filtering) and aef1a7d288d0e5f82ebc4fea3e5f0155e9a7f541
	(agent: XML Character filtering improvement) are attempts to correct this
	filtering, but they are conceptually incorrect and can both fail to
	filter characters which need to be filtered, and filter characters which
	do not need to be filtered.

	aef1a7d288d0e5f82ebc4fea3e5f0155e9a7f541 added code to run the XML
	filtering before UTF8 decoding the message from the guest.  This is
	incorrect, since the characters permitted in XML files are defined
	in terms of Unicode code points, not individual byte values.  This means
	that we currently filter out perfectly valid characters such as \u2122
	(trademark symbol) because its UTF8 encoding (\xe2\x84\xa2) contains a byte
	(0x84) with the same value as the ordinal of one of the XML restricted
	characters.  Worse, filtering that byte gives a bytestring which is
	no longer valid UTF8, and so will lead to a UnicodeError exception on
	decode.

	Since that filtering also takes place before UTF8 and JSON decoding, those
	steps may still result in the construction of invalid XML characters.

	b5db7c60b61ef6143d3be27c58658ac94c858626 partially corrects this by
	(re-)adding XML filtering after the UTF8 and JSON decode as well.  This
	is conceptually correct, but the filter is not thorough enough.  Currently
	the code only filters out characters in set XML defines as
	"RestrictedChar".  In XML valid characters are those in the set "Char"
	which are not in "RestrictedChar", and the filtering currently leaves in
	characters which are neither in "Char" nor "RestrictedChar" - this includes
	the surrogate pair code points, \ufffe and \uffff.  \uffff at least will
	cause the XML parser in ovirt to choke.

	This patch addresses all the above problems.  Additionally it now replaces
	bad characters with the official Unicode replacement character '\ufffd',
	instead of '?'.  It also adds the 'replace' error handling on the UTF8
	decode, so that invalidly encoded UTF8 strings from the guest will not
	cause an exception in VDSM.

2013-07-16  Martin Sivak  <msivak@redhat.com>

	Enable balloon and use the MoM multiple policies feature
	This moves mom policy configuration to /etc/vdsm/mom.d and
	splits the policy files to:

	00-python.policy
	01-parameters.policy
	02-balloon.policy
	03-ksm.policy

	It also uses the 01 file as the destination for updates
	received using the setMOMPolicyParameters API call.

	Add setMOMPolicyParameters
	This adds setMOMPolicyParameters to the API and a configuration
	option mom/tuning_policy to the configuration file.

	It is intended to be used for fine tuning a MoM policy.

2013-07-16  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	destroyStoragePool: release host id lease correctly
	In hsm.py destroyStoragePool, it calls pool.domainMonitor.close() before
	pool.detachAllDomains(). domainMonitor.close() assumes SPM is stopped
	and releases the host id lease for all domains, however this is not true,
	because the master storage domain is not detached and the cluster lock
	is still ative. This causes domainMonitor fail to release host id lease
	of the master domain but the monitor thread is stopped. In log file we
	can see this exception traceback. When we call formatStorageDomain,
	sanlock is still active on the id lease file so the domain can not be
	cleaned, and it raises an exception
	"MiscDirCleanupFailure: Directory cleanup failure" for fileSD,
	"VolumeGroupRemoveError: Volume Group remove error" for blockSD.

	Since pool.detachAllDomains() detaches master storage domain and
	releases cluster lock, pool.domainMonitor.close() should be called after
	pool.detachAllDomains(). Actually self._disconnectPool() indirectly
	calls pool.domainMonitor.close() at last, so there is no need to call it
	directly in destroyStoragePool().

	This patch deletes the line calling pool.domainMonitor.close() in
	destroyStoragePool(), so that the cluster lock and host id lease of
	master storage domain are released in the correct order, and
	formatStorageDomain would succeed in cleaning the domain.

2013-07-16  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove mac address from host interface statistics
	It's unnecessary to report mac address in host interface statistics
	since it's unchanged. And it's not used by engine side. So it's safe
	to remove it.

2013-07-16  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm: /usr/lib/tmpfiles.d/vdsm.conf
	tmpfiles.d is a service in Fedora 15 and later for managing temporary files and
	runtime directories for daemons. Directories /var/run and /var/lock are symlinks
	into the /run tmpfs filesystem. As such, they are created empty on every reboot.
	For files intended to be placed into those directories, this should normally
	not pose any problems. For directories, however, we often need to create the
	directories ahead of time. This is best done using the tmpfiles.d mechanism.

	vdsm.spec: glusterfs 3.4
	Glusterfs 3.4 package now available at Koji, updating the spec.

2013-07-15  Federico Simoncelli  <fsimonce@redhat.com>

	vm: add the live diskSizeExtend method
	This patch adds the diskSizeExtend HSM method to implement the live disk
	extension.

	 returnCode = diskSizeExtend(vmUUID, driveSpecs, newSize)

	 driveSpecs =  {
	   'poolID':   '<spUUID>',
	   'domainID': '<sdUUID>',
	   'imageID':  '<imgUUID>',
	   'volumeID': '<volUUID>',
	 }

	 returnCode = {
	   'status': {'code': 0, 'message': 'Done'},
	   'size': '<newSize>',
	 }

	The driveSpecs (usually poolID, domainID, imageID, volumeID) indentify
	the disk to extend. The driveSpecs as GUID is not supported.
	The returnCode also returns the newSize of the disk seen by the guest
	(might be different from the requested one, e.g. rounded by QEMU).

	The returnCode might also return the following specific errors:

	- noVM(1): Virtual machine does not exist
	- resizeErr(58): Wrong resize disk parameter
	- updateDevice(56): Failed to update device

	deploy: add rpcbind to the needed services
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=977940

	init: restart sanlock groups are missing
	If sanlock was started before the *first* installation of vdsm
	then it is probably missing the supplementary groups and it needs
	to be restarted.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=977926

	volume: add the extendVolumeSize method
	This patch adds the extendVolumeSize SPM method to implement the volume
	size extension (disk resize).

	 extendVolumeSize(spUUID, sdUUID, imgUUID, volUUID, newSize)

	The argument spUUID, sdUUID, imgUUID, volUUID indentify the volume to
	extend, newSize is the new size of the volume in bytes.

2013-07-15  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	trival change for skip mom test logic
	    using wrapper of runtime vdsm caps to judge mom module existence
	instead of trying to load, make it usable for other testcases outside
	this module.

2013-07-15  Mark Wu  <wudxw@linux.vnet.ibm.com>

	spec: restart systemd-modules-load.service on post installation
	It's observed that the needed modules are not loaded after vdsm is
	installed without rebooting system. That's because we reply on
	systemd-modules-load.service to load the modules required by vdsm,
	but systemd-modules-load.service can't detect the new config
	file added by vdsm. It should not be a problem if the vdsm host
	is added to ovirt engine. So this change only make it more friendly
	for people who run vdsm in standalone mode.

2013-07-15  Assaf Muller  <amuller@redhat.com>

	Multiple Gateways[6/2]: Swapped libvirt network & netEnt creation
	During source routing configuraton for DHCP interfaces we wanted
	to know if we're dealing with an interface that's 'owned' by
	VDSM. Because of that we swapped the order in which we ifup
	or ifdown an interface and create its libvirt network,
	so that first we create the libvirt network and then the
	top level device, that way when we ifupifdown and get a DHCP
	response we can check if the interface is known to libvirt.
	That introduced a bug when deleting a network that was on top
	of a bridgeless-bond. Additionally, because of patches 3+4
	in the Multiple Gateways series the original swap created a
	race condition.

	This patch reverses the libvirt network creation / deletion
	and net entitiy creation / deletion to the original order,
	and uses an alternative / additional method to check if an
	interface is owned by VDSM.

	Patch Set 3:
	* Added /var/run/vdsm/trackedInterfaces to spec/make files

	Patch Set 4:
	* Added comment so that future generations know why we must
	  first remove the libvirt network and then the network entity
	  during delNetwork
	* Moved interface tracking files add/delete to
	  DynamicSourceRoute. Moved libvirt/vdsm interface checks
	  from static to dynamic as well
	* Added a helper method to get a tracking file path, using
	  os.path.join

	Patch Set 5:
	* Fixed pep8 issue

	Patch Set 6:
	* Removed debugging log output

	Patch Set 7:
	* Use util.rmFile to remove tracking files
	* Open and then close files instead of using the touch binary
	  for creating tracking files

2013-07-15  Yeela Kaplan  <ykaplan@redhat.com>

	lvm: Enhance lvm performance by altering filter
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=981055

2013-07-15  Assaf Muller  <amuller@redhat.com>

	Multiple Gateways[5/2]: sourceRoute handles exceptions
	sourceRoute.configure and remove now handle IPRoute2Error
	exceptions that can be thrown if using DynamicSourceRoute
	and the Iproute2 configurator. The Iproute2 configurator
	calls 'ip rule add/remove, ip route add/remove' that can
	throw exceptions if the configuration fails.

	For example:
	  1) If we try to add routes if the interface is down
	     (Which might happen during host bootup)
	  2) If we try to configure routes that already exist
	  3) If we try to remove rules that don't exist

	Patch Sets 2-4:
	* Rebases

	Patch Set 5:
	* Moved exception handling to sourceRoute.py

	Patch Set 6:
	* Removed unused imports

	Patch Set 7:
	* Updated commit message

2013-07-15  Yeela Kaplan  <ykaplan@redhat.com>

	fileSD: fix set update for getAllImages
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=982617

2013-07-13  Assaf Muller  <amuller@redhat.com>

	Multiple Gateways[4/2]: Fixed ifdown bug for DHCP interfaces
	If the admin manually ifdown'd an interface of ours following
	patch 3 in the series, we failed to remove the routes and rules
	we created during ifup. The reason is that since patch 3 we
	are working with files. The dhclient hook created a file during
	ifdown and finished the ifdown operation before VDSM got the
	notification that the file was created. By the time VDSM got
	the notification the interface was already down and thus could
	not find any information about the interface.

	This patch fixes that bug by adding the device to the rule
	while adding the rule, so that we may use the device name
	to look up all rules created for that device.

	Patch Set 2:
	* Renamed Rule.inDevice to Rule.srcDevice
	* Removed sourceRoute.py:_getNetwork

	Multiple Gateways[3/2]: Re-did comms between dhclient and vdsm
	SElinux disallows dhclient to change routing table information directly,
	and so we needed a different way for dhclient to communicate with vdsm.
	We did it via files and inotify.
	dhclient writes to /var/run/vdsm/sourceRoutes with all of the info
	of the DHCP response. supervdsm checks that folder upon startup
	(in case dhclient operated while supervdsm was down) and registers
	an inotify event handler on that folder on a separate thread.

	Patch Set 3:
	* Re-added libvirt check when configuring a network
	* Added sourceRouteThread.py, /var/run/vdsm/sourceRoutes dir to
	  spec and make files
	* Capitalized DHClientEventHandler, removed os.path.join usage
	* Files created in /var/run/vdsm/sourceRoutes are now named $timeStamp
	  and we now read the folder in alphabetical order during vdsm start up
	  so that we handle dhcp responses by their received order

	Patch Set 4:
	* Removed argparse from spec file
	* Changed from file created to file closed to fix possible race
	* Answered Giuseppe's and Dan's reviews

	Patch Set 5:
	* Fixed pep8 issue
	* Fixed bug with signature of the event handler. It needed two
	  versions: One I call manually, and one inotify calls

2013-07-13  Aravinda VK  <avishwan@redhat.com>

	gluster: verbs for managing services
	Verbs to manage or get status of gluster/system services.

	glusterServicesGet: To get the status of given system services
	Output structure:
	{'services': [{'name': SERVICE_NAME,
	               'status': STATUS,
	               'message': MESSAGE},..]}

	glusterServicesAction: To start/stop/restart system services like
	glusterd, memcached, gluster-swift-account, smb, gluster-swift-container..
	Output structure:
	{'services': [{'name': SERVICE_NAME,
	               'status': STATUS,
	               'message': MESSAGE},..]}

2013-07-13  Mark Wu  <wudxw@linux.vnet.ibm.com>

	vdsm-tool: remove 'vdsm/tool/*.pyc' files on uninstallation
	It's found that 'vdsm/tool/*.pyc' files are not removed on uninstallation.
	It could cause a break after installing a different version vdsm. That's
	because vdsm-tool tries to load all python modules under vdsm.tool. If the
	requirements of these old modules can't be sytisfied by the new installed
	packages, vdsm-tool will abort.

	This problem is caused by a wrong target type for python files in
	lib/vdsm/tool. They're not compiled during 'make install' and therefore
	complied python files are not tracked by rpm.

	This patch also fixes a wrong target name in CLEANFILES.

2013-07-11  Assaf Muller  <amuller@redhat.com>

	Add bootproto during delNetwork
	bootproto isn't sent from the engine for the delNetwork command.
	However, the multiple gateways feature code needs to behave
	differently during delNetwork as a function of the bootproto.

	This patch gets the bootproto from the cfg file. When we
	add other configurators we'll have to deal with this.

	Patch Set 2:
	* Moved getBootProto from configNetwork to netinfo

2013-07-11  Yaniv Bronhaim  <ybronhei@redhat.com>

	Extend vdsm-tool: moving configure libvirt to external shell script
	Using vdsm-tool to configure libvirt

	Rewrite isOvirt function

2013-07-10  Antoni S. Puimedon  <asegurap@redhat.com>

	net_functional_tests: bondWithManyVlans.
	This patch adds a tests for adding several vlanned networks over
	a bond.

	netinfo updating infra for functional tests
	This patch adds a way to implicitly have current network information
	in the functional tests when performing operations that alter the
	networking state.

2013-07-10  Mooli Tayer  <mtayer@redhat.com>

	Decoupling libvirtconnection.py from clientIF.py
	1.) Decoupling libvirtconnection.py from clientIF.py
	adding libvirt cb handlers for vm events belongs in vm.py
	2.) bugfix: not all libviryconnecition.get() invocations
	from vdsm are wrapped with error handling code
	(with an important implication in the bug description:
	 causes vdsm to shutdown on libvirt connection error)

	These two come in the same patch because removing
	the cif dependency (clientIF instance) from libvirtconnection
	must handle errors in a new way - sendind SIGTERM to the current
	process which solves the bug.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=958367

2013-07-10  Giuseppe Vallarelli  <gvallare@redhat.com>

	Bugfix update device hooks: after_update_device failure.
	In case of failure during before update device, after_update_device
	should use the backup object, having vnicXML not in a valid state.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=893576#c11

2013-07-10  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Cleanup the usages of configWriter in configNetwork
	We should keep the interaction with configWriter inside configurator.
	So this patch changes to construct new configWriter instantance in
	ifcfg's __init__() and use configurator to implement the transaction
	management of configuration.

2013-07-10  Arik Hadas  <ahadas@redhat.com>

	RAM snapshots feature
	This patch adds the ability to take live snapshot of a VM that includes
	its memory state, and to restore memory state that is saved as part of a
	snapshot when reverting back to it.

	There is a detailed description of the design at the feature page:
	http://wiki.ovirt.org/Features/RAM_Snapshots

2013-07-10  Ofri Masad  <omasad@redhat.com>

	API: Add free memory to stats
	currently, only memAvailable is exposed by API. But this api is a
	calculated value and so it may return negative value in case ksm
	is up and pages are shred among VMs.

	The new "memFree" returns the true free memory on the host.
	i.e. 'MemFree' + 'Cached' + 'Buffers' (from meminfo)

	Bug-Url: https://bugzilla.redhat.com/977758

2013-07-10  Assaf Muller  <amuller@redhat.com>

	before/after_update_device hook now receives custom properties
	Patch Set 2:
	Patch set 1 took the custom properties from the device. But
	that means that the custom properties past in the command
	are ignored. Patch set 2 fixes this: The custom properties
	are now always taken from the verb's arguments, and the
	device's custom properties are updated.

	Patch Set 3:
	Moved the update to the in-memory cache of the device's
	custom properties to a more sensible location.

2013-07-10  Dan Kenigsberg  <danken@redhat.com>

	spec: finer-grained libvirt requirement

2013-07-09  Martin Sivak  <msivak@redhat.com>

	Add balloon_min to VM.getVmBalloonInfo
	The balloon_min key will take its value from memGuaranteedSize
	attribute. It's default value will be 0, but can be overriden by
	whoever is creating the VM instance or setting the attributes.

	This functionality is needed for basic memory QoS.

2013-07-09  Yaniv Bronhaim  <ybronhei@redhat.com>

	vdsm-tool usage: Adding path variable to init script

2013-07-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init: do not use previous libvirt logrotate
	In the past VDSM have been creating /var/log/libvirtd.log to track libvirt
	calls and also add rule for such file into /etc/logrotate.d/libvirtd.
	However, now VDSM uses /var/log/libvirt/libvirtd.log (commit fe01963f)
	and should replace any previous conf on /etc/logrotate.d/libvirtd
	with VDSM suggestions.

2013-07-09  Giuseppe Vallarelli  <gvallare@redhat.com>

	Qos feature: Adds bandwidth definition at configuration level.
	Network definition when configuring libvirt network is enriched with
	the optional bandwidth parameters for traffic shaping. Patch includes
	a refactoring of the xml generation and some tests.

2013-07-08  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netconf: Add a base configurator class
	This patch add a base configurator class to make the code not related
	to specific configurator implementation shared by configurator ifcfg
	and iproute2.

	It renames ifcfg's member configWriter to configApplier, a more generic
	name and also applicable to iproute2.

2013-07-08  Antoni S. Puimedon  <asegurap@redhat.com>

	Simplify configWriter to use netmodels
	configwriter add methods were using tons of parameters. It would be
	simpler if they were to use netmodels info.

	Patch Set 2: clean up the netmodels configurator interaction.

	Patch Set 4: Changed bond and bridge properties to use isinstance.

2013-07-08  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-tool: speedup loading seboolsetup.py
	On RHEL6 "import seobject" takes a very long time. This patch moves the
	seobject import statement in seboolsetup.py from module top level to
	function level. This small modification reduces the total startup time
	of VDSM, since VDSM moves most of the management utilities into
	vdsm-tool.

2013-07-08  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix pep8 issue with net functional tests cleanup
	The previous patch lacked a blank line and due to jenkins
	giving false positives I missed the problem.

2013-07-08  Dan Kenigsberg  <danken@redhat.com>

	/me is tired of pep8 flavors

2013-07-08  Mike Kolesnik  <mkolesni@redhat.com>

	hooks: Fix openstacknet hook
	The hook should be built with default VDSM build since we want to supply
	it to users.

	Additionally, the consts file should be packaged with it's "binaries" in
	the RPM.

2013-07-08  Antoni S. Puimedon  <asegurap@redhat.com>

	Cleanup networking functional tests dummy conf
	Due to the fact that the dummies used for the functional tests are
	treated just like nics, ifcfg files for them remain after the
	functional tests are completed. This patch adds a module teardown
	action that restores the networking configuration file status
	previous to running the tests.

	Patch Set 2:
	- Moved the teardown to module level for symmetry.

2013-07-07  Mike Kolesnik  <mkolesni@redhat.com>

	hooks: README for OpenStack Network vNIC hook
	Added a readme file outlining the general behaviour of the hook.

	hooks: Support OpenStack Network in hot plug NIC
	Adding hook support for hot plugging a vNIC to the VM.
	The hook should behave exactly as the before_device_create hook, so
	reusing the same hook code for hot plugging.

	hooks: Support OVS in OpenStack Network vNIC hook
	The hook will now support connecting a vNIC both to a standard linux
	bridge, and an OVS bridge.

	The hook should work in tandem with the corresponding OpenStack Network
	plugin: Linux Bridge or OVS plugin.

	hooks: Add OpenStack Network vNIC hook
	This hook is used to enable OS-network agent to connect a vNIC as it
	wants, instead of trying to connect to the bridge that is sent by engine
	(which doesn't exist, as the vNIC should be managed by the agent).

	Upon migration, the updated XML is being sent, so no further hook
	besides this one is required.

2013-07-07  Martin Sivak  <msivak@redhat.com>

	Clean the imports a bit

2013-07-07  Mooli Tayer  <mtayer@redhat.com>

	Adding intellij project files to .gitignore
	Patch Set 2:
	Re-ordered new files to keep .gitignore sorted

2013-07-06  huntxu  <mhuntxu@gmail.com>

	BindingJsonRpc: correctly stop reactors
	vdsm raises an exception saying "AttributeError: 'str' object has no
	attribute 'stop'". This commit fixes this problem.

2013-07-05  huntxu  <mhuntxu@gmail.com>

	tests: Use uppercase label for floppy in mkimageTests
	Commit 10c1c41fd8e in dosfstools: "Write uppercase letters in label."
	That commit has been in dosfstools since version 3.0.16, and Fedora 19
	uses version 3.0.20.

	For quick reference(copied from dosfstools commit message):
	  * https://bugzilla.novell.com/show_bug.cgi?id=657011#c4
	  * http://support.microsoft.com/kb/71715/en-us

2013-07-05  Peter V. Saveliev  <peet@redhat.com>

	vdsm: fix config comment for migration_timeout
	The migration_timeout variable means not overall migration timeout,
	but the timeout since migration is stalled. Each time when migration
	does some progress, this timeout counter is reset. Thus, overall
	migration time can be longer than migration_timeout, and this is
	by design.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=970645

2013-07-05  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-tool: service management work with previous systemd release
	The service management assumes systemctl automatically adds ".service"
	suffix to the service name. This is true for the latest SystemD, but
	before systemd-44-20.fc17 [1], this feature is not available.

	This patch adds ".service" suffix before sending the service name to
	systemctl, so it does not depend on the auto-suffixing feature any more.

	[1] https://lists.fedoraproject.org/pipermail/package-announce/2012-October/090358.html

	Reported-by: Deepak C Shetty <deepakcs@linux.vnet.ibm.com>

2013-07-04  Greg Padgett  <gpadgett@redhat.com>

	vm payload: custom volume labels
	Change required for cloud-init integration: support custom volume labels
	for vm payload.

	Bug-Url: https://bugzilla.redhat.com/619761

	vm payload: creation of full pathnames in payload
	Change required for cloud-init integration: support the creation of
	payloads with files residing in subdirectories of the payload image.

	Bug-Url: https://bugzilla.redhat.com/619761

2013-07-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove unused hsm._hsmSchedule()
	Related to: BZ#960952.

2013-07-04  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	PEP8: fix variours errors
	pep8 1.4.6 gives the following error
	tests/hooksTests.py:140:23: E127 continuation line over-indented for
	visual indent
	tests/hooksTests.py:141:18: E124 closing bracket does not match visual
	indentation

	And pep8 1.4.5 on RHEL6 gives the following error
	vdsm/guestIF.py:30:5: E122 continuation line missing indentation or
	outdented

	This patch fixes the errors while makes pep8 1.4.5 and 1.4.6 both agree
	with the fix.

2013-07-04  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding to make a print of pep8 and pyflakes versions

2013-07-03  Martin Sivak  <msivak@redhat.com>

	Fix the charset conversion logic in hooks.py
	The proper way to convert text from byte oriented string to unicode
	is to call str.decode(encoding). This patch fixes this and makes
	Jenkins tests work for people with diacritics in their names.

	The issue was caused by my name (with czech accents) being present
	in an environment variable which was processed in hooks.py
	using the following code:

	scriptenv = os.environ.copy()
	for k, v in scriptenv.iteritems():
	    scriptenv[k] = unicode(v).encode('utf-8')

	This unicode call expects the data to be in ascii, but my name was
	encoded as utf-8 in this case.

2013-07-03  Eduardo Warszawski  <ewarszaw@redhat.com>

	Improve StoragePool.detachAllDomains() monitoring.

2013-07-03  Assaf Muller  <amuller@redhat.com>

	Fixed rollback of port-mirroring enabled nic during hotplugNic
	During vm.py:hotplugNic, if the nic had port mirroring enabled
	and setPortMirroring failed, then previously the rollback
	tried to use self.hotunplugNic with a 2nd parameter but the method
	only accepts one parameter, as it should.

	Patch Set 2:
	Fixed merge issues

2013-07-03  Peter V. Saveliev  <peet@redhat.com>

	vdsClient: check getFileList arguments
	A simple check of getFileList arguments on the function call.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=958878

2013-07-03  Ohad Basan  <obasan@redhat.com>

	Fix pep8 compliance after updating to latest pep8

2013-07-03  Mike Kolesnik  <mkolesni@redhat.com>

	vm: Fix custom device properties on hot operation
	On hot plug & unplug of a vNIC/vDisk the custom device parameters should
	be taken from the device itself, as is done in the run VM operation,
	thus keeping a consistent API.

2013-07-03  Yaniv Bronhaim  <ybronhei@redhat.com>

	Fixing pep8 and pyflake errors after updating to new pep8 version

2013-07-02  Yeela Kaplan  <ykaplan@redhat.com>

	tests: Mark JsonRpcServerTests as broken

2013-07-02  Dan Kenigsberg  <danken@redhat.com>

	functional tests: allow ssl too

2013-07-02  Giuseppe Vallarelli  <gvallare@redhat.com>

	Hidden bonds[1/2]: Adding a test to cover the current implementation of nics().

2013-07-01  Federico Simoncelli  <fsimonce@redhat.com>

	volume: add the BLOCK_SIZE constant

2013-07-01  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Storage Domain V3 Functional Tests
	The functional tests are for storage domain v1, change them to test
	both storage domain v1 and v3. Getting host id lease from sanlock takes
	more time in storage domain v3 so the patch increases the waiting time
	before timeout.

	Add NFS storage domain functional tests
	Test creating NFS storage domain, pool, image, volume.
	Test creating VM with the NFS storage.

	How to verify:
	1. build and install VDSM rpms, including vdsm-tests
	2. start VDSM service
	3. cd /usr/share/vdsm/tests
	4. ./run_tests.sh -m 'nfs' functional/xmlrpcTests.py

2013-06-30  Aravinda VK  <avishwan@redhat.com>

	gluster: new vdsm verb glusterHostUUIDGet
	New gluster vdsm verb to get glusterd UUID of the host, which uses
	gluster cli command "gluster system:: uuid get"

	Gluster CLI sample output:
	UUID: f2023224-2ae2-4893-92ab-b078defd2991

	new verb: glusterHostUUIDGet
	Output structure: {'uuid': UUID}

2013-06-30  Antoni S. Puimedon  <asegurap@redhat.com>

	Make networking API endpoints match schema
	There used to be non-optional parameters with default values. And
	not only that, the default values were mutable which is bad.

	Patch Set 2:
	- Rebased.

2013-06-29  Aravinda VK  <avishwan@redhat.com>

	dumpStorageTable: fixed a unhandled exception when poollist is empty
	when poollist is empty then dumpStorageTable was failing with
	'IndexError: list index out of range', Also crash dump was reported
	in /var/log/messages

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=961816

2013-06-29  Dan Kenigsberg  <danken@redhat.com>

	vdscli: make __getLocalVdsName more robust
	vdscli attempts to guess the name of the local host by reading the
	"subject" of its openssl certificate.

	On Fedora 19, the order of the subject fields has changed. This patch
	makes __getLocalVdsName a bit more robust, and adds a unit test for it.

2013-06-27  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	nit fix for _cleanOldFiles
	svdsm.sock will not be in filterd fileType

2013-06-27  huntxu  <mhuntxu@gmail.com>

	XMLRPCServer: make XMLRPCServer able to listen on IPv6 addresses
	SimpleXMLRPCServer is derived from SocketServer.TCPServer of which the
	default address_family is socket.AF_INET, that makes it could only
	listen on IPv4 connections. This patch wraps it and extends its
	ability on IPv6 networks.

	How to test:

	  1. Build and install VDSM RPMs
	  2. Edit /etc/vdsm/vdsm.conf, change "addresses/management_ip = ::",
	and "vars/jsonrpc_enable = false"(as known to break JSONRPC)
	  3. Restart VDSM daemon
	  4. "netstat -nlp6t" or "ss -nlp6t" should indicate vdsm XMLRPC server
	is listening on "::"
	  5. "vdsClient -s '[::1]:54321' getVdsCaps" succeeds

2013-06-27  Yeela Kaplan  <ykaplan@redhat.com>

	clientIF: Check disk alignment using virt-alignment-scan

2013-06-27  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix potential race of getting caps during addNet
	getmtu can return IOError when a libvirt network underlying device
	does not exist. This can happen when we get a getVdsCapabilities
	request after the libvirt network entry has been added but before
	the device has been ifupped.

2013-06-26  Yeela Kaplan  <ykaplan@redhat.com>

	alignmentScanTests: Remove text output validation of help
	'virt-alignment-scan --help' output has changed in fedora 19.
	No need to check the actual output text, but only that we
	can run 'help'.

2013-06-26  Greg Padgett  <gpadgett@redhat.com>

	vm payload: clarify intent of supporting multiple files
	With cloud-init integration now using payloads with multiple files,
	clarify that this is supported in the payload code.

	Bug-Url: https://bugzilla.redhat.com/619761

2013-06-26  Eduardo Warszawski  <ewarszaw@redhat.com>

	Ignore partially deleted images in getAllImages().
	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=905038

	Remove StoragePool.getImageDomainsList().
	Avoid code duplication.

	Related to BZ#905038.

	Interface changes for getImageDomainsList internal changes.
	Complement to I25fe2714e4c4e832230653cebc87d8da0e81028b.

2013-06-26  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix multiple default gateways reporting
	Up until now there was just a default gateway per host, defining
	default as going towards 0.0.0.0/0. If more than one device
	received a default gateway setting, only the latest to be
	configured kept its configuration as host default configuration.

	Now, thanks to multiple gateways, we have a routing table for each
	network, which allows us to have multiple default gateways to
	report. The only issue is that /proc/net/route only reports
	information for table 254, while we are using several. For this
	reason, we change the implementation to use ipwrapper to get the
	information from all the tables.

	PatchSet 2:
	- Fix calling to ipwrapper and added it to lib/vdsm/Makefile.am

	PatchSet 3:
	- Rebase on top of the fixes of multiple gateways.
	- Split Routes fromText into parser and fromText.
	- Made source use the new placement and parse method of ipwrapper.

	Patch Set 4:
	- Rebase the patch.

2013-06-26  Assaf Muller  <amuller@redhat.com>

	Multiple Gateways[2/2]: configNetwork integration
	This patch provides the integration of sourceRoute with the
	configurator flow.

	For static routes, multiple gateways uses the ifcfg configurator
	and its configWriter to write:
	    /etc/sysconfig/network-scripts/{route,rule}-netname
	Those files are taken care of by ifup/ifdown.

	For dynamic routes (DHCP) it has a hook in
	/etc/dhcp/dhclient.d/sourceRoute.sh that is automatically executed
	by dhcpd when it obtains a lease for a device. The hook will call
	directly the sourceRoute.py command line UI that will delegate
	the actions to the iproute2 configurator. For this hook to work,
	selinux needs a few policy updates that have been requested in:

	https://bugzilla.redhat.com/show_bug.cgi?id=977856

	The selinux-policy changes are needed due to the fact that the python
	code in sourceRoute.py is being executed from the dhcp_t context
	and not from the usual service, reason for which currently there was
	no policy to allow such context to access several parts of the system
	via python.

	The integration is done at the configureDevice level because it is
	the only sensible choice considering that the static file removal
	must be done between ifdown and ifup (so that ifdown takes down the
	rules and ifup doesn't have them anymore so it does not apply them)
	and the fact that configureDevice for nics and bonds must leave the
	device up, i.e., they do ifdown and ifup inside the method.

	Patch Set 2:
	- delNetwork now checks that the bootproto is not dhcp
	- In sourceRoute.py: Removed check if the interface has
	  a libvirt network on top of it because it was preventing
	  DHCP interfaces from going up properly. Will need to think
	  of a different fix.

	Patch Set 4:
	- Fixed the Makefile and spec for dhcp hook installation.

	Patch Set 5:
	- Fixed the network deletion. It was trying to remove routes for an
	  already unexistant network device.

	Patch Set 7:
	- Fixed dhcp flow by changing when we do libvirt network addition
	  and deletion.

	Patch Set 8:
	- Addressed review comments. Fixed the ifup ifdown flow when using
	  the ifcfg configurator (and the iproute2 for dhcp).

	Patch Set 9:
	- Addressed review comments and squashed:
	      http://gerrit.ovirt.org/#/c/16087/1
	      I09aec8fa9a2ef2d61609a0a807f4e7130978fbfb
	  into this patch.

	Multiple Gateways[1/2]: add sourceRouting module
	http://www.ovirt.org/Features/Multiple_Gateways

	Patch Set 3:
	* Trivial fixes after comments from initial review

	Patch Set 4:
	* Use newly implemented iproute2 binary wrapper

	Patch Set 5 - 8:
	* Rebased changes from ipwrapper.py
	* Structural changes to allow introducing a configurator

	Patch Set 9:
	* Configure now checks if the gateway received
	  is 0.0.0.0. If so, nothing has to be done.

	Patch Set 11:
	* Squashed with next patch in series
	* Added a configurator to SourceRoute
	* Moved SourceRoute add/del routes/rules to Ifcfg configurator
	  and Iproute2 configurator.
	* configure and remove now check that the requested interface
	  is 'tracked' by VDSM. That is, it was created by us
	  and not an interface configured manually by the admin.
	* SourceRoute no longer needs or knows if it's Static or not.

	Patch Set 12:
	* Added sourceRoute.py and netconf/iproute2.py to make
	  and spec files

	Patch Set 13:
	* Use a argparse to deal with command line arguments

	Patch Set 14:
	* Dropped WIP tag and changed name to reflect that it is a partial
	  state of the feature.

	Patch Set 15:
	* Rebase

	Patch Set 16:
	* Reflect the changes of method names in the previous patch.

	Patch Set 18:
	* Fix deleting network without routes and rules.

	Patch Set 19:
	* Fix ipaddr -> ip.

	Patch Set 21:
	* Fix 'static' -> 'none'.

	Patch Set 22:
	- Fix bug when taking down interfaces. The previous version failed to
	  remove rules due to the fact that on el6:
	      ip route show table xxxxxxxxx
	  gives the routes of the xxxxxxxxx table but also of the main table,
	  so for example the ovirtmgmt route on a different device and
	  different table was being marked for removal from table xxxxxxxxx.
	  Since the route wasn't really on the table, netlink returned an
	  exception and we never reached the rule removal stage.

	Patch Set 23:
	- Make the code cleared in the except ValueError.

	Patch Set 24:
	- Sort import sections alphabetically. Make staticmethods out of
	  instance methods without state nor class dependencies.

	Patch Set 25:
	- Fixed the bootup issues for DHCP and refactored sourceRoute into
	  static and dynamic for easier integration in the following patch.

	Patch Set 26:
	- Addressed review comments about logging and documenting.

2013-06-26  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix bridgeless net regression
	The commit:
	Ie8bb5fd9fc6ad69cf120d62264d73490b65b82d7
	http://gerrit.ovirt.org/#/c/11356/4/

	That commit introduced a bug that prevents the user from configuring
	a bridgeless network with dhcp. That is so because after the change,
	if ipaddr is None, which is the most usual case when configuring a
	network for dhcp, bootproto will be overriden by what was on the
	original config file (quite probably None).

2013-06-24  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	functional test: boot VM with network interface device

2013-06-24  huntxu  <mhuntxu@gmail.com>

	netinfo: get an interface using one of IP addresses assigned to it
	We record the server's IP address for each XMLRPC request, preventing
	manually parsing the routes files.
	This patch also fix an error that when connected from localhost(using
	tools like vdsClient) through the loopback interface, vdsm would report
	the interface associated with the default gateway as the used interface,
	instead of the expected result 'lo', because the routing table doesn't
	contain any information for the device 'lo'.

2013-06-24  Antoni S. Puimedon  <asegurap@redhat.com>

	configNetwork: fix handleBondings regression
	during the rebase destroy was not updated to its new name of
	destroyOnRemoval. This patch fixes that.

	Patch Set 2:
	- Added a functional test to catch this sort of problem in the
	  future.
	Patch Set 3:
	- Fixed arguments.

	Patch Set 4:
	- Added extra tests.

	Patch Set 5:
	- Improvement on the tests.

	Patch Set 6:
	- Fixed pep8.

	Patch Set 7:
	- simplified pinger.

	Patch Set 8:
	- Cleaned the pinger implementation.

2013-06-23  Mike Kolesnik  <mkolesni@redhat.com>

	Don't depend on storage module
	There is no real need for hooking module to depend on the storage
	module, except for the execCmd which is being delegated to
	utils.execCmd, so importing the execCmd directly from utils instead.

2013-06-23  Antoni S. Puimedon  <asegurap@redhat.com>

	netinfo: fix getMaxMtu generator handling
	getMaxMtu was changed to use iterables instead of just lists.
	The check for if and a generator is always True regardless of
	it generating any elements. Thus, max could fail.

	This fixes a regression introduced by:
	http://gerrit.ovirt.org/15355

2013-06-22  Dan Kenigsberg  <danken@redhat.com>

	vmTests: split data to another module
	As suggested by Maciej and promised to Vinzenz in
	http://gerrit.ovirt.org/14111
	Also, bury the turm "libvirtvm".

2013-06-21  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove unused hsm members.
	_statslock, _domstats, _cachedStats.

2013-06-20  Giuseppe Vallarelli  <gvallare@redhat.com>

	tests: Adding functional tests for networking
	Functional tests for creation and deletion of virtual networks:
	This patch includes tests related to the addNetwork verb in
	particular validation of input params. Tests added are the
	following ones:

	* test_add_delete_network
	* test_fail_with_invalid_bonding_name
	* test_fail_with_invalid_bridge_name
	* test_fail_with_invalid_ip_config
	* test_fail_with_invalid_nic
	* test_fail_with_invalid_params

2013-06-19  Assaf Muller  <amuller@redhat.com>

	iproute2 binary wrapper
	Initially to be used by the upcoming multiple gateways
	feature. Only the needed commands were implemented.

	Patch Set 5:
	  * Changed Route and Rule parsing to Toni's more
	    robust method
	  * Route class: Previously there was a distinction
	    between a default route and a normal route. I removed
	    that distinction and the word 'default' in a route
	    is interpreted as '0.0.0.0/0'

	Patch Sets 6-9:
	  * Empty

	Patch Set 10:
	  * Added ipwrapper.py to spec and make files

	PatchSet 11:
	  * Made changes proposed in earlier reviews.

	PatchSet 12:
	  * Parsing unit tests.

	PatchSet 13:
	  * Added forgotten parsing unit tests.

	PatchSet 15:
	  * Changed name of routeForDevice to reflect that it only returns the single
	    route for the link network of the device.

	PatchSet 16:
	  * Removed unnecessary output from action performing methods.

	PatchSet 17:
	  * Added python-netaddr to the build requirements.

	PatchSet 18:
	  * Rebased to get the benefits from markin jsonrpc tests as broken.

	PatchSet 19:
	  * Provided more descriptive docstrings for fromText.

2013-06-19  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove unused onlyDataDomains parameter from getImageDomainsList.
	This patch is required for unify hsm.getImage* functions logic.
	onlyDataDomains parameter never was false. In addition it was
	erroneously used by the CLI.

2013-06-18  Dan Kenigsberg  <danken@redhat.com>

	Declare a broken test as such
	jsonRpcTests.JsonRpcServerTests.testMethodCallArgList tends to fail when
	run on Jenkins, such as in
	http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/2864

2013-06-18  Antoni S. Puimedon  <asegurap@redhat.com>

	netmodels code cleanup
	Removes unused parameters and variables.

2013-06-18  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Separate libvirt network configuration from ifcfg
	The libvirt network configuration code could be reused by non persistent
	configurator, so this patch separates it from the ifcfg configurator.

	NetReload: netmodels for editBonding/removeBonding
	Re-implement the logic of editBonding and removeBonding using
	netmodels.

	PatchSet 11: Rebase.

2013-06-18  Lukas Bednar  <lbednar@redhat.com>

	Add code coverage support
	This commit adds option to enable vdsm code coverage by setting

	    COVERAGE_PROCESS_START=/path/to/config/file/for/python-coverage/module

	in /etc/sysconfig/vdsm.

2013-06-17  Giuseppe Vallarelli  <gvallare@redhat.com>

	Fix param name in vdsmapi-schema: naming issue.
	Data type for inbound and outbound params should be
	VmInterfaceDeviceBandwidthParams instead of
	VmInterfaceBandwidthParams.

2013-06-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-tool: extend service module to cover alternative service names
	Service names are different on various systems, instead of hard-coded
	service names for each supported system, we can extend vdsm.tool.service
	to detect the right service name given some hints (possible alternative
	names). This makes the service management more flexible and helps to
	port us to new systems easily.

	This patch iterates over the alternative service names list for each
	management operation.

2013-06-16  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#836161 - Remove code obsoleted by deleteImage() rewrite.
	This is a separate patch for improved readability.

	Related to BZ#910013, BZ#905938, BZ#875708, BZ#864073

2013-06-13  Daniel Erez  <derez@redhat.com>

	introducing virtio-scsi support
	Drive class:
	* makeName - map 'scsi' to 'sd'
	* getXML:
	- added 'sgio' flag [1]
	- device='lun' is used instead of device='disk' for supporting
	  LUN passthrough (which can be used with virtio-scsi).
	  Hence, adding 'driver' tag similarly to 'disk' device.

	LibvirtVm class:
	* getUnderlyingDriveInfo - get/set 'sgio' attribute.

	TestLibvirtvm class:
	* testControllerXML - test 'virtio-scsi' controller
	* testDriveXML:
	- test virtio-scsi image disk
	- test virtio-scsi LUN passthrough

	API Schema:
	* Updated:
	- VmDiskDeviceInterface
	- VmDiskDeviceType
	- VmControllerDevice

	[1] 'sgio': SCSI Generic IO - filtered/unfiltered
	(indicates whether the kernel will filter unprivileged
	SG_IO commands for the disk).

2013-06-13  Amador Pahim  <apahim@redhat.com>

	Added 3.3 to SupportedENGINES in dsaversion

2013-06-13  Assaf Muller  <amuller@redhat.com>

	Added 3.2 to SupportedENGINES in dsaversion

2013-06-13  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init: ajust libvirt log file
	Nowadays VDSM configure libvirt daemon to log into /var/log/libvirtd.log.
	This patch will make vdsm set the log file into the current default
	location for libvirt logs /var/log/libvirt/libvirtd.conf.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=755548

2013-06-13  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-tool: extend "service" module to check existence of a service
	Add a service-is-managed command to check if a service is managed by
	either of the supported init systems. With the decorator _XXXNative in
	previous commit, the implementation of service-is-managed command is
	straight forward: just add _XXXNative tag to a action function that
	always succeeds.

	vdsm-tool: avoid service action redirections
	Some smart init system will redirect actions to other init system when
	the service is not managed natively. This behaviour interferes the
	parsing of the service action output.

	Add a decorator _XXXNative to check if a service is managed by a certain
	init system. _XXXNative tag is then added to every action function to
	avoid execution of an action on a service that is not managed by that
	particular init system, so as to avoid redirections.

	An environment variable is also added for SysV actions to prevent
	redirection to SystemD, this is specific for those systems with
	co-existence of SystemD and SysV, and is no harm to those systems with
	only SysV or with co-existence of Upstart and SysV.

2013-06-13  Giuseppe Vallarelli  <gvallare@redhat.com>

	QoS feature: Adds bandwitdh elem to a network interface definition.
	NetworkInterfaceDevice can now generate xml definition for shaping
	incoming and outgoing traffic supported attributes are the following
	ones: average, burst and peak.

2013-06-13  Arik Hadas  <ahadas@redhat.com>

	fix for after_vm_dehibernate hook not being called
	Due to what seems to be a copy-paste or typo problem, the
	after_vm_hibernate hook was called instead of after_vm_dehibernate
	hook after the vm is being dehibernated. This patch correct that call.

2013-06-12  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Simplify setNewMtu()
	It will update the interface's MTU only if its user being removed has
	the maximum MTU.

2013-06-11  Timothy Asir  <tjeyasin@redhat.com>

	gluster: fix remove disabled hook exception handling error
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=971775

2013-06-11  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Move removing libvirt network to configurator
	This patch adds a wrapper for the configWriter.removeLibvirtNetwork()
	in configurator and call it in delNetwork because we should try to
	avoid using ConfigWriter directly in configNetwork.py

2013-06-11  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: vmChannels: Do not use epoll unregister
	We don't use epoll.unregister for the deregistration from epoll anymore.
	According to the epoll documentation, epoll will remove the fd when the
	fd was closed.
	Since we're always closing the sockets where this is used and we
	otherwise might run into race conditions we're no longer calling
	epoll.unregister to avoid attempts to unregister fds which might no
	longer belong to us.

	The problem on this race condition is that we're handling file descriptors
	by numbers. When we're ending the GuestAgent by calling stop() it will send
	the fd to the listener thread by inserting it into a queue so the listener
	can handle it the next time. However we're immediately closing the socket and
	the OS is free to reuse the fd. By the time we're going to unregister the fd
	from epoll the fd might have been already reused for our process by the OS
	because it reassigns the lowest available fileno.

	To solve this issue we're using the capability of epoll to detect closed
	fds and rely on it's mechanism to unregister them. By that we're not running
	into the issue of unregistering the fd from fd which might have been already
	already assigned to a different object.

2013-06-11  Mark Wu  <wudxw@linux.vnet.ibm.com>

	NetReload: netmodels for delNetwork
	This patch re-implements the delNetwork logic using the network
	entities defined in netmodels.

2013-06-11  Federico Simoncelli  <fsimonce@redhat.com>

	iscsi: report hba sessions as fiber channel
	At the moment the engine doesn't support static (unmanaged) iscsi
	connections therefore it's safer to maintain the old behavior and
	report the HBA iscsi sessions as if they were fiber channel devices.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=967605

2013-06-10  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	multipath.py: use vdsm.tool.service to restart multipathd
	multipath.py restart and reload multipathd using service command
	directly. This patch uses vdsm-tool service module to manage the system
	service improves portability. It covers SysV, SystemD and Upstart as
	well as possible daemon names in various systems (multipathd is named
	multipath-tools in Ubuntu).

	Add "service-reload" command to vdsm-tool service module
	"vdsm-tool service-reload XXXd" will notify the system service to reload
	its configurations

2013-06-10  Dan Kenigsberg  <danken@redhat.com>

	fix testBuildCmdLine not to be upstream-specific
	A certain downstream product would like to change SMBIOS_PRODUCT without
	failing the unit test.

2013-06-10  Eduardo Warszawski  <ewarszaw@redhat.com>

	Improve __prefetch logging.
	Related-To: https://bugzilla.redhat.com/show_bug.cgi?id=967296

2013-06-09  Federico Simoncelli  <fsimonce@redhat.com>

	misc: handle scientific notation in readspeed
	When the amount of bytes is low and the speed is high the elapsed time
	is expressed using the scientific notation.

	In this patch:
	* handle dd errors
	* minor fix to make _readfile prettier

	Bug-Url: http://bugzilla.redhat.com/show_bug.cgi?id=948232

2013-06-07  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netinfo: Simplify the check if an interface still has any other users.
	In current oVirt network models, a nic device has four kinds
	of usages:
	    * bonding's slave
		* vlan's slave
		* bridge's port
		* bridgeless network's interface
	A bond device has the same usages as nic except the first one.

	And an interface(nic or bonding) could be multiplexed by different usages.
	But bonding and bridge need use the interface exclusively. So only two
	combinations are valid:
		* multiple vlan users
		* multiple vlan users with one bridgeless network user

	When we remove one user of an interface, we need check if the interface
	still has by other users except the user being removed currently. According
	to that, we decide if restore the interface to initial state or destroy it
	(for bonding).

	The original code can work fine both with the netinfo instantiated before
	or after the user is removed. In the new code, it needs an updated netinfo
	instance, which doesn't include the user is already removed. And it doesn't
	require any information about the user removed.

	In the original implementation, the checks for nic and bonding are handled differently
	because it also checks the bond users if a nic is a slave of bond. Actually,
	it's not neccessary either. If the bond has other users, we will not remove its
	slave. That means the check will not be invoked. So for the check of nic, it
	doesn't need care about the usage of its bond master, because it's done in bond
	level.

2013-06-07  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: update python-pthreading
	F19 and EL7 should require python-pthreading >= 1.0.2

2013-06-07  Giuseppe Vallarelli  <gvallare@redhat.com>

	Bugfix: TypeError when using configNetwork.addNetwork with bootproto as kw param.
	A TypeError is raised when using configNetwork.addNetwork by providing
	bootproto as a keyword argument, this patch solve this issue without
	altering addNetwork and objectivizeNetwork interfaces.

2013-06-06  Antoni S. Puimedon  <asegurap@redhat.com>

	Unify mtu internal representations as integers
	In netmodels, configNetwork and netinfo.getMaxMtu we always handle
	MTUs as being of integer type. There were only two exceptions to
	this rule, in netinfo reporting code. This code makes getMtu
	to return an integer just like getMaxMtu and makes the exceptions
	be exceptional cases that will use str.

2013-06-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netmodels: add a backward reference to NetDevice's master device
	The netmodels keeps reference to slave device for a master device, but
	the slave device doesn't have a backward reference. This patch adds
	the reference on configuring, which can make it easier to get its usage
	on removing an interface. In the coming delNetwork implementation based
	on netmodels, we just call netdevice.remove() to delete a network entity.
	So the NetDevice object should contain all the information needed by
	the remove operation. We have different handling on removal when an
	interface is attached to different types of masters. For example, if the
	master of an inferface is Bond, Vlan, or Bridge, then we don't need
	consider removing IP configuration on it because it could not be the top
	object of the network hierarchy.

2013-06-05  Timothy Asir  <tjeyasin@redhat.com>

	gluster: Fix vdsm gluster api schema error
	fixed typo and renamed 'boolean' into 'bool' in json schema file
	and renamed 'type' into 'mimetype'.

2013-06-05  Giuseppe Vallarelli  <gvallare@redhat.com>

	fix: Adding missing hooks folder to vdsm.spec.in
	Missing folders in vdsm.spec.in for the update device hooks are
	the following ones: before_update_device and after_update_device.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=893576

2013-06-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Extract helper functions for updating nic and bonding's mtu

	Reduce the redundant parameters for addVlan()

	Separate adding libvirt network from configuring host network.
	It makes it simpler to test the network configure functions, and
	also make the code a little bit cleaner.

2013-06-05  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-toolize dummybr and nwfilter
	Move dummybr and nwfilter to vdsm-tool, so that all the init wrappers in
	the supported or to-be-supported systems can call them uniformly.

2013-06-05  Maciej Lichon  <maciej.lichon.wroclaw@gmail.com>

	Added unit test libvirtvmTests.py:TestLibvirtvm.testBuildCmdLine

2013-06-04  Yaniv Bronhaim  <ybronhei@redhat.com>

	Making getAllTasks[List and Statuses] an SPM command
	Currently VDSM does not manage HSM tasks. This verb is used only to poll
	SPM tasks. If the host is not SPM, an exception will be raised. Backwards
	compatibility is not required as the verb API is not changed and the
	behaviour stays as expected in older clusters (Instead of returning empty
	list for non-spm hosts, vdsm will raise exception as expected).

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=880547

2013-06-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Support teardownVolumePath(None)
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=962549

2013-06-04  Antoni S. Puimedon  <asegurap@redhat.com>

	NetReload: netmodels for addNetwork
	This patch defines the netwok entities that we use in oVirt:

	- NetDevice,
	- Bridge,
	- Vlan,
	- Bond,
	- Nic

	These entities are now responsible for their underlying devices for
	the addNetwork step.

	The interaction is as follows:

	1. addNetwork -(generates netmodels via)-> objectivizeNetwork
	2. "configure(logical_net)" is called on the top network device,
	3. The top network device calls configure for its device type on the
	   configurator, that in turn calls configure in any underlying device.

	In a following patch, they shall take
	responsibility as well for network deleting.

2013-06-03  Timothy Asir  <tjeyasin@redhat.com>

	gluster: Added verbs for read, update, add and remove hooks
	Below new verbs are added to perform read, update, add and remove hooks

	* hookRead
	  Output Structure:
	       {'content': HOOK_CONTENT,
	        'type': MIME_TYPE,
	        'md5sum': MD5SUM}
	* hookUpdate
	* hookAdd
	* hookRemove

2013-06-03  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm.tool.service: fix _systemctlNative
	_systemctlNative lists systemd units and check if the given service is
	managed by systemd. There is a bug in the checking code. When
	splitting words, it does not fetch the word from the resulting array.
	The first word is the name of the unit/service. This patch fix the
	problem.

	Another small problem is it does not format the error message correctly,
	this patch fix the formatting.

	At last it fixes a bad doc string.

2013-06-03  Saggi Mizrahi  <smizrahi@redhat.com>

	cpopen: Fix signal handling in sync points

2013-06-03  Federico Simoncelli  <fsimonce@redhat.com>

	domain: use the dd statistics for the domain delay
	The previous implementation of getReadDelay was calculating the reading
	time (for the domain statistics) checking the execution time of dd.
	This patch introduces a low level readspeed command to parse the more
	accurate statistics provided by dd in the stderr.

	Bug-Url: http://bugzilla.redhat.com/show_bug.cgi?id=948232

2013-06-01  Yaniv Bronhaim  <ybronhei@redhat.com>

	Supervdsm didn't create pid file when starting up
	This cause errors over sysV when trying to perform service operations

	closing file after writing

2013-05-31  Yaniv Bronhaim  <ybronhei@redhat.com>

	Returning namedtuple from util.pidStat for simpler usage

2013-05-30  Saggi Mizrahi  <smizrahi@redhat.com>

	cpopen: Fix tests
	Now they run on make check

2013-05-30  Yaniv Bronhaim  <ybronhei@redhat.com>

	Creating /var/run/vdsm directory as part of rpm installation
	Supervdsm service cannot start without the existence of this directory,
	it creates its pid file and socket there. Instead of only set the
	directory attributes (%ghost flag) also include the directory as part of the
	package.

2013-05-29  Yaniv Bronhaim  <ybronhei@redhat.com>

	Supervdsm as external service
	Creating supervdsmd and set dependencies between vdsm and supervdsm
	services

2013-05-29  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm-tool: service probing do not trigger abrt warning on RHEL6
	When an service management operation fails, the service module raises a
	RuntimeError, this triggers abrt warning of un-caught Python exceptions.
	This is good for reporting error when fail to start a service, but
	probing command such as "service-status" should not raise un-caught
	exception if the service is down. It should report the error code and
	leave the caller to decide what to do (probably start that service).

	In this patch we define a specific exception for service operations,
	then for service probing operation, it swallows the exception, prints
	error message and returns 1. For other management operations, the
	exception is still raised.

2013-05-29  MeiLiu  <liumbj@linux.vnet.ibm.com>

	vdsm: Add ioTune support at vm creation
	The code parses the 'ioTune' descrption for block devices at vm creation
	time and adds the tag accordingly.

	e.g.
	Adding 'ioTune':{'read_bytes_sec': 6120000, 'total_iops_sec': 800} in specParams for a
	block device will add the following in dom xml for that device.

	<iotune>
	    <read_bytes_sec>6120000</read_bytes_sec>
	    <total_iops_sec>800</total_iops_sec>
	</iotune>

	These parameters constrains the I/O bandwith for the device.

2013-05-28  Yaniv Bronhaim  <ybronhei@redhat.com>

	Fix py_modules in setup.py, and duplicate declaration of cpopen.so in spec
	After modifying cpopen.py to __init__.py we should also update setup.py
	parameters.

	Both only omit warnings during build.

2013-05-28  Yeela Kaplan  <ykaplan@redhat.com>

	devicemapper: remove unused _parseDevFile and getDevUuid

	multipath: remove unused device attribute 'devnum'

2013-05-28  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: [REFACTORING] libvirtvm.py bye bye
	In order to start with the refactoring as a first step we'll get rid of
	libvirtvm.py and merge vm.py into libvirtvm.py and named this whole thing
	vm.py

	Additionally Vm and LibvirtVm have been merged into one and there's now
	only a class Vm.
	Also devices have been renamed from LibvirtVmDevice to VmDevice
	for simplicity.

2013-05-26  Yaniv Bronhaim  <ybronhei@redhat.com>

	Extend vdsm-tool commands - retrieving host uuid by utils.getHostUUID
	Deploying an host requires to verify if an host has vdsm installed.
	The command 'vdsm-tool vdsm-id' returns vdsm uuid if vdsm is installed.
	It doesn't require running vdsm instance.
	This patch also adds 'legacy' parameter to getHostUUID for backward
	compatibility, if set to false the mac address won't be added to the
	uuid.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=964967

2013-05-23  Yaniv Bronhaim  <ybronhei@redhat.com>

	Using pidStat to get pid creation time
	In proc/pid/stat field 21(starttime) defined the time when the process
	started. Before we used ctime (time of last status change) that might change
	during process run.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=966133

2013-05-22  Assaf Muller  <amuller@redhat.com>

	Allow modification of disk xml by before_disk_hotplug
	The return value of hooks.before_disk_hotplug wasn't being used
	like it is in hooks.before_nic_hotplug. Meaning that if a hook
	changed the disk XML it wasn't actually updated in the VM's
	domxml.

2013-05-22  Federico Simoncelli  <fsimonce@redhat.com>

	version: upstream dirty is nightly
	Previously the upstream dirty builds were released using a pre-release
	versioning (prefixing a 0). This doesn't fit the release process in
	which the upstream builds are nightly.

	More information on pre-releases at:

	http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages

	In this patch:

	* remove the leading 0 used for pre-releases (instead of nightly)
	* remove vdsm.spec on make clean
	* use any tag (not just the annotated ones) to identify the release

2013-05-22  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Use UUID as unique identifier for socket names
	To avoid issues with limitation on the length of paths to UNIX Domain sockets
	we're changing the behavior to use the UUID of the VM.

	Additionally for backwards compatiblity we're making a symlink of the old name
	if it not already exists.

	Bug-Url: https://bugzilla.redhat.com/918536

2013-05-22  Antoni S. Puimedon  <asegurap@redhat.com>

	Move getMaxMtu to netinfo
	For a while now, getMaxMtu has not used any part of configWriter,
	but just netinfo information. Thus, it is only right that it should
	be moved to its rightful module, i.e., netinfo.py.

2013-05-21  Federico Simoncelli  <fsimonce@redhat.com>

	oop: rename createSparseFile to truncateFile

2013-05-21  Eduardo Warszawski  <ewarszaw@redhat.com>

	Deactivate libvirtVM.Drives()
	Change I8d310f216987b7 has introduced teardownVolumePath() calls with a
	Drive object instead of a drive dictionary from self.conf.
	In its previous form, teardownVolumePath() has silently ignored such
	input, keeping the volume active.

	This patch makes teardownVolumePath() handle such inputs properly. This
	is one baby step in the process of getting rid of self.conf: we would
	like to use the objects everywhere within vdsm.

	Note that this patch introduces an ugly log line when pointlessly trying
	to tear down a cdrom device. This would be fixed in a subsequent patch.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=962549

2013-05-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Fix bashisms in vdsmd.init.in and ovirt_functions.sh
	Fix vdsmd.init.in bashisms to make it run in dash, the default scripting
	shell on Ubuntu. Use checkbashisms in Ubuntu devscripts package to check
	it then fix one by one.

	Some bashisms that are not going to be fixed in this patch:
	1. "local" is not in POSIX but dash supports it, however old dash does
	not support "local x y", so we have to "local x; local y".
	2. gettext related bashisms, they do not harm in Ubuntu.

	[1] https://launchpad.net/ubuntu/+source/devscripts
	[2] https://wiki.ubuntu.com/DashAsBinSh#I_am_a_developer._How_can_I_avoid_this_problem_in_future.3F
	[3] http://mywiki.wooledge.org/Bashism

2013-05-17  Antoni S. Puimedon  <asegurap@redhat.com>

	Raise ValueError when passed invalid prefix
	We should give meaningful Python errors to assist with user-input
	checking. This patch is one step in this direction.

2013-05-17  Giuseppe Vallarelli  <gvallare@redhat.com>

	Test: regression test to catch cross imports.
	This test is useful to catch non legal imports in lib/vdsm.
	Lib modules cannot use/depend upon regular (non python package
	vdsm) modules: for example lib/vdscli.py can't depend on
	vdsm/guestIF.py module. This test updates the PYTHONPATH by
	removing the regular vdsm modules, later it tries
	to import lib modules, if there are non legal imports
	an ImportError is raised. The error message reports
	the traceback showing the non legal import.

2013-05-17  Saggi Mizrahi  <smizrahi@redhat.com>

	service: make iscsid a systemd dependency
	Also remove starting iscsid with force-start as it is no longer
	supported

2013-05-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Adding cpopen as external python package to vdsm
	vdsm-python-cpopen is an external package for betterPopen code. This
	provides as part of vdsm rpms until this package will be part of
	fedora's official packages.

2013-05-16  Giuseppe Vallarelli  <gvallare@redhat.com>

	Refactoring storage.misc: moving watchCmd and its deps to vdsm.utils.
	This refactoring is needed to break the depedency of lib/vdsm/qemuImg
	from vdsm/storage/misc. Modules inside lib/vdsm should not use
	anything that is not present in the python std lib or in a dependency
	of the vdsm-python package.

2013-05-16  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: python-2.4 compatibility
	minor changes to support python-2.4.

2013-05-16  Giuseppe Vallarelli  <gvallare@redhat.com>

	refactoring: getMaxMtu updated implementation using max builtin.
	Improvement to getMaxMtu implementation which now is more
	succint by using max builtin function.

2013-05-15  Yaniv Bronhaim  <ybronhei@redhat.com>

	Removing mocking of _start function and add extraCmd variable to proxy
	Instead of adding monkeyPatch only for adding PYTHONPATH before running
	the command, setting self.extraCmd will append extra field to the
	execution.

2013-05-15  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	storage: Fix the case when VDSM host is not a gluster peer
	Currently when using glusterSD, VDSM has the need to know the
	transport type of gluster volume for which it uses gluster cli
	which assumes that VDSM host is part of gluster cluster (peer).
	This may not be true always and imposes a constraint that VDSM
	host must be a gluster peer.

	This patch fixes the above by doing 2 things...

	Adds support for --remote-host gluster cli option to volumeInfo
	API. This helps retrieve gluster volume info from a host that
	is not a gluster peer (Eg. VDSM host)

	Adds support to use the ability of gluster cli (--remote-host) to
	retrieve the gluster volume info even when VDSM host is not a
	gluster peer.

2013-05-14  Petr Sebek  <psebek@redhat.com>

	Added setupNetworks command to vdsClient
	To have ability to setup networks and bondings configuration from vdsClient.

2013-05-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Issuing a real pvs cmd when there are no PVs belonging to a VG.
	Assumed the vgName is an existent reacheable VG, must be PVs
	belonging to it.
	The pvs dict may be staled if this is a FC setup and/or
	connectStorageServer was not issued and therefore the storage view
	was not refreshed.

	This patch is an alternative to other fixes for the same bug.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=955993

2013-05-13  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove in-function import of netinfo
	Since the circular module dependency had been solved in
	http://gerrit.ovirt.org/13838, we could remove the in-function
	import.

2013-05-13  Giuseppe Vallarelli  <gvallare@redhat.com>

	refactoring: Changing constant name in NICENESS enum in storage.misc module.
	Within the storage.misc module there's an enum representing NICENESS
	for processes, NICENESS.LOW becomes NICENESS.HIGH which represents
	the lowest priority.

2013-05-09  Dan Kenigsberg  <danken@redhat.com>

	drop a few unused external scripts

2013-05-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	netconf/ifcfg: remove only backup files
	clearBackups() removes the entire directory /var/lib/vdsm/netconfback/.
	Because of that, TPS test (rpm -V vdsm) has failed.

	This patch, will remove all files/directoies inside /var/lib/vdsm/netconfback/
	and keep this directory.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=958009

2013-05-09  Dan Kenigsberg  <danken@redhat.com>

	jsonRpcTests.ReactorTests.test is broken
	And I'm tired of its in-gerrit errors
	http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit_el/1355/console

2013-05-08  Yaniv Bronhaim  <ybronhei@redhat.com>

	Moving panic function to utils and set panic mock for tests
	The patch moves panic function to vdsm utils for general use.
	During tests panic call will raise assertionError.

	Check supervdsm execution return code

2013-05-08  Yeela Kaplan  <ykaplan@redhat.com>

	clientIF: rescan devices on failed hotplugDisk
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=923773

2013-05-07  Federico Simoncelli  <fsimonce@redhat.com>

	domain: unify the createVolume method

2013-05-06  Assaf Muller  <amuller@redhat.com>

	vdsm now prints when a SIGTERM or SIGUSR1 is handled.

2013-05-06  Federico Simoncelli  <fsimonce@redhat.com>

	libvirtvm: avoid concurrent VM changes during saveState
	When multiple changes of the VM configuration are applied at the
	same time there's an high chance of saveState failing during a
	deepcopy for a RuntimeError exception (e.g. dictionary changed size
	during iteration). To avoid this problem the configuration changes
	and the saveState requests are now serialized.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=948940

2013-05-06  Timothy Asir  <tjeyasin@redhat.com>

	gluster: Added gluster hooks support
	Gluster hooks enable users to run scripts on pre or post level of
	gluster command execution. Pre scripts are executed before gluster
	command execution and post scripts are executed after gluster
	command execution.

	Below new verbs are added to perform to list, enable and disable hooks.

	New verbs:
	* glusterHookEnable
	* glusterHookDisable
	* glusterHooksList
	    Output structure:
	        [{'name': HOOK-NAME,
	          'status': STATUS,
	          'type': MIME_TYPE,
	          'command': GLUSTERCOMMAND,
	          'level': HOOK-LEVEL,
	          'md5sum': MD5SUM}]

2013-05-06  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Don't log irrelevant errors with level ERROR
	libvirtconnection.get() wrapMethod logs unhandled libvirtErrors
	as ERROR. However it's irrelevant at that point, therefore it
	should log it only as DEBUG message.

	Bug-Url: https://bugzilla.redhat.com/955593

2013-05-06  Assaf Muller  <amuller@redhat.com>

	vdsm now reports pid when starting up.
	When vdsm starts it now outputs to the vdsm log:
	"MainThread::INFO::2013-05-05 11:57:38,609::vdsm::89::vds::(run)
	(PID: 14576) I am the actual vdsm..."

	Bug-Url: https://bugzilla.redhat.com/952089

2013-05-05  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-reg: move OK message to caller.
	Due bz#890572 engine.py now calls setVdsConf() to write into vdsm_reg.conf.
	However, setVdsConf() prints an 'OK' message used in the old bootstrap and
	it's showing in oVirt TUI. This patch will move this OK message to the
	caller.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=925967

2013-05-04  Timothy Asir  <tjeyasin@redhat.com>

	gluster: move exportToSupervdsm at module level as makePublic
	The scope of exportToSuperVdsm decorator is limited to cli.py.
	It's moved to module level which enables the usage widely.
	And the function name exportToSupervdsm changed into makePublic.

2013-05-03  Mark Wu  <wudxw@linux.vnet.ibm.com>

	trivial: Improve the ways to get bonding devices and their slaves
	Compared with using glob, it could make the code simple and clean.
	And it could be a little faster in the case of finding bonding device.

2013-05-03  Aravinda VK  <avishwan@redhat.com>

	vdsmapi: vdsmapi support for gluster vdsm verbs
	Reads vdsmapi-gluster-schema.json from gluster directory if
	vdsm-gluster is installed.

2013-05-03  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec.in: update raw_version_revision
	The raw_version_revision from dsaversion.py should be updated with the
	version/release of RPM removing the git stuff.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=893193

2013-05-02  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsmd.init.in: simplify system services management by using vdsm-tool
	In vdsm-tool there is a module implemented the service management
	utilities that covers systemd, upstart and sysv.

	vdsm-tool: add service management utilities

	vdsm-tool: unify ad-hoc execCmd implementations
	There are various ad-hoc execCmd implementations in the modules of
	vdsm-tool. Before the parent of this patch, execCmd is in storage.misc,
	we can not import storage.misc.execCmd without modifying PYTHONPATH. The
	parent of this patch moved execCmd to vdsm.utils, so this patch makes
	use of the 'official' execCmd implementation in vdsm.utils for all the
	modules of vdsm-tool.

	storage.misc: Move execCmd and its dependencies to vdsm.utils
	The original vdsm.utils.execCmd actually imports and invokes
	storage.misc.execCmd, which means if a process does not have
	/usr/share/vdsm in its PYTHONPATH and want to use vdsm.utils.execCmd, it
	will fail. Furthermore, lib/vdsm/utils.py should not use anything that
	is not present in the python standard library or in a dependency of the
	vdsm-python package.

	execCmd is very useful for modules in vdsm-tool, currently these modules
	use ad-hoc execCmd implementation. This patch moves storage.misc.execCmd
	and its dependencies to vdsm.utils, so that other modules can import the
	'official' execCmd implementation without adding /usr/share/vdsm to
	PYTHONPATH.

2013-05-02  Giuseppe Vallarelli  <gvallare@redhat.com>

	Update device hooks: Added before and after update device hooks.
	Bug-Url:https://bugzilla.redhat.com/show_bug.cgi?id=893576

2013-05-01  Federico Simoncelli  <fsimonce@redhat.com>

	vm: update volume apparentsize after snapshot
	After a live snapshot succeeded we need to force the update of the
	volume apparentsize to avoid races in the extension requests.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=923964

2013-04-30  Federico Simoncelli  <fsimonce@redhat.com>

	stats: report the domain version
	Given that some features are available only since a specific domain
	version (e.g. live snapshots require at least V3) and the upgrade
	is asynchronous for the non-master domains (see upgradeStoragePool)
	VDSM should provide to the engine a way to determine if a domain
	(other than the master) has been upgraded or not.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=951057

2013-04-30  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding utils package to outOfProcess and remoteFileHandler
	As part of http://gerrit.ovirt.org/11423 we added utils package to
	outOfProcess modules. oop uses remoteFileHandler to run external
	processes, each external process expose modules and functions. To allow
	running function from utils package with outOfProcess, we need to
	register utils module to crabRPCServer that handles the requests.

	The utils.py module name is vdsm.utils (as its under vdsm package).
	To avoid register all vdsm module to the crabRPCServer we use custom
	name and it allows an access by oop.utils.func

	fix pep8 err

2013-04-30  Dan Kenigsberg  <danken@redhat.com>

	cleanup: inline STRG_*SCSI_* macros
	They are used only once; their name is less clear than their content.

2013-04-28  Assaf Muller  <amuller@redhat.com>

	Added four new hook points for device migrations
	Continued effort on device custom properties. Added four new
	hook points: before/after_device_migrate_source, and
	before/after_device_migrate_destination. The new hooks are called
	for every device that has custom properties.

	Patch Set 2:
	* Added destination hooks, but they aren't called yet
	* Modified installation files, man page to reflect new hook points.

	Patch Set 3:
	* We now call the before/after_device_migrate_destination hooks.
	* Since the device._deviceXML cache is not sent when migrating
	  a VM, I had to re-populate that cache at the destination host,
	  via a search by device alias.

	Patch Set 4:
	* Fixed wording in man page
	* Added more verbose error reporting in _updateDevicesCache
	* Updated copyright for libvirtvm.py file

	Patch Set 5:
	* We now crash horribly if an alias was not found for a device
	  when updating devices domxml cache after migrating
	* _updateDevicesCache has been changed from O(n^2) to O(n)

	Patch Set 6:
	* Removed orphaned function
	* Semantic changes

2013-04-27  Eduardo Warszawski  <ewarszaw@redhat.com>

	Mark getImageDomainsList() as deprecated.
	getImageDomainsList needs to be connected to the pool and ignores
	every non responding domain. Therefore the result can be wrong and
	misleading.
	This function should be replaced by getImagesList call.

2013-04-27  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	misc.py: fix logskip
	The intention of logskip is to change the caller information appeared in
	log messages. It goes back and skip the stack frames that we do want to
	ignore, then find the nearest caller frame that is not tagged as "should
	skip", and use its filename, line number and function name information
	as the caller information in the log message. It's useful to skip stack
	frame of some utility function and log caller of the utility function.

	The original logskip mechanism has two bugs. It overrides the standard
	logger's findCaller method in function enableLogSkip(), however
	enableLogSkip() itself will appear in the stack because the overriding
	function refers a local variable "skipFunc" in the enableLogSkip(), thus
	the Python interpreter has to keep the stack frame for a closure. We can
	not avoid the closure so the soluion is adding function enableLogSkip()
	itself to the "should skip" list.

	This patch adds function enableLogSkip() itself to the "should skip"
	list by prepending the "logskip" decorator to it.

	Another bug is when deciding if we should skip the current frame, the
	first condition branch in function _shouldLogSkip() does not properly
	handle the following case. When the "logSkipName" is assigned and the
	current frame's function body is not registered as skip,
	_shouldLogSkip() thinks we should not skip. Howerver it's possible that
	the whole source file is registered in this case, so we should skip this
	frame as well. This patch fixes this problem.

	remoteFileHandler: update the stale comments of import statements
	When new child process of remoteFileHandler is started in unit test,
	there is no vdsm package installed, so we can not import modules under
	vdsm. There is an "if __name__ != 'main'" to conditionally not import
	modules from vdsm package in the child process.

	After commit d8778ad, which is reviewed at http://gerrit.ovirt.org/9217 ,
	'../' is added to PYTHONPATH of the child process in unit test. The
	working dir of the child is ./tests, so "from vdsm import X" will get
	the module at ./tests/../vdsm/X.py . It can safely import modules under
	the vdsm package now. There is no need to protect the import statements.
	Then old comment explaining this becomes stale.

	This patch drops the old comment, while keeps the import statements in
	the "if", because the imported modules are not used in child process.

2013-04-27  Mark Wu  <wudxw@linux.vnet.ibm.com>

	NetReload: Move removeBondings and editBondings implementation to ifcfg.py

2013-04-27  Daniel Erez  <derez@redhat.com>

	readlines - remove redundant pathExists check
	fileSD -> readlines:
	* The verification of path existence is redundant.
	* Try to read the metadata file and handle an exception:
	- If no such file: return an empty list.
	- Else, raise the exception.

	Bug-Url: https://bugzilla.redhat.com/882667

2013-04-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init: replace libvirt logs filter
	Currently VDSM adds to libvirtd.conf a filter to include debug
	messages from libvirt daemon. However, the log size is increasing quickly
	with useless information about libvirt objects when the system is
	running out of problem.

	This patch will improve the logs for libvirt sources and remove
	OBJECT_* messages to reduce the size of libvirtd.log.

	Thanks to Pavel Zhukov for suggestion.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=920614

2013-04-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	Retry MD reads when validating pool-domain membership.
	Assumed that engine has a reason to test a particular SD, a
	a failure may be consequence of stale metadata.
	Retrying once to read the metadata again in order to overcome
	missing storagePoolrefresh'es.

	Remove redundant domStatuses parameter from validateAttachedDomain()
	The only possible status of a SD belonging to a pool are active or
	attached.
	Then the domain status is irrelevant when checking membership to
	the pool.

2013-04-25  Yaniv Bronhaim  <ybronhei@redhat.com>

	Modify max_outgoing_migrations default value to 3
	With default 5 and migration_max_bandwidth 32MiBps, over 1Gbps link the
	host's link become saturated.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=956683

2013-04-23  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding comment before getting libvirt connection
	If libvirt-sock does not exist, and vdsm is restarted - vdsm tried 10
	seconds to communicate with libvirt. In the log we see a gap for 10
	seconds after the "I am .." print and before the libvirt error exception.
	This delay, without knowing the specific location of vdsm process, can hide
	the actual reason for the delay. If the service stopped before the
	exception we'll see only the "I am.. " print without knowing where vdsm
	got stuck.

2013-04-23  Greg Padgett  <gpadgett@redhat.com>

	vdsmd.init: disable libvirt connection keepalives
	Libvirt now has keepalives enabledby default (see bug 832081), but
	they should be disabled until vdsm can make use of them (bug 949192).

	The main problem remaining is that certain libvirt versions (notably
	0.10.2-18.el6.x86_64) don't behave well when using keepalives: the
	connection can be closed if the system is under load, causing spurious
	vdsm problems that wouldn't be present if keepalives weren't in use.

	The libvirt bug has been subsequently fixed, but until a newer libvirt
	can be required, we shouldn't rely on the corrected behavior.

	Bug-Url: https://bugzilla.redhat.com/834041

2013-04-23  Vinzenz Feenstra  <vfeenstr@redhat.com>

	guestIF: Additional object strings filtering
	Filtering the plain UTF-8 data is not enough. The filter has
	to be applied also on the object parsed from json to be really
	effective.

	Example why this is required:

	o = json.loads('{ "x": "\\u0000" }')

	Now the 'o' python object looks like this:
	{ "x": "\x00" }

	Therefore we need to filter even the parsed object

2013-04-23  Laszlo Hornyak  <lhornyak@redhat.com>

	fix access to watchdog event actions
	The data structure 'actionEnum' is a a list, but it was accessed as
	function.

2013-04-23  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Revert "Use 'ip link' to get different kinds of interfaces"
	This reverts commit 8febe0e40650983d809abaa10be983bc1953ef1e.

	The netlink support for bridge is only available on kernel 3.0+.
	Please see the following commit for details.
	http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bb900b27a2f49b37bc38c08e656ea13048fee13b

	Add netlink support for bond is also added after kernel 2.6.32.
	So this solution doesn't work on RHEL6 system. We have to revert
	it.

2013-04-23  Eduardo Warszawski  <ewarszaw@redhat.com>

	Prefetch domains when connecting a storage server.
	When a storage server is connected is searched for domains.
	A uuid:findDomain method dictionary is saved for accelerate
	further produces.

	Related to BZ#891074

2013-04-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix getPools comment.

2013-04-22  Michal Skrivanek  <michal.skrivanek@redhat.com>

	spec: bump libvirt version for el6
	resolves libvirt stability issues (e.g. BZ #922063)

2013-04-21  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py.in: adding note about setting password
	Users should be warn that if they set password to be able to add
	oVirt Node from oVirt Engine it will enable SSH daemon.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=746582

2013-04-18  Yaniv Bronhaim  <ybronhei@redhat.com>

	Initializing libvirt connectivity in external thread to clientIF
	Getting libvirt connection as part of startup can take long under high
	load. Until clientIF is ready to serve API requests, the host state is
	non-responsive. To avoid that, we make the connection in external
	thread, and until all recover process is ready the host reports the its
	on initialization state.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=949192

2013-04-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix StorageDomainDoesNotExist raise messages.

2013-04-18  Vinzenz Feenstra  <vfeenstr@redhat.com>

	agent: XML Character filtering improvement
	The filtering of invalid characters for XML documents must not be
	performed on unicode strings but on the encoded utf-8 string.
	If we do not do this we'll be missing out on filtering everything
	what would destroy the XML documents.
	If there has been found an invalid character in the UTF-8 string
	it _may_ cause the message to be discarded due to UTF-8 decoding
	errors. However we don't want invalid strings to come through any
	way.

	Updated the unit tests for reflecting the changes.

2013-04-17  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Fix check for connection issues with libvirt
	There has been a made a mistake by mixing domain codes
	with error codes of libvirt.
	Additionally libvirt is reporting VIR_ERR_INTERNAL_ERROR
	if libvirtd gets restarted or stopped somehow (e.g. after a crash)
	This fix takes care to cleanup the mixup and adds the missing
	error code.

	Bug-Url: https://bugzilla.redhat.com/852956

	vdsm: Try to reconnect on vmchannel after errors
	Currently the vm channel listener is not handling any errors. If an error
	occurred we would not try to reconnect and the connection to the guest is lost
	for the lifetime of the guest or until VDSM gets restarted.

	To handle this situation this patch introduces a mechanism to reconnect to the
	channel. Once an error occurred the setup callback is called, which gives the
	handled client the chance to recreate the socket and prepare it for a connect.
	After that callback was called, the errornous connection will be moved into the
	unconnected items dict where it will be handled by the event loop.

	If there have been 5 or more unsuccessful attempts made the reconnect rate will
	be slowed down to the same time as specified for the 'read timeout'.
	The items which are slowed down are moved into the 'reconnect_cooldown' dict.

	Bug-Url: https://bugzilla.redhat.com/871616

	vdsm: Delay desktop lock until we are sure it was a disconnect
	This is a hack to mitigate the issue of spice-gtk not respecting the
	configured secure channels [1]. Spice-gtk is always connecting first to
	a non-secure channel and the server tells the client then to connect
	to a secure channel. However as a result of this we're getting events
	of false positive disconnects and we need to ensure that we're really
	having a disconnected client
	This timer is supposed to delay the call to lock the desktop of the
	guest. And only lock it, if it there was no new connect.
	This is detected by the clientIp being set or not.

	[1]: https://bugzilla.redhat.com/show_bug.cgi?id=879352

	Bug-Url: https://bugzilla.redhat.com/905930

2013-04-17  Eduardo Warszawski  <ewarszaw@redhat.com>

	Add forceLink() which replaces a link if it already exists.
	Reduce the number of fileUtils.safeUnlink() callers.
	safeUnlink() will be removed, using rmFiles() instead.

2013-04-17  Federico Simoncelli  <fsimonce@redhat.com>

	image: update the volume permissions when needed
	Volumes leaves created in 2.2 did not have the group writeable bit
	set. In order to be able to start VMs from old NFS volumes we need
	to check (and eventually fix) the group permissions during the volume
	preparation.

	The code to address this issue was already present but commit 5a0b2c9
	reintroduced the problem substituting the prepareVolume calls with
	prepareImage.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=911417

2013-04-17  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove fileUtils.cleanupfiles().
	Racy, redundant, named out of convention, ...

	Remove fileUtils.safeUnlink().
	safeUnlink() usage replaced by utils.rmFile() calls.

2013-04-17  Petr Sebek  <psebek@redhat.com>

	Bond destroying
	If there is deleted network with bond other than bond[0-4] and no
	other network is using that bond, the bond is destroyed. bond[0-4]
	must be kept for backward compatibility, but we don't want to accumulate
	any other bond.

	Because we need same set of bondings in load_needed_modules.py.in, set of
	bondings was added to netinfo and imported from there. The path to
	bonding masters now also comes from netinfo.BONDING_MASTERS.

	Bug-Url: https://bugzilla.redhat.com/928442

2013-04-17  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Use 'ip link' to get different kinds of interfaces
	It's a little faster than listing the dir '/sys/class/net'

2013-04-16  Dan Kenigsberg  <danken@redhat.com>

	vdsmd: do not swallow libvirt error
	Recently I've seen multiple cases of vdsm not starting up with a vague
	error "Failed to define network filters on libvirt", when the underlying
	issue was that libvirt has crashed.

	It's better to have a line or two of log noise, in order to see that
	libvirt could not have been reached.

2013-04-15  Dan Kenigsberg  <danken@redhat.com>

	sampling: a quick fix to make vdsm run again
	commit c506391442bc was merged too quickly, leaving a process that fails
	to start due to
	    AttributeError: 'HostStatsThread' object has no a ttribute 'nics'

2013-04-14  Antoni S. Puimedon  <asegurap@redhat.com>

	NetReload: Moved addNetwork logic to the configurator
	This change starts moving the logic of configNetwork API endpoints
	towards the configurators.

	configureBridge, configureVlan, configureBond and configureNic
	after this patch have to take care of the underlying devices
	explicitly in the configurator modules. However, the underlying
	device handling will be abstracted to the network models in a
	future patch. Thus, the code of configureBond for any configurator
	such as Ifcfg is gonna be something like:

	self.configWriter.addBonding(params)
	for slave in bond.slaves:
	    slave.configure(params)

2013-04-14  Vered Volansky  <vvolansk@redhat.com>

	Catch appropriate KeyError instead of any exception
	resourceManager.registerNamespace() raises a KeyError exception.
	Calling methods were catching any exception, treating all as
	KeyError, which means non-KeyError exceptions were swallowed. Now only
	KeyErrors are caught and logged as info (instead of warn), and other
	potential exceptions are not caught at all, i.e., not swallowed
	anymore.

2013-04-14  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: increase policycoreutils version for RHEL
	Due bz#893065 if selinux is disable vdsm package can not
	be installed on RHEL systems.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=903309

2013-04-12  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Separate sampling code from vdsm.utils
	vdsm.utils should only include helper functions which could be shared
	different modules. Sampling is a separate function, so it should be
	moved out of utils. It could resolve the problem of circular import.

2013-04-11  Assaf Muller  <amuller@redhat.com>

	Device custom properties: Cache device XML after hotplug
	We now cache new device XML after diskHotplug and nicHotplug,
	just like we cache device XML when they are created during
	vmCreate.

2013-04-11  Federico Simoncelli  <fsimonce@redhat.com>

	spec: enable gluster upstream and on fedora 19
	The gluster package should be always enabled upstream or since fedora 19
	in koji builds.

	spec: use the fedora systemd macros
	Add the support for the fedora systemd macros introduced in fedora 18.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=850412

	svdsm: fix fuser import in supervdsmServer

2013-04-11  Vered Volansky  <vvolansk@redhat.com>

	Remove storage messages from syslog
	Storage messages are irrelevant to the syslog and still appear in the
	vdsm log.
	vdsm/storage/fileUtils.py is now logging to Storage.fileUtils.

2013-04-10  Peter V. Saveliev  <peet@redhat.com>

	vdsm: change default migration bandwidth in conf
	Libvirt changed the default behaviour in migration bandwith
	definition. Prior to versions 0.10.x it used "0" to define
	default 32MBps limit, now it uses "0" to define unlimited
	speed.

	This patch preserves the former way, when the default was
	32MBps. It needed in enterprise environments, where mass
	migration with unlimited bandwith can have a serious impact
	on the network infrastructure.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=925981

2013-04-10  Saggi Mizrahi  <smizrahi@redhat.com>

	Don't user sudo in fuser

2013-04-10  Yeela Kaplan  <ykaplan@redhat.com>

	Remove redundant parameter that breaks resourceManager test

2013-04-10  Antoni S. Puimedon  <asegurap@redhat.com>

	NetReload: ConfigWriter, ifup/down to configurator
	NetworkReloaded mandates that the configuration done by
	configNetworks shall be done using configurators that do the
	step of modifying the state of the networking stack.

	This patch moves ConfigWriter ifup and ifdown to the
	ifcfg configurator module (in netconfg) while keeping everything
	working. Next in the series there shall be patches that wrap
	the methods that were moved into actions done to the Ifcfg
	Configurator object.

2013-04-10  Federico Simoncelli  <fsimonce@redhat.com>

	vm: rename _updateDrive to updateDriveParameters
	As preparation for change I472c2931 the method _updateDrive is renamed
	to updateDriveParameters to avoid confusion with updateDriveVolume.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=923964

2013-04-09  Yaniv Bronhaim  <ybronhei@redhat.com>

	Checking syslog availability before starting vdsm
	If logger is not able to open /dev/log, it throws exception and vdsm
	does not start. This path verifies that this file exist and fail vdsm
	start if not.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=928861

2013-04-09  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Ignore after_vm_cont hook if _dom was not yet created
	There's a race condition happening which results in an exception because the
	domain has not yet being assigned/created.

	This is a workaround to fix the exception from happening, however this is not
	a long term solution.

2013-04-09  Peter V. Saveliev  <peet@redhat.com>

	vdsm: fix Vm cleanup routine
	The issue was that on Vm disk hot unplug the general clean up routine
	was called, that wiped out also qemu and ovirt guest agent's sockets.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=927143

2013-04-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init.in: removing /var/log/vdsm/libvirt.log
	We added it quite long ago to track libvirt lost event issues.
	These days we are much stable and libvirtd.log already contains
	libvirt informations.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=928217

	vdsm.spec.in: with_gluster
	Option to manage Gluster sub-package.

2013-04-08  Saggi Mizrahi  <smizrahi@redhat.com>

	testrunner: Add NOSE_COLOR env var
	Allows forcing output of color to non terminal.

	Useful for case where the errors are longer then the scrollback:

	    NOSE_COLOR=1 ./run_tests_local.sh jsonRpcTests | less -R

2013-04-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	shareVolumeRollback() should raise when recovery failed.
	Engine does not care whether an exception is thrown during
	rollback, as such exception is caught by task.Task._run() when
	it is calls the rollback function.
	Removed try blocks in order to raise exceptions caused by failed
	volume link removal in other than an inexistent link.

	Make getAllVolumes() not fail on broken images.
	getAllVolumesImages differentiates between legal and remnants.
	Added getAllRemnants for garbage detection.

	Related to: BZ#905938, BZ#910013, BZ#875708

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=917363

	Marking del/zero volumes in blockSD class.
	Previous delete was not atomic since lvremove of multiple LVs can
	partially fail (e.g. since volume is open) leaving some volumes
	intact and others deleted.
	Marking before delete will enable garbage collection in such cases.
	The old rename convention is not atomic since the rename should be
	done sequentially.

	Related to: BZ#905038, BZ#910013, BZ#875708

2013-04-07  Federico Simoncelli  <fsimonce@redhat.com>

	sp: refreshDomainLinks before convertDomain
	Domain conversion requires the links to be present.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=948346

2013-04-07  Muller  <amuller@redhat.com>

	Device custom properties: Keep non-custom devices in domxml
	Bug fix for device custom properties feature: Previously only
	devices with custom properties were added to the VM's domxml
	because of stupidity. Now all devices are added and device
	creation hooks are called only for devices with custom
	properties.

	Patch Sets 2-5:
	Styling, naming.

2013-04-07  Yeela Kaplan  <ykaplan@redhat.com>

	sp: invalidate lvm cache if attachSD fails
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=883390

2013-04-06  Antoni S. Puimedon  <asegurap@redhat.com>

	sriov: Make the hook safe for concurrency
	The current model uses a cache that is not locked and could
	be overwritten by a second VM creation effectively preventing
	the return of the chown to root:root.

	This patch solves that by creating with exclusivity a file for
	each virtual function that is attached (thus avoiding locking)
	but having concurrency safety due to the OS guarantee that the
	not more than a single processes can perform an open when the
	flags O_CREAT | O_EXCL are set.

2013-04-05  Antoni S. Puimedon  <asegurap@redhat.com>

	Make sr-iov hook use interface instead of hostdev
	According to libvirt documentation, for the sr-iov virtual function
	"nics" to have permanent and unique MAC addresses, the passthrough
	should be done using <interface type='hostdev'> instead of
	<hostdev>.

	This change modifies the hook to take advantage of this libvirt
	definition for stable sr-iovs.

	The chown step is necessary to attach the virtual function to the VM
	Otherwise, it is not possible to detach the virtual function from the
	OS and attach it to the VM due to dynamic_ownership=0 (which is
	necessary for network storage because dynamic ownership, ATM, always
	sets ownership to root:root on VM destroy/hotunplug).

2013-04-05  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding rsyslog requierment to spec
	Without rsyslog service, vdsm logger throws exception and does not
	start.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=928861

2013-04-05  Federico Simoncelli  <fsimonce@redhat.com>

	sp: remove duplicated code for repoPath

2013-04-04  Yaniv Bronhaim  <ybronhei@redhat.com>

	Increasing the amount of open file descriptor for vdsm user
	As part of fixing fds leak we increase the amount of available open fds
	to allow stability in large scale of simultaneously operations.
	Currently lv operations can't run simultaneously and
	wait for pior operation to end. Simultaneously attach sd requests open
	fds and close them only after end, when operation waits on lv operation
	vdsm keeps the fds open for long time.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=920532

2013-04-04  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix crash on vm start with netdevs w/out some info
	Some devices, like sr-iov do not have information in the domxml to
	represent name and model.

	This patch fixes the issue by detecting when we are dealing with a
	passed through device and setting special values for name and model.

2013-04-04  Assaf Muller  <amuller@redhat.com>

	Per device custom properties for before/after vm destroy.
	Patch Set 2:
	Run before/after device destroy hooks only on devices that
	have custom properties. after_device_create,
	before_device_destroy and after_device_destroy hook calls
	now share code (Removed code duplication).

	Patch Set 3+:
	Code styling and prettifying.

2013-04-04  Muller  <amuller@redhat.com>

	Added support for before and after device create.
	before_device_create is called for each device,
	that has custom properties, right before
	before_vm_create. Each such hook is supplied the device's
	dom xml and any custom properties. after_device_create is
	called for each device that has custom properties
	right after after_vm_start.

	Patch Set 2:
	Changed it so only devices that have custom properties
	call such per-device hooks. Styled up code.

	Patch Set 3+
	Styling / fixing comments.

2013-04-04  Assaf Muller  <amuller@redhat.com>

	Custom properties per device.
	This is the first commit in a series of patches that
	will implement custom properties per device.
	The first commit deals with hot plugging and unplugging
	devices and enabling custom properties for those hook
	points.

	Patch Set 1:
	1) All methods related to nic and disk hot plug and unplug
	in hooks.py and libvirtvm.py now pass the params dictionary
	onwards.

	2) Added unit test 'deviceCustomProperties' under hooksTests.py,
	that verifies that a custom property sent to a hook is indeed
	available in that hook.

	Patch Set 2:
	Updated the man page to reflect the fact that custom properties
	are now exposed as environment variables to device hooks

	Patch Set 3:
	Broke down long line in man page.

2013-04-03  Alon Bar-Lev  <alonbl@redhat.com>

	vdsm-reg: avoid issuing errors to console
	Using logging.error() during the ovirt-node dialog results in writing
	messages to console. This is undesired in dialog mode.

	Change the error to debug to avoid.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=947905

2013-04-03  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Fix iSCSI functional tests in Fedora 18
	There are two fix.

	1. modprobe iscsi_target_mod before running tests in Fedora 18

	In Fedora 18, iscsi_target_mod is not loaded by default. If the module
	is not loaded, the rtslib will fail to configure iSCSI targets for the
	storage backend and the test will fail. This patch load the module
	explicitly before running the tests.

	2. Wait for some time for VDSM to refreshing the device list

	If two iSCSI tests are arranged back to back, we should wait for VDSM to
	refresh the iSCSI session info. Otherwise the _getIqnDevs method fails.

2013-04-03  Yeela Kaplan  <ykaplan@redhat.com>

	Relink template hard links to meta and lease files
	In file based domains every image that is based on a
	template contains a hard link to the template volumes.

	Since an export domain may contain images without the
	backing template, when copying the template to the export
	domain we need to relink the derived images to it to be able
	to later on collapse the chain on import
	(without qemu-img crashing).
	In addition, in case we're importing a template to override a
	corrupted template we also need to relink.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=864073

2013-04-03  Mark Wu  <wudxw@linux.vnet.ibm.com>

	netinfo: there may be up to one network attached directly to an Iface
	Since one nic could be only used for one non-VLANed bridge or one non-VLANed
	bridgeless network, it needn't continue to check other networks after
	found one.

2013-04-03  Federico Simoncelli  <fsimonce@redhat.com>

	image: placeholder optimization on preallocation
	When the destination of a copy or move command is an NFS domain
	we should try to optimize the placeholders creation avoiding
	unnecessary prezeroing (only relevant case: RAW PREALLOCATED).
	In such case in the past we were using a TEMPORARY_VOLUME_SIZE
	to create a placeholder with a temporary size of 10Mb.
	This is interfering with live storage migration as the following
	volumes in the chain are inheriting the temporary size inside the
	qcow header (virtual disk size).
	With this patch we are instead forcing the creation of the volume
	as SPARSE as this won't have any side effect on the qcow header.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=910445

2013-04-02  Mark Wu  <wudxw@linux.vnet.ibm.com>

	trivial: Use os.uname to get kernel version insteaf of reading proc files

2013-04-02  Douglas Schilling Landgraf  <dougsland@redhat.com>

	dsaversion: Adding raw_version_revision
	Due commit 23a0c7199371a8f6b767b8f49c87da11b466d7da, currently
	we cannot change the way we show version and release or it
	will affect old oVirt Engine versions. To keep compatible,
	this patch will add raw_version_revision which can be used
	to show the version and revision during VDSM initialization.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=893193

2013-03-31  Federico Simoncelli  <fsimonce@redhat.com>

	vdsm: move vdsm_cli to the new location in the repository
	Additionally the file lists (e.g. gitignore, Makefile.am, etc.) that
	contained the vdsm_cli path have been reordered alphabetically.

2013-03-29  Timothy Asir  <tjeyasin@redhat.com>

	gluster: fix nasty 'glusterfs not installed' vdsm.log warnings

2013-03-28  Amador Pahim  <apahim@redhat.com>

	Probe cpu count from new libvirt capabilities.
	vdsm is using libvirt to get cpu count information. Libvirt was not
	reporting the right information on AMD Bulldozer 62XX processors
	or unusual cpu architectures. To fix it , libvirt people introduced[1]
	the expanded capabilities topology output:

	<capabilities>
	  <host>
	    <topology>
	      <cells num='3'>
	        <cell id='0'>
	          <cpus num='4'> <!-- this is node with Hyperthreading -->
	            <cpu id='0' socket_id='0' core_id='0' siblings='0-1'/>
	            <cpu id='1' socket_id='0' core_id='0' siblings='0-1'/>
	            <cpu id='2' socket_id='0' core_id='1' siblings='2-3'/>
	            <cpu id='3' socket_id='0' core_id='1' siblings='2-3'/>
	          </cpus>
	        </cell>
	        <cell id='1'>
	          <cpus num='4'> <!-- this is node with modules (Bulldozer) -->
	            <cpu id='4' socket_id='0' core_id='2' siblings='4-5'/>
	            <cpu id='5' socket_id='0' core_id='3' siblings='4-5'/>
	            <cpu id='6' socket_id='0' core_id='4' siblings='6-7'/>
	            <cpu id='7' socket_id='0' core_id='5' siblings='6-7'/>
	          </cpus>
	         </cell>
	        <cell id='2'>
	          <cpus num='4'> <!-- this is a normal multi-core node -->
	            <cpu id='8' socket_id='1' core_id='0' siblings='8'/>
	            <cpu id='9' socket_id='1' core_id='1' siblings='9'/>
	            <cpu id='10' socket_id='1' core_id='2' siblings='10'/>
	            <cpu id='11' socket_id='1' core_id='3' siblings='11'/>
	          </cpus>
	         </cell>
	      </cells>
	    </topology>
	  </host>
	</capabilities>

	As libvirt use a fallback fake topology when probing unusual cpu
	architectures (for example, AMD 6200 series), new capabilities is
	the only reasonable source of information for any cpu architecture[2].

	vdsm must be changed to read cpu information from this new source.

	- cpuThreads: To gather the number of threads, take the total number of
	processors by counting the "<cpu ...>" lines in the NUMA topology
	section.

	- cpuCores : Count the siblings information. The number of distinct
	siblings info determines the number of cores. On a bulldozer machine
	all cores have separate core_ID but they share the siblings, as they're
	threads.

	- cpuSockets: Count the number of distinct "socket_id".

	[1] - http://libvirt.org/git/?p=libvirt.git;a=commit;h=79a003f9b0042ef4d2cf
	[2] - https://www.redhat.com/archives/libvir-list/2013-January/msg01140.html

2013-03-28  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	make user and group names in vdsm udev rules configurable
	In Ubuntu, the group name of qemu is not "qemu" but "kvm". This patch
	makes the user and group names in the rule file configurable.

	The patch is on going work of porting VDSM to Ubuntu
	http://www.ovirt.org/VDSM_on_Ubuntu

2013-03-28  Yeela Kaplan  <ykaplan@redhat.com>

	image: Set legality of volume to LEGAL after copy
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=864073

2013-03-27  Yeela Kaplan  <ykaplan@redhat.com>

	Remove hbtl attribute of non-scsi devices
	hbtl addressing has no meaning when it comes to cciss
	(and also non-scsi) devices since hbtl is scsi addressing
	and cciss is not a scsi device.
	multipath actually "makes up" hbtl values for cciss devices
	in its implementation, and gives the lun in the hbtl quartet
	the default value '0'.

2013-03-27  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix _getNetworkIp for non-bridged networks.
	Since this method servers for any kind of network, not just
	bridged ones, we shouldn't convert network to the backing
	device before calling getaddr.

	Bug-Url: https://bugzilla.redhat.com/921595

	Reduce calling to ethtool.
	Currently we do separate ethtool device object retrieval for getaddr,
	getnetmask and getipv6addrs. This patch unifies it into a single
	getIpInfo while leaving the api for the separatemethods available.

	Furthermore, it simplifies the get method by moving the device
	specific methods to their own methods.

	As a bonus, this has about 25% perf when creating a netinfo.NetInfo
	instance.

2013-03-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	Encode '=' when persisting the Task.
	"For a reason unknown (to me), task.py does not use pickle to
	persist its data to file. We cannot fix that without breaking
	backward-compatibility."
	Danken, circa 2012.

	Caveat Emptor:
	This patch expands the string space that can be encoded when
	a task is dumped and not tries to solve all task serialization
	issues.
	Since the old code ignored fields that can't be encoded,
	we continue to assume that doing this no harms the system.
	Based on this assumption we are disregarding the case of a task
	load in a host with this code when the dump contains real '_eq_'.

	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=915068

2013-03-25  Yeela Kaplan  <ykaplan@redhat.com>

	storageServer: fix connect to detect mount errors
	Raise the appropriate exceptions in case of mount error or
	permissions error to mount point.
	Also, exit connect in case of mount failure to avoid using
	uncreated mount.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=883877

2013-03-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: fence-agents-all
	fence-agents package in version 4 replaced the package name
	to fence-agents-all. This patch will adapt vdsm spec to this change.

2013-03-24  Antoni S. Puimedon  <asegurap@redhat.com>

	Optimize netinfo.networks.
	Currently netinfo.networks is doing three trips to libvirt:
	 - libvirtmod.virNetworkLookupByName
	 - libvirtmod.virConnectListNetworks
	 - libvirtmod.virNetworkGetXMLDesc

	With this change, we reduce it to:
	 - libvirtmod.virNetworkGetXMLDesc
	 - libvirtmod.virConnectListAllNetworks

	Testing
	========

	In [185]: %timeit foo()
	100 loops, best of 3: 4.45 ms per loop

	%timeit netinfo.networks()
	%100 loops, best of 3: 7.55 ms per loop

2013-03-24  Dan Kenigsberg  <danken@redhat.com>

	fix storage.fuser
	Bug-Url: https://bugzilla.redhat.com/922515

2013-03-24  Federico Simoncelli  <fsimonce@redhat.com>

	spec: bump libvirt version for el6
	The new libvirt version includes several bugfixes and enhancements to
	increase the reliability and the stability.

	Highlights:

	- BZ#915347 cannot resume a suspended vm
	- BZ#915354 cannot run a vm with several snapshots
	- BZ#922095 libvirtd memory leak

2013-03-21  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix IndexError when ifup does not give error msg
	There are some rare, but existing cases in which ifup does not print
	any error messages.

	configNetworks: network info gathering to netinfo
	These three methods are dealing with netinfo information and
	use netinfo instances (speciall ifaceUsers). This patch proposes
	moving them to netinfo.

	The other two methods could be left in configNetwork, but I would
	do it with a leading underscore.

	This is the first of a series of patches that build gradually
	towards network reloaded.

2013-03-21  Lee Yarwood  <lyarwood@redhat.com>

	vdsm: Add additional exception handling within vmChannels.py
	At present any exception thrown by _epoll.poll(1) is not caught. This patch adds
	additional exception handling to catch and log any exceptions thrown by the
	thread.

	Bug-Url: https://bugzilla.redhat.com/918541

2013-03-21  Antoni S. Puimedon  <asegurap@redhat.com>

	SetupNetworks: remove redundant logging.
	Most of setupNetworks was wrapped in a try catch the sole purpose
	of which was to log any error that could happen. This is not
	necessary anymore due to the fact that supervdsm.py (caller of
	setupNetworks) has its setupNetworks call under logDecorator
	which achieves the original purpose in a more generic way.

2013-03-21  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Add 3.3. to clusterLevels
	Add version 3.3. to clusterLevels, returned by VDSM as part
	of engine calling getCapabilities. This allows to test 3.3
	specific features from engine.

2013-03-20  Amador Pahim  <apahim@redhat.com>

	Migration warning due to high guest memory changes
	Migration process consists in copy guest RAM to new Host. After the
	copy, migration code loops back to the beginning and re-copies all pages
	modified after the copy. The hope is that the list of pages which must
	be copied shrinks with each pass over the memory range.
	Guests with large number of memory writes can delay migration process
	and even stuck it, if memory writes are faster than memory copy.
	This patch add a message to expose this situation, improving the
	supportability.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=919201

2013-03-20  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Fix installation location of betterPopen

2013-03-20  Igor Lvovsky  <ilvovsky@redhat.com>

	Add migration network support.
	Add additional parameter to vmMigrate to support dedicated migration network
	http://www.ovirt.org/Features/Migration_Network

2013-03-19  Bala.FA  <barumuga@redhat.com>

	gluster: use remove brick cli xml output
	glusterVolumeRemoveBrickStart, glusterVolumeRemoveBrickStop,
	glusterVolumeRemoveBrickCommit and glusterVolumeRemoveBrickForce use
	gluster cli xml output than stdout parsing.

	glusterVolumeRemoveBrickStart is not consumed by engine/RHS-C yet,
	its OK to differ in compatibility issue now.

2013-03-19  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Move all files for the VDSM module to a separate folder

2013-03-19  Yaniv Bronhaim  <ybronhei@redhat.com>

	Removing ownership option for logrotate.conf
	After separting supervdsm log to external file, and that supervdsm uses
	the same logrotate configuration, we need to omit this option to keep
	supervdsm.log rotated without changing the ownership of the file.

	Seperating supervdsm log to supervdsm.log file
	Supervdsm as root process can change the logfile ownership to root when
	creating the file. Manual deletion of vdsm.log can cause this scenario.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=912308

2013-03-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	task: Fix spelling.

2013-03-18  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Storage connection reference: move persistent dir to /var/lib/vdsm
	The current persistent dir for connection reference is
	/var/run/vdsm/connections, however /var/run is tmpfs so it's not truely
	persistent enough. According to the WIKI page [1], the connection
	reference is meant to survive reboots. This patch moves the persistent
	dir to /var/lib/vdsm/connections to achieve this.

	[1] http://www.ovirt.org/Features/ConnectionReferences#Description

2013-03-17  Dan Kenigsberg  <danken@redhat.com>

	Require newer initscript
	Avoid initscript/udev bug https://bugzilla.redhat.com/907365 that cause
	network device renaming to "renameXX".

2013-03-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm: create /etc/modules-load.d/vdsm.conf
	systemd-modules-load.service(8) reads from
	/etc/modules-load.d/<program>.conf the kernel modules
	required to be loaded during the boot.

	This patch creates /etc/modules-load.d/vdsm.conf
	which will hold all kernel modules required by VDSM.

2013-03-16  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	multipath.py: add Ubuntu scsi_id path when searching for scsi_id
	The patch is on going work of porting VDSM to Ubuntu
	http://www.ovirt.org/VDSM_on_Ubuntu

2013-03-16  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Makefile.am: EXTRA_DIST ordered by LC_ALL=C
	Setting order.

2013-03-15  Bala.FA  <barumuga@redhat.com>

	gluster: use replace brick cli xml output
	glusterVolumeReplaceBrickStart, glusterVolumeReplaceBrickAbort,
	glusterVolumeReplaceBrickPause and glusterVolumeReplaceBrickCommit use
	gluster cli xml output than stdout parsing.

	glusterVolumeReplaceBrickStart is not consumed by engine/RHS-C yet,
	its OK to differ in compatibility issue now.

	gluster: use rebalance cli xml output
	glusterVolumeRebalanceStart and glusterVolumeRebalanceStop use gluster
	cli xml output than stdout parsing.

	glusterVolumeRebalanceStart is not consumed by engine/RHS-C yet, its
	OK to differ in compatibility issue now.

2013-03-15  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	hook-macspoof: fix packaging
	The macspoof is an optional package. When we configure without hook
	option, is not installed to rpmbuild/BUILDROOT. However in the
	vdsm.spec.in, it is not an optional package, so rpmbuild fails to
	locate the related file in this case.

	This patch moves the hook-macspoof file section to the optional hooks
	part in vdsm.spec.in .

2013-03-14  jarod.w  <work.iec23801@gmail.com>

	Delete useless withRelaunch argument of onReboot in vm.py
	If we set the withRelaunch argument to True, it can't work normally
	because function relaunch() on clientIF class isn't defined.Here, we
	delete the useless argument directly to avoid potential error.

2013-03-14  Assaf Muller  <amuller@redhat.com>

	New hook that disables mac spoof filtering
	'macspoof' is a new hook that disables mac spoof filtering on a
	VM basis.

2013-03-14  Jan Lieskovsky  <jlieskov@redhat.com>

	vdsm_hooks: Add support for checkimages VDSM hook
	Introduce the checkimages VDSM hook - perform consistency
	check on a qcow2 format disk image using the QEMU disk
	image utility.

	v2: remove whitespace noise
	    add support for block images

	v3: remove more tab noise

	VDSM hook alternative to the validateImage SPM command.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=611183

2013-03-14  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix validateBonding tests without bonding
	There were remnants of the old validateBonding test
	that were made obsolete by:
	    Change-Id: I023a5bb8a52719559bb9d4716f25e0cba8b3530b
	That monkeypatching is not needed anymore. Now we just skip
	the test if bonding is not loaded, i.e., BONDING_MASTERS
	sysfs does not exist.

2013-03-14  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	HostStatsThread: change way of counting CPUs
	There is no /sys/class/cpuid in Ubuntu Server 12.10 64 bit.
	Use max(os.sysconf('SC_NPROCESSORS_ONLN'), 1) instead.

	The patch is on going work of porting VDSM to Ubuntu
	http://www.ovirt.org/VDSM_on_Ubuntu

2013-03-13  Vered Volansky  <vvolansk@redhat.com>

	tests: testMethodBadParameters decorated as broken
	testMethodBadParameters Sometime fails the build, and sometimes doesn't.
	It's now decorated as broken until it's fixed.

2013-03-13  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-upgrade: fix xml format
	Fixed illegal XML that affects upgrade from Engine.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=920671

2013-03-13  Keith Robertson  <kroberts@redhat.com>

	sos: Follow symbolic links with tree command
	The VDSM SoS plug-in uses the tree command to get
	a view into storage domains.  SDs can
	contain symbolic links; however, tree does not
	follow symbolic links by default.  This patch sets
	an option on tree to follow symlinks so that the
	entire SD may be assessed.

2013-03-13  Bala.FA  <barumuga@redhat.com>

	gluster: set glusterfs dependency version
	Now vdsm-gluster depends on glusterfs version 3.4.0 or higher.

2013-03-13  Timothy Asir  <tjeyasin@redhat.com>

	Caps: Include glusterfs packages
	Updated getVdsCaps verb to provide glusterfs package info along with
	other key package details.

2013-03-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix mailbox Exception type.
	Making mailbox raised exception more precise.
	May be the 1st of an improved mailbox logging patches.

2013-03-12  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix races in sd.createMasterDir()

2013-03-12  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	define qemu process user and group in configure.ac for Ubuntu
	Ubuntu qemu process started by libvirt is libvirt-qemu:kvm, and there
	is no group named qemu, only group kvm. This patch sets the correct
	value of the variable in configure.ac .

	The patch is on going work of porting VDSM to Ubuntu
	http://www.ovirt.org/VDSM_on_Ubuntu

2013-03-12  Bala.FA  <barumuga@redhat.com>

	bootstrap: remove glusterfs packages
	As glusterfs packages are dependencies for vdsm-gluster package,
	having these in bootstrap is redundant

2013-03-12  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix checking bonding options for missing bonds.
	Right up until now, we were checking the options for a bond A
	that would have to be potentially created by checking for the
	existance of /sys/class/net/A/bonding/<opt>. Obviously, if the
	bond had not been created at that point, the option validation
	would fail.

	This patch makes the option validation be done on whichever bond
	is present on the system and, if none are, it creates the bond
	to check the options.

	Bug-Url: https://bugzilla.redhat.com/918666

2013-03-11  Yeela Kaplan  <ykaplan@redhat.com>

	storageServer: fix spelling

2013-03-11  Dan Kenigsberg  <danken@redhat.com>

	Do not attempt to run hook with an unknown vnic
	If hotunplugNic() is called with a badly-specified vnic, we should not
	run the after_nic_hotunplug_fail() hook, as we cannot supply its
	required param: nicXml is unassigned at this stage.

	Bug-Url: https://bugzilla.redhat.com/919356

2013-03-10  Mark Huth  <mhuth@redhat.com>

	dumpStorageTable to handle images with multiple leaf volumes
	dumpStorageTable encounters a KeyError exception if an image has
	multiple volume chains (and thus multiple leaf volumes) which occurs
	when previewing a snapshot.

	This patch allows dumpStorageTable to work with images that have
	multiple chains / leaf volumes.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=890983

2013-03-09  Mark Wu  <wudxw@linux.vnet.ibm.com>

	configNetwork: Improve the validation of netmask

2013-03-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Makefile.am: ignore false positive pyflakes lvm.py
	Temporary workaround.

2013-03-08  Mark Wu  <wudxw@linux.vnet.ibm.com>

	configNetwork: Fix bootproto preservation for bridgeless network
	bootproto should be also preserved for bridgeless network as what
	the commit 948057 fixed for static ip address.

2013-03-08  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	spmstop: add "--" to /usr/bin/kill invocation parameters
	In Ubuntu kill, invocation like "kill -9 -xxx" is not parsed correctly.
	We should use "kill -9 -- -xxx" instead.

	The patch is on going work of porting VDSM to Ubuntu
	http://www.ovirt.org/VDSM_on_Ubuntu

2013-03-07  Douglas Schilling Landgraf  <dougsland@redhat.com>

	AUTHORS: adding dougsland
	Adding myself.

2013-03-07  MeiLiu  <liumbj@linux.vnet.ibm.com>

	Fix mom and ksmtuned conflict
	Mom integrated in vdsm performs ksm adjusting according to the policies.
	If ksmtuned has been started before vdsmd, ksmtuned will afect the action
	performed by the ksm controller in mom. Therefor, ksmtuned is added as a
	conflict of vdsm which starts mom.

2013-03-07  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Fix localfs functional tests in Fedora 18
	localfs storage backend is placed in /tmp, however /tmp is tmpfs in
	Fedora 18 and it does not support direct IO, so we can not use it for
	storing the backend data and the tests fail.

	This patch create localfs storage backend in /var/tmp.

2013-03-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Adding with_systemd macro
	This patch adds the macro with_systemd which can be used
	to validate if the system uses Systemd.

2013-03-06  Aravinda VK  <avishwan@redhat.com>

	gluster: Handling Attribute error in Python 2.6
	xml.etree.cElementTree in Python 2.6 doesn't have the attribute
	ParseError(Introduced in Python 2.7). VDSM gluster/cli.py tries
	to capture etree.ParseError when gluster cli returns incompatible
	xml output.

2013-03-06  Vered Volansky  <vvolansk@redhat.com>

	hooks: Add disk hot plug/unplug hooks
	Added four hook points named:
	1. before_disk_hotplug
	2. after_disk_hotplug
	3. before_disk_hotunplug
	4. after_disk_hotunplug

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=908656

2013-03-06  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	fix a PEP 8 issue in vdsm/configNetwork.py

2013-03-05  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py: return False on cert error screen
	If we cannot download the engine certificate we should
	only show the error screen and return.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=895912

	engine.py: replace sed to setVdsConf
	Use the standard way to write into vdsm-reg.conf.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=890572

2013-03-05  Antoni S. Puimedon  <asegurap@redhat.com>

	Don't crash on libvirt network re-definition.
	This patch is aimed to solve the libvirt syncing bug described in
	bugurl. In short, the vdsmd restart scenario is solved by the
	previous patch (30c63c5).

	This one solves the case when the interface backing a bridge/network
	has disappeared (and thus is not reported by netinfo to the engine)
	and then the engine sends a new setupnetwork that attempts to
	recreate the partially defined network. Up until now, libvirt would
	report an exception. Now we make a best-effort to remove the network
	before trying to add it again, by adding a control case in the
	setupNetworks logic where networks to be removed are usually removed.

	Bug-Url: https://bugzilla.redhat.com/861701

2013-03-05  Roy Golan  <rgolan@redhat.com>

	Catch libvirt timeout and return an error on setVmTicket
	Return an errCode instead of an exception libvirt timeout in setVmTicket
	verb and setting the 'message' to be the exception string representation
	so upper layers would have more info about what went wrong.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=878064

2013-03-04  Shu Ming  <shuming@linux.vnet.ibm.com>

	Fix the broken PYTHONPATH
	@builddir@/vdsm is a non-exsiting path

2013-03-04  Federico Simoncelli  <fsimonce@redhat.com>

	build: add load_needed_modules.py.in to EXTRA_DIST

2013-03-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Ignore postZero flag when deleting an image on a fileSD.
	Ignoring parameters is very bad but we will continue to do that
	because fixing the engine is very hard.

	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=911209

2013-03-03  Federico Simoncelli  <fsimonce@redhat.com>

	hsm: always check validateNotSPM when disconnecting from a pool
	At the moment of this writing vdsm doesn't have a valid flow to
	disconnect from a pool if the host is the SPM; the side effect
	of calling _disconnectPool (e.g. a failed refreshStoragePool) is
	that the SPM resource will remain locked.

	If we want to introduce a change to allow the disconnection from
	the pool even if the host is the SPM we should do it explicitly
	with a specific patch that stops the SPM.

2013-03-03  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Override getLocalPathBase in GlusterFSConnection
	Override getLocalPathBase in GlusterFSConnection as a better
	way to specify mount point for GlusterSD

2013-03-01  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Introduce getLocalPathBase for MountConnection
	Introduce getLocalPathBase in MountConnection so that
	class re-using it can override it to present their own
	path base.

2013-03-01  huntxu  <mhuntxu@gmail.com>

	configNetwork: improve assertBridgeClean

	network: reuse netinfo.ports()

2013-02-28  MeiLiu  <liumbj@linux.vnet.ibm.com>

	Fix sslTests import bug
	ImportError for SecureXMLRPCServer is triggered when the test runns in
	installed directory.
	It should be imported from vdsm folder in python library.

2013-02-28  Antoni S. Puimedon  <asegurap@redhat.com>

	Improve the readability of define.py
	Maintain pep8 compatibility but improve the readability by
	recovering some space (reducing indentation).

2013-02-28  Yeela Kaplan  <ykaplan@redhat.com>

	If attachSD fails - rescan for new vgs not visible from spm
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=883390

2013-02-27  Federico Simoncelli  <fsimonce@redhat.com>

	pool: ignore refreshStoragePool calls on the SPM
	The refreshStoragePool command is an HSM command and should not be
	issued (and executed) on the SPM. At the moment we just ignore it
	for legacy reasons but in the future vdsm could raise an exception.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=882958

2013-02-26  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding sudo rules to multipath and removing unused rules
	When vdsm tries to cp multipath.conf file as part of setupMultipath that
	tries to keep the last multipath.conf file into multipath.conf.1, we get an
	error that sudo command requires a password.

	This patch add rules to allow operations on absolute path of multipath.conf
	file.

	Removing old code that related to directories that vdsm doesn't use anymore.

	Bud-Id: https://bugzilla.redhat.com/show_bug.cgi?id=907389

2013-02-26  Dan Kenigsberg  <danken@redhat.com>

	caps: allow rpm name to be different from reported package name
	This patch makes it easier to ship a package which is implemented by a
	differently-named rpm. It mimics what we have for Debian, even though
	currently this patch keeps the exact mapping.

2013-02-26  Federico Simoncelli  <fsimonce@redhat.com>

	stats: compute the iso prefix asynchronously
	The iso prefix must be computed asynchronously because in any other
	synchronous operation (e.g.: connectStoragePool, getInfo) vdsm cannot
	risk to stop and wait for the iso domain to report its prefix (since
	it might be unreachable).

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=880098

2013-02-26  Dan Kenigsberg  <danken@redhat.com>

	tool: _enable_bond_dev: reopen bonding_masters per bond
	Writing multiple +bondnames into /sys/class/net/bonding_masters is not
	enough to add new bonding devices. One has to reopen that file for each
	added bond.

2013-02-26  Federico Simoncelli  <fsimonce@redhat.com>

	pool: refactor getInfo and getRepoStats
	Both getInfo and getRepoStats (in StoragePool) grown some
	inconsistencies over time. It's time to do some cleanup in
	this area before proceeding with any additional change.

2013-02-25  huntxu  <mhuntxu@gmail.com>

	tc: set/unset promisc when it's really needed
	When setPortMirroring is called multiple times for the same network (in
	case that more than one vms on the same host would monitor the same
	logical network), we don't need to set the device's promisc flag to on
	more than once.

2013-02-21  Yaniv Bronhaim  <ybronhei@redhat.com>

	Add to logrotate conf file that new created logs will be owned by vdsm
	Using create options that set each new log file to mode 644 owned by
	user vdsm and vdsm group

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=912308

2013-02-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	Uniform LocalDirectoryConnection.checkTarget() errors.
	Hard to believe: there are uglier things the the True or Exception
	pattern.

2013-02-20  Yaniv Bronhaim  <ybronhei@redhat.com>

	removing the use of zombie reaper from supervdsm
	This may solve validateAccess errors, but can cause defuct subprocesses.
	This patch is signed as WIP until we'll find better solution, until then
	this patch helps to verify if the previous errors that was caused thanks
	to zombie reaper handling don't occur.

2013-02-20  Adam Litke  <agl@us.ibm.com>

	api: Convert process_schema.py to use vdsmapi.get_api()

	api: Convert schemaTests to use vdsmapi.get_api

	api: Move DynamicBridge to vdsmapi schema processing

2013-02-19  Eduardo Warszawski  <ewarszaw@redhat.com>

	Do not delete the template when zeroing a dependant image.
	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=910013

2013-02-19  Dan Kenigsberg  <danken@redhat.com>

	Drop remnant CMD_LOWPRIO
	Commit aba12f81be549 attempted to drop all CMD_LOWPRIO, but due to a sloppy
	rebase, one reference remains.

2013-02-19  Adam Litke  <agl@us.ibm.com>

	tests: Skip stress tests that behave badly when run in parallel
	A particular test: resourceManagerTests.testStressTest works by spawning lots of
	threads to test the resource manager.  Unfortunately, when run in parallel with
	other tests (as happens on Jenkins), it can cause spurious errors in comletely
	unrelated tests by causing the user to exceed its thread limit.  There is no
	real way around this problem other than to skip this test when tests can be
	running in parallel.

	To achieve this, introduce a new nose plugin (similar to SlowTestsPlugin) that
	can be activated by a command line parameter or environment variable.  When
	active, tests marked as @stresstest will be skipped.

	The environment variable NOSE_SKIP_STRESS_TESTS should be added to the Jenkins
	unit test job.

2013-02-19  Peter V. Saveliev  <peet@redhat.com>

	hook_faqemu: using libvirt instead of hacking it
	Passing -no-kvm / -enable-kvm directly to qemu is a rather bad idea,
	if you do not change domain type. These options should be set by
	libvirt upon the domain type: domain type='kvm' will engage kvm
	and domain type='qemu' will use faqemu correctly in all libvirt
	versions on any host type.

	Since vdsm-faqemu do not provide nothing but this option hack,
	it can be safely removed, libvirt will do all the work. Beside of
	that, there is no need for /dev/kvm creation hack, since domain
	type='qemu' does not check it on the startup.

2013-02-19  Adam Litke  <agl@us.ibm.com>

	api: Organize schema symbols by type
	Currently the vdsmapi module returns the parsed schema as a large list of
	symbols.  Consumers of this list have all resorted to reorganizing the symbols
	by type (commands, types, enums, maps, etc).  Rather than forcing each user to
	rewrite this code, just do it correctly at the source.  This reduces code
	duplication and makes at easier to add new symbol types (such as events and
	errors).

2013-02-19  Saggi Mizrahi  <smizrahi@redhat.com>

	jsonrpc: Make jsonrpc an independent package
	The json-rpc core is needed by the client and by the server.

	I changed the package name to yajonrpc (yet another json-rpc) to avoid
	collisions with existing jsonrpc implementations.

	jsonrpc: Use the AsyncoreClient implementation in tests too
	No need to have two implementation for the same thing

	jsonrpc: Check for credit before popping a message from the queue

	jsonrpc: Use asyncore instead of custom solution
	Use the built in asynchronous loop infrastructure instead of a custom
	one. This is much less code to maintain.

	I purposefully changed dumped the tcpReactor name for the class and
	module because I will do some more work to add unix sockets in the
	future.

	If only someone would have told me this existed beforehand. I wouldn't
	have spent so much time on the original reactor. Anyway, no use crying
	over spilt milk.

	jsonrpc: Make reactor clients 1st class objects
	Also add support for batch requests, tests to come soon

	jsonrpc: Remove unecessary check

2013-02-18  Giuseppe Vallarelli  <giuseppevallarelli@gmail.com>

	doc: Solved sphinx-build import errors.
	Added _static folder to remove a sphinx-build warning,
	removed obsolete SPM.rst, updated doc Makefile it now
	exports the PYTHONPATH, before doc generation create_sl
	is invoked and adds a symbolic link to vdscli.py in the
	vdsm python package if it's missing. Reduced warnings
	with :noindex: directive.

	doc: Added make file target, treating warnings as errors.
	Added htmlstrict make file target, warnings are treated
	as errors making sphinx-build stop doc creation.

	doc: updated conf.py and different *.rst files with new references.
	Updated conf.py (sys.path, copyright's year), Removed empty
	storage/overview file. Updated references in the different
	*.rst files by using fully qualified package names.

	Doc generation now works except for clientIf and vm modules,
	but a little step is necessary: adding to the PYTHONPATH
	the vdsm python package.

	doc: Reorganized doc structure in root project folder
	Moved the sphinx doc at project root folder, got rid
	of source folder inside doc, updated Sphinx Makefile
	and .gitignore to not track doc/build folder.

2013-02-18  Adam Litke  <agl@us.ibm.com>

	api: Remove some unneeded functions from vdsmapi.py

	api: Separate api schema into its own package
	The vdsm schema definition is needed by the vdsm server but also by clients.
	Split the shema into its own package so it can be installed by clients without
	pulling in server-side dependencies.

2013-02-14  Muller  <amuller@redhat.com>

	Issue when running make rpm in Fedora 18 without root access.
	The ConfigWriterTests:testPersistantBackup fails, because it uses libvirt's
	createNetwork and removeNetwork functions, but libvirt requires root access.
	The current solution is to use monkey patch, and simply nullify the create
	and remove network functions. The test now passes, but this might
	not be the ideal solution to the problem.

2013-02-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	Adding VM based locks to ovf modify functions.
	Caveat Emptor:
	Avoids concurrent runs, but not serializes.
	Simultaneous updates or removes of ovf files (like removing many
	disks from the same VM) may result in inconsistent ovf's.

	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=878894

	Move hsm.validatePoolSD() -> pool.validatePoolSD().
	Since StorageDomainNotMemberOfPool and StorageDomainNotInPool
	are handled the same in the Engine is better to raise the
	proper Exception in spite that before
	StoragePool.validateAttachedDomain() raised the 2nd one only.

	Related to BZ#878894.

2013-02-13  Antoni S. Puimedon  <asegurap@redhat.com>

	Simplify removeVlan by removing duplicated code.

2013-02-13  Adam Litke  <agl@us.ibm.com>

	tests: Make getFreePort work in a multithreaded environment
	getFreePort does not currently work reliably if multiple copies are running
	concurrently.  Since each copy starts at the same port, the chance of choosing
	the same port number at the same time is great.  Switch to letting the OS find
	an available port.

	This should fix the intermittent failures of jsonRpcTests and apiTests.

2013-02-13  Antoni S. Puimedon  <asegurap@redhat.com>

	Make vdsClient prettyprint dictionaries.
	This helps a lot reading getVdsCaps.

	This change makes that something like this:

	networks = {'ovirtmgmt': {'iface': 'ovirtmgmt', 'addr': '10.34.60.86', 'cfg': {'IPV6INIT': 'yes', 'MTU': '1500', 'DELAY': '0', 'NM_CONTROLLED': 'no', 'BOOTPROTO': 'dhcp', 'DEVICE': 'ovirtmgmt', 'TYPE': 'Bridge', 'ONBOOT': 'yes'}, 'ipv6addrs': ['fe80::5054:ff:fe68:2557/64'], 'mtu': '1500', 'netmask': '255.255.252.0', 'stp': 'off', 'bridged': True, 'ipv6gateway': '::', 'gateway': '10.34.63.254', 'ports': ['eth0']}}

	Becomes this:

	networks = {'ovirtmgmt': {'addr': '10.34.60.86',
	                          'bridged': True,
	                          'cfg': {'BOOTPROTO': 'dhcp',
	                                  'DELAY': '0',
	                                  'DEVICE': 'ovirtmgmt',
	                                  'IPV6INIT': 'yes',
	                                  'MTU': '1500',
	                                  'NM_CONTROLLED': 'no',
	                                  'ONBOOT': 'yes',
	                                  'TYPE': 'Bridge'},
	                          'gateway': '10.34.63.254',
	                          'iface': 'ovirtmgmt',
	                          'ipv6addrs': ['fe80::5054:ff:fe68:2557/64'],
	                          'ipv6gateway': '::',
	                          'mtu': '1500',
	                          'netmask': '255.255.252.0',
	                          'ports': ['eth0'],
	                          'stp': 'off'}}

2013-02-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix bad  image tagging when postzeroing.
	The postzero code fails to remove the image tag from the volume
	and adds an extra tag without the right prefix.

2013-02-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	After fail to connect to supervdsm more than 3 time vdsm gets into panic
	Due to race between old supervdsm instance to the new instance after
	prepareForShutdown, sometimes the socket is removed after
	new supervdsm started to listen on it.
	_pokeParent thread unlink the socket when distinguish that vdsm is dead.
	This can take more time than the time that takes to vdsm to startup and
	start the new instance of supervdsm. The unlink removes the socket file
	and vdsm cannot communicate with supervdsm.
	When the communication fails, vdsm calls panic and restart itself, this
	will start supervdsm again as needed.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=910005

2013-02-12  Peter V. Saveliev  <peet@redhat.com>

	vdsm: migration status structure refactoring

2013-02-12  Gal Hammer  <ghammer@redhat.com>

	BZ#841555 A migration failure with an "AttributeError" exception.
	Libvirt sometimes send the SUSPENDED/SUSPENDED_PAUSED event
	after RESUMED/RESUMED_MIGRATED (when VM status is PAUSED
	when migration completes, see qemuMigrationFinish function).
	In this case self._dom is None because the function
	_waitForIncomingMigrationFinish didn't update it yet.

2013-02-12  Yeela Kaplan  <ykaplan@redhat.com>

	Change lvm filter use of regular expression to 'replace \x'
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=908776

2013-02-11  Peter V. Saveliev  <peet@redhat.com>

	vdsm: migration log messages spelling

2013-02-11  Yaniv Bronhaim  <ybronhei@redhat.com>

	Removing vdsm configuration when removing vdsm service
	Before we removed that section only over rhel and we looked for the
	wrong string. This patch adds sed command for both dist with the current
	string that is written by vdsmd init script.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=902346

2013-02-10  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#840407 - Create a fake template when moving to backup SD.
	This code is repeated twice because the copy in deprecated
	moveMultipleImages() will be removed when this image will be
	removed in the next version.
	All the related fake template code should be removed.

2013-02-09  Federico Simoncelli  <fsimonce@redhat.com>

	misc: handle properly timeout=-1 in NoIntrPoll
	The parameter timeout=-1 (no timeout) of NoIntrPoll wasn't properly
	handled by the previous implementation; it was in fact returning an
	empty set of file descriptors if the process was interrupted by a
	signal. This patch ensures that the parameter is taken in account
	(do not return until there is an event) even when the process is
	interrupted.

2013-02-08  Saggi Mizrahi  <smizrahi@redhat.com>

	tests: (OCD) Add space at the end of the sample string
	When the strings are concatenated there needs to be a space or there is
	a punctuation sign without a space after it.

	jsonrpc: Change start_listening to createListener

2013-02-08  huntxu  <mhuntxu@gmail.com>

	netinfo: report IPv6 information

2013-02-08  Saggi Mizrahi  <smizrahi@redhat.com>

	jsonrpc: Add support for multiple listeners
	Make is so that a reactor can have more then one listeners running

2013-02-07  Saggi Mizrahi  <smizrahi@redhat.com>

	jsonrpc: Change cxtr to connector to make the code a bit more understandable

	jsonrpc: Federate context and request-response objects
	This is the ground work needed to allow batch requests and bidirectional
	jsonrpc.

	jsonrpc: Add multi-threading option to JsonRpcServer

	jsonrpc: Fix race in ProtonReactor and add better delivery semantics

2013-02-07  Peter V. Saveliev  <peet@redhat.com>

	migrateStatus() progress report
	The percentage is based on libvirt dataTotal and dataRemaining
	fields of the virDomainJobInfo struct

	vdsm: fix tunneled migration regression

2013-02-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	Rename parent volume in blockSD.getAllVolumes.
	Renaming variable names for better readability.

2013-02-06  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix broken NFS.
	self.sdUUID does not exist when self.validateFileSystemFeatures
	is called.

	Broken by Icf14d1c4737.

2013-02-06  Gal Hammer  <ghammer@redhat.com>

	BZ#829110 Remove a "Domain not found" error from stats thread.
	Removed redundant code which changed VM status if error occured on
	the stats thead.

2013-02-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm: Move sysctl
	sysctl should be called at boot time.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=907086

2013-02-06  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#836161 - Remove preDeleteRename().

2013-02-06  huntxu  <mhuntxu@gmail.com>

	netinfo: implement functions gathering IPv6 information

2013-02-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Requires policycoreutils-2.1.13-55 to avoid another break on selinux disabled.
	When selinux is disabled on f18, it fails to import module sepolicy
	with an exception. It causes the the vdsm-tool unavailable, and therefore
	the bonding module can't be loaded when vdsm starts up. For details,
	please see https://bugzilla.redhat.com/show_bug.cgi?id=889698

2013-02-05  Dan Kenigsberg  <danken@redhat.com>

	split restore-net-conf away of vdsmd.init service
	There is no need to revert network configuration when vdsmd is
	restarted, only when the host is rebooted after being fenced.

	This becomes painfully visisble if vdsm is restarted due to spm
	failover, and while at it - rolls back an unrelated network
	configuration.

2013-02-05  Adam Litke  <agl@us.ibm.com>

	schema: Update VmDefinition to match current behavior
	The schema for VmDefinition was incorrect in that it had some fields marked as
	mandatory even though they may be omitted.  Also, exitCode and exitMessage were
	not included in the original definition.

	schema: Eliminate 'class' from StorageDomainInfo
	'class' is usually a reserved word and makes a bad name for a type field.
	Change it to domainClass and add the required type fixup to the Bridge.

2013-02-04  Saggi Mizrahi  <smizrahi@redhat.com>

	Storage: Check that underlying file system supports direct IO
	- Check when creating a domain
	- Check when creating a domain object

	This is done so that we don't allow posixfs domains on top of targets
	that don't support direct IO.

	Direct IO is needed in order to read the metadata reliably in a
	clustered environment. It is also a required feature for Sanlock.

2013-02-04  Dan Kenigsberg  <danken@redhat.com>

	configNet: allow delete/update of devices with no ifcfg
	In Fedora 18, ifcfg files are missing by default. This patch assumes
	that there are no custom MTU setting for a device with no ifcfg file.

	This version of the patch owes a lot to Mark Wu's
	http://gerrit.ovirt.org/11357 and to Toni who convinced me that it is
	better to read the MTU directly from kernel.

	Bug-Url: https://bugzilla.redhat.com/906383

2013-02-03  Eduardo Warszawski  <ewarszaw@redhat.com>

	Do not fail when getVSize is called on an inactive LV.
	Bug-uri: https://bugzilla.redhat.com/show_bug.cgi?id=878955

2013-02-01  Douglas Schilling Landgraf  <dougsland@redhat.com>

	load_needed_modules: adding bridge module
	if bridge module is not loaded
	net.bridge.bridge-nf-call-* is ignored by sysctl.

2013-01-31  Adam Litke  <agl@us.ibm.com>

	jsonrpc: Rearrange test classes for reusability

2013-01-31  Yeela Kaplan  <ykaplan@redhat.com>

	Handle spaces in device names using lvm filter
	any character that is not on udev whitelist (0-9, A-Z, a-z, #*-.:= _)
	will get translated into an encoded form \xNN where NN is the
	hex value of the character.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=876575

2013-01-30  Saggi Mizrahi  <smizrahi@redhat.com>

	tests: Fix race in misc:DdWatchCopy.testStop
	Use a named pipe instead of an actual source file so we know no data
	will ever be read.

2013-01-30  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Require openssl
	deployUtil uses openssl command, we should Require it.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=905728

2013-01-30  Dan Kenigsberg  <danken@redhat.com>

	Fedora 18: require a newer udev
	Due to https://bugzilla.redhat.com/903716 `udev: device node permissions
	not applied with "change" event' we could not use block storage in
	Fedora. Let us explicitly require a newerer systemd that fixes this
	issue, to avoid users' dismay.

2013-01-29  Lee Yarwood  <lyarwood@redhat.com>

	upgrade: catch MetaDataKeyNotFoundError when preparing images
	Ensure that we catch and continue past any MetaDataKeyNotFoundError
	exception when preparing images that may contain partially removed
	volumes. For example where the LV is still present but the metadata
	block has been blanked out.

2013-01-29  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Improve dom xml gereration
	This patch adds a new class XMLElem, which allows to create a XML element
	and set its attributes and text node with one call. Also it can add
	a child element with the attibutes of child. Then dom xml generation
	code can just focus on getting attributes from vm's defintion. It also
	make it easier to replace minidom with elementtree if neccessary in future.

2013-01-28  Adam Litke  <agl@us.ibm.com>

	schema: Strengthen schema verification
	Add additional checking to process-schema.py to detect the following errors:
	 - Symbol comment documents a field which is not defined in the symbol
	 - Symbol references an undefined type

	schema: bridges was added to VdsmCapabilities
	In 1fa30a, Dan added a new field 'bridges' to VdsmCapabilities but did not
	update the schema to reflect it.  At the moment we are not checking for
	extraneous fields in our types so I just caught it now by chance.

2013-01-28  Dan Kenigsberg  <danken@redhat.com>

	Expose a new argument for tunneled migration of a VM
	Tunneled migration (notice the US spelling!) provides better
	authentication and encryption for migration data, in the price of higher
	CPU consumption and libvirtd latency. Let Engine choose if this is
	wanted per migration command.

2013-01-28  Antoni S. Puimedon  <asegurap@redhat.com>

	Remove redundant exception assignations.
	Remove some obvious assignations from the except clauses that do
	not make any use of them.

2013-01-28  Federico Simoncelli  <fsimonce@redhat.com>

	clusterlock: add the local locking implementation
	In order to have a faster and more lightweight locking mechanism on
	local storage domains a new cluster lock (based on flock) has been
	introduced.

2013-01-27  Saggi Mizrahi  <smizrahi@redhat.com>

	jsonrpc: Make jsonrpc test timeout constant

	jsonrpc: Add timeout to JsonRpcTests:JsonRpcServerTests
	Without it tasks linger forever if server fails to respond

	jsonrpc: Add some more tests to JsonRpcTests

	jsonrpc: Allow JsonRpcBindings to initialize an AMQP transport

	jsonrpc: Run JsonRpcServer requests in their own thread
	Currently it uses the transport thread.
	This change creates a clear separation of control flow.

	This makes sure there is a single sync point for all json-rpc requests
	and that handling a request never blocks the transport for processing
	messages.

	jsonrpc: Add more logging to JsonRpcTests to ease debugging

	jsonrpc: Don't call server.shutdown since it doesn't exist

	jsonrpc: Basic AMQP 1.0 transport support
	I don't set the port on purpose, the configuration scheme will have to
	be changed to more appropriately support multiple transports. This will
	be done in another patch.

	Since qpid-proton is in package review for fedora I don't add it as a
	requirement in the RPM or for testing. It will be used if present in the
	system.

	If you know how to review packages for fedora you are welcome to visit
	the BZ[1].

	We are planning on moving the binding files away from vdsm_api to vdsm
	code so that only client side and API code is in the vdsm_api dir.
	When that is done we will need to create an RPM for each transport so
	that users don't have to install dependencies for all transports.

	[1] https://bugzilla.redhat.com/874105

	tests: Make python version configurable
	This is good if you want to run a debugger shell (like winpdb) instead
	of just running vanilla python.

2013-01-26  Yaniv Bronhaim  <ybronhei@redhat.com>

	adding myself as an author

2013-01-25  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix test errors on el6
	Include full new-style implementation of assertRaises so that even old
	versions of python can run all tests

2013-01-25  Federico Simoncelli  <fsimonce@redhat.com>

	domain: remove race condition in extend
	During a domain extension the metadata mappings are checked against
	MAX_PVS, in doing so the self._extendlock should be acquired to prevent
	multiple concurrent extensions that would surpass the MAX_PVS number.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=876663

2013-01-25  Dan Kenigsberg  <danken@redhat.com>

	logUtils.funcName: work on partial methods
	misc.Event.emit() fails when its callback is a partial(method, args) as
	it is neither a method, nor has func_name.

	Thread-645::WARNING::2013-01-24 01:29:11,212::misc::1236::Event.Storage.DomainMonitor.onDomainConnectivityStateChange::(_emit) Could not run registered method because of an exception
	Traceback (most recent call last):
	  File "/usr/share/vdsm/storage/misc.py", line 1228, in _emit
	    logUtils.funcName(func))
	  File "/usr/share/vdsm/logUtils.py", line 31, in funcName
	    return func.func_name
	AttributeError: 'functools.partial' object has no attribute 'func_name'

2013-01-25  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	tests/functional: Add GlusterSD functional test
	Add functional testcase for glusterSD. This requires a gluster
	volume named 'testvol' running on the same system as this test
	runs as a pre-req.

	tests/functional: Use deleteVolume instead of deleteImage
	Since we are creating a volume, the undo/rollback should
	do deleteVolume instead of deleteImage. deleteImage does
	not work well for derived filedomains (eg. glusterSD) as
	it does not honor the volumeClass associated with the
	derived domain, so its not possible to write a test using
	deleteImage for glusterSD. Technically too, deleteVolume
	fits the current flow of testcase better than deleteImage
	as there isn't a chain of volumes being created to be
	really justified to use deleteImage

2013-01-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BindingXMLRPC: flowID for Irs calls
	Adding flowID to vdsm log for Irs calls

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=800355

2013-01-24  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: use alternate method for verify certificate
	M2Crypto at python-2.6 issues deprecation warning for current method of
	acquiring certificate chain. Use an alternate method.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=901470

2013-01-24  Vered Volansky  <vvolansk@redhat.com>

	vdsm: Fix diskReplicateFinish call description
	vdsClient diskReplicateFinish had the same description as Start.
	Changed "Start" to "Finish".

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=901606

2013-01-24  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Support for GLUSTERFS_DOMAIN
	This patch introduces a new storage domain of type
	GLUSTERFS_DOMAIN, which uses gluster as the storage backend.

	In GLUSTERFS_DOMAIN, vdsm creates the storage domain by mounting
	the gluster volume (akin to nfs mounting export path). VMs
	created using this domain exploit the QEMU's gluster block
	backend. Instead of accessing the vmdisk as a file path, it
	accesses the vmdisk as a network disk device, served by gluster
	server/volume.

	This patch attempts to re-use nfsSD core logic (to an extent)
	to support domain of type GLUSTERFS_DOMAIN.

2013-01-24  Yeela Kaplan  <ykaplan@redhat.com>

	Change scsi_id command path to be configured at runtime
	On fedora 18 scsi_id path is no longer under /sbin/scsi_id,
	we configure vdsm to look for the path at runtime
	and thus remove it from constants.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=886087

2013-01-24  Andrey Gordeev  <dreyou@gmail.com>

	Explicitly shutdown  m2crypto socket
	Aparently some versions of the m2crypto library don't shutdown correctly
	underlying sockets when a SSL connection is closed.

	In Python 2.6.6 (the version in RHEL6 and in CentOS6) when the XML RPC
	server closes a connection it calls the shutdown method on that
	connection with sock.SHUT_WR as the parameter. This works fine for plain
	sockets, and works well also for SSL sockets using the builtin ssl
	module as it translates the call to shutdown to a complete shutdown of
	the SSL connection. But m2crypto does an different translation and the
	net result is that the underlying SSL connection is not completely
	closed.

	In Python 2.7.3 (the version in Fedora 18) when the XML RPC server
	closes a connection it calls the shutdown method on that connection with
	sock.SHUT_RDWR, so no matter what SSL implementation is used the
	underlying SSL connection is completely closed.

	This patch changes the SSLSocket class so that it explicitly shuts down
	and closes the underlying socket when  when the connection is closed.

2013-01-24  Federico Simoncelli  <fsimonce@redhat.com>

	domain: select the cluster lock using makeClusterLock
	In order to support different locking mechanisms (not only per-domain
	format but also per-domain type) a new makeClusterLock method has been
	introduced to select the appropriate cluster lock.

2013-01-24  Dan Kenigsberg  <danken@redhat.com>

	vdsmd.service: require either ntpd or chronyd
	Fedora 18 ships with chronyd by default, which conflicts with ntpd. We
	do not really care which one of the two is running, as long as the host
	clock is synchronized. That's what requiring time-sync.target means.

2013-01-24  Mark Wu  <wudxw@linux.vnet.ibm.com>

	spec: requires selinux-policy to avoid selinux failure on access tls cert
	selinux-policy tightened up the security on svirt_t on fedora18. It causes
	that svirt_t is disallowed to access cert_t file. And therefore it will block
	qemu run spice server with tls. For more details, please see:
	https://bugzilla.redhat.com/show_bug.cgi?id=890345

2013-01-24  Antoni S. Puimedon  <asegurap@redhat.com>

	Simplify ip address validation leveraging socket.
	Currently we have a ad-hoc validation of the validity of ip
	addresses. Since the standard socket module has a built-in
	validator inside inet_pton, we could leverage it.

2013-01-24  Federico Simoncelli  <fsimonce@redhat.com>

	misc: rename safelease to clusterlock
	The safelease module is now contaning also the sanlock implementation
	and soon it might contain other (e.g.: a special lock for local storage
	domains), for this reason it has been renamed with a more general name
	clusterlock. The safelease implementation also required some cleanup in
	order to achieve more uniformity between the locking mechanisms.

2013-01-23  Adam Litke  <agl@us.ibm.com>

	Bridge: Fix the specification of the getAllTasks return value

2013-01-23  Juan Hernandez  <juan.hernandez@redhat.com>

	Copy truncate vdsm-reg.log
	When the vdsm-reg program doesn't stop (if it fails to contact the
	engine, for example) it will continuously generate messages that can
	flood the log. Moving the log file is not enough because the program
	keeps it open, so the space is not freed. As the program opens the file
	for appending it is safe to copy and truncate the file.

2013-01-23  Dan Kenigsberg  <danken@redhat.com>

	test CommandPath

2013-01-23  jarod.w  <work.iec23801@gmail.com>

	vdsm: free loop device when umounting floppy in mkimage.py
	After umounting floppy successfully, it doesn't free automatically
	the loop device. Here, we add the support to free the loop device
	in the umount function of Mount class and free it to prevent it
	using up all loop devices.

	The issue only happened in the special case that node is built using
	livecd-tools(version: 16.8-1) and rpms from centos63. Because:
	1. Centos63 disables auto-destruction feature and still depends on
	   /etc/mtab to free the loop device.
	2. Livecd-tools links /etc/mtab to /proc/self/mounts, so umount can't
	   get suggestion to free the loop device from /etc/mtab.

2013-01-23  Dan Kenigsberg  <danken@redhat.com>

	net: drop nicSort
	nicSort was introduced so that vdsm calls ifup on bonded nics in the
	same order that initscripts does it, in order to obtain the same master
	mac address.

	A simpler and safer solution is to delegate ifup of bonded nics to
	initscripts, which does that when we ifup the bond device.

	In this commit we drop nicSort together with its remaining usage.

2013-01-21  Federico Simoncelli  <fsimonce@redhat.com>

	domain: use shared lock for extendStorageDomain
	The extendStorageDomain command shouldn't hold an exclusive lock on
	the storage domain since it can be executed also during other long
	tasks (e.g.: moveImage).

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=876663

2013-01-21  Antoni S. Puimedon  <asegurap@redhat.com>

	Simplify netinfo get.
	This patch refactors netinfo to have the network data fetching on
	a separate function. This reduces the get() complexity and will
	allow the possibility of reusing the new method (via a future patch
	wrapping of it) for more fine-grained information retrieval, e.g.,
	update just a network info of a Netinfo instance.

2013-01-20  Yeela Kaplan  <ykaplan@redhat.com>

	use qemu-img convert to copy sparse volumes when moving a vm
	Previously all volumes were copied with dd, with sparse files this
	would result in the destination volume being fully allocated.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=748386

2013-01-20  Antoni S. Puimedon  <asegurap@redhat.com>

	Remove old-style exception raising (pep3109)
	The only exception is when raising with a traceback, for which
	there is not a new-style equivalent both Python 2.x.

2013-01-20  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Extract bonding options building into a separate function.
	To make setupNetworks shorter, move the bonding options building code
	into a separate function.

2013-01-19  Mark Wu  <wudxw@linux.vnet.ibm.com>

	tests: Fix parted_utils_tests break on fedora 18
	parted 3.1 improves its support for loopback devices. The 'model' string
	returned by libparted is updated to 'Loopback device'. For more information,
	please see:
	http://anonscm.debian.org/gitweb/?p=parted/parted.git;a=commit;h=3e35b6

	Because another bug of parted.version() on rhel6
	(https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=700383),
	we can't use parted.version() to differentiate the parted version.
	We could restort to rpm db, but loop device is only used in test code,
	so it should be safe to ignore the test of model string.

	Revert "tests: Fix parted_utils_tests break on fedora 18"
	The commit 51d76e caused a break on rhel6 host because of a bug
	in parted.version(). Please see:
	https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=700383
	It's fixed in Fedora 14, but not backported to RHEL6. So we have to
	find a workaround for the break on Fedora18.

	This reverts commit 51d76e04727c2d41371eb207f02a0f84de74a140.

2013-01-19  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix inefficiency in getBridgelessNetworks
	This commit makes getBridgelessNetworks use the Netinfo instance
	networks instead of generating its own. Additionally, it is put in
	the style and vicinity of the most semantically similar method of
	the class, to improve the module's readability.

2013-01-17  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Add a flag to libvirtvm's status to report watchdog event
	This flag will be set once watchdog event is triggered.
	The client can get watchdog event by checking the 'watchdogEvent'
	key in the return value of getVmStats or getAllVmStats API.
	This flag will be overwriting if watchdog fires more than once for
	the same VM before it was polled.
	And the flag will be not cleanup after it is set unless the client
	restart or shutdown VM.
	So add a timestamp in the message of this flag.

	The timestamp is the time in seconds since the Epoch.

	When the client poll this flag, it should record and check the
	timestamp to make sure that the event is already triggered.

	fix the optional parameters error of api schema file
	some discrptions of optional parameters miss #optional
	some definitions of optional parameters miss *

	fix two parameters of VmParameters in vdsmapi schema
	from the comments of VmParameters, the two parameters are #optional

2013-01-16  Andrey Gordeev  <dreyou@gmail.com>

	Add usbutils req to usbhook

2013-01-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Refactor communication infra
	This is one phase in many, there is still a lot to do but it's a good
	step in the right direction.

	As I said, this is far from complete but it's enough code for a commit
	IMO.

	- Properly layer code to allow multiple transports
	- Isolate json-rpc logic to the actual json-rpc layer
	- Someone more conferment but still incomplete json-rpc 2.0 implementation
	- Make sure tcp handling uses one thread
	- Write some more tests

2013-01-15  Yaniv Bronhaim  <ybronhei@redhat.com>

	Moving pidStat function to utils
	As in general it doesn't serve only the storage part

2013-01-15  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix code style for API.
	Apply the code style suggestions in:
	    http://gerrit.ovirt.org/#/c/9993/1/vdsm/API.py

2013-01-15  Mark Wu  <wudxw@linux.vnet.ibm.com>

	tests: Fix parted_utils_tests break on fedora 18
	parted 3.1 improves its support for loopback devices. The 'model' string
	returned by libparted is updated to 'Loopback device'. For more information,
	please see:
	http://anonscm.debian.org/gitweb/?p=parted/parted.git;a=commit;h=3e35b6

2013-01-15  Antoni S. Puimedon  <asegurap@redhat.com>

	Update except syntax according to pep3110.
	The old except BlahException, e: is ambiguous and discouraged going
	forward. The new syntax for python 3.x is supported since Python 2.6
	and already present in our codebase, so it makes sense to
	homogeinize our syntax. For more information:

	http://www.python.org/dev/peps/pep-3110/

2013-01-14  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	tests: add iscsi storage functional test
	Create iSCSO storage backend and create vdsm storage layout on it.
	Use LIO as iSCSI target and skip the test if LIO is not available.

	functional tests: Wait till backend server of storage connection reference is connected
	Storage connection reference performs the actual connecting in
	asynchronous manner, so add a retryAssert on the storage connection
	status to wait it gets connected. Otherwise the creation of storage
	domain will fail if the backend connection in VDSM is not ready.

	Extract a super class for backend servers in functional test, the
	waiting for the ready of the connection is put in the super class,
	because this waiting can be useful to iscsi and glusterfs testing.

	storage connection monitor: don't recover an unmanaged connection
	A connection can be deleted (unmanage) when the storage connection
	monitor thread is in in Event.wait(). When the monitor thread continues
	to execute, it thinks the connection is lost and try to recover it, but
	the fact is it is unmanaged. This bug prevent iscsi connections from
	releasing cleanly.

	This patch checks if the connection is still managed by the monitor
	before recovering it.

2013-01-13  Federico Simoncelli  <fsimonce@redhat.com>

	udev: Race fix- load and trigger dev rule
	The rule file is generated, yet not synch-loaded in memory, so a VM with
	a direct lun fails to start.
	This patch reloads the rules before triggering using the new private
	udev functions - udevReloadRules() in supervdsmServer.py .
	Also added a check in appropriateDevice() (hsm.py) to make sure the
	mapping is indeed there.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=891300

	upgrade: force upgrade to v2 before upgrading to v3
	During the upgrade of a domain to version 3 vdsm reallocates the
	metadata slots that are higher than 1947 (given a leases LV of 2Gb)
	in order to use the same offsets for the volume leases (BZ#882276
	and git commit hash 2ba76e3).
	This has no effect when the domain is version 0 since the metadata
	slots offsets are fixed (the first physical extent of the LV) and
	they can't be reallocated. In such case the domain must be upgraded
	to version 2 first.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=893184

2013-01-13  Dan Kenigsberg  <danken@redhat.com>

	use CommandPath.name
	At the moment, CommandPath.name is initialized, but its only use as a
	third string argument to OSError() is ignored.

2013-01-13  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Unify produceVolume
	Unify produceVolume function and make it use getVolumeClass
	so that subclasses can override getVolumeClass to specify
	their own Volume and ensure that produceVolume works
	properly with subclass supplying their own volumeclass.

	Introduce getMountPoint for NfsStorageDomain
	Move the code to generate the mount point into a seperate
	function, so that classes reusing NfsStorageDomain can
	override the function to present their own mount point path.

2013-01-12  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix vdsm_hooks pep8.

	pep8 fix of contrib vds_bootstrap and vdsm_reg.

	Fix the rest of vdsm storage pep8 issues.

2013-01-11  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Move gluster/{cli,exception,hostname,__init__}.py to vdsm rpm
	This move is being done so that vdsm code using gluster cli
	doesn't have the need to depend on vdsm-gluster rpm

2013-01-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: BuildRequires: python-pthreading
	Moving python-pthreading to be a generic BuildRequirement

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=891542

2013-01-10  Yaniv Bronhaim  <ybronhei@redhat.com>

	Searching for both py and pyc file to start super vdsm
	In oVirt Node we don't keep py files.

2013-01-09  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove duplicate implementation of tobool
	This patch removes the duplicate tobool function from hooking.py,
	and replace it with utils.tobool.

2013-01-08  Mark Wu  <wudxw@linux.vnet.ibm.com>

	vdsm.spec: Don't require python-ordereddict on fedora
	It is a regression introduced by commit bb0620f. The condition "0%{?rhel} < 7"
	also holds true on fedora, so it causes to require python-ordereddict on fedora

2013-01-05  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	PEP 8: fix ignored errors E12{6,7,8}

2013-01-04  Saggi Mizrahi  <smizrahi@redhat.com>

	Increase timeout in remoteFileHandlerTests:PoolHandlerTests.testStop
	On congested hosts (like the oVirt Jenkins host) the test might fail
	even though nothing is broken it is just taking longer then expected.

2013-01-04  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: increase selinux-policy for rhel distro
	Adding missing booleans:
	- sanlock_use_nfs added in selinux-policy 3.7.19-131
	- sanlock_use_fusefs added selinux-policy 3.7.19-155.5

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=889122

2013-01-04  Adam Litke  <agl@us.ibm.com>

	tests: Test schema validity
	Add a simple test case to check schema validity.  For now, we just call the
	schema parser and make sure it doesn't raise any exceptions.

2013-01-04  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: python-ordereddict only for rhel < 7
	rhel7 contains python 2.7 which already includes ordereddict module,
	no need extra python package.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=891542

2013-01-03  Dan Kenigsberg  <danken@redhat.com>

	mount.py: handle (deleted) mount points
	If an NFS mount is removed from the server, client side kernel appends
	" (deleted)" to it specification. It comes from fs/dcache.c's d_path()
	function:

	  Convert a dentry into an ASCII path name. If the entry has been deleted
	  the string " (deleted)" is appended. Note that this is ambiguous.

	In this patch we assume that every mount specification ending with this
	string is indeed a deleted one, and not a funky nfs server provided by
	an evil admin that hates Linux.

	Bug-Url: http://bugzilla.redhat.com/807351

	net: drop redundant ifdown/up of bond's nics.
	Commit 5cabaaa130 has introduced a logic that we are trying to
	eliminate: we should not ifdown a bonded nic directly, initscripts do it
	for us.

	netConf: fix a sloppy rebase
	Commit 5cabaaa1 is refering to ConfigWriter.NET_CONF_PREF which was
	dropped by a parallel commit 1ebff6e5b.

2013-01-03  Saggi Mizrahi  <smizrahi@redhat.com>

	Add callback to the plethora of retry halting possibilities

2013-01-02  Federico Simoncelli  <fsimonce@redhat.com>

	spec: fix typo in the numa hook summary

2013-01-02  Maor Lipchuk  <mlipchuk@redhat.com>

	VDSM: Fix VDSM error message.
	Rephrase VDSM error message.

2013-01-01  Tomas Jelinek  <tjelinek@redhat.com>

	Integrate Smartcard support
	This patch is a VDSM part of the integrating
	the smartcard support to the ovirt:

	This VDSM part integrates the smartcard  in
	a supported way, not just as an unsupported custom hook.

	It also removes the smartcard hook itself.

2013-01-01  Yeela Kaplan  <ykaplan@redhat.com>

	Rename lease files on v3 file SDs when renaming data and meta files
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=886842

2012-12-31  Yaniv Bronhaim  <ybronhei@redhat.com>

	isRunning didn't check local variable before reading saved data
	All internal svdsm files contained last svdsm instance info,
	after restart we didn't verify local manager instance before processing
	the operation and got AttributeError exception when calling svdsm
	manager.

	This returns false when _svdsm instance is None or in firstLaunch.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=890365

2012-12-26  Yaniv Bronhaim  <ybronhei@redhat.com>

	adding getHardwareInfo API to vdsm
	Super vdsm retrieves system info about host hardware
	parameters. This info will be shown as part of getHardwareInfo
	API call in a structure called HardwareInformation.

	This feature currently available only for x86 cpu platfroms, for other
	platfroms the api call returns empty dictionary.

	Feature-Description:
	http://wiki.ovirt.org/wiki/Features/Design/HostHardwareInfo

2012-12-26  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: bump python-ethtool version
	python-ethtool 0.6-2 shows None for ipv4_address request.
	This patch requires python-ethtool version 0.6-3 or higher.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=879148

2012-12-25  Michal Skrivanek  <michal.skrivanek@redhat.com>

	prepareForShutdown is not called when connection to libvirt is broken.
	add few more error codes taken from libvirt's virsh code. In future we should
	replace all this with a callback function they are adding in (not in RHEL 6.3).
	And perhaps avoid restarting vdsm and re-populate object from the new libvirt
	instance instead.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=852956

2012-12-25  Vinzenz Feenstra  <vfeenstr@redhat.com>

	Fix of the unit tests from commit 09f850f

2012-12-24  Vinzenz Feenstra  <vfeenstr@redhat.com>

	Improvement of the GuestAgent class memory usage
	Change in the implementation of reading and handling messages from
	the guest agent. Every 64KiB the newly arrived content is checked for
	a newline character and all messages are handled immediately before
	it continues to read. If the received data do not contain a new line
	character the data is appended to the buffer list and the
	_buffer_size variable increased by the size of all stored buffers in
	the list. If _buffer_size exceeds the defined threshold, currently set to 1MiB,
	the buffer list will be discarded and _buffer_size will be reset to 0.
	Additionally the _message_state variable will be set to 'MessageState.TOO_BIG'
	which indicates that the message must not be parsed once the next new-line
	character will arrive. Messages which are too big will never be parsed.

	Once a new-line character after a too big message arrives, the _message_state
	variable will be reset to MessageState.NORMAL.

	This change has been done to improve and control the amount of memory consumed
	by instances of the GuestAgent class.

	Scenarios covered by the test:
	* Multiple messages sent at once with various sizes
	  (handled in TestGuestIFHandleData.testBigChunk)
	* Messages sent in chunks one by one with oversized messages and normal
	  sized messages. (handled in TuestGuestIFHandleData.testMixed)

2012-12-24  Igor Lvovsky  <ilvovsky@redhat.com>

	Allow to remove NIC if it not in use
	In additional reset MTU to 1500 for bond device if existed
	and not in use

2012-12-24  Eduardo Warszawski  <ewarszaw@redhat.com>

	fix prepareVolumePath: BZ#843387, BZ#872961
	 * fix the case with empty cdrom or floppy drives
	 * fix the case with vmPayload for cdrom or floppy
	 * raise proper exception, if the drive is not supported

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=843387
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=872961

2012-12-23  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	improve the readability of prefix2netmask

2012-12-23  Antoni S. Puimedon  <asegurap@redhat.com>

	Don't fail silently when ifup fails.
	Up until now we discarded ifup return codes and ignored the possible
	errors present in ifup stdout. Use this information to perform better
	error reporting.

	The tests change is due to the fact that now that we treat ifup
	errors as excepcional occurences, for unit testing the persistent
	backups (thing which can be done by a regular user) we do not need
	to test ifup and ifdown of the current config as it is not a thing
	that the unprivileged user is normally allowed to do.

	Bug-Url: https://bugzilla.redhat.com/856737

2012-12-23  Pradipta Kr. Banerjee  <bpradip@in.ibm.com>

	test_getIfaceByIP changes for IBM POWER(ppc64) architecture
	/proc/net/route o/p is dependent on endianness and existing
	test case only handles x86 arch. This patchset adds support for
	ppc64 architecture

2012-12-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix typo in negative flow log in blockSD.rmDCImgDir().
	Related to BZ#885489.

2012-12-20  Greg Padgett  <gpadgett@redhat.com>

	api: Report CPU thread info in getVdsCapabilities
	Report CPU thread info in getVdsCapabilities

2012-12-20  Dan Kenigsberg  <danken@redhat.com>

	storageMailboxTests: fix for f18
	storageMailboxTests fails on F18 because it creates the mailbox files on
	/tmp, which is tmpfs on F18, and does not support O_DIRECT flags.

	This patch makes it use /var/tmp instead, which is usually storage-based
	and has O_DIRECT.

2012-12-20  Yaniv Bronhaim  <ybronhei@redhat.com>

	restarting libvirtd didn't work over allinone setup
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=888258

2012-12-20  Yeela Kaplan  <ykaplan@redhat.com>

	Override compellent device defaults in multipath.conf
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=865673

2012-12-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	Distinguish between local and mounted SD's.
	Remote SD's were identified like locals due to mismatched name
	mangling.
	This patch is a minimal emergency fix.
	The /rhev/datacenter hierarchy should be revised.
	The need for localFsSD's should be revised too.

	Bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=886533

2012-12-19  Adam Litke  <agl@us.ibm.com>

	api: Remove object instancing
	After further discussions on the mailing list, we decided to use object
	namespacing instead of object instances.  Doing this involves several changes to
	the schema and the DynamicBridge:

	 - Remove construction parameters from 'class' definitions in the schema
	 - Add the former construction parameters to each command
	 - Change the DynamicBridge to handle API.py object instantiation
	 - Fix spUUID handling in the API.py StorageDomain class
	 - Update the xmlrpc binding to reflect changes to API.py

2012-12-19  Moti Asayag  <masayag@redhat.com>

	Add results.log to .gitignore

	Support guest agent selective ip reporting
	The guest agent might not report inet element,
	therefore processing its input should support it and
	return an emply ips list instead.

	vdsm: pep8 cleanups

2012-12-19  Eduardo Warszawski  <ewarszaw@redhat.com>

	Handling removing file Exceptions.

2012-12-19  Pradipta Kr. Banerjee  <bpradip@in.ibm.com>

	Add correct TUNSETIFF ioctl value for IBM Power (ppc64) in tcTests.py
	The existing _TUNSETIFF value is specific for x86 arch. This patch
	adds the value for ppc64 arch

2012-12-19  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix blockSD pep8.

2012-12-19  Saggi Mizrahi  <smizrahi@redhat.com>

	caps nits

2012-12-18  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix miscTests:ExecCmd.testNice failing due to race

2012-12-18  Antoni S. Puimedon  <asegurap@redhat.com>

	drop configNetworkTests.ConfigWriter.NET_CONF_PREF dup
	NET_CONF_PREF should be defined only once, in netinfo.py.
	Since the tests are using a non-real location for ifcfg files, that
	single definiion should be monkey-patched, or we would stumble upon
	null-named devices.

2012-12-18  Yaniv Bronhaim  <ybronhei@redhat.com>

	Check if log file exist on startup and log directory is accessible
	If file isn't exist we need to continue. Otherwise, os.access returns
	false and we report permission error.
	When continue we need to verify that vdsm has the right permissions to  create
	the log file in the log directory.

2012-12-18  Saggi Mizrahi  <smizrahi@redhat.com>

	Make advanced process invocations part of execCmd
	There are a bunch of places in the code where priority is set using ad
	hoc command concatenation. This is hard to understand and error prone.
	This patch adds this as a feature of execCmd so proper use is always
	enforced.

	- niceness can be set with the nice parameter
	- ionice class and class data can also be set with the appropriate
	  parameters
	- setsid can be set as a boolean with setsid=True

2012-12-18  Federico Simoncelli  <fsimonce@redhat.com>

	spec: require policycoreutils and skip sebool errors
	In order to avoid a policycoreutils bug (rhbz 883355) when selinux is
	disabled we now require the version 2.1.13-44 (or newer) of Fedora.
	Additionally we now skip any error in the rpm scriptlets for the sebool
	configuration (sebool-config) since they could interfere with the rpm
	installation potentially leaving multiple packages installed.

2012-12-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	caps.py: osversion() validate OVIRT
	Currently we are only validating RHEV-H node.
	This patch will validate oVirt node as well in osversion().

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=873917

2012-12-17  Antoni S. Puimedon  <asegurap@redhat.com>

	Remove redundant ifupping of bonded ifaces.
	ifup-eth of initscripts, when ifupping a bond checks which are
	its slaves and ifups them. Thus, removing this two ifup places
	we avoid a big source of FAILED messages in our logs while
	keeping all the functionality and correctness.

2012-12-17  Yeela Kaplan  <ykaplan@redhat.com>

	Take care of 'No devices found' when calling dmsetup status
	When there are no devices dmsetup status
	will return only: 'No devices found'

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=881947

2012-12-17  Antoni S. Puimedon  <asegurap@redhat.com>

	Remove redundant vlan device deletion.
	ifdown-eth has a clause that on ifdown of a vlan interface, said
	interface is deleted using ip link delete xxx type vlan. That
	happens synchronously and just one line before we do the deletion
	ourselves and generates a lot of FAILED messages in vdsm.log.

2012-12-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	vdsm/vdsm: fix vdsm start failure
	vdsm checks the log file permissions before start. However the log file
	path in the code is not correct, so it checks a non-existing file and
	always fails. This patch fix the problem.

2012-12-15  Antoni S. Puimedon  <asegurap@redhat.com>

	Yet another bunch of completely pep8 fixed files.

	Multiple pep8 fixes
	Several complete pep8 fixes in the road to complete pep8 compliance.

2012-12-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding check of os.access to vdsm log file during startup
	If log file isn't accessible we'll report to syslog and exit

2012-12-13  Antoni S. Puimedon  <asegurap@redhat.com>

	PEP8 completely fix caps and its tests.
	This is not only nice but necessary because as of the previous
	commit, the build didn't work.

2012-12-13  Dan Kenigsberg  <danken@redhat.com>

	spec: two minor beautifications

2012-12-13  Adam Litke  <agl@us.ibm.com>

	schema: Missing comment for new VmDeviceType
	When adding a new 'console' VmDeviceType, the submitter forgot to include
	documentation in the comment block.  This caused process-schema.py to fail.

	schema: Fix schema for VM.updateDevice
	Another recent update broke the schema file.  I'll take the blame for this one
	since I approved the change :)  Some missing and/or malformed data in comments
	was causing the process-schema script to fail.  Another reason for validating
	the schema during the build.

	schema: Missing schema information for 'syncType'
	Commit <> added a new API Image.syncData but did not fully spec the arguments.
	The referenced enum type 'syncData' has no definition.  Adding the missing bit
	based on my examination of the code.

	This is why we need something like http://gerrit.ovirt.org/#/c/9433/ to validate
	the schema at build time.

2012-12-13  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix duplicate emulated machines returned
	On Fedora, libvirt call getCapabilities() also append the list of emulated
	machines to the 'domain' node whose type is 'kvm'. The list is identical to
	what's listed in the default info of that arch. So it would cause
	getElementsByTagName('machine') matches all of machine tags and return a list
	of duplidate emuated machines.

	This patch changes to only collect information from the direct children of
	tag 'arch' and adds a test case for it.

2012-12-12  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	add a Makefile command to generate vdsm-api.html
	This command is used to generate vdsm-api.html from vdsmapi-schema.json
	Also it is easy to check the schema syntax errors, when new APIs are
	added in vdsmapi-schema.json.

2012-12-12  Federico Simoncelli  <fsimonce@redhat.com>

	spec: add python-pthreading build require

2012-12-12  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix pep8 completely for API.py

	Fix vdsClient.py pep8 completely.

	Fix flake8 warnings for network code.
	This patch fixes flake8 complaints on the code related to
	networking and libvirtvm.

2012-12-12  Saggi Mizrahi  <smizrahi@redhat.com>

	Refactor mom init error flow
	Splitting a log to to log invocation is bad because it could potentially
	separate the 2 log lines. Further more, it usually points out to a bad
	flow if you only sometimes need to log in the same flow so you resort to
	such tricks.

	- Add proper exception when MomThread fails to initialize
	- Make the two error flows clear and have each logged properly

2012-12-11  Dan Kenigsberg  <danken@redhat.com>

	a more delicate rollback
	If things go wrong during setupNetwork, we try to revert the networking
	state to what it used to be. Until this patch, we stopped the network
	service, reverted all ifcfg-* files, and restarted networking.

	This procedure disruppted all connection, even those unrelated to the
	ones being set up.

	With this change, we are taking down only affected devices, and revert
	them to their pre-setupNetwork state.

2012-12-11  Bala.FA  <barumuga@redhat.com>

	set libvirt dependency version to 0.9.10-21.el6_3.6 in RHEL
	When vdsm runs on RHEL based VMs, in some environment it fails to
	start due to missing cpu topology information from libvirt.  This
	issue is tracked at https://bugzilla.redhat.com/show_bug.cgi?id=868972
	and fixed in libvirt version 0.9.10-21.el6_3.6.

2012-12-11  Yaniv Bronhaim  <ybronhei@redhat.com>

	adding log print before svdsm dies

2012-12-11  Vinzenz Feenstra  <vfeenstr@redhat.com>

	vdsm: Attaching a console should be controllable
	Added a new console device which enables the engine to
	define that the virtual machine shall have a virtio console

	VDSM will upon creation insert a console with pty type and
	a 'virtio' target device on port 0

	Updated libvirtvm test to correspond with the changes

2012-12-11  Amador Pahim  <apahim@redhat.com>

	Online check ksmState and ksmPages.
	Currently ksmState and ksmPages is updated only when adjust()
	is called (vm._startUnderlyingVm() and libvirt.releaseVm()).
	Since ksmtuned can turn on/off ksm any time, vdsm will report
	inaccurate information until adjust() be called.
	This patch changes ksmState and ksmPages update to every API
	call, reflecting always the accurate information.

2012-12-11  Antoni S. Puimedon  <asegurap@redhat.com>

	netwiring: [4/4] Add API definitions.
	Fourth and final of the Network Wiring feature patches. It adds the
	implementation for using the new vmUpdateDevice feature and add
	linkActivate support for createVm and hotplugNic.

2012-12-11  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vmfex hook: generating rpm
	Generate vmfex rpm with others hooks.

2012-12-10  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix E241

	vdsm_reg/define.py: drop unused file

	style: drop trailing backslash per Zhou's request

2012-12-10  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	integrate zombie reaper in supervdsmServer
	    Integrate zombie reaper in supervdsmServer
	to reclaim the zombie produced by validateAccess.
	    As python has a bug to block signal
	when calling thread.join():
	    http://bugs.python.org/issue1167930.
	    Change it to a timeout join.

	Nit fixes of supervdsmServer
	use utils.rmFile instead of unlink
	Raise err in supervdsmServer final exit is useless,
	remove it.

2012-12-10  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix E125

	pep8: fix E124

2012-12-09  Yaniv Bronhaim  <ybronhei@redhat.com>

	pep8 fixes for vdsm file

2012-12-09  Dan Kenigsberg  <danken@redhat.com>

	vdsm startup: fix assert statement
	SyntaxWarning: assertion is always true, perhaps remove parentheses?

2012-12-09  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	iscsi.py: fix log message format
	The logging methods accept the first argument as message, and rest
	arguments as format values and options. The original code wrongly splits
	a message into several arguments, so only the first part is recognized as
	message and the rest are recognized as values.
	Since there are no format specifiers in the actually recognized message,
	it will raise error when it finds there are format values.

	This patch utilizes the implicit string concat feature and fix this bug.

2012-12-08  Igor Lvovsky  <ilvovsky@redhat.com>

	Add default MTU=1500 to NIC's ifcfg files.
	When we add bridge with custom MTU on top of nic, this MTU will be set properly
	on interface. But if we'll remove this bridge (including removing of MTU
	keyword from NIC's ifcfg file) and add instead the bridge with default MTU
	(without MTU keyword at all in ifcfg file) the actual MTU on the interface
	will stay as before.
	The only way to change the actual MTU is add MTU keyword explicitly to ifcfg file.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=873745

2012-12-07  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove duplicate implementation of prefix2netmask

2012-12-07  Laszlo Hornyak  <lhornyak@redhat.com>

	cpu mode support for vdsm
	This patch adds special hostPassthrough and hostModel as cpuType values.
	If the cpuType is one of these values, the <model> tag will not be
	created for libvirt, instead, a mode attribute will be created in the
	<cpu> tag with value 'host-passthrough' or 'host-model'.

2012-12-07  Antoni S. Puimedon  <asegurap@redhat.com>

	netwiring: [3/4] Add cli entry point.
	Third of the Network Wiring feature patches. It adds the cli support
	for using the new vmUpdateDevice feature.

	netwiring: [2/4] Add API definitions.
	Adds the schema definitions as for vmUpdateDevice described in:
	    http://wiki.ovirt.org/wiki/Feature/DetailedNetworkWiring#New_API

2012-12-07  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	xmlrpcTests: change skipNoKVM into a decorator
	After using skipNoKVM as decorator, the code looks cleaner.

	class XMLRPCTest(TestCaseBase):
		@skipNoKVM
		def testMethod(self):
			...

2012-12-06  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	remove redundant import misc
	there is already "import storage.misc as misc"

2012-12-06  Antoni S. Puimedon  <asegurap@redhat.com>

	netwiring: [1/4] Extend vmInterfaceDevice API def
	This patch extends the definitions of vmInterfaceDevice in
	order to allow vmHotplugNic and vmCreate to set a vnic link
	status as well as set portMirroring for it.

2012-12-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Move mom requirement
	There is no EPEL repo for RHEL7 and since oVirt 3.2 will require
	mom, let's move the mom requirement to not include RHEL7.

2012-12-06  Federico Simoncelli  <fsimonce@redhat.com>

	upgrade: reallocate the metadata slots when needed
	Few vdsm releases (4.9 prior 496c0c3, BZ#732980) generated metadata
	offsets higher than 1947 (LEASES_SIZE - RESERVED_LEASES - 1).
	This patch reallocates such slots to free ones in order to use the
	same offsets for the volume resource leases.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=882276

	sdcache: add refresh to connectStoragePool
	When connecting to a storage pool we should clear the domain cache to
	pick up all the changes that might have been introduced by other hosts.
	Additionally since StoragePool.refresh has a similar behavior to
	connectStoragePool it should also contain the invalidateStorage call to
	force an iscsi rescan.

	In this patch:
	* reinstate the sdCache.refresh call in connectStoragePool
	* add invalidateStorage to StoragePool.refresh

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=879253

2012-12-06  Dan Kenigsberg  <danken@redhat.com>

	pep8: comply with E122 and E123

2012-12-05  Saggi Mizrahi  <smizrahi@redhat.com>

	Sometimes the test host is overloaded and that might cause a false positive with such a low timeout

2012-12-05  Dan Kenigsberg  <danken@redhat.com>

	dd: use iflag=direct only when supported by the os
	Much like as vdsm's use of fileUtils.DirectFile that was fixed in
	http://gerrit.ovirt.org/9595, we should not pass the "direct" flag to
	/bin/dd when the underlying filesystem does not support it.

2012-12-05  Federico Simoncelli  <fsimonce@redhat.com>

	vm: increase the volume extension on storage migration
	During live migration VDSM needs to subsequently extend two volumes
	instead of one; doubling the size of the chunk to extend the watermark
	limit is doubled and VDSM has more time to accomplish the operations.

2012-12-05  Dan Kenigsberg  <danken@redhat.com>

	pep8: comply with E121 (indentation must be multiple of 4)

2012-12-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove Pool.isMember() function.
	Related to BZ#878894.

2012-12-04  Federico Simoncelli  <fsimonce@redhat.com>

	thread: daemonize HSM_MailMonitor and storageRefresh
	In order to successfully complete the prepareForShutdown command
	some additional threads have been switched to daemon.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=880961

2012-12-04  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix return value of shutdown() on failure

2012-12-04  Antoni S. Puimedon  <asegurap@redhat.com>

	concurrency: Vdscli uses a new HTTP conn per req.
	Python-2.7 changed xmlrpclib's implementation detail of spawining
	a new http/https connection per each request to add support for
	Keepalive. Unfortunately, this implementation detail was also what
	made the xmlrpclib's Transport be thread-safe.

	This change reverts the change in Transport, thus mantaining the
	thread-safety of our python client code for unencrypted
	communications.

2012-12-04  lvroyce  <lvroyce@linux.vnet.ibm.com>

	vdsm: use default libvirt event handler impl
	Removed libvirtev in favour of the native libvirt event loop
	implementation.

	Moved eventToString from libvirtev.py to libvirtvm.
	Additionally adjusted the event type strings to reflect
	http://libvirt.org/html/libvirt-libvirt.html#virDomainEventType

2012-12-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix block volume atomicity creation issue.
	BlockVolume creation is a 2 step process where first an LV is
	created and then tags are added to it. If another host refreshes
	it's cache between the 2 commands it will have an LV with partial
	data on it. To solve this issue, we add an initial tag to the
	lvcreate command so that any other host would be able to identify
	this volume as incomplete and ignore it.
	Special LVs still have not MD tags.

	Bug-uri: https://bugzilla.redhat.com/show_bug.cgi?id=876558

2012-12-03  Federico Simoncelli  <fsimonce@redhat.com>

	vdsm-tool: add the sebool configuration module
	This patch moves the sebool configuration from a shell scriptlet in the
	rpm package to the vdsm-tool command.

2012-12-03  Yaniv Bronhaim  <ybronhei@redhat.com>

	fixing pep8 issues in supervdsm

2012-12-03  Saggi Mizrahi  <smizrahi@redhat.com>

	Skip mountTests:MountTests.testLoopMount test if mkfs.ext2 is not installed

	Properly raise OSError in betterPopen

2012-12-03  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	fix error handling for misc.NoIntrPoll
	When recieving signal, poll raises select.error, and epoll raises OSError.
	Former exception wasn't caught by NoIntrPoll, which defies the purpose of that
	wrapper (see backtrace).

	Tested poll/epoll, pipe/file, closed pipe/pipe buffer overflow
	pipe write/read end error will not raise poll error.

	Storage.CrabRPCProxy: ERROR: Problem with handler, treating as timeout
	Traceback (most recent call last):
	  File "/home/jenkins/workspace/vdsm_unit_tests/vdsm/storage/remoteFileHandler.py", line 180, in callCrabRPCFunction
	    rawLength = self._recvAll(LENGTH_STRUCT_LENGTH, timeout)
	  File "/home/jenkins/workspace/vdsm_unit_tests/vdsm/storage/remoteFileHandler.py", line 149, in _recvAll
	    timeLeft):
	  File "/usr/lib64/python2.7/contextlib.py", line 84, in helper
	    return GeneratorContextManager(func(*args, **kwds))
	  File "/home/jenkins/workspace/vdsm_unit_tests/vdsm/storage/remoteFileHandler.py", line 133, in _poll
	    res = misc.NoIntrPoll(self._poller.poll, timeout)
	  File "/home/jenkins/workspace/vdsm_unit_tests/vdsm/storage/misc.py", line 1348, in NoIntrPoll
	    return pollfun(timeout)
	error: (4, 'Interrupted system call')

	Exclude generated python files from pep8 list
	Generated files will raise pep8 error because of path substitution:
	E501 line too long (86 characters)
	Check the py.in for PEP8 is enough for these files.

2012-12-03  Timothy Asir  <tjeyasin@redhat.com>

	added glusterVolumeProfileInfo verb
	Following is the output structure

	when nfs is true:
	{'volumeName': VOLUME-NAME,
	 'nfsServers': [
	     {'nfs': SERVER-NAME,
	      'cumulativeStats': {'blockStats': [{'size': int,
	                                          'read': int,
	                                          'write': int}, ...],
	                          'fopStats': [{'name': FOP-NAME,
	                                        'hits': int,
	                                        'latencyAvg': float,
	                                        'latencyMin': float,
	                                        'latencyMax': float}, ...],
	                          'duration': int,
	                          'totalRead': int,
	                          'totalWrite': int},
	      'intervalStats': {'blockStats': [{'size': int,
	                                        'read': int,
	                                        'write': int}, ...],
	                        'fopStats': [{'name': FOP-NAME,
	                                      'hits': int,
	                                      'latencyAvg': float,
	                                      'latencyMin': float,
	                                      'latencyMax': float}, ...],
	                        'duration': int,
	                        'totalRead': int,
	                        'totalWrite': int}}, ...]}

	When nfs is false:
	{'volumeName': VOLUME-NAME,
	 'bricks': [
	     {'brick': BRICK-NAME,
	      'cumulativeStats': {'blockStats': [{'size': int,
	                                          'read': int,
	                                          'write': int}, ...],
	                          'fopStats': [{'name': FOP-NAME,
	                                        'hits': int,
	                                        'latencyAvg': float,
	                                        'latencyMin': float,
	                                        'latencyMax': float}, ...],
	                          'duration': int,
	                          'totalRead': int,
	                          'totalWrite': int},
	      'intervalStats': {'blockStats': [{'size': int,
	                                        'read': int,
	                                        'write': int}, ...],
	                        'fopStats': [{'name': FOP-NAME,
	                                      'hits': int,
	                                      'latencyAvg': float,
	                                      'latencyMin': float,
	                                      'latencyMax': float}, ...],
	                        'duration': int,
	                        'totalRead': int,
	                        'totalWrite': int}}, ...]}

2012-12-03  Adam Litke  <agl@us.ibm.com>

	tests: Cleanup apiTests exception handling
	As Dan reported in http://gerrit.ovirt.org/#/c/9442/ the behavior of
	SocketServer differs between versions of python which causes the
	exception raised by sendMessage() to change.  Rather than key the
	expected exception based on the Python version, clean up the flow so it
	will behave the same across Python versions.

2012-12-03  Dan Kenigsberg  <danken@redhat.com>

	vdsmd.init: drop check_port_taken
	net-tools is not installed on F18 by default, and was obsoleted by
	iproute a decade ago. This is a good opportunity to drop the whole
	check_port_taken attempt from the daemon startup. This check is
	inherently raceful, it was applied only to the the xmlrpc port (even if
	jsonrpc is used), and is utterly unhelpful if we're using systemd (that
	reports error to system log, just like vdsm.log).

	pep8: more semi-automatic fixes

2012-12-02  Saggi Mizrahi  <smizrahi@redhat.com>

	Have direct file not use the O_DIRECT flag on tmpfs and ramfs
	tmpfs and ramfs don't support the O_DIRECT flags. This is intentional as
	O_DIRECT tells the kernel to bypass the page-cache and those file
	systems live solely on the page cache. Since the effect desired by
	direct IO is accomplished on these file systems without the flag there
	is no reason for the use to test the FS every time before opening a file
	for direct access.

	The reason we keep the same class instead of falling back to the regular
	file object is so we keep the semantics of the DirectFile() class and
	the user doesn't have to care that the underlying FS doesn't really
	support direct IO.

2012-12-02  Igor Lvovsky  <ilvovsky@redhat.com>

	Remove network.service dependencies from vdsmd.service
	In current vdsm behaviour during network rollback vdsm need to stop network service,
	rollback latest network changes and start network service again,
	but in host with systemd network service can't be stoped.
	According to systemd concept if service required by another service it will be immediately
	started again. In such situation vdsm can't revert network changes if needed.

	In this patch we remove network.service dependencies from vdsmd.service and add it
	as NEEDED_SERVICES in vdsmd.init

2012-12-02  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding monkeyPatch that replaces _start function of superVdsmProxy for tests
	This because changes in svdsm internal parameters can cause unexcpected
	behaviour and we can avoid it, at least when adding python path. This
	implementation is only useful for tests and revert changes that cause
	svdsm to crash.
	Apparently when adding empty PYTHONPATH in front of sude in normal run
	svdsm can't initialize itself and die, instead of explaining the reason
	I'm trying to avoid changing vdsm implementation and modify only the
	tests.

2012-12-02  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: start messagebus as it is libvirtd dependency

2012-12-01  Yaniv Bronhaim  <ybronhei@redhat.com>

	The return of super vdsm tests
	We couldn't run svdsm tests because imports didn't exist under vdsm
	installation directory when running the tests. We want to be able to run
	those tests without having to install vdsm rpm.

	Here we add extraPythonPath that included the current directory. It is
	useful only for tests, if we run it normally we want vdsm to be
	installed in its default directories and we don't need this additional
	python path list.

2012-12-01  Saggi Mizrahi  <smizrahi@redhat.com>

	More PEP8 fixes

2012-11-30  Dan Kenigsberg  <danken@redhat.com>

	spec: our tests requires 'import selinux'
	configNetwork imports selinux during its unittest, thus we need it when
	we build the rpm.

	spec: hack around el6 logrotate dependency issue
	We currently require logrotate >= 3.8.0 which is not part of el6,
	because we use the 'su' directive. This patch drops 'su' from el6
	builds, and requires logrotate version that does not need it.

2012-11-30  Amador Pahim  <apahim@redhat.com>

	libvirtvm: Avoiding snapshot metadata creation
	After creating a new snapshot, it is not possible to live-migrate:

	  libvirtError: Requested operation is not valid: cannot migrate domain
	with 1 snapshots

	Issue is also affecting storage live migration due to use of the same vm
	snapshot function during the live storage migration process.

	This patch introduces the libvirt flag needed to avoid snapshot metadata
	creation.

	Bug-Url: http://bugzilla.redhat.com/872277

2012-11-30  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix remaining vdsm/*.py

2012-11-30  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Extract a method _getCapsXMLStr() to get capabilities from libvirt
	The new function  _getCapsXMLStr() could be shared by _getCpuTopology()
	and _getEmulatedMachines(). And it also saves a libvirt call by memorizing
	the result.

2012-11-29  Dan Kenigsberg  <danken@redhat.com>

	libvirtvm: prepare for <interface type='network'>
	In the near future (actually, in the following patch), I would like to
	define virtual interfaces with <source network>. If such a VM is
	migrated to a host expecting <source bridge>, bad thing would happen.

	This patch extracts <interface>'s network for bridge- and network-based
	interfaces alike. It should be applied to all the hosts in the cluster
	before generating the first network-based interface.

2012-11-29  Saggi Mizrahi  <smizrahi@redhat.com>

	tests: Drop abberant AttributeError
	PoolHandler.__del__ may be called by Python after the reference to
	zombieReaper module has been reset to None. This leads to an annoying
	    AttributeError: 'NoneType' object has no attribute 'autoReapPID'
	when tests finish.

	This commit swallows this error.

2012-11-28  Bala.FA  <barumuga@redhat.com>

	Adopt the change in xml output format
	'gluster volume status --xml' output added values under
	<volumes/volume> levels.  This change is taken up in the parsing.

2012-11-28  Dan Yasny  <dyasny@gmail.com>

	Cisco VM-FEX support vdsm hooks
	Moved the lock to handleDirectPool

	Author: Dan Yasny <dyasny@gmail.com>

2012-11-27  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	miscTests: using MACRO instead of string

	remoteFileHandler.py: nit fix for poll mask
	poll() should use POLLERR/POLLHUP instead of EPOLLERR/EPOLLHUP

2012-11-27  Haim Ateya  <hateya@redhat.com>

	upgrade: make sure that the lease files have correct permission
	Fix a bug where we tried to initialize sanlock lock before calling
	the function to set proper permissions.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=870024

2012-11-27  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Add packages versions for rhel7
	Add condition for RHEL7 packages.

2012-11-26  Federico Simoncelli  <fsimonce@redhat.com>

	hooks: add the nested virtualization hook
	If the nested virtualization is enabled in your kvm module this hook
	will expose it to the guests.

2012-11-26  Dan Kenigsberg  <danken@redhat.com>

	libvirtev.py: move to site_packages/vdsm
	Until we drop this little module, it has to sit within the vdsm package,
	or else `from vdsm import libvirtconnection` would fail.

	Bug-Url: https://bugzilla.redhat.com/870985

2012-11-26  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove REST bindings
	No one uses them and no one should. We are going in a different
	direction for a supported API and keeping the rest bindings alive is
	confusing and cumbersome.

2012-11-26  Adam Litke  <agl@us.ibm.com>

	mom: Report the status of the mom threads
	It will be useful to check on the status of the MOM threads.  Add a new field to
	the HostStats structure to provide this information.

	spec: Add MOM as a package dependency
	For oVirt 3.2, we are switching to MOM for KSM tuning.  One of the goals of this
	release is to ensure that MOM is running in all deployed oVirt hosts (ovirt-node
	and standalone).  A recent enough version of MOM is now available upstream for
	Fedora and RHEL and we build nightly RPMs on ovirt.org.  I think we are ready to
	add this packaging dependency now.

2012-11-26  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix libvirtconnection.py

	pep8: have a space after all operators, not before colon

	nwfilter, vmChannels: pep8 fixes

2012-11-22  Igor Lvovsky  <ilvovsky@redhat.com>

	Allow break bond with attached network while VM is running.
	The problem was that we counted tap device on the bridge as part of bond
	because of wrong behaviour of getNicsVlanAndBondingForNetwork.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=875487

2012-11-21  Saggi Mizrahi  <smizrahi@redhat.com>

	remoteFileHandler pep8 fixes

2012-11-21  Dan Kenigsberg  <danken@redhat.com>

	configNet: support PREFIX option
	PREFIX=16 means NETMASK=255.255.0.0.

	Bug-Url: https://bugzilla.redhat.com/866540

	vdsmd.init: retire ifconfig
	Replace ifconfig with iproute2's /sbin/ip also in our init script.
	Drop an old irrelevant comment that mentions ifconfig.

2012-11-21  Laszlo Hornyak  <lhornyak@redhat.com>

	pep8 fixes
	fixes in the code to make vdsm build on rhel 6.3

2012-11-21  Dan Kenigsberg  <danken@redhat.com>

	tc: retire ifconfig
	ifconfig was deprecated quite a few years ago, and some
	modern distribution do not ship it by default.

	In this patch, we dump its only use, by setting promisc flag directly.
	We implement set_flags() in hope to see ethtool add it.

2012-11-20  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Add an option to create a watchdog device.
	A support for a watchdog device was added to the "devices"
	configuration.

	Also add the watchdog event callback to log the watchdog action
	of VM.

	model of watchdog:
	    'i6300esb' default model, emulating a PCI Intel 6300ESB
	    'ib700'    emulating an ISA iBase IB700
	Only one watchdog device is supported for each VM.

	action of watchdog timeout:
	    'reset'     forcefully reset the guest
	    'shutdown'  gracefully shutdown the guest (not recommended)
	    'poweroff'  forcefully power off the guest
	    'pause'     pause the guest
	    'none'      default, do nothing
	    'dump'      automatically dump the guest

	the parameter of 'watchdog' device as follow:
	{'device': 'watchdog', 'type': 'watchdog',
	 'specParams': {'model': 'i6300esb', 'action': 'none'}}

	The watchdog device can be used to detect guest crash or hang, and
	if 'dump' is chosen for the action of watchdog timeout, libvirt will
	dump guest's memory on timeout automatically.

	The directory to save dump files can be configured by auto_dump_path
	in file /etc/libvirt/qemu.conf.

	The watchdog device requires an additional driver and management
	daemon in the guest. Just enabling the watchdog in the vdsm
	"devices" configuration does not do anything useful on its own.

2012-11-20  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	avoid creating hangover in storage domain cache after formatting
	HSM._recycle(self, dom) tries to delete the storage domain from cache by
	calling "sdCache.manuallyRemoveDomain(dom.sdUUID)". This is OK, but when
	it invokes "dom.format(dom.sdUUID)" to format storage domain, the "dom"
	is a proxy object and have to look for the true storage domain object by
	calling 'StorageDomainCache._realProduce()', thus cause the storage
	domain added to the cache again. This bug will prevent us re-using the
	storage domain UUID even though we format it.

	This patch invokes the format method of the proxy object first, then
	delete the storage domain from cache, and can avoid creating hangovers.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=806774

2012-11-20  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix a flaw introduced by commit 2c0fd0796

2012-11-20  Itzik Brown  <itzikb@mellanox.com>

	Adding hooks support for NIC hotplug
	Adding the ability to write hooks for events
	of NIC hotplug and hotunplug.
	Hooks are: before_nic_hotplug, after_nic_hotplug,
	before_nic_hotunplug,after_nic_hotunplug,
	after_nic_hotplug_fail and after_nic_hotunplug_fail

2012-11-19  Adam Litke  <agl@us.ibm.com>

	tests: Support parallel testing in apiTests
	The apiTests module tests the JSON-RPC server by creating a server instance on a
	specific port and then connecting clients to that port.  Unfortunately, this
	means that only one instance of the test can be running on a host at any given
	time.  Our Jenkins infrastructure would like to run parallel tests.  To enable
	this, we allow the test to find an open port to use.

2012-11-19  Bala.FA  <barumuga@redhat.com>

	used gluster cli xml output
	Below verbs are using gluster cli xml output
	glusterVolumesList
	glusterVolumeCreate
	glusterVolumeStop
	glusterVolumeDelete
	glusterVolumeSet
	glusterVolumeReset
	glusterVolumeBrickAdd
	glusterVolumeRemoveBrickForce
	glusterHostAdd
	glusterHostRemove

2012-11-19  Dan Kenigsberg  <danken@redhat.com>

	lvm: make len(LV_ATTR_BITS) == number of lv attr bits
	Bug-Url: https://bugzilla.redhat.com/876958

	drop type() calls
	Python method resolution knows to find class methods as it is.

2012-11-19  Mark Wu  <wudxw@linux.vnet.ibm.com>

	trivial: Fix a typo of mom package name on Debian

2012-11-19  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	add VM creation test over localfs storage layout
	It can be easily extended to use nfs or iscsi storage layout.

	extract a method for booting a test VM through kernel boot
	Hide the kernel boot and initramfs details into a method and provide a
	template configuration, then just call the method with custom VM
	configurations

2012-11-19  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	storage functional test with multiple storage domains and images
	add xmlrpc functional test for local storage,
	it can be extend to nfs and iscsi backends

2012-11-19  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	DeferableContext: Change to RollbackContext for easy undoing
	We often need to perform a series of operations:
	    op[0], op[1], ... op[N]
	These operations may allocate files, locks, connections, and op[K] may
	depend on op[K-1] 's result

	Sometimes it's not feasible to create context manager for each resource,
	because the number of the resource involved in a transaction can be a
	variable, for example, reading from a configuration file, but there is no
	way to use a variable number of the "with" statement, and
	contextlib.nested is being deprecated. So we need a concise framework
	to do rollback.

	This patch subclass DeferableContext and proposes an idiom to do this
	kind of rollback. DeferableContext re-raises the last exception, while
	this patch re-raises the first exception, for the earliest exception
	may be the root cause and most helpful when investigate the problem.

2012-11-18  Federico Simoncelli  <fsimonce@redhat.com>

	pool: refresh multipath on connectStoragePool
	On connectStoragePool we should rescan the iscsi connections to
	reactivate them in case they were previously interrupted.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=870768

2012-11-18  Adam Litke  <agl@us.ibm.com>

	mom: Add mom package version to vdsCapabilities

2012-11-16  Daniel Erez  <derez@redhat.com>

	Adding support for force extend block domains
	Passing 'force' flag through extendStorageDomain
	to enable block storage domain force extend [1]
	(_initipvs already accepts the 'force' flag).

	[1] Force is used to extend a storage domain with a LUN even if
	it is already a part of a VG / has partitions on it / etc
	(i.e. the user doesn't have to manually cleanup before using the LUN).

2012-11-16  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	schema: nit schema fix

2012-11-15  Adam Litke  <agl@us.ibm.com>

	mom: Redirect mom init stacktrace to debug log
	When MOM initialization fails we are currently falling back to the old
	KsmMonitor.  When this happens we print a warning which is appropriate.  Since
	the error is handled, we should not print the stack trace at warning level.
	This information is useful in debug mode however.

	Split the stack trace printout into a separate debug logging message.

2012-11-15  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	sslTests: fix parallel build in Jenkins
	sslTests uses a fixed port for binding socket. When it is run in
	parallel Jenkins builds, it will fail with port conflicts.

	This patch tries to find new available port if the default port is
	occupied.

2012-11-15  Adam Litke  <agl@us.ibm.com>

	build: Add BuildDepends for m2crypto
	During the build, I get the following traceback:

	Traceback (most recent call last):
	  File "../tests/testrunner.py", line 274, in <module>
	    hackVdsmModule()
	  File "../tests/testrunner.py", line 252, in hackVdsmModule
	    sub = __import__(name, globals(), locals(), [], -1)
	  File "/home/aglitke/rpmbuild/BUILD/vdsm-4.10.2/vdsm/SecureXMLRPCServer.py",
	line 39, in <module>
	    from M2Crypto import SSL, X509
	ImportError: No module named M2Crypto

	We need the m2crypto package at build time now as well (in order to run tests).

2012-11-14  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	fix several errors when run process-schema.py to parser schema file.
	1. two command names do not match the their comments
	2. fix "Interrupted comment block" error. The comment of each entity
	should start with double pound

2012-11-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	Not remove volumeless or inexistent images.
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=876115

2012-11-14  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	xmlrpcTests: narrow the expected exception when using retry
	Change the expected exception from the default Exception to
	AssertionError

2012-11-13  Juan Hernandez  <juan.hernandez@redhat.com>

	Implement SSL session cache
	We are currently implementing SSL for the XML-RPC communications with
	the standard Python "ssl" module. Unfortunately this module uses OpenSSL
	in such a way that a new OpenSSL context object is created for each
	client connection. This means that OpenSSL can't reuse the session
	cache that is stored in the context object, so the heavy part of the SSL
	handshake (asymmetric encryption) is performed for each connection.  In
	addition, as we use HTTP 1.0, this also means that we use one connection
	per request, and thus one handshake per request. This is a potential
	performance problem in the VDSM side and a huge performance problem in
	the engine side: when the number of hosts managed by the engine grows
	the use of CPU can grow to a point where almost all the CPU is used for
	SSL handshakes.

	This patch uses the Python M2Crypto.SSL module and creates an OpenSSL
	context object associated to the server socket. This context object is
	where OpenSSL stores the cached sessions information. Instead of
	creating a context object for each client socket the context object
	already created for the server socket is reused. This means that the
	cached sessions are also reused. This session reusing greatly reduces
	the amount of CPU used for handshakes.

	Bug-Url: https://bugzilla.redhat.com/857035

2012-11-13  Dan Kenigsberg  <danken@redhat.com>

	skip supervdsmTests until they work in-tree

2012-11-13  Federico Simoncelli  <fsimonce@redhat.com>

	tests: sort the tests and remove duplicates

	tests: add FileVolumeGetVSizeTest
	This patch adds a test for the getVSize method for file domains.

	tests: drop the sanlock-python dependency
	Testing vdsm shouldn't require sanlock to be installed and running.

2012-11-13  Dan Kenigsberg  <danken@redhat.com>

	build on el6: import OrderedDict from elsewhere
	Commit 1db772c71e has introduced usage of collections.OrderedDict which
	is not part of el6's Python 2.6. This patch imports Raymond Hettinger's
	implementation if OrderedDict is missing in the default location.

2012-11-13  Federico Simoncelli  <fsimonce@redhat.com>

	tests: override the P_VDSM definition in local tests
	The P_VDSM constant is used to configure the PYTHONPATH variable for
	the out of process handlers and it should be overridden during the
	local tests (vdsm is not installed).

2012-11-13  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix hsm.py
	Errors introduced by commit b83a0c157d5c and overlooked by my rebase of
	commit af99446a7cd35.

2012-11-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	svdsm import error
	By mistake I added 'import utils'. This patch fixes svdsm running
	errors and svdsm uts flow

2012-11-13  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	make vdsm/storage/hsm.py PEP8 clean
	clean hsm.py code style problems, and add it to PEP 8 whitelist in
	Makefile.am

2012-11-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#836161 - Changed code obsoleted by deleteImage() rewrite.
	Change image.move and image.multipleMove to call the new
	deleteImage implementation instead of image.delete

	BZ#836161 - Rewrite of deleteImage() complement.
	Volume operations should be done at the SD level to avoid
	retrieving static data multiple times from disk.
	Added lvm.lvDmDev() returning the dm-X for active LVs.
	Use this to get active LV size without issue a lvm command.

	Complements: I304ff5cd70186ffc9789cd1ac9337efa6c5ff695

2012-11-13  Federico Simoncelli  <fsimonce@redhat.com>

	remoteFileHandler: improve PYTHONPATH definition
	The recently added import for logUtils in misc.py broke the out of
	process (remoteFileHandler) subsystem (ImportError: No module named
	logUtils).
	Defining PYTHONPATH with relative paths is both unreliable and
	insecure.

	In this patch:
	* Remove an old sys.path modification in misc.py
	* Improve the PYTHONPATH definition in remoteFileHandler removing the
	  relative path

2012-11-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	Adding supervdsm unit tests
	Adding svdsm uts file. Main tests produce initialization, crashes and
	calling of svdsm. We verify svdsm reaction in those cases.
	To manage that we turn filenames to variables, and change them during
	the tests. This lets us more flexability to use temporary files to run
	svdsm instance.

2012-11-13  Douglas Schilling Landgraf  <dougsland@redhat.com>

	configure.ac: check python-pthreading module
	Adding AX_PYTHON_MODULE macro to check if python-pthreading module
	is installed.

2012-11-12  Federico Simoncelli  <fsimonce@redhat.com>

	logging: report the node hostname when vdsm starts
	It is convinient to correlate a log report to a specific host.

2012-11-12  Saggi Mizrahi  <smizrahi@redhat.com>

	Handle a race where it takes some time fot the cmdline to disappear after killing a process

	Fix problem where a 0 error code will cause remoteFileHandler to become a zombie

	Integrate zombie reaper in test framework
	Some parts of VDSM count on the zombie reaper being set up.

	Implement a zombie reaper
	This is meant to solve the issues where one starts a process but doesn't
	care about the return value.

	By using zombieReaper.autoReapPID(pid) you can register the reaper to
	automatically reap your process when it dies.

2012-11-12  Dan Kenigsberg  <danken@redhat.com>

	vdsmapi: fix a pep8 glitch
	I've forgot to include it into Adam's former patch.

2012-11-12  Adam Litke  <agl@us.ibm.com>

	jsonrpc: Implement the JsonRPC server for the next-gen API
	This patch implements a new Binding plugin to serve the next generation vdsm API
	over a JsonRPC wire protocol.  The basic format of a message is:

	    <size><json-data>

	<size> is an unsigned 64 bit integer in big endian format that indicates the
	length of <json-data> in bytes.  <json-data> is either a request or a response
	in Javascript object notation (JSON).

	A request object has the following fields:
	    id:  An integer which will be repeated in the matching response
	    methodName:  The name of the API method to be called
	    args (optional): A JSON object containing arguments to the method

	A response object has the following fields:
	    id:  An integer which will be the same as the matching request
	    result:  The return value of the method (defined in the API schema)
	    error:  A JSON object containing error information
	            code:  An integer error code
	            message:  Error context information

	Method calls are dispatched to vdsm using a MethodBridge.  The DynamicBridge
	dispatches calls based on an API schema document and a set of schema exceptions.
	In this way, the API can be expanded without the need to add more code to this
	server infrastructure.  When a request is made, the DynamicBridge attempts to
	resolve 'methodName' to a schema defined method.  If found, the necessary
	arguments are collected from the request and the function call is dispatched to
	the internal vdsm API.

	Schema exceptions:
	Currently, vdsm does not completely conform to its own API schema.  It is not
	possible to correct all of the discrepencies due to the need to maintain
	backwards compatibility with current API users.  To facilitate migration to this
	API, the DynamicBridge implements a set of overrides to translate between the
	schema-defined API and what is implemented in vdsm today.  There are three types
	of method overrides and one type of argument override:

	Method overrides:
	1. Custom call function:  If a new API does not map directly to an existing vdsm
	   API (or multiple functions must be called to get the result), a custom 'call'
	   function can be defined for the API.  This function will be called instead of
	   trying to find a vdsm API to call.

	2. Return field name:  Many vdsm functions' return values are nested in a
	   dictionary.  This override specifies the key to use when accessing the result
	   so that it can be returned un-nested to the caller.

	3. Custom result post-processing function:  Some vdsm APIs return results in a
	   non-standard format and a special function must be used to reformat the data
	   to comply with the schema.

	Type override:
	Some data types have a different representation internally to vdsm than we have
	defined in the schema.  A type override can be used to convert between the two
	formats.  Currently, the only kind of translation we do is to rename fields
	within a given type.

2012-11-12  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Add vdsm-xmlrpc as Requirement
	In last released version "vdsm" has provided xmlrpc functionality,
	and now it does not.

2012-11-10  Hercinger Viktor  <hercinger.viktor@gmail.com>

	netinfo: added configuration to show dummy NIC's too
	With the vars.fake_nics configuration a list of comma-separated
	interfaces can be specified. If a dummy interface matches the
	fnmatch pattern, it will be included in the NIC list.

2012-11-09  Dan Kenigsberg  <danken@redhat.com>

	storage/threadPool: fix copyright notice

2012-11-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	clienteIF: replace MOM self.log.error to warn
	If mom package is not installed, at this point vdsm should
	throw warning message instead of error.

2012-11-08  Federico Simoncelli  <fsimonce@redhat.com>

	libvirtvm: set volume the format in live snapshots
	When we update the drive objects (and configurations) at the end of
	a live snapshot we should also update the format to be "cow" in order
	to start requesting the drive extensions on block devices.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=874481

2012-11-08  Yaniv Bronhaim  <ybronhei@redhat.com>

	Using only globalPool allow only 10 processes
	For each domain we want to have process pool with limit slots of
	processes, this way we optimize glob over mounted links.
	This fix uses different pool for each domain, instead of the global one.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=853011

2012-11-07  Peter V. Saveliev  <peet@redhat.com>

	BZ#855924 -- fix 3.1 -> 3.0 migration again
	The issue was that fixing self._vm.conf is not enough -- we should
	fix self._machineParams, that will work in all the cases.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=855924

2012-11-07  Adam Litke  <agl@us.ibm.com>

	schema: Return objects rather than UUIDs
	Rather than returning UUIDs and forcing the API user to instantiate their own
	objects using those UUIDs, just return initialized objects.  This patch just
	changes the API schema.  The specific implementation of this idea appears in the
	patch that implements the code generator.

	This is not exhaustive, but an example of the idea.  The rest can be converted
	over time.

	schema: Remove VmFullStatus
	The VmFullStatus alias is a meaningless indirection that simply causes confusion
	to API users.  In all cases, its use just means VmDefinition so use that type
	instead.

	schema: New type VmParameters
	Although the format of the data passed via VM.create is very similar to a
	VmDefinition, some of the parameters don't make sense to pass in the context of
	creating a new VM.  Solve this by creating a new type for VM parameters.

2012-11-07  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	fix REMOVED_IMAGE_PREFIX not defined error
	Recently http://gerrit.ovirt.org/#/c/8506 is merged, it moves
	REMOVED_IMAGE_PREFIX = "_remove_me_" from vdsm/storage/image.py to
	vdsm/storage/sd.py. So all occurrence of REMOVED_IMAGE_PREFIX in
	image.py must be changed to sd.REMOVED_IMAGE_PREFIX, otherwise
	pyflakes will say REMOVED_IMAGE_PREFIX not defined.

2012-11-07  Saggi Mizrahi  <smizrahi@redhat.com>

	Make utils pep8 compliant

2012-11-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#836161 - Rewrite of deleteImage().
	Volume operations should be done at the SD level to avoid
	retrieving static data multiple times from disk.
	Added lvm.lvDmDev() returning the dm-X for active LVs.
	Use this to get active LV size without issue a lvm command.

2012-11-06  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Remove redundant plus between two strings in parenthesis
	Python will join them automatically without plus

2012-11-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Don't forget to close thread pool when stopping the SPM mailer
	This causes thread leak anytime we call startSpm and an error is raised

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=872935

2012-11-06  Bala.FA  <barumuga@redhat.com>

	Change in error message format
	out, err or rc is added to error message only if its non-empty.

2012-11-06  Yaniv Bronhaim  <ybronhei@redhat.com>

	Cleanup unlinked mounts should be sync to hsm initialization
	Using external thread to cleanStorageRepositories that are not linked can
	cause a race if connectPool starts on same link simultaneously.
	Clearing broken links should be done before enabling connect pool.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=872270

2012-11-05  Saggi Mizrahi  <smizrahi@redhat.com>

	Change None equasion in storageServer

	Set up better threading in tests to make sure it happens correctly
	Some object in VDSM count on better threading being set up. They might
	break if it isn't set up or even worse set it up in the middle of a test
	run cause weird and unexpected errors in the test run.

	Also there might be bugs related to our use of pthreading and they will
	not be detected by the tests if it is not set up.

	This make sure pthreading is imported and set up before any tests are
	run.

	Fix getCmdArgs() on some hosts
	for some hosts cmdline might take some time to get actual content. This
	means to fix it by retrying if the content is missing.

	pep8 now also check visual aligment

2012-11-04  Yaniv Bronhaim  <ybronhei@redhat.com>

	itmap unit tests

2012-11-04  Federico Simoncelli  <fsimonce@redhat.com>

	fileVolume: make getVSize a real classmethod
	Formerly fileVolume even if declared as classmethod it was actually
	relying on producing the object to obtain the required information.
	This patch makes it a real classmethod (symmetric with block domains)
	which is particularly useful in case of half-baked volumes.

	Bug-Url: https://bugzilla.redhat.com/871811

2012-11-03  Saggi Mizrahi  <smizrahi@redhat.com>

	Make sure during upgrade that lease files have correct permission
	Bug-Id: https//bugzilla.redhat.com/show_bug.cgi?id=870024

2012-11-03  Vinzenz Feenstra  <vfeenstr@redhat.com>

	Applied PEP-8 guideline on code

2012-11-02  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: pyflakes/python-pep8 BuildRequirement
	pyflakes and python-pep8 are not default RHEL packages.
	This patch will move it for non rhel system requirements.

	configure.ac: pyflakes/python-pep8 reduce to warn
	Replace error message for warning message if build
	system doesn't contain pyflakes and python-pep8
	packages installed.

2012-11-01  Dan Kenigsberg  <danken@redhat.com>

	doh! fix the former commit
	I've decorated the class instead of the test method :-(

	Declare GetCmdArgsTests.test as broken
	Commit 86a259a804fbe6eb exposed a bug which we do not know to explain or
	to properly reproduce. This patch marks the broken test as such.

	FAIL: test (miscTests.GetCmdArgsTests)
	----------------------------------------------------------------------
	Traceback (most recent call last):
	  File "/home/jenkins/workspace/vdsm_unit_tests/tests/miscTests.py", line 77, in test
	    self.assertEquals(misc.getCmdArgs(sproc.pid), args)
	AssertionError: Tuples differ: () != ('sleep', '4')

	Second tuple contains 2 additional elements.
	First extra element 0:
	sleep

	- ()
	+ ('sleep', '4')

2012-11-01  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix getCmdArgs() failing on some hosts

2012-11-01  Greg Padgett  <gpadgett@redhat.com>

	storage: Don't ignore nfs_mount_options in vdsm.conf
	The nfs_mount_options configuration setting in vdsm.conf was ignored.

	If the engine doesn't pass any mount options, and nfs_mount_options are
	present (and not the defaults), then use the options from the config
	file, as options to 'posixfs' connection. Otherwise, use whatever the
	engine passes and/or defaults as was done previously.

	Bug-Url: https://bugzilla.redhat.com/826921

2012-10-31  Yeela Kaplan  <ykaplan@redhat.com>

	Catch exception thrown by forceIScsiScan causing disconnect to fail
	Sending disconnectStorageServer twice triggers two calls to
	forceIScsiRescan. The first rescan closes the fd of the dd process for
	the disconnected hba. The second rescan tries to write to the same hba
	but doesn't find it anymore and dd exits and raises exception.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=868681

	Add rescan to formatStorageDomain to solve multipath race
	disconnectStorageServer and connectStorageServer are performed
	sequentially before formatStorageDomain, causing a race with multipath.
	The minimal timeout in forceIScsiScan gives multipath time for
	stabilization before trying to format the storage domain.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=844180

2012-10-30  Yaniv Bronhaim  <ybronhei@redhat.com>

	Reporting error instead of warn when timeout is raised in oop operation

2012-10-30  Gal Hammer  <ghammer@redhat.com>

	BZ#867439 VM unexpectedly was shutdown after migration.
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=867439

2012-10-30  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix version handling for NFS
	- The version parameter is now string. This is done to support NFS 4.1 and
	4.2.
	- Also moving of code around so that backward compatibility hacks are
	  limited to the old storage management API.

2012-10-29  Saggi Mizrahi  <smizrahi@redhat.com>

	Save a few seconds while running misc tests

	Make sure teardown() is called in case of errors
	This also adds scopedPrepare. It should be use unless there is absolutely
	no other choice!

	Bug-Url: https://bugzilla.redhat.com/815359

2012-10-29  Federico Simoncelli  <fsimonce@redhat.com>

	volume: save the correct size during creation
	As the comment in the patch states: when the volume format is raw what
	the guest sees is the apparent size of the file/device therefore if the
	requested size doesn't match the apparent size (eg: extends granularity
	in LVM) we need to update the size value so that the metadata reflects
	the correct state.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=868272

2012-10-29  Eduardo Warszawski  <ewarszaw@redhat.com>

	Log if timed out during fileSD.scanDomains().
	git gr -i -E  'sd.*?\.produce\('

	Fix race in fileUtils.createdir().
	Checking dir inexistence and creating it afterwards is racy.

	This version creates the target dir, and if it already existed
	check if has the requested permissions.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=838547

2012-10-28  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix exception string in lvm.changeVGTags().

2012-10-27  jarod.w  <work.iec23801@gmail.com>

	vdsm: delete undefined varable in mk_sysprep_floppy

2012-10-27  Federico Simoncelli  <fsimonce@redhat.com>

	pool: live storage migration implementation
	This patch introduces the support for the live storage migration in
	VDSM. The following new VM verbs are exposed:

	 result = diskReplicateStart(vmId, srcDisk, dstDisk)
	 result = diskReplicateFinish(vmId, srcDisk, dstDisk)

	The srcDisk and dstDisk are in the DriveSpecVolume format, e.g.:

	 driveSpecVolume = {
	     'device': 'disk',
	     'domainID': <sdUUID>,
	     'poolID': <spUUID>,
	     'imageID': <imgUUID>,
	     'volumeID': <volUUID>,
	 }

	The srcDisk describes the current image used by the VM and dstDisk
	describes the final image destination after the migration is completed.
	In diskReplicateStart srcDisk and dstDisk must be different, on
	diskReplicateFinish if srcDisk is different from the dstDisk then the
	live storage migration is completed, otherwise if srcDisk is equal to
	the dstDisk then the live storage migration is aborted and the VM falls
	back on the srcDisk (this can also be exploited for live cloning a VM).

	The possible returned errors are:

	- noVM(1): the VM is not present
	- imageErr(13): the image is not present
	- replicaErr(55): the replication request failed (e.g.: there is another
	  replication ongoing, there is no ongoing replication to stop, etc.)
	- unavail(40): the replication is not ready to switch to the destination
	  (the streaming process is ongoing), retry later. In the future this
	  information will be monitored with an HSM task.
	- changeDisk(41): the final operation to switch to the destination
	  failed and the VM falls back to the source.

	To copy the volume chain the following SPM verbs are now exposed:

	 taskId = cloneImageStructure(spUUID, sdUUID, imgUUID, dstSdUUID)
	 taskId = syncImageData(spUUID, sdUUID, imgUUID, dstSdUUID, syncType)

	The general purpose of these verbs is to expose advanced options to
	perform the copy of an image from a source storage domain (sdUUID) to
	a destination storage domain (dstSdUUID).
	The cloneImageStructure operation is preparing a new identical volume
	chain on the destination (dstSdUUID). The syncImageData operation is
	performing the real copy (copying the data) from the source volume chain
	to the destination.

	The 'syncType' parameter supports the following options:

	 SYNC_VOLUMES_ALL  # All the volumes are synchronized
	 SYNC_VOLUMES_INTERNAL  # Only the internal volumes are synchronized
	 SYNC_VOLUMES_LEAF  # Only the leaf volume is synchronized

	The returned errors are the regular storage domain errors with a special
	emphasis for the ones already returned by copyImage and moveImage.

	An example of a full live storage migration flow is:

	 ... live snapshot on srcDisk ...

	 SPM: cloneImageStructure(spUUID, sdUUID, imgUUID, dstSdUUID)
	 ... wait for the imageSync task to finish ...

	 VMHOST: diskReplicateStart(srcDisk, dstDisk)

	 SPM: syncImageData(spUUID, sdUUID, imgUUID, dstSdUUID,
	                    SYNC_VOLUMES_INTERNAL)
	 ... wait for the imageSync task to finish ...

	 VMHOST: diskReplicateFinish(srcDisk, dstDisk)

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=865384

2012-10-26  Dan Kenigsberg  <danken@redhat.com>

	pep8: fix 2 errors and ignore plenty of others
	We need to either ignore or fix upstream pep8 errors so that vdsm can
	build in Fedora 18.

2012-10-26  Saggi Mizrahi  <smizrahi@redhat.com>

	Refresh storage in getDevicesVisibility() using multipath.rescan() instead of forceIScsiRescan()
	Using forceIScsiRescan() just refreshes the iSCSI targets, you need a new
	multipath run for devices to actually register in the device mapper.

2012-10-26  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Fix string format in storage exception

2012-10-26  Eduardo Warszawski  <ewarszaw@redhat.com>

	Require lvm with  ignored_mdas fix
	PVs blonging to a VG are reported as free if the PV is listed
	before reading the VG metadata, which is in another PV.
	This may cause false getVGInfo() reports.
	The present lvm version fixes it.

	Note that the Fedora required version is not updated as lvm2
	package is not updated there.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=798635
	Related to: https://bugzilla.redhat.com/show_bug.cgi?id=836663

	BZ#836161 - Pluralize lvm.changelv().
	Allow changing multiple attributes at once.

	Related to BZ#836161 - Add image to task name to improve log.
	The name will be used in the future for garbage collection.

2012-10-26  Mark Wu  <wudxw@linux.vnet.ibm.com>

	trivial: Clean handling of missing parameter in hotplugNic/hotunlugNic
	We can't construct a NetworkInterfaceDevice using an empty dict. So
	it doesn't make sense to assign an empty dict to nicParams and let
	it go further. And the parameter 'nic' is already validated in API level,
	so it should be safe to use it directly.

2012-10-26  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm_reg: generate deployUtil.py and config.py
	Adding nodist_vdsmreg_PYTHON to all-local target. Otherwise, deployUtil.py and config.py won't be generated.
	Thanks to Ravi Nori for the report!

	Introduced by commits:
	9459af3fa7f823d04d6e3ac5c5439ec6b2b6e961 (deployUtil)
	04efb9572326aa08bcc4af8e35c77433ee4146b0 (config)

2012-10-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	libvirt_password: remove new line char
	Do not generate different passwords.
	In the past we created the libvirt_password inside spec file without the newline char (echo -n).
	These days, we have a file that contain the password but uses the newline char. This scenario make
	the rpm upgrade completes with a warning message sharing that the password has changed.
	This patch will remove the newline char from the libvirt_password file.

	Introduced by commit: 1e5b390943a9c35e666bae06184fd8ea9cfdf289

	Example:
	 Updating   : vdsm-<snip>
	5/11
	warning: /etc/pki/vdsm/keys/libvirt_password created as /etc/pki/vdsm/keys/libvirt_password.rpmnew

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=866533

2012-10-25  Dan Kenigsberg  <danken@redhat.com>

	pep8: drop redundant trailing backslash
	Upstream pep8.py tool cries about it, and it was easy to fix
	automatically.

	While at it, fixed badly-broken long lines.

2012-10-25  Antoni S. Puimedon  <asegurap@redhat.com>

	Replace 'has_key' with 'in'
	Replace the dictionary method 'has_key' for the more
	pythonic and forwards compatible 'in' operator.

2012-10-25  Dan Kenigsberg  <danken@redhat.com>

	pep8: clean few small files

2012-10-24  jarod.w  <work.iec23801@gmail.com>

	add -d parameter when umouning in mk_sysprep_floppy
	After umounting mntpoint successfully, it doesn't free automatically
	the loop device. Here, we add '-d' parameter to free the device to
	prevent it using up all loop devices.

	The issue only happened in the special case that node is built using
	livecd-tools(version: >= 16.8-1) and rpms from centos63. Because:
	1. Centos63 disables auto-destruction feature and still depends on
	  /etc/mtab to free the loop device.
	2. Livecd-tools links /etc/mtab to /proc/self/mounts, so umount can't
	  get suggestion to free the loop device from /etc/mtab.

2012-10-24  Juan Hernandez  <juan.hernandez@redhat.com>

	Don't require fingerprint
	Currently, during automated installation of the node, we require the
	user to provide the fingerprint of the CA certificate in the
	"management_server_fingerprint" kernel option. This should be optinal,
	so if it is not provided then nothing is checked.

	Bug-Url: https://bugzilla.redhat.com/856167

2012-10-24  Yaniv Bronhaim  <ybronhei@redhat.com>

	itmap starts threads for each argument causes too many oop operations
	This patch starts the threads until we reach to maxthreads, than we
	wait for one thread to end and move on until we loaded all threads.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=523011

2012-10-24  Amador Pahim  <apahim@redhat.com>

	Validating number of required args in spmStart()
	Bug-Url: http://bugzilla.redhat.com/868619

	Currently vdsClient spmStart() returns
	"(Unexpected exception )" error if we provide
	less arguments than required. spmStart()
	expects 7 arguments, with 5 of them being
	required.
	This patch changes validateArgTypes() to allow
	number of required args specification instead
	of requireAllArgs "true" or "false" - wasn't
	enough when not all arguments, but some
	are required - and specifies the number of
	required args to spmStart().

2012-10-24  Federico Simoncelli  <fsimonce@redhat.com>

	upgrade: handle the templates lease files
	On file domains multiple lease files were generated for the
	same template volume. This patch addresses the issue upgrading
	the domain by volume and taking advantage of a new specific
	volume method (_shareLease) to share the lease with the other
	images.

	In this patch:
	* Fix the multiple leases for the same template volume issue
	* Improve the domain V3 conversion upgrading by volume (instead
	  of by image)

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=855425

2012-10-24  Alon Bar-Lev  <alonbl@redhat.com>

	packaging: add a method to reconfigure without init.d parameter
	systemd does not support additional service commands[1], while there can
	be argue if this is good or bad this is the fact.

	CURRENT IMPLEMENTATION

	Current bootstrap implementation uses hybrid approach while trying to
	pass "reconfigure" to init.d, and when fails, access the init.d script
	directly.

	This is highly none expected behavior.

	NEW IMPLEMENTATION

	Add /var/lib/vdsm/reconfigure file, if exists perform reconfiguration.

	This will work with any init.d system without issues.

	The service will be reconfigure at next start.

	** We cannot remove the code from the current vdsm-bootstrap, so it able
	   to reconfigure previous versions of vdsm.

	[1] http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities

2012-10-24  Igor Lvovsky  <ilvovsky@redhat.com>

	NIC hotplug should fail if setPortMirroring failed
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=867806

2012-10-24  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix vdsClient relative import woes.
	This patch enables the users to execute vdsClient
	without problems even from the source build tree.
	In general it makes the execution more resilient
	to naming conflicts in the local directory.

2012-10-24  Shu Ming  <shuming@linux.vnet.ibm.com>

	Text: fix the syntax error in the comment of createVolume()

2012-10-24  Douglas Schilling Landgraf  <dougsland@redhat.com>

	sos/vdsm.py: Add vdsm-reg dir
	Collect file(s) from /etc/vdsm-reg

2012-10-24  Antoni S. Puimedon  <asegurap@redhat.com>

	Make netinfoTests follow closely python guidelines.
	Change 'file' by 'open' and use a with block not to wait for gc.
	Prefer list comprehensions to map and filter.

2012-10-23  Peter V. Saveliev  <peet@redhat.com>

	BZ#867413 VDSM should return supportedENGINEs
	There is no references for supportedRHEVMs in the code of the
	ovirt-engine, but we have a reference for supportedENGINEs.
	According to it, the variable should be reported in the same
	format as supportedRHEVMs and has the same meaning.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=867413

2012-10-23  Federico Simoncelli  <fsimonce@redhat.com>

	stats: move the lastCheck computation to getRepoStats
	Since getVdsStats relies on repoStats for the storage domain statistics
	it makes sense to move the lastCheck computation into the latter one.
	Moreover the repoStats call before this patch was returning the unix
	timestamp for the lastCheck (wrong) instead of the elapsed time.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=868721

2012-10-22  Peter V. Saveliev  <peet@redhat.com>

	BZ#855924 fix VM config dictionary
	Fix vm.conf dictionary for compatibility with targets < 3.1.
	The issue was that 3.0 defines cdrom and floppy as dedicated
	dictionary keys, while 3.1 places them among other drives.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=855924

2012-10-22  Igor Lvovsky  <ilvovsky@redhat.com>

	Add 'name' attribute to VM conf during _getUnderlyingNetworkInterfaceInfo.
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=867813

2012-10-22  Yaniv Bronhaim  <bronhaim@gmail.com>

	SuperVdsm validation of recovery after crash
	When calling svdsm we verify if svdsm is up by reading its pid create
	time and compare it to timestamp that is written every svdsm
	initialization.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=846307

2012-10-22  Yeela Kaplan  <ykaplan@redhat.com>

	Update scsi_id options format and add devices to multipath.conf
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=819745

	Clean /rhev/data-center/mnt/ after failed mount command
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=853040

2012-10-22  Dan Kenigsberg  <danken@redhat.com>

	Factor betterThreading out of Vdsm
	Recently, I've spun-off betterThreading as
	http://pypi.python.org/pypi/pthreading and have placed it in Fedora
	https://admin.fedoraproject.org/pkgdb/acls/name/python-pthreading .

	I believe that other complex multi-threading Python2 applications running
	on Linux would benefit from python-threading. Let us use it instead of
	containing it.

	Python3's implementation of threading already uses pthread, making
	pthreading useless if Python 3 is used.

2012-10-21  Saggi Mizrahi  <smizrahi@redhat.com>

	Properly propagate pool timeout in file handler

2012-10-21  Federico Simoncelli  <fsimonce@redhat.com>

	Revert "Initial live block migration API"
	This reverts commit 9e83bef71e6e02bf1264498d5f7297e377b32ca5.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=865384

2012-10-20  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix some pep8 errors in storageServer.py
	This doesn't make it 100% compliant because it's just irrelevant changes
	extracted from a bigger patch rebase.

	The job is finished in the next patch.

2012-10-19  Adam Litke  <agl@us.ibm.com>

	pep8: Make vdsm_api pep8 clean
	Since the vdsm_api directory does not yet have a Makefile.am, the files cannot
	be checked because vdsm_api isn't included in the distribution.  The next patch
	in this series will remedy that by establishing an automake presense in
	vdsm_api/ .

2012-10-19  Federico Simoncelli  <fsimonce@redhat.com>

	domain: fix onDomainConnectivityStateChange attribute
	The onDomainConnectivityStateChange event is not a DomainMonitorThread
	attribute.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=853703

2012-10-19  Saggi Mizrahi  <smizrahi@redhat.com>

	Clean up findCaller and add tests

2012-10-19  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	make vdsm/kaxmlrpclib.py PEP 8 clean

2012-10-19  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	add path instead of file items in PEP8_WHITELIST
	In some of directories, the pep8 of all the python source files are
	cleaned up, Just leave the path in pep8 list, remove the file items

	If a new python file is added in these pathes, the audobuild will
	check pep8 of this file automatically without adding it in pep8 list.

2012-10-18  Greg Padgett  <gpadgett@redhat.com>

	storage: can't create gpfs domain
	Validation for ':' in the path during creation of posix storage domains
	causes failure when creating gpfs domains; instead, check this only for
	nfs domains.

2012-10-18  Federico Simoncelli  <fsimonce@redhat.com>

	image: avoid prezeroing optimization in some cases
	The prezeroing optimization should be used only when it is actually
	stricly required. Using such optimization with COW is dangerous since
	the qcow2 header would contain the temporary volume size (10Mb).

	Until now this wasn't a problem because the content of the volume
	(qcow2 header included) would have been replaced by the original
	content (during a copy), with the introduction of live storage
	migration this might become a problem because the leaf is actually
	used for mirroing.

	volume: remove domain shared lock from getVolumeSize
	During long operations involving an exclusive lock on a storage
	domain (e.g.: domain upgrade) the getVolumeSize calls coming from
	the VmStatsThread are queued and the statsAge grows until the VMs
	are moved to not-responding.

	Also the extendVolume requests are queued (with requests coming
	from other hosts in the cluster) and the (redundant) refreshVolume
	issued by the VMs on the SPM.

	Removing the getSharedLock call from such methods is the safest
	way to fix the issue since we don't use more granular locks during
	the upgrade (image/volume locks) and these calls can either succeed
	or fail without undesirable side effects.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=865386

2012-10-17  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	fix comments in vm.getStats

2012-10-17  Laszlo Hornyak  <lhornyak@redhat.com>

	start ksm and ksmtuned when vdsm starts
	Bug-Url: https://bugzilla.redhat.com/854027

2012-10-17  Federico Simoncelli  <fsimonce@redhat.com>

	setup: move the certificate generation
	Generating the certificate at the service startup (instead of during the
	rpm installation) has a better chance to succeed (and a better recovery
	process). Moreover this allows appliances (like ovirt-node) to postpone
	the certificate generation when the service is actually used for the
	first time.

	In this patch:
	* Move the certificate generation from the spec file to the init file

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=860067

	vm: remove unused reqsize and needExtend
	It is some time that reqsize and needExtend have been dismissed, in
	preparation of some more extensive rework in the watermark handling
	(for the live storage migration support) we should explicitly remove
	the superfluous parts that we don't need to maintain.

	Rel-Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=865384

2012-10-16  Greg Padgett  <gpadgett@redhat.com>

	storage: failure to reconnect to authenticated iSCSI LUNs
	Fix failure to reconnect to iSCSI storage domains on LUNs requiring
	authentication due to missing CHAP credentials.

	The credentials were sent to VDSM when connecting sessions on the host,
	but VDSM was not sending them back to the engine when the engine queried
	for connection properties.  Without this, the engine couldn't store them
	in the database, and thus couldn't send them back out to any host trying
	to connect (or reconnect) the storage.

2012-10-16  Dan Kenigsberg  <danken@redhat.com>

	port mirroring requires a newer kernel
	It may be unsafe to use port mirroring due to kernel bug
	https://bugzilla.redhat.com/846585 and its el-6.3.z
	clone https://bugzilla.redhat.com/851444 .

2012-10-16  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	schema: add explanation string for the ballonInfo field
	Recently http://gerrit.ovirt.org/#/c/3669/ is merged. It adds a new
	member named balloonInfo to the type RunningVmStats, but forgets to add
	the corresponding information string in the comments. This will cause
	process-schema.py raise a KeyError when looking for info_data of
	balloonInfo and fail to generate the html documentation.

	This patch adds the corresponding information string.

2012-10-16  Mark Wu  <wudxw@linux.vnet.ibm.com>

	test: Add test cases for domxml generation

2012-10-15  Greg Padgett  <gpadgett@redhat.com>

	storage: Change low-priority tasks to idle priority
	Some tasks run as best-effort priority level 7, which is not low enough
	to prevent starvation of higher-priority tasks on the host.  This can
	hurt response time and even cause timeouts under heavy load.

	Instead, use idle priority so that the operations are done without
	interrupting other system operations.

	Note that idle priority behavior changed in kernel 2.6.25; there is now
	a guarantee of forward progress for processes at this level, making it
	usable for tasks such as these.

	Bug-Url: https://bugzilla.redhat.com/854242

2012-10-15  Adam Litke  <agl@us.ibm.com>

	schema: getStorageRepoStats returns StorageDomainVitalsMap
	The schema incorrectly had getStorageRepoStats returning StorageDomainStatsMap.
	In fact it returns a StorageDomainVitalsMap.  Fix the error and remove the
	unused mapping type StorageDomainStatsMap.

	schema: Change the format for specifying unions
	Unions are regular types but with methods to 'cast' the internal object to one
	of the member types.  We need to do it this way to support languages that lack
	the concept of type casting (ie. Python).  Change the schema to accomodate this
	new way of representing unions:
	 - 'data': contains fields that are common to all sub-types in the union.
	   Useful for identifying what the generic type should be casted to (eg.
	   VmDevice.deviceType).
	 - 'union': A list of types to which this object may be cast.  Causes the proper
	   casting methods to be generated.

	schema: Fix up VmDefinition Types

2012-10-15  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix some pep8 errors

2012-10-15  Laszlo Hornyak  <lhornyak@redhat.com>

	report cpuUser and cpuSys separately (#800367)
	Bug-Url: https://bugzilla.redhat.com/800367

	Uses virDomainGetCPUStats to get the CPU information instead of info()
	The content of the exported 'cpuSys' and 'cpuUser' changes:
	 - cpuSys is the sum of system_time and user_time reported by libvirt
	   since none of these include the guest time
	 - cpuUser is the time consumed only by the guest VM without the
	   system_time and the user_time

2012-10-15  Alon Bar-Lev  <alonbl@redhat.com>

	vdsm-reg: use M2Crypto instead of pyOpenSSL
	M2Crypto is much more supported and has superior coverage.

2012-10-15  Igor Lvovsky  <ilvovsky@redhat.com>

	Bump libvirt version to libvirt-0.9.10-21.el6_3.5
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=866163

2012-10-14  Antoni S. Puimedon  <asegurap@redhat.com>

	Keep nics up after network ops.
	All the network operations leave the nics up
	after this patch.

	Bug-Url: https://bugzilla.redhat.com/691484

2012-10-10  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	remove unassigned nice in vm
	_nice in vm is never assigned so should not reported in vm stats

2012-10-10  Saggi Mizrahi  <smizrahi@redhat.com>

	Added test to verify that miscExec throws exception when invoking a command that doesn't exist

2012-10-10  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix a bug in the naming convertion of cpu feature 'sse4_x'
	The list slice opertion missed the last character. It caused
	the feature name couldn't get chance to be converted into
	libvirt's naming.

2012-10-10  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: allow customize bridge name for standard sequence
	For gluster integration, we need bootstrap to be able to accept
	management bridge name within bootstrap and not relay on vdsm build time
	settings.

	As gluster only performs standard host bootstrap (as opposed to
	registration), the customization will be available only for this
	sequence.

	In future the registration sequence will be altered to match the standard
	sequence.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=863717

2012-10-10  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Add exit code for vdsm-tool commands
	The exit code is useful for user that calls vdsm-tool commands,
	So return the exit code of vdsm-tool commands as shell commands do.

2012-10-09  Antoni S. Puimedon  <asegurap@redhat.com>

	Make nics, vlan and bonding dhcp ifup to be asynchronous.
	Extends the asynchronous dhcp ifup beyond bridges.

2012-10-09  Dan Kenigsberg  <danken@redhat.com>

	libvirtconnection: retry opening a libvirt connection
	When we try to open a connection to libvirt too early after libvirtd has
	been started, we fail. This was first noticed in vdsmd after reboot, and
	was hacked there. However, the same bug appears when vdsm-reg-setup is
	run after reboot, and may appear during bootstrap.

	This patch polls for 10 seconds when a new connection to libvirt is
	requested.

	Bug-Url: https://bugzilla.redhat.com/862002

	tests: drop a partial reimplementation of util.retry

	move storage.misc.retry to vdsm.utils
	retry() is not storage-related. It is used only once, by supervdsm. I'm
	moving it outside so it is more easily usable.

2012-10-08  Dan Kenigsberg  <danken@redhat.com>

	vdsm-reg does not use traceroute for quite some time
	traceroute should have been dropped from the spec file when
	https://bugzilla.redhat.com/689726 was solved.

2012-10-08  Alon Bar-Lev  <alonbl@redhat.com>

	vdsm-reg: use web server CA extracted from SSL handshake
	CURRENT IMPLEMENTATION

	During registration, the CA certificate of the web server is downloaded
	from ENGINE_URL/ca.crt

	PROBLEM IN CURRENT IMPLEMENTATION

	There is no way to separate between the CA of the engine that issues
	certificates for vdsm and the web interface certificate.

	JUSTIFICATION

	Having 3rd party CA for web server certificate is required to meet
	organization policy. The 3rd party CA may already be trusted so issuing
	web server certificate using 3rd party CA makes deployment easier.

	NEW IMPLEMENTATION

	Acquire CA certificate from the TLS/SSL handshake.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=863292

2012-10-08  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	fix tests package dependency
	vdsm-tests depend on python-nose, it was only required for build env
	add this to runtime env to make tests available for users.

2012-10-08  Federico Simoncelli  <fsimonce@redhat.com>

	specfile: require selinux-policy 3.10.0-149
	Update to the newest selinux-policy package in fedora, among other
	general fixes it contains:

	- sanlock needs to send Kill Signals to non root process
	- update sanlock policy to solve all AVC's

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=863980

2012-10-08  Antoni S. Puimedon  <asegurap@redhat.com>

	Generalize asynchronous ifupping of network interfaces.
	Make the already used asynchronous ifupping of network
	interfaces (added for BZ#498940) to be an option of the
	general ifup function.

2012-10-08  Federico Simoncelli  <fsimonce@redhat.com>

	sdcache: remove the domain weakref cache
	This patch removes the (now) redundant weakref cache (replaced by the
	DomainProxy) and also parallelize the _findDomain calls for different
	storage domains.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=851146

2012-10-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove unused image.preDeleteHandler().
	Dead code remove.

2012-10-06  Amador Pahim  <apahim@redhat.com>

	Change source of CPU sockets/cores to libvirt capabilities
	Bug-Url: http://bugzilla.redhat.com/833425

	/proc/cpuinfo is not enough to provide full CPU
	sockets/cores/threads information in some systems,
	e.g. multi NUMA AMD Magny-Cours processors. To bypass
	different/unusual architectures and avoid duplication
	of code between vdsm and libvirt, this patch changes
	the source of CPU topology from /proc/cpuinfo to
	libvirt API.

	Since libvirt ignores funky topologies [1] with
	assimetric number of sockets per numa node and
	cores per socket, this patch assumes that all
	numa nodes has the same number of sockets and
	all sockets has the same number of cores.

	Merged with Laszlo's changes in http://gerrit.ovirt.org/8302

	[1] - http://libvirt.org/git/?p=libvirt.git;a=commit;h=ac9dd4a676f21b5e3ca6dbe0526f2a6709072beb

2012-10-05  Pradipta Kr. Banerjee  <bpradip@in.ibm.com>

	Add support for KVM on IBM POWER processor (ppc64)
	This patchset adds ppc64 arch support to the bootstrap code.
	Changes have been made to enable detection of CPU vendor,
	virtualization capability of the POWER platform and getting
	system UUID for KVM on POWER

2012-10-05  Greg Padgett  <gpadgett@redhat.com>

	storage: Default to NFSv3 if version not specified
	Unexpectedly switching to NFSv4 during e.g. upgrades from 3.0 to 3.1
	can cause permissions issues.  Unless explicitly set, use v3 as the
	default.  (By default, engine doesn't pass a version for SPs with
	compatibility version 2.2 or 3.0.)

	Bug-Url: https://bugzilla.redhat.com/855729

2012-10-04  Saggi Mizrahi  <smizrahi@redhat.com>

	Use buffer size in multiplies of the recommended transfer size
	Using the recommended transfer size fixes the memory corruption for NFS.

	Bug-Id: http://bugzilla.redhat.com/845660

2012-10-04  Douglas Schilling Landgraf  <dougsland@redhat.com>

	setNetworking(): set bridge status
	Currently, if the bridge for some reason is not created, users are informed
	with a warning message and bootstrap continues, the host is rebooted and
	Engine will report the node as Non Responsive.

	This patch will stop bootstrap as soon as any error occurs adding brigde
	and will show to users the an error message like:

	"Failed to install Host X.Y.Z. Step: SetNetworking:
	  Details: addNetwork error trying to add mangament bridge."

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=840300

2012-10-02  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Introduce a new verb setBalloonTarget
	We need this API to achieve memory overcommitment on guest level. Here's
	the definition of the new API:

	setBalloonTarget:
	    Dynamically change the target amount of physical memory allocated
	    to a guest.

	    Input parameter:
	        vmId   - VM UUID
	        target - target physical memory size in kibibytes
	    Return value:
	        success: return doneCode
	        failure: return errCode including underlying libvirt error message.

	And the ballooning information is added into the response of
	getVmStats(). It can be collected on vdsm client by this way:

	   balloon_info = s.getVmStats(vmId)['statsList'][0]['balloonInfo']

	Please note that setBalloonTarget can work only when a virtio balloon
	device is available for the guest. So to test it with vdsm API, you need
	put the following python dictionary into the 'devices' list in VM's conf
	to enable balloon device:

	{'device': 'memballoon', 'type': 'balloon', 'specParams':
	 {'model': 'virtio'}}

	On ovirt-engine, there's checkbox 'Memory Balloon Enabled' in the
	'New/Edit VM' UI. You can enable it in cluster 3.1.

2012-10-02  Timothy Asir  <tjeyasin@redhat.com>

	Added glusterVolumeProfileStop verb

	Added glusterVolumeProfileStart verb

2012-10-02  Bala.FA  <barumuga@redhat.com>

	Added glusterVolumeStatus verb
	Following is output structure depending on statusOption passed

	No option or default output:
	{'name': NAME,
	 'bricks': [{'brick': BRICK,
	             'port': PORT,
	             'status': STATUS,
	             'pid': PID}, ...],
	 'nfs': [{'hostname': HOST,
	          'port': PORT,
	          'status': STATUS,
	          'pid': PID}, ...],
	 'shd: [{'hostname': HOST,
	         'status': STATUS,
	         'pid': PID}, ...]}

	detail option output:
	{'name': NAME,
	 'bricks': [{'brick': BRICK,
	             'sizeTotal': SIZE,
	             'sizeFree': FREESIZE,
	             'device': DEVICE,
	             'blockSize': BLOCKSIZE,
	             'mntOptions': MOUNTOPTIONS,
	             'fsName': FSTYPE}, ...]}

	clients option output:
	{'name': NAME,
	 'bricks': [{'brick': BRICK,
	             'clientsStatus': [{'hostname': HOST,
	                                'bytesRead': BYTESREAD,
	                                'bytesWrite': BYTESWRITE}, ...]},
	           ...]}

	mem option output:
	{'name': NAME,
	 'bricks': [{'brick': BRICK,
	             'mallinfo': {'arena': int,
	                          'fordblks': int,
	                          'fsmblks': int,
	                          'hblkhd': int,
	                          'hblks': int,
	                          'keepcost': int,
	                          'ordblks': int,
	                          'smblks': int,
	                          'uordblks': int,
	                          'usmblks': int},
	             'mempool': [{'allocCount': int,
	                          'coldCount': int,
	                          'hotCount': int,
	                          'maxAlloc': int,
	                          'maxStdAlloc': int,
	                          'name': NAME,
	                          'padddedSizeOf': int,
	                          'poolMisses': int},...]}, ...]}

2012-10-02  Juan Hernandez  <juan.hernandez@redhat.com>

	Store engine web CA cert in engine_web_ca.pem
	Currently we store the CA certificate downloaded from the engine for
	registration purposes in the /etc/pki/vdsm/cacert.pem file.  This file
	is then replaced by VDSM by its default one during reboot, making a
	backup before. This means that after the reboot vdsm-reg can't use it to
	download the SSH key, and this means that registration fails.

	This patch changes deployUtil.py so that it downloadto s the certificate
	of the CA that signs the certificate of the engine web server to a new
	file: /etc/pki/vdsm/enginecacert.pem. This file is not touched by the
	VDSM start script, so that vdsm-reg can use it later to download the SSH
	key correctly.

	Bug-Url: https://bugzilla.redhat.com/856167

2012-10-02  Ryan Harper  <ryanh@us.ibm.com>

	Fix check-local build error
	Commit a062a1ae5124b6bce0beb73433fe0bf5822e6ebd changed
	vm.py removing a call to the caps module, but didn't remove
	the module import from source file and now pyflakes complains.

	(hungerforce) vdsm % make check-local
	find . -path './.git' -prune -type f -o \
	        -name '*.py' -o -name '*.py.in'  | xargs /bin/pyflakes
	./vdsm/vm.py:36: 'caps' imported but unused
	make: *** [check-local] Error 123

	This patch just removes the import.

2012-10-02  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix disconnect iscsi connections.
	iscsi disconnect failed to find the session to be disconnected,
	Resulting in a void operation.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=854151

2012-10-02  Igor Lvovsky  <ilvovsky@redhat.com>

	Read 'source'/'bridge' of NIC interface only if exists

2012-10-02  Peter V. Saveliev  <peet@redhat.com>

	BZ#781975 VM creation concurrency limit
	Since libvirt now does not support concurrent VM creation,
	simultaneous requests lead to the situation when a user
	should wait all VMs to be created before he sees any progress
	in the UI. Tho just for now it is more reasonable to limit
	parallel creation (4 threads does the stuff slightly faster
	than 1, and a user will see the progress in UI). As libvirt
	will support more fine-grained lock in its driver, we can
	return to caps.CpuInfo().cores() usage.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=781975

2012-10-02  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: remove MAC address from vds unique id
	CURRENT IMPLEMENTATION

	vds unique id is at format: @BIOS UUID@_@Low(MAC)@

	If BIOS UUID was not available either empty or "Not" were used.

	PROBLEMS IN CURRENT IMPLEMENTATION

	BIOS UUID may be missing or duplicate.

	MAC may change either because of bonding (resolved) or
	because of physical adapter change.

	ASSUMPTION

	Hosts with no BIOS UUID or with duplicate UUID are less than 0.05% of
	the hosts we manage.

	CONCLUSION

	No need to add great complexity malformed UUID hosts 0.05%.
	But remove the MAC issues from the solution.

	METHOD

	Remove the MAC address from vds unique id.
	Allow to bypass BIOS UUID with configuration.

	DETAILS

	If /etc/vdsm/vdsm.id exists at host, content is the vds unique id.

	If running on RHEV-H persist /etc/vdsm/vdsm.id during bootstrap or
	vdsm-reg.

	/etc/vdsm/vdsm.id is created by first engine vds unique id lookup
	or manually by administrator.

	SIDE EFFECTS

	If RHEV-H is reinstalled on malformed host (one with no BIOS UUID)
	it will be treated as a new host.

	RHEV-H without the complimentary vdsm fix will not be able to
	register if installed on BIOS that does not support UUID, as it will
	not generate logical UUID before registration.

	If BIOS contains duplicate UUID, manual intervention should apply,
	creating /etc/vdsm/vdsm.id manually.

2012-09-30  Yeela Kaplan  <ykaplan@redhat.com>

	Refresh storage in getDevicesVisibility using forceIScsiRescan
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=766281

2012-09-30  Federico Simoncelli  <fsimonce@redhat.com>

	domain: releaseHostId only when the domain is present
	In this patch:
	* do not release releaseHostId if the domain is missing
	* improve the checks for produce() and isIsoDomain()

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=854953

	setup: configure selinux for sanlock on nfs

2012-09-29  Peter V. Saveliev  <peet@redhat.com>

	BZ#855922, fix attribute error during migration
	VM migration rhev-3.0 -> rhev-3.1 raises AttributeError
	because of setting read-only attribute blockDev on Device
	object. So, here we skip read-only properties.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=855922

2012-09-29  Moti Asayag  <masayag@redhat.com>

	vdsm: Use virsh to check if libvirt is up
	The patch replaces libvirt socket file existence check with a check
	using virsh, so there is no need to depend on internal libvirt
	implementation details.

	Bug-Url: https://bugzilla.redhat.com/859483

2012-09-29  Federico Simoncelli  <fsimonce@redhat.com>

	build: improve the gitignore Makefile check

2012-09-28  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: use yum API
	PREVIOUS IMPLEMENTATION

	Use of yum command-line to automate package installation.

	Install package almost one by once, so valid status can be reported to
	master.

	PROBLEMS IN PREVIOUS IMPLEMENTATION

	 - As each package was installed separately, conflicts could not be
	   resolved.

	 - Dependency list should have been maintained, to match dependencies'
	   changes over time.

	 - Alternate packages, or any alternate dependency trees should have
	   been maintained separately.

	 - Each execution of yum recalculate the cache, mirrors and
	   dependencies, this took time.

	 - If another instance is running, yum waits for ever.

	NEW IMPLEMENTATION

	Use the yum python API, use single transaction, only top-level
	components, proper logging.

	This implementation resolves all the issue of previous implementation.

	Also removing the architecture specific package naming.

	PROBLEMS IN NEW IMPLEMENTATION

	As it turns out, the yum API is not exactly pure API, it needs a lot
	more work especially at log interface, as its lazy use of logs and
	direct print of messages to stdout/stderr is not something that is
	expected from an API.

	The new implementation applies workarounds to these issues, for now we
	are good.

	CLEANUP

	As the vdsm-bootstrap package is to be installed on older engines,
	legacy code could not have been removed. The usage of yum from
	deployUtils, and the installation functions from the vds_bootstrap.py
	could have been removed, ~340 lines of code.

2012-09-28  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Apply memoized to getos()
	getos() is called by _getKeyPackages() every time the capabilies
	are queried. For the case of RHEL system, it has to call
	os.path.exists() four times to get the OS name.  So it's worth to
	memory it by the decorator memoized. And it will not change while
	vdsm is running, so it's safe to be cached.

2012-09-27  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Enable balloon controller for MOM by default.
	Since vdsm can support memory balloon tunning now, we should enable
	the balloon controller for MOM by default.

	Use 'yum clean expire-cache' instead of 'yum clean all'
	It's observed that cleaning all yum caches could cause a ssh timeout
	during host installation. 'yum clean expire-cache' is much more light
	weight and 'yum clean all'. If the cache is still valid, nothing
	significant will be deleted.

	This idea is taken from Greg Padgett.

2012-09-27  Federico Simoncelli  <fsimonce@redhat.com>

	Support for the new polkit rules
	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=829884

2012-09-27  Bala.FA  <barumuga@redhat.com>

	glusterHostsList verb returns local hostname as IP address or FQDN
	The verb glusterHostsList executes the 'gluster peer status' command
	to fetch list of servers of the gluster cluster.  However the output
	of this command doesn't include the server on which the command is
	being executed.  For completeness the verb appends current server
	detail to the list given by gluster

	When hostname of the current server is used in the detail, the problem
	with hostname is that what's saved in engine db in the host_name field
	is not necessarily the actual hostname of the host, but whatever user
	entered while adding the host, which could be ip address also.  So
	engine can't rely on the hostname, particularly on compare the list
	returned by the glusterHostsList verb with the list of hosts present
	in engine DB to identify if something has changed because of direct
	cli operations from the gluster cli.

	So this patch enables sending an ip address instead of hostname of the
	current server.  Engine db contains all ip addresses of the server,
	and hence ip address can be used for comparisons.

2012-09-27  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	schema: Fixup command return values
	There still one is not fixuped, so fix it.

2012-09-26  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	generate initramfs on demand in VM creation test
	Fedora is shipped with initramfs, so use it directly. Some other distros
	are shipped with initrd, so generate initramfs on demand.

2012-09-26  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Add vdsm-tool/load_needed_modules.py to .gitignore
	When we're adding a new file (*.py.in) using the macro of autobuild,
	we need put the auto generated file (*.py) to gitignore list. So add
	a task to the 'check-local' target. Both the idea and code are taken
	from Dan Kenigsberg's comments.

2012-09-26  Fernando Granha Jeronimo  <fgranha@linux.vnet.ibm.com>

	Fix vdsm-reg service name
	Due to a problem with the vdsm-reg service name (vdsmd-reg instead of vdsm-reg),
	the service is not enabled after rpm installation.

2012-09-26  Federico Simoncelli  <fsimonce@redhat.com>

	General json schema fixes
	In this patch:
	* add the 'class' typeKind
	* fix the info_return behaviour (now a string)
	* misc fixes in vdsmapi-schema.json

2012-09-26  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init: verify if libvirt socket file exists
	Currently, VDSM init script checks if libvirt daemon is up with pgrep command.
	However, libvirt daemon shows up before the socket file be ready.

	This patch will add a new validation (check if the socket file exists) to be used
	with pgrep command.

	Bug-Url: https://bugzilla.redhat.com/859483

2012-09-26  Dan Kenigsberg  <danken@redhat.com>

	vdsmd: await for libvirt with systemd, too.
	Commit bdb9c443b5 added a call to await_libvirt_start_workaround if
	libvirt is restarted by upstart. The same reasoning applies to the case
	where libvirt is start by systemd.

	Bug-Url: https://bugzilla.redhat.com/859483

2012-09-25  Michal Skrivanek  <michal.skrivanek@redhat.com>

	converting some more RH strings to oVirt

2012-09-24  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix BZ#846323 fix.

2012-09-24  Changming Bai  <baichm@linux.vnet.ibm.com>

	make vdsm/storage/storage_exception.py PEP 8 clean

2012-09-24  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	fix dataProgress of migration
	so the dataRemaining is more reasonable to calculate dataProgress
	than dataProcessed.
	Also, we can see that libvirt also use dataRemaining to calculate
	dataProgress in print_job_progress function of virsh-domain.c.

2012-09-24  Juan Hernandez  <juan.hernandez@redhat.com>

	Validate downloaded SSH public key
	During registration the SSH public key of the engine is downloaded,
	but it is not verified in any way. In some situations we can be
	getting garbage from the server, for example when we connect to an
	HTTPS server using the HTTP protocol. That garbage can end up in the
	uthorized_keys file.  This patch changes deployUtils.py so that it
	verifies that what we get looks like a valid SSH public key before
	saving it to the file.

	Bug-Id: https://bugzilla.redhat.com/856167

	Validate downloaded CA certificate
	During installation the CA certificate of the engine is downloaded,
	but it is not verified in any way. In some situations we can be
	getting garbage from the engine, for example when we connect to an
	HTTPS server using the HTTP protocol. That garbage can corrupt a
	previously downloaded CA certificate. This patch changes
	deployUtils.py so that it verifies that what we get is a valid X.509
	certificate before saving it to the file.

	Bug-Id: https://bugzilla.redhat.com/856167

2012-09-24  Saggi Mizrahi  <smizrahi@redhat.com>

	Use the recommended alignment instead of using pagesize
	Page size is the usual recommended alignment but when it isn't using it
	can cause memory corruption.

2012-09-24  Juan Hernandez  <juan.hernandez@redhat.com>

	Add input parameter to _logExec
	This allows the use of _logExec when some text has to be provided in the
	standard input of the executed command.

2012-09-24  Saggi Mizrahi  <smizrahi@redhat.com>

	Add permutation feature to testing framework
	This allows creation of a single test case template that is mutated into
	several actual test cases. This makes testing methods with several
	options that don't change the output much easier.

	For an example check out tests/permutationTests.py.

2012-09-23  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix data passing to process when doing async execution
	There is a mistake in the current file where the stream data is being
	sent to when using `sync=False` is stdout instead of stdin. This makes
	the feature not work.

	Further more, I added flush so that the data is sent before the function
	returns because it's a bit more intuitive.

	Also, add a test to check that this feature works so in the future this
	kind of thing wouldn't occur.

2012-09-23  Doron Fediuck  <dfediuck@redhat.com>

	vdsm: Unifying engine and vdsm commit templates
	As agreed in ovirt's arch mailing-list[1], we'd like the engine's
	commit template and vdsm conventions to agree on BZ referencing.

	This change adds a sample commit message template with a 'Bug-Url:',
	which matches the mentioned agreement. The way to use this sample
	is with: 'git commit -s -F vdsm-commit-template.txt -e'. Usage of
	the template is optional, and meant for convenience only.

	[1] http://lists.ovirt.org/pipermail/arch/2012-September/000838.html

2012-09-23  Igor Lvovsky  <ilvovsky@redhat.com>

	Require a new initscripts-9.03.31-2.el6_3.1
	A new initscript supports VLAN tag on descriptively-named interfaces:
	https://bugzilla.redhat.com/show_bug.cgi?id=854852

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=859109

2012-09-23  Yeela Kaplan  <ykaplan@redhat.com>

	BZ#844180: Change scsi scan to asynchronous
	Defined a minimal time to wait after a scsi rescan in order to
	minimize races between dm being updated and vdsm looking for
	available devices

2012-09-21  Federico Simoncelli  <fsimonce@redhat.com>

	Remove superfluous macros in the specfile
	In this patch:
	* remove the redundant %attr macros for the vdsm hooks
	* set the %defattr ownership to root:root

2012-09-21  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-upgrade: stop vdsm when complete upgrade
	We should stop vdsm daemon to avoid any additional
	communication with Engine before the upgrade/reboot happens.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=854766

2012-09-20  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec.in: use locale LC_ALL=C
	During VDSM instalation, we verify if SELinux booleans are
	enabled with return of semanage command, output like: "on" or "off".
	These are English words and if the system contains a different
	locale, example pt_BR the validation will fail.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=857556

	This patch will change the locale for English (C) while
	installation VDSM.

2012-09-20  Antoni S. Puimedon  <asegurap@redhat.com>

	Do not propagate top layer interfaces bootproto to the underlying devices.
	When adding an interface to a composed network interface,
	bootproto was incorrectly applied also to the underlying
	network interfaces. This patch corrects it by unsetting the
	slave interfaces bootproto.

	Bug-Id: https://bugzilla.redhat.com/857112

2012-09-19  Yaniv Bronhaim  <ybronhei@redhat.com>

	stressCheckTest fails because it passes the rlimit
	We tried to use 75 precent of rlimit, but most of the time the os is
	already uses more then 25 precent and the test creates more threads than
	the os can.
	This patch changes it to 50% of rlimit.

2012-09-19  Federico Simoncelli  <fsimonce@redhat.com>

	Fix the prepareForShutdown XML-RPC call

2012-09-18  Dan Kenigsberg  <danken@redhat.com>

	caps.osversion: use @memoized instead of reimplementing it

2012-09-18  Juan Hernandez  <juan.hernandez@redhat.com>

	BZ#856167 - Parse correctly the management_server parameter
	When doing automatic installations we parse the management_server
	parameter to find the engine address and port number, but we don't
	parse it correctly if the port number is missing, in this case we end
	up using the address as both address and port number. This patch fixes
	that so when the port number is missing the default 443 will be used.

2012-09-18  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	faqemu: remove the fake /dev/kvm after vdsmd stops
	/usr/libexec/vdsm/vdsm-faqemu, the fake emulator, will create a fake
	/dev/kvm before it starts a real emulator. This fake device is for
	cheating libvirtd. This fake /dev/kvm is not deleted automatically after
	vdsmd stops. If we want to switch to real KVM support then, the fake
	device will prevent the system creating the real device, thus makes the
	user very confused about the error. This patch detects and deletes the
	fake /dev/kvm after vdsmd stops whenever faqemu is enabled or not in the
	vdsmd.conf.

2012-09-18  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	pep8 clean for vdsm/vdsm

2012-09-18  Dan Kenigsberg  <danken@redhat.com>

	pep8ize vdsm/vdsm entry point

2012-09-18  Antoni S. Puimedon  <asegurap@redhat.com>

	Fix crash when libvirt refers to non-existing non-bridged interfaces.
	This fix catches the crash resulting of checking information in sysfs of a
	non-existing network reported by libvirt.

	Bug-Id: https://bugzilla.redhat.com/856163

2012-09-17  Laszlo Hornyak  <lhornyak@redhat.com>

	removing cpuIdle
	cpuIdle is not used by the engine, and it is wrong anyway

2012-09-15  Amador Pahim  <apahim@redhat.com>

	vdsm.spec.in: Requires: python-libguestfs
	Solving vdsm_hooks/fileinject/before_vm_start.py
	"import guestfs" dependency.

2012-09-14  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Make netinfo.py PEP8 clean

2012-09-14  Douglas Schilling Landgraf  <dougsland@redhat.com>

	setNetworking(): return bridge status
	if the bridge for some reason is not created we should warn users
	in the oVirt Engine. Otherwise, it will continue and complete the bootstrap,
	reboot the Host and oVirt Engine willreport the Node as Non Responsive
	without any additional info.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=840300

2012-09-13  Pradipta Kr. Banerjee  <bpradip@in.ibm.com>

	Modify getOSVersion to use python 'platform' module
	Modify getOSVersion function to use the python 'platform'
	module instead of custom file parsing logic

2012-09-13  Federico Simoncelli  <fsimonce@redhat.com>

	Add the autotools support in the spec file
	This change makes easier for rpm-based distributions to backport patches
	that touch the autotools files.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=847535

	Fix the rpm package discovery process in vdsm caps
	If the rpm package isn't found it shouldn't be added to the packages
	dictionary.

2012-09-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#846323 - Adding deprecated to removeVG().
	removeVG() interface will be removed.
	Use formatStorageDomain() instead.

	BZ#846323 - Search PV's belonging to the VG in removeVG.
	Use only one lvm operation when removing a VG.
	Using more than one is racy.
	In addition avoid the use of getAllPvs() which will be removed
	in the future.
	Only one getAllPvs() call remains!

2012-09-13  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py: fail if Password doesn't match
	Currently, if users in the Node TUI add the password to include the
	node through Engine and passwords doesn't match, no failure
	message will show and it will continue.

	This patch will show to users a failure message if the passwords
	doesn't match.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=854457

	Test:

	  * Install Node
	  * Select oVirt Engine Tab
	  * Add passwords that doesn't match and click 'Apply'

	vdsm-reg-setup: get hostname with gethostname()
	Previously we relied upon the fallback behavior of socket.getfqdn()[1] which returned
	the hostname only in the case that it could not find an entry or alias with a dot.
	In ovirt-node if the user sets a new hostname, this adds an alias to /etc/hosts
	that maps to localhost.local domain and leads to engine not listing the
	user-requested hostname. The fix is to not use getfqdn(), but gethostname().

	Test
	=====
	* Install oVirt Node 2.5.1-1.0
	* Set Network (default it will be localhost.localdomain)
	* Select Network again, and change Hostname (supernode.linux.com)
	* Register the Node into Engine
	- At this moment, Engine will show localhost.localdomain instead of supernode.linux.com

	The manual workaround is remove the new hostname from /etc/hosts in 127.0.0.1 entry.

	[1] http://docs.python.org/dev/library/socket.html

2012-09-12  Ryan Harper  <ryanh@us.ibm.com>

	Chown /var/log/vdsm during startup to prevent vdsmd crash
	Bug-Id: https://bugzilla.redhat.com/729348

	vdsmd startup routine will handle re-creating /var/log/vdsm
	but doesn't chown it with vdsm.kvm which prevents vdsmd from
	operating.

	Fix this by chowning the parent dir during startup.

2012-09-12  Shu Ming  <shuming@linux.vnet.ibm.com>

	Make connections path depend on path definitions
	The connections path should be relative to the path definition
	in constants.py

2012-09-12  Ryan Harper  <ryanh@us.ibm.com>

	Replace 'ovirt Engine' string with @ENGINENAME@
	Commit fd1c00c6fdbd8207a631001eab106e6f78c0cca2 introduced some new
	messages but didn't use the @ENGINENAME@ eyecatcher.

2012-09-12  Federico Simoncelli  <fsimonce@redhat.com>

	Fix the check to convert block domains V0 to tag metadata
	In this patch:
	* fix the check to decide if we should upgrade to tag metadata
	* make __convertDomainMetadataToTags safer
	* add logging messages to __convertDomainMetadataToTags

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=853910

2012-09-11  Federico Simoncelli  <fsimonce@redhat.com>

	Bump sanlock required version for EL6
	The new sanlock version (2.3-4) resolves: rhbz#849181 rhbz#849183
	rhbz#849184 rhbz#849186.

	Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=854748

2012-09-11  jarod.w  <work.iec23801@gmail.com>

	vdsm: replace rpm commandline with rpm-python api in caps.py
	In rpm-python library, it provides the way to get rpm information by
	rpm name and specified files. I think it's better and more effective
	to use the library than our Popen.

2012-09-11  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	add simple VM creation functional test
	Create a VM using existing host kernel and initramfs, then destroy it.

	Patch set 6:
	rebase the test on Dan's http://gerrit.ovirt.org/#/c/5788/ and add
	some utility functions

	Patch set 9:
	check if user is root
	check if kvm is enabled

2012-09-11  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ829710 Get VMList with oop if necessary

2012-09-11  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Trigger reboot automatically after upgrade
	Depends on related change http://gerrit.ovirt.org/7777
	This patch will trigger an reboot after the upgrade steps are complete

	Original Author: Mike Burns <mburns@redhat.com>

2012-09-10  Bala.FA  <barumuga@redhat.com>

	glusterHostsList verb uses gluster cli xml output.
	This eliminates standard output text parsing.

2012-09-10  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	remove the broken support for delivering video to local display
	In vdsClient help message and sample VM configurations, it is said when
	display is set to local, the VM video will go to local host. In fact
	vdsm do not implement this. If the user use this feature, vdsm will
	raise an exception in function getConfVideo() in vdsm/vm.py.

	To implement this feature, we have to
	1. deal with 'local' properly in getConfVideo() in vdsm/vm.py, add a
	suitable video device when 'local' is set.
	2. generate graphic discription XML node properly in vdsm libvirtvm.py,
	like <graphics type="sdl" display=":0" xauth="blah">. Now we always
	generate some attributes not related to SDL, and libvirt will complain.
	We have to suppress generating those attributes when using local
	display.
	3. If we allocate a host display for the user qemu, then qemu can use sdl
	to show the display in its own host display.
	4. If we do not want to allocate a display for qemu, we have to use an
	existing one, then we have to deal with the $DISPLAY(:0 ?) and
	$XAUTHORITY. These two attributes can be set in the libvirt XML in the
	graphics section
	5. We often setup hosts without X support, it is not possible to
	deliver the guest video to host display. In this situation, detect the
	host X support and raises an exception properly to the user to describe
	what's wrong.

	If we are not going to do the work as written above, we'd better remove
	the broken support for local display.

2012-09-09  Antoni S. Puimedon  <asegurap@redhat.com>

	Add network logs for VDSM network commands and file operations.
	The aim is expanding the logging done in configNetwork. In order to do so, it
	uses vdsm.storage.misc.execCmd.

	Bug-Id: https://bugzilla.redhat.com/851839

2012-09-09  Dan Kenigsberg  <danken@redhat.com>

	vdsm-tool/load_needed_modules: fix creation of legacy bonds
	Fix commit 816238891be which has failed to open MASTER_FILE for writing
	before wrting to it.

2012-09-09  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: perform reboot asynchronously
	The use of /sbin/reboot may cause reboot to be performed at the middle
	of script execution.

	Reboot should be delayed in background so that script will have a fair
	chance to terminate properly.

2012-09-09  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#815359 - Improve log on qemu-convert error.

2012-09-09  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Make vdsm/configNetwork.py PEP8 clean

2012-09-09  Igor Lvovsky  <ilvovsky@redhat.com>

	Set right MTU when removing bridgeless networks
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=854919

	Continue support nicless bridge.
	In general we can define bridge without connect it to any interface (nic/bond).
	This behaviour was broken mistakenly in previous commits, fixed now.

	Change getVlansForNic to more general getVlansForIface

	Update MTU when removing one of networks with custom MTU from NIC/bond.
	We need to restart the interface to set proper MTU on it.
	The whole point of this patch to get 'iface' defined for both VLANed and
	non-VLANed networks. In such case we will be able to restart the interface
	for both above cases

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=853968

2012-09-08  Bala.FA  <barumuga@redhat.com>

	Added _execGlusterXml()
	This function helps to run gluster command which outputs in xml.

2012-09-07  Adam Litke  <agl@us.ibm.com>

	build: Use correct equality operator for /bin/test
	According to the man page for 'test', the correct token to use for string
	equality is '=', not '=='.  '==' works for the bash builtin version but we
	should not depend on it (especially since the pkg-version shebang calls for
	/bin/sh).  This fixes the build on my Ubuntu system.

2012-09-06  Dan Kenigsberg  <danken@redhat.com>

	make pep8 happy with config.py.in

	vdsmd: set nwfilter on ovirt-node
	ovirt-node is shipped with .pyc only. Do not try running a missing
	executable.

2012-09-06  Adam Litke  <agl@us.ibm.com>

	schema: Fixup command return values
	Commands return a single unnamed typed item.  Fix the schema to reflect this.
	Some vdsm commands return multiple keys in the result dictionary and those keys
	need to be combined into a new type representing the complete return value.

	schema: Add StorageDomainStatsMap map type
	API.getStorageRepoStats refers to an undefined mapping type.  Add it.

	schema: Add class constructors to the schema
	All classes will accept parameters when they are instantiated.  Record the
	parameters in the schema.

	schema: Rename Global class to Host
	The Host class is the root of the API.  It will have functions to connect and
	disconnect from the server.  It will also have all of the commands that used to
	be defined as 'Global' since it doesn't make sense to sub-class them.

2012-09-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec: Adding hostname as Require
	vdsm-gencerts.sh requires hostname

2012-09-06  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Move load_needed_modules to vdsm-tool
	Move load_needed_modules to vdsm-tool from vdsmd.init

2012-09-05  Dan Kenigsberg  <danken@redhat.com>

	Drop stale import
	Issue introduced by my former patch. Life is harder without Robert's
	per-patch autobuilding... Sorry for the noise.

	fileSD.getDomUuidFromMetafilePath: return correct sdUUID
	Since commit 7ce1a3d53, getDomUuidFromMetafilePath() returns a constant
	string "dom_md", regardless of the storage domain metafile it receives.

	This has serious effects, since it leads to all NFS domains using a
	single process pool.

	It would probably be better to solve the problem by avoiding
	getDomUuidFromMetafilePath altogether. The callers high up the stack
	know the sdUUID they are working on. This solution is left as an
	excersice to the readers.

	A simpler, localized, solution is to take the correct element out of
	metafile path. In this patch I suggest to do it without worrying about
	trailing slashes in the [irs]repository configurable.

	Thanks to Shu Ming for reporting this bug and suggesting another fix for
	it.

2012-09-05  Yaniv Bronhaim  <ybronhei@redhat.com>

	Correct pep8 error- too long line

2012-09-05  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	Remove imageID in diskstats collect
	imageID is only available for vdsm created images, direct lun and iso
	stats can't be collected because of lack of this imageID.
	so remove it when collecting.

2012-09-05  Yaniv Bronhaim  <ybronhei@redhat.com>

	changed upstart_libvirt function name

2012-09-05  Zhu Bo  <bozhu@linux.vnet.ibm.com>

	Correct vdsClient's help for the verb getVmsInfo
	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=727791

	replace the help with the following:
	getVmsInfo <spUUID> [<sdUUID> [vmList](vmId1,vmId2,...)]

2012-09-04  Federico Simoncelli  <fsimonce@redhat.com>

	Update the lvm rules permissions with sanlock
	The MODE keyword in the lvm rules wasn't used by udev. However a newer
	version shipped with Fedora 17 is considering its value.
	The MODE and the GROUP values should be updated to allow sanlock to
	access the ids and the leases LVs.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=850440

2012-09-04  Shu Ming  <shuming@linux.vnet.ibm.com>

	Make svdsm files depend on path definitions
	The files created by super vdsm process should
	be put into a path relative to the path definition
	in constants.py

2012-09-04  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	Remove vdsm-restore-net-config from ignore list
	As commit 49999d16 remove vdsm-restore-net-config.in and add the python file,
	remove from ignore list to track it.

2012-09-04  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: eliminate extra new line at ~/.ssh/authorized_keys
	In the past engine created ssh public keys without the terminating
	newline. Now it was fixed.

	Make sure result file contains newline for all keys.

2012-09-03  Eduardo Warszawski  <ewarszaw@redhat.com>

	Produce the domain in the domain monitor thread
	This should reduce the number of vgs in connectStoragePool thread.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=846376

2012-09-03  Federico Simoncelli  <fsimonce@redhat.com>

	Asynchronous LVM bootstrap on vdsm start
	The lvm bootstrap might take a long time if one or more block device is
	unreachable. Moving the bootstrap in the storageRefresh thread speeds up
	the vdsm initialization and its responsiveness.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=752470

2012-09-03  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	tests: Honour PYTHONPATH if set on the host
	run_tests_local.sh doesn't honour PYTHONPATH if it was set.
	This causes issues with the tests (sometimes) if user was using
	a custom path for say libvirt ( running from a git src, rather
	than installed rpm path). This path add $PYTHONPATH to the
	script to fix the issue.

2012-09-03  Moti Asayag  <masayag@redhat.com>

	Define network filter on libvirt
	The patch defines custom network filter on libvirt in order to control
	the VM traffic. The custom filter is being set when VDSM service is
	being started.

2012-09-03  Federico Simoncelli  <fsimonce@redhat.com>

	Upgrade a data domain on attachSD when required
	It is now possible to attach a storage domain with a version that is
	older than the pool master domain. The upgrade will be started as soon
	as the domain will be activated.

	Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=851518
	Change-ID: I65dfd6dd339569fbaf276f3942a001c174423b1a

2012-09-03  lvroyce  <lvroyce@linux.vnet.ibm.com>

	using blockStatsFlags to collect disk latency instead of qemu cmd
	in libvirtvm.py using blockStatsFlags to collect disk latency
	instead of qemu cmd to avoid keyError and parse results our own

2012-09-03  Dan Kenigsberg  <danken@redhat.com>

	tests rpm: make non-local tests run
	We should ship vdsm-tests.rpm with all its required files.

	spec: declare mkimageTests' requirement of genisoimage

2012-09-02  Dan Kenigsberg  <danken@redhat.com>

	libvirtvm: (un)setPortMirroring when hot(un)plugging
	Bug-Id: https://bugzilla.redhat.com/848101

2012-09-02  Igor Lvovsky  <ilvovsky@redhat.com>

	Remove BRIDGE line from nic/bond cofig file when removing bridge
	Bug-Id: https://bugzilla.redhat.com/845193

2012-09-02  Dan Kenigsberg  <danken@redhat.com>

	tc: _delTarget: fix an evil type error
	In a former commit 9adf78d9 I thought that returning _delTarget()
	returning a set() would be a good idea. It was swiftly converted to
	list() in commit 61f1ff45, forgetting this line behind.

2012-09-02  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: sync utils.getHostUUID() with deployUtil.getHostID()
	Apparently, the host id is gotten in three different places:
	1. Engine VdsInstaller::ConfigValues.BootstrapNodeIDCommand
	2. deployUtil.getHostID()
	3. utils.getHostUUID()

	Change-Id Iae0713f95 did not handle (3).

2012-09-02  Dan Kenigsberg  <danken@redhat.com>

	tc: avoid adding non-existing devices to filter
	When a mirroring target dies, its tap device are removed. On `tc filter
	show`, the tap device name is replaced with a string like `if17`, which
	is not a name of an existing device.

	This patch is somewhat racy, as another qemu may die just before the new
	filter is set.

	tc: unsetPortMirroring: deleting a target twice is fine
	We should not explode if a mirroring target is already gone when
	unsetPortMirroring is called.

2012-08-31  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove redundant indirection for getting vm status

2012-08-31  Yaniv Bronhaim  <ybronhei@redhat.com>

	vdsmd always restarts libvirtd upon start-up
	Bug-Id: https://bugzilla.redhat.com/734847

	When starting vdsm we need to verify that libvirt is running by
	upstart and not by SysV. When processing start() we stop libvirtd
	service only if upstart exists and not configured.

2012-08-31  Dan Kenigsberg  <danken@redhat.com>

	momTest: improve test's error reports
	The test is skipped if MOM is not installed on host.
	Also, the returned value of the setMOMPolicy call is checked.

	MOMTest.testKSM still fails on my host, but at least I can tell when in
	the test process it has happened.

	Add a basic xmlrpc functional test

2012-08-31  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	fix TypeError of _eqSplit in vdsClient.py
	if the arg is string 'xyz', the _eqSplit will into the 'else'
	branch. and then k = ['xyz']. but list type can not be a hash key.
	TypeError will come up.

	throw a Exception to report this case, it is more clear what has
	happended.

2012-08-30  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: survive missing ntpq
	Minimal fedora installation does not have ntpq.

	bootstrap: node id: consider bonding MAC addresses as well
	The node id is constructed using the lowest MAC address.

	If bonding is applied after initial node id was taken, it may shade the
	minimal address.

	This change adds to the MAC addresses of bonding interfaces to the MAC
	address addresses to consider.

	Sync with engine command used for same purpose.

2012-08-30  Federico Simoncelli  <fsimonce@redhat.com>

	Check if libvirtd.upstart is present before copying
	If the (libvirt) packaged upstart script is present in the rpm list
	of files but is absent from the filesystem the initscript was failing
	because the cp command couldn't copy it. This is mostly interesting
	in stripped down installations as the ovirt-node.

	RHBZ: 849984

2012-08-29  Dan Kenigsberg  <danken@redhat.com>

	configNet: grant proper selinux context to ifcfg-*
	Currently, Vdsm-created ifcfg files receive the context
	unconfined_u:object_r:net_conf_t:s0 instead of the one mandated by
	selinux policy.

	 # restorecon -vF /etc/sysconfig/network-scripts/ifcfg-eth3.160
	 restorecon reset /etc/sysconfig/network-scripts/ifcfg-eth3.160 context unconfined_u:object_r:net_conf_t:s0->system_u:object_r:net_conf_t:s0

	This may lead to unpleasant EPERMs down the road.

	Bug-Id: https://bugzilla.redhat.com/838347

	libvirtvm: allow acpi again
	Commit c3e2272f has mistakenly changed

	        <features>
	                <acpi/>
	        </features>

	into

	        <features>
	                acpi
	        </features>

	which caused VMs to start up silently with no acpi support. This patch
	reverts the offending part of the above commit.

	Bug initially reported by Itzik Brown.

2012-08-29  Federico Simoncelli  <fsimonce@redhat.com>

	Bump libvirt required version for EL6
	The version bump is required to avoid the libvirt error "Shareable
	leases are not supported" when starting a VM (rhbz838819).

2012-08-29  Dan Kenigsberg  <danken@redhat.com>

	tc: Give a clearer name to qdisc_get_devid
	While at it, extend the function to return all associated qdiscs per
	device.

	tcTests: test port-mirroring while another device is watching

	tc: add to PEP8_WHITELIST

	tc: refine unsetPortMirroring
	unsetPortMirroring should not remove all reference of the mirrored
	bridge device. Instead, remove only the relevant mirred actions on each
	call to unsetPortMirroring. Promiscuous mode should be unset only when
	the last action is removed.

2012-08-28  Moti Asayag  <masayag@redhat.com>

	Libvirt service engagement workaround
	The patch intended to bypass a false report of libvirt service as
	started (when started with initctl). Instead of relying on initctl,
	vdsm awaits few seconds till the service is reported with its allocated
	process id (by 'pgrep').

2012-08-28  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	Make vdsm/storage/fileSD.py pep8 clean

2012-08-28  Gal Hammer  <ghammer@redhat.com>

	Change waitForMigrationDestinationPrepare function waiting.
	The change is to avoid timeouts during migration of several
	VMs at once. The new implementation doesn't start the timer
	until the VM starts it creation (e.g. acquired the
	_ongoingCreations lock).

2012-08-27  Oved Ourfali  <oourfali@redhat.com>

	improve message when trying to attach import domain with wrong permissions
	When a storage domain is attached, and there is something wrong with the
	directory permissions, then the operation fails with "Cannot obtain
	lock" error. This patch improves the error in this case, by performing
	validations when doing the server connection. If the permission
	validation fails, we disconnect.

	The user will get an event specifying the permissions error.
	And, he will get a UI error saying:
	"There is no storage domain under the specified path. Please check
	path."

	This fix also applies to posix and local storage.

	Bug-Id: BZ#842146

2012-08-27  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	add server_once for CrabRPCServer
	server_once is convenient for integrating CrabRPCServer into
	the event loop of other program.

	example: I want to use CrabRPC in consoleServer, but console have
	loop in its code. It can join read side of pipe into select(). After
	select() return, we can call server_once() for processing rpc
	message.

2012-08-27  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#846312 - Keep max MTU when adding non-VLANed bridgeless network

2012-08-26  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#846312 - Keep MTU on ehtX after bond editing, when ethX part of this bond

2012-08-26  Dan Kenigsberg  <danken@redhat.com>

	configNet: introduce ConfigWriter.restorePersistentBackup()
	restorePersistentBackup is to be called before vdsm starts, via
	vdsm-restore-net-config, to load persistent backup into memory, make
	them effective again, and remove the backup.

	This patch makes a single function out of this in order to fix the
	currently-broken testPersistentBackup test case.

2012-08-24  Adam Litke  <agl@us.ibm.com>

	API: Provide a working getAllTasks API
	Changes since last iteration:
	- Dropped 'tags' filtering from the API.  Users can do client-side filtering as
	  they see fit.

	The current APIs for retrieving all task information do not actually return all
	task information.  I would like to introduce a new API that corrects this and
	other issues with the current API while preserving backwards compatibility with
	ovirt-engine for as long as is necessary.

	The current APIs:

	getAllTasksInfo(spUUID=None, options = None):
	 - Returns a dictionary that maps a task UUID to a task verb.
	 - Despite having 'all' in the name, this API only returns tasks that have an
	   'spm' tag.
	 - This call returns only one piece of information for each task.
	 - The spUUID parameter is deprecated and ignored.

	getAllTasksStatuses(spUUID=None, options = None):
	 - Returns a dictionary of task status information.
	 - Despite having 'all' in the name, this API only returns tasks that have an
	   'spm' tag.
	 - The spUUID parameter is deprecated and ignored.

	I propose the following new API:

	getAllTasks(options=None):
	 - Returns a dictionary of task information.  The info from both of the above
	   functions would be merged into a single result set.
	 - The spUUID parameter is dropped.  options is for future extension and is
	   currently not used.

	This new API includes all functionality that is available in the old calls.  In
	the future, ovirt-engine could switch to this API and preserve the current
	semantics by ignoring tasks where task['tag'] != 'spm'.  Meanwhile, API users
	that really want all tasks (gluster and the REST API) can get what they need.

2012-08-24  Federico Simoncelli  <fsimonce@redhat.com>

	Ship the version file with the tarballs
	Shipping the VERSION file allows running the autoreconf tool also from a
	tarball package (no need of the entire git repository).

	In this patch:
	* generate and ship the VERSION file
	* move, unify (and ship) version.sh and release.sh in pkg-version
	* use the VERSION file when the git repository is not available
	  (eg: tarball)

2012-08-24  Mark Wu  <wudxw@linux.vnet.ibm.com>

	make vdsm/libvirtvm.py PEP 8 clean

2012-08-24  Saggi Mizrahi  <smizrahi@redhat.com>

	Sort the pep8 whitelist list

2012-08-23  Dan Kenigsberg  <danken@redhat.com>

	tc: rename qdisc_replace_prio()
	This funciton replaces a PRIO qdisc. Let us call it accordingly

	tc: silently ignore ingress qdisc re-creation
	We should allow starting up two VMs monitoring a single bridge.

2012-08-23  Antoni S. Puimedon  <asegurap@redhat.com>

	tc: Fix make rpm for filter tests.

2012-08-23  Dan Kenigsberg  <danken@redhat.com>

	tc: make TCException more accessible programmatically

	tc: list some information about filters
	`tc filter show dev <dev> parent <parent>` lists all information about
	currently-defined tc filters for <dev> and <parent>.

	This patch extracts very little information about each filter that we
	recognize.

2012-08-23  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-upgrade: use python scripts from ovirtnode
	Replace /usr/libexec/ovirt-config-boot call from deployUtil._logExec
	to the newer python scripts from ovirtnode.

	Tested:

	* Installed ovirt-node 2.5.0-2.0 (upgrading to: 2.5.1-1.0)
	* mkdir /data/updates
	* Copied 2.5 image to /data/updates/ovirt-node-image.iso
	* mount -o loop /data/updates/ovirt-node-image.iso /live
	* Update in /etc/vdsm-reg/vdsm-reg.conf upgrade_mount_point=/live
	* service vdsm-reg restart
	* /usr/share/vdsm-reg/vdsm-upgrade
	* reboot

2012-08-23  Federico Simoncelli  <fsimonce@redhat.com>

	Use quiesce only if qgaEnable is enabled
	Do not attempt to use the quiesce live snapshot flag if the guest agent
	channel is not present.

2012-08-23  Igor Lvovsky  <ilvovsky@redhat.com>

	configNetwork: use MTU as int in setNewMtu

	Restore previous MTU on bond when VLAN with bigger MTU removed

	BZ#846004 - IP on nic/bond should be preserved when VLAN added

2012-08-23  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#833084 Set StoragePool.id to SPM_ID_FREE by default
	Setting the storage pool id to SPM_ID_FREE (-1) would prevent mistakes
	that could lead None to appear in the metadata.
	In this patch:
	* replace the storage pool id value None with SPM_ID_FREE
	* replace the storage pool lver value None with LVER_INVALID
	* validate the hostId in reconstructMaster

2012-08-22  Mark Wu  <wudxw@linux.vnet.ibm.com>

	test: Add tests for _validateInterNetworkCompatibility()

2012-08-22  Moti Asayag  <masayag@redhat.com>

	BZ#811807 Enable network filtering
	The VM network interface might receive a rule/filter to control the
	VM traffic by using libvirt network filtering.

	A vnic might get a single filter. In order to provide a filter which
	isn't delivered by libvirt, a custom filter should be defined. Once the
	filter is defined, its name could be used by the vnic to control its
	traffic.

2012-08-22  Dan Kenigsberg  <danken@redhat.com>

	netConfig: translate to "new" option names from cmdline, too
	At some point in prehistoric past a former Vdsm developer decided to change the names of
	various networking options. IPADDR had become ipaddr; BONDING_OPTS had
	become bondingOptions; etc. We continued to support older-style names -
	which are used up to this very day by ovirt-engine. Translation is done
	by API.Global._translateOptionsToNew for each network API call.

	However, we forgot to perform this translation when the network
	configuration functions are called via the /usr/share/vdsm/addNetwork
	script during bootstrap/registration.

	This lacuna leads to IPADDR being written to configuration file
	uncontrolably. This patch fixes the issue in the simplest quickest form
	I could think of.

	Bug-Id: BZ#847733 failure to create rhevm network over pre-configured VLAN

2012-08-21  Alon Bar-Lev  <alonbl@redhat.com>

	BZ#849542 bootstrap: set system time as soon as possible
	CURRENT BEHAVIOR

	Set system time after installation.

	NEW BEHAVIOR

	Set system time at first stage. This makes the time difference between
	engine and host set to minimum.

2012-08-21  shu ming  <shuming@linux.vnet.ibm.com>

	Use setattr instead of __dict__
	It is bad to access the __dict__ directly

2012-08-21  Ryan Harper  <ryanh@us.ibm.com>

	Fix vdsm-faqemu VM launch failure on hosts with newer libvirt
	Since January 2012, libvirt now checks[1] for the presence of /dev/kvm before
	starting a VM to generate better error messages when a VM doesn't start.
	This breaks faqemu running in a VM (non-nested) or a host which doesn't have KVM
	modules loaded.  Work around this by touching the device node.

	v1->v2
	    - replace exec of touch with open+write+close

	1. libvirt commit hash 32f63e912d3bef42a7fa70a0f2d5b04b98afe936

2012-08-21  Yaniv Bronhaim  <ybronhei@redhat.com>

	BZ#842115 - Generating uuid for libvirt configuration
	During migration we found that if both hosts as the same uuid
	libvirt fails the migration. Sometimes hosts are shipped with
	non-unique uuid burned into their bios.
	This fix generate uniqe uuid for libvirt only during vdsm reconfiguration.
	This uuid is saved in libvirtd.conf file and is used after
	libvirt service is restarted.

2012-08-21  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove 'skipLibvirt' from NetworkOptions
	The option 'skipLibvirt' was removed in commit ccb07ae. So it should
	be removed from schema too.

2012-08-20  Moti Asayag  <masayag@redhat.com>

	Add eclipse and PyDev project files to .gitignore
	PyDev as eclipse plugin is commonly used for developing python under
	eclipse IDE. It produces several files that could be ignored:
	.project - produced by eclipse to describe the project
	.pydevproject - produced vy PyDev plugin.

2012-08-20  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#848299 - Fix delete VLANed network with custom MTU

2012-08-20  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix a race existing in the singleton interface of clientIF
	There's a race in getInstance() between clientIF initialization and MOM thread.
	If for some reason the initialization of clientIF is slowed down and not finished
	before MOM calls vdsm API, an exception will happen in MOM thread due to that
	the parameter 'log' is missing. The fix is just moving the parameter check into
	the protection of the singleton lock. Then MOM thread will be blocked if it tries
	to access vdsm API when the initialization of clientIF is ongoing.

2012-08-19  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: return proper exit code from bootstrap scripts
	This is quick and dirty solution to return valid exit code from
	bootstrap scripts, until now exit code of vds_bootstrap* was wrong,
	however the vds_bootstrap.py did not check for exit code at all, and...
	engine did not as well.

	Now engine checks return code so proper code is requried.

	bootstrap: send complete bootstrap from engine
	CURRENT BEHAVIOR

	vds_installer.py is part of ovirt-engine, upon bootstrap, the script is
	sent to the node using ssh.

	Then vds_installer.py pulls vds-bootstrap* files using HTTP from
	engine.

	The vds_installer.py and vds_bootstrap pulls ssh public key from engine
	using HTTP.

	NEW BEHAVIOR

	vds_installer.py was moved into the vdsm-bootstrap and renamed to setup.

	vdsm-bootstrap repository was updated to create directory per bootstrap
	interface with 'setup' script.

	ovirt-engine copies public key to node in similar way of firewall rules.

	At bootstrap time, engine create tar archive from the bootstrap
	directory, cache it and pipe the archive into node in order to extract
	it and run the setup script.

	No HTTP communication is needed.

	No conflict with existing files.

	BACKWARD COMPATIBILITY

	Leave vds_bootstrap.py, vds_bootstrap_complete.py, deployUtil.py to be
	used by older engines. This should be removed in future.

	SCRIPTS MODIFICATIONS

	Set umask 0077 so only running user can access files.

	bootstrap: remove temporary files even if some missing
	Current code simply skip the whole process if one temporary file is
	missing.

	We need to remove as much temporary files as possible, so ignore single
	file exception.

	BZ#849315 vdsm-reg: return proper exit code from upgrade script
	main returns boolean, while exit code of "True" is actually program
	status of failure.

2012-08-19  Antoni S. Puimedon  <asegurap@redhat.com>

	BZ#840594 Fix netinfo when libvirt bridge does not exist.
	In the case where a bridge that is configured in libvirt is manually removed or
	renamed, netinfo throws an exception when trying to discover which ports are
	assigned to the bridge.

	This patch catches the OSError exception of trying to list the ports of a non-
	existing bridge interface, effectively filtering the non-existing interface
	from the network capabilities.

	Also adds a unittest for getting network information of non-existing bridges.

2012-08-19  Saggi Mizrahi  <smizrahi@redhat.com>

	Skip broken tests feature
	We can't have broken tests upstream, it confuses people who write
	patches and makes them think they broke the functionality.

	Add this to tests you know are broken to help others

2012-08-19  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#832765 - Rewrite vdsm-restore-net-config as python module

2012-08-18  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: introduce bootstrap interface version
	Bootstrap interface version is a method of supporting multiple engine
	versions within bootstrap code.

	The vdsm-bootstrap code is separate package which can be upgraded
	without engine upgrade. Engine is also upgrade protected, so force
	update upon vdsm-bootstrap upgrade is difficult.

	As the vdsm-bootstrap is separate package from engine, but depends
	heavily on engine interaction, and since it may be updated, it should
	support backward compatibility with different versions of engines.

	If changes are relatively small, a bootstrap interface version may come
	in handy so no script duplication is required.

2012-08-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#840294: Add sanlock packages to REQ_PACK list
	Adding sanlock and sanlock-python to vds_bootstrap required packages list.
	In case these packages are not available to install do not
	show long error message in Engine.

2012-08-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Add genisoimage to rpm dependencies
	vdsm/mkimage.py is using mkisofs, this command is provided by
	genisoimage.

2012-08-16  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: always use /tmp for output files
	Engine sends and collects files from /tmp. /tmp is *ALWAYS* used from
	node or from none-node installations.

	While bootstrap code uses the following directory:
	 tempfile.gettempdir()

	This is invalid as there is no sync between engine and bootstrap code,
	because if TMPDIR environment variable is defined at computer where
	bootstrap is running on, files will go to whatever value in TMPDIR
	and not /tmp, hence failing the bootstrap process.

	This is a BUG in current code, it is not a feature.

	This change remove this in favor of plain /tmp usage for files, it
	does not imply that the bootstrap scripts are executed at /tmp, only
	that the input and output files are stored where engine collects them.

	This change is NOT a regression as it work in more scenarios than
	current implementation using current engine implementation.

	/tmp is mandatory in FHS[1] and in POSIX,p2 systems, all Linux
	distributions comply with this.

	 ---
	 The /tmp directory must be made available for programs that require
	 temporary files.
	 Programs must not assume that any files or directories in /tmp are

	 preserved between invocations of the
	 program.
	 ---

	FUTURE

	If the need manifests, engine can ask destination where to place bootstrap
	script wither by using environment (TMPDIR, OVIRT_TMPDIR), or by looking
	at /etc/ file. Bootstrap script may produce certificate request or any
	other output at stdout to allow collection via the ssh session, it also
	may get input via stdin during execution, so no file transfer is required
	during bootstrap except of bootstrap scripts nor several iterations.

	[1] http://www.pathname.com/fhs/

2012-08-16  Dan Kenigsberg  <danken@redhat.com>

	Report host hyperthreads as real cores
	(Only if the customer really wants that)

	Vdsm used to report CPU hyperthreads as if they were real CPU cores.
	This was fixed in 6df2456b2a1. However, there are people out their who
	rely on Vdsm's former behaviour. Let us let them revert to it.

2012-08-15  Mark Wu  <wudxw@linux.vnet.ibm.com>

	schema: Add doc for setMOMPolicy
	The schema defintion for setMOMPolicy was missing from the patch
	which introduced that verb. So add it by this patch.

2012-08-15  Bala.FA  <barumuga@redhat.com>

	glusterHostsList returns host info as list of dictionaries
	Return value looks like
	{'status': {'code': CODE, 'message': MESSAGE},
	'hosts' : [{'hostname': HOSTNAME, 'uuid': UUID,
	            'status': STATE}, ...]}

	As this API is not consumed by engine/RHS-C yet, its OK to differ in
	compatibility issue now.

2012-08-15  Gal Hammer  <ghammer@redhat.com>

	BZ#845994 VM failed to start after file injection.
	The "before_vm_start" hook created a file inside the guest's
	image file using the GuestFS library. The image was not unmounted
	explicitly and this caused libvirt to fail when it tried to read
	the image file.

2012-08-15  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: cleanup file cleanup function
	Use for instead of repeating code.

	bootstrap: sync logging between two phases
	1. Create logs on environ["OVIRT_LOGDIR"] or python tempdir.

	2. Create logs by timestamp and not random.

	3. Sync file name and content format.

2012-08-15  Amador Pahim  <apahim@redhat.com>

	BZ#846604 bootstrap: skip clock sync if ntpd is synced
	During boostrap, host clock is synchronised with
	engine time. If on host ntpd is synced and on engine
	time is not synced, time in host will jump to engine
	time then jump back to ntp time few moments later.
	This patch checks if ntpd is synced in order to
	skip host clock sync with engine time when true.

2012-08-14  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: search own ssh key without base64 suffix
	The '==' is base64 suffix, it may or may not exist based on the key
	size, searching by ' ' and suffix should be sufficient.

	Line end should be part of suffix, as each key is placed within its own
	line.

	configNetworkTests: use context to manage monkey patches
	Easier to manage setup and cleanup at on place, then
	trying to cleanup after a block of code, and catching
	all exceptions.

	Example of use:
	 ---
	from monkeypatch import MonkeyPatch

	@MonkeyPatch(subprocess, 'Popen', lambda x: None)
	@MonkeyPatch(os, 'chown', lambda *x: 0)
	def test():
	    logic

	def test():
	    with MonkeyPatchScope([
	        (subprocess, 'Popen', lambda x: None),
	        (os, 'chown', lambda *x: 0)
	    ]):
	        logic
	 ---

2012-08-14  Igor Lvovsky  <ilvovsky@redhat.com>

	configNetwork: Ignore libvirt exception for network removing
	We need to ignore libvirt exception for removing non-exists network
	during restoreAtomicNetworkBackup

	Restart network service during restore backups

	clientIF:  avoid network backups during _syncLibvirtNetworks
	The target of _syncLibvirtNetworks is synchronize between host networks
	and libvirt's view of it.
	So, there is no reason for backups at this point.

2012-08-14  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	rename xml.dom.minidom.parseString to _domParseStr in libvirtvm
	The old name is too long and is copied everywhere. Using a shorter
	name helps shorten the line length.

2012-08-14  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Add a MOM functional test case for KSM

	Add a VDSM verb to change MOM policy

2012-08-14  Federico Simoncelli  <fsimonce@redhat.com>

	Check the metadata on domain validation
	When VDSM is validating a storage domain is not checking the presence of
	the metadata (eg: a domain could result valid even with a missing or
	empty metadata). This patch introduces an additional check to make sure
	that the metadata is not empty.

2012-08-14  Adam Litke  <agl@us.ibm.com>

	schema: Remove invalid names
	The identifier "type" causes conflicts with the GObject type system.  Type is
	not a great name anyway so choose better names where it occurs.

	The name "StorageDomainClass" conflicts with the GObject class structure for the
	StorageDomain class.  Rename it to StorageDomainImageClass since it identifies
	the class of images stored on the storage domain.

2012-08-13  Dan Kenigsberg  <danken@redhat.com>

	configNet: updateConfigValue: record to backup, do not restore
	restoreAtomicBackup is to be called only by a higher level. There is no
	point in calling it once per down-level failure.

2012-08-13  Royce Lv  <lvroyce@linux.vnet.ibm.com>

	check disk shared flag exist before use it
	The cdrom shared flag is just added by current engine(e548c72ee1d92)
	but not included in release 3.1, making test latest vdsm vm create
	always fail.This patch makes vdsm compatible with the earlier engine version.

2012-08-13  Adam Litke  <agl@us.ibm.com>

	Remove orphaned API: getStorageConnections
	Commit a1cdccdff54af7aea8de49c06d8535079cd78bff which introduced the Storage
	Connections Management API removed an unimplemented API from the HSM but did not
	remove references to that API from API.py and BindingXMLRPC.py.  Finish cleaning
	it up.

2012-08-13  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	Support for QEMU cmdline hook
	This patch adds support for injecting QEMU cmdline via
	VDSM hook. It exploits libvirt's qemu:commandline facility
	available in the qemu xml namespace.

	v2:
	    code refactoring as per dan's comments
	    moved from eval to json.loads
	v3:
	    moved from json dict to json list

2012-08-13  Alon Bar-Lev  <alonbl@redhat.com>

	bootstrap: remove dh key generation
	Before VDSM used libvirt, it configured qemu with spice TLS with
	DH key. Using DH key for TLS/SSL is encouraged, as it detach between
	the encryption and authentication layers.

	qemu supports x509-dh-key-file parameter, libvirt does not use this
	parameter.

	qemu supports x509-dir parameter, within it expects to find pre-defined
	structure of certificate and key material. libvirt does use this
	parameter. However, qemu only looks for ca, crl, cert, key, so even if
	we have DH key, it won't be used.

	Removing DH key generation.

2012-08-13  Federico Simoncelli  <fsimonce@redhat.com>

	Specify the ACPI flag when shutting down VMs
	In commit e460308 has been introduced the qemu guest agent support.
	When such agent channel is present the default shutdown method uses the
	guest agent (which might be missing).
	For consistency and to maintain the old behavior we should specify to
	use ACPI to shutdown the guest.

	Support the quiesce flag during a live snapshot

	BZ#844656 Respawn the domain monitor when needed
	In the domain monitor there are few lines that are not covered by a
	try/except clause but that might be enough for the thread to die without
	leaving any valuable information in the logs. This patch adds logging
	for the possible exceptions and respawn the domain monitor if it exits
	unexpectedly.

	Initialize the pthread RLock attribute

	Add missing log object to CrabRPCServer
	In this patch:
	* add missing log object to CrabRPCServer
	* rename _log to log for consistency with CrabRPCProxy and with the
	  majority of the VDSM classes

2012-08-13  Roy Golan  <rgolan@redhat.com>

	fenceNode API is missing the options argument

2012-08-13  Gal Hammer  <ghammer@redhat.com>

	BZ#842771 Fix for exception "TypeError: cannot marshal None"
	The VM's "mirror" and "mirrorPath" properties had a value of None
	rather than an empty string.

2012-08-13  Yaniv Bronhaim  <ybronhei@redhat.com>

	Fix wrong warning when disabling ssl config is found
	This change add to vdsmd.service init script a comment how to configure
	also qemu.conf to work without ssl as in libvirtd.conf.

2012-08-12  Alon Bar-Lev  <alonbl@redhat.com>

	configNetworkTests: handle modinfo correctly
	1. Use /sbin/modinfo as /sbin is absent from non root users.

	2. If bonding module was not found, skip test.

2012-08-12  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	rhevh --> ovirt changes
	Changing the libvirt sasl username from vdsm@rhevh
	to vdsm@ovirt

2012-08-11  Alon Bar-Lev  <alonbl@redhat.com>

	legal: bootstrap: update copyright years

2012-08-10  Adam Litke  <agl@us.ibm.com>

	schema: ConnectionError should be an object not a tuple
	We don't want to try and support a tuple type in the API just to accomodate this
	use case which would be much more usable as a regular type with 'code' and
	'message' members.  Convert it.

	schema: Fix up VmDefinition types
	There is no such thing as a VmShort definition so we do not need the union type
	for VmDefinition.  Also, VmDefinition is the same as VmStatus so just define the
	definition as an alias of VmFullStatus.

	schema: Fix some typos
	Just fix a few outstanding typos in the schema.  This should be pretty
	uncontroversial.

2012-08-10  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	extract a method for appending a child node with a text node to self.dom in libvirtvm.py
	In vdsm/libvirtvm.py, there are some duplicated code. It creates an
	xml element node, then creates a text node and appends it to the element,
	at last appends the element to self.dom. This can be done in a function.

2012-08-09  Adam Litke  <agl@us.ibm.com>

	schema: Remove remaining instance of IntStr
	Oops, we missed one IntStr type.  Remove it.

2012-08-09  Alon Bar-Lev  <alonbl@redhat.com>

	cleanup: use iproute instead of vconfig for vlan management
	iproute utility is much better maintained and supported, it
	supersedes the vconfig in most setups.

	As VDSM uses vconfig only to delete vlans, it even simpler
	to replace it with iproute at this point.

2012-08-09  Igor Lvovsky  <ilvovsky@redhat.com>

	Add restoreBackups and clearBackups

	BZ#832765 - Load backups from backup files to memory

2012-08-09  Alon Bar-Lev  <alonbl@redhat.com>

	cleanup: add vdsm-tool/validate_ovirt_certs.py to .gitignore

2012-08-09  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Move option 'save_image_format' to qemu.conf
	'save_image_format' is an option for qemu.conf, not libvirtd.conf,
	so move it to qemu.conf.

2012-08-09  Laszlo Hornyak  <lhornyak@redhat.com>

	fix logging
	_log is an object, not a method

2012-08-08  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#843387 - prepareVolumePath() should set volPath or raise on any input.

	BZ#846014 - Fix virtio hotplug disk fail to a VM with IDE disks.

2012-08-08  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#832765 - configNetwork: add restoreAtomicNetworkBackup

	configNetwork: Don't swallow exception during removeLibvirtNetwork
	In this patch:
	  - No need to swallow libvirt exceptions during removeLibvirtNetwork
	  - No need to run forcibly removeLibvirtNetwork(network) before
	    createLibvirtNetwork(network)

	Add atomic/persist backup capabilities for logical networks

	Move createLibvirtNetwork and removeLibvirtNetwork to the ConfigWriter

2012-08-07  Laszlo Hornyak  <lhornyak@redhat.com>

	core: typo fix (Copys -> Copies)
	Copys is misspelled.

2012-08-07  Alon Bar-Lev  <alonbl@redhat.com>

	cleanup: do not use external program ipcalc for ip validation
	IPv4 addresses are simple to parse and validate. No need to execute
	external process for the task.

	Especially if process is not supported by all platforms, and it has no
	added value.

	$ ipcalc -c -4 0.0.0.0 && echo ok
	ok
	$ ipcalc -c -4 255.255.255.255 && echo ok
	ok
	$ ipcalc -c -m -4 1.1.1.1 && echo ok
	ok

2012-08-07  Saggi Mizrahi  <smizrahi@redhat.com>

	(Schema) 'init' is an internal state and is never exposed

	(Schema) Replace FloatStr with float

	(Schema) Replace IntStr with proper integer types

	(Schema) Remove HexStr alias
	Most languages have their own way of representing hexadecimal literals.
	This will make sure we don't have to define how we parse hex values and
	making users implement formatters.

	(Schema) Remove varius bool versions, final API will just use boolean values

2012-08-07  huntxu  <mhuntxu@gmail.com>

	fix typo "doesn't exists"
	replace "doesn't exists" with "doesn't exist".

2012-08-07  shu ming  <shuming@linux.vnet.ibm.com>

	Fix the parameter descriptions in create() method
	Fix the parameter descriptions in create() method of
	storage domain class.

2012-08-07  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#845830 confNet: Remove most of_validateNetworkSetup
	All the dropped validations already exist in _addNetworkValidation.
	Having them written twice is begging for bugs.

2012-08-07  Dan Kenigsberg  <danken@redhat.com>

	confNet: no need to validate deleted network name
	If the net is in our database, we should be able to delete it, no matter
	what was its name.

2012-08-07  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Move validate_libvirt_certs to vdsm-tool
	Move validate_libvirt_certs in vdsdm.init to vdsm-tool
	and rename validate_ovirt_certs since it is not related
	to libvirt.

2012-08-06  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	miscTests test failed, fix it
	Saggi changes the raise exception of cleanupdir in 70ceb370 commit.
	So fix the miscTests to assert the new exception.

2012-08-06  Federico Simoncelli  <fsimonce@redhat.com>

	Implement RLock in betterThreading
	To use a recursive lock in a betterThreading.Condition we must implement
	the RLock object with pthread.

2012-08-06  Mark Wu  <wudxw@linux.vnet.ibm.com>

	MOM Integration
	This patch integrates MOM into vdsm. For the descprition of
	how it works, please see Adam's mail:
	https://fedorahosted.org/pipermail/vdsm-devel/2012-February/000628.html

2012-08-05  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Add a channel in vdsm for introducing qemu-ga
	As previously what we agreed, the agent-assisted shutdown and fsfreeze would be handled
	by the qemu guest agent while oVirt-specific functionality such as
	Single-Sign-On would continue to be managed by the ovirt guest agent.

	http://www.ovirt.org/wiki/Guest_agent_proposals

	This patch enables the qemu guest agent channel in the libvirt domain XML and
	changes the shutdown verb to pass the VIR_DOMAIN_SHUTDOWN_GUEST_AGENT flag to
	the libvirt shutdown API.

	There is no reliable method/API to tell if guest agent is available/running in libvirt.
	But libvirt will do some basic check(using 'guest-sync' command)
	to determine whether the qemu-ga is running before every useful command delivered to agent.

	http://wiki.libvirt.org/page/Qemu_guest_agent

2012-08-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	vdsmd: Don't keep the temporary file generated by configuring libvirt
	It turns out that this problem is caused by a sed bug. And it has been
	fixed in https://bugzilla.redhat.com/show_bug.cgi?id=832855. This patch
	bumps the required version of sed to 4.2.1-10 to include the fix. The
	sed bug doesn't exist on rhel6, so we don't need to change it.

2012-08-04  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#841863 Change exception thrown by the fileUtils module
	Serializing obejcts that aren't canonical might cause issue with
	pickling. In anycase, the gobal exceptions should not be used so low in
	the stack.

2012-08-02  Dan Kenigsberg  <danken@redhat.com>

	configNetworkTests: test new "iface" API
	commit 1cb43db326c8 has incurred a change in the reported attributes per
	network. This needs to be translated to a compatible change in the test.

	This issue has not been noticed due to a human race condition: the test
	was verified before the API change was made, but committed after it.

2012-08-02  jarod.w  <work.iec23801@gmail.com>

	deployUtil: avoid garbage character in auth key file
	If we fail to get file '/engine.ssh.key.txt', it will get the
	content of url 'http://your_engine_ip:your_port/' which is not
	what we want.

2012-08-02  Sandro Bonazzola  <sandro.bonazzola@gmail.com>

	tests: add testcases for mkimage
	Added testcases for functions _decodeFilesIntoDir, mkFloppyFs,
	mkIsoFs and removeFs in mkimage.

	Fixed a missing \ in tests/Makefile.am

	Modified after review:
	Fixed test failure creating _P_PAYLOAD_IMAGES directory, monkey-patching mkimage._P_PAYLOAD_IMAGES.
	Fixed restoring mkimage constants original values on teardown.
	Fixed pep8 style requests.
	Fixed sorting of tests.

2012-08-01  Josef Pacula  <josef.pacula@gmail.com>

	with exceptions some variables could be uninitialised - now initialised to None

2012-08-01  Antoni S. Puimedon  <asegurap@redhat.com>

	Added tests for _addNetworkValidation and helpers.
	Helpers are: validateVlanId, validateBondingName and validateBondingOptions.

	The test for validateBondingOptions monkey patches os.path.exists to allow to
	test just the logic of the method, which uses sysfs to determine if the option
	is valid.

	The test of _addNetworkValidation goes over the logic branches to test that
	the proper exceptions are thrown. It monkey patches the network detection
	method of the netinfo module to avoid real network detection at test time.

2012-08-01  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#844347 - Prepare conf files for all interfaces before ifup

	Don't set BRIDGE in nic's conf files if it part of the bond

	Related to BZ#844347 - Keep bond mode after change network on top of it
	Assume we have a bond with mode X and network on it. Now we want to remove this network
	and add another one.
	In this case setupNetwork will get a new network but not a bond info.
	We need to take bond info from the host and keep it during network addition

2012-08-01  Dan Kenigsberg  <danken@redhat.com>

	report network's underlying device as "iface"
	ovirt-engine-3.1 expects to see "interface" for bridgeless networks, and
	only for them. A recent patch http://gerrit.ovirt.org/6644 started
	reporting "interface" for bridged networks, too. Which broke Engine.

	I consider this an Engine bug (it should have relied on the "bridged"
	attribute to decide if a network is bridged or not), but this cannot be
	changed on the Engine side so near to the ovirt-3.1 release.

	This patch reports "iface" for all networks, keeping "interface" only
	for bridgeless networks, for ovirt-3.1 backward compatibility.

	With this new API nit, we report a new cluster level 3.2.

2012-08-01  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#844294 Add requiresMailbox to StorageDomain
	Since commit 942c2dc the storage domain objects are all DomainProxy
	instances, but the method StoragePool.__createMailboxMonitor was still
	relying on identifying the object type to activate the HSM mailbox.

2012-08-01  Yaniv Bronhaim  <ybronhei@redhat.com>

	remove vds_qualifier - we don't use it

2012-08-01  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py: remove ping from write_vdsm_config
	def action() already uses http request to verify if oVirt Engine
	is available, we don't need a new 'ping' for write_vdsm_config().

2012-07-31  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#842948: deployUtil - safely remove bridge
	deployUtil calls /usr/share/vdsm/delNetwork to remove previously created bridge.
	This patch will add ovirtfunctions.ovirt_safe_delete_config() to safely remove
	bridge config files in oVirt Node.

2012-07-30  Dan Kenigsberg  <danken@redhat.com>

	BZ#843498 getCaps: differentiate between bridges and nets
	Since we have bridgeless networks, bridges are no longer equivalent to
	networks, and should be reported separately.

2012-07-30  Federico Simoncelli  <fsimonce@redhat.com>

	Fix assertVdsmUser group check
	The assertVdsmUser group check wasn't taking in account that VDSM_GROUP
	could be the primary group for VDSM_USER and therefore not appear in the
	gr_mem list.

	In this patch:
	* additional check for VDSM_GROUP being the primary group for VDSM_USER
	* use the constants for VDSM_USER and VDSM_GROUP

2012-07-30  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#834205 - Add BOOTPROTO/IPADDR/NETMASK options for bridgeless interface

2012-07-30  Yaniv Bronhaim  <ybronhei@redhat.com>

	Added user verification before running VDSM.
	If user isn't called 'VDSM' or isn't related to group KVM, the service won't startup.
	Normal run of VDSM should be only by user VDSM.
	Otherwise, another user creates vdsm internal files and it's wrong, espcially if its root.

2012-07-30  Eli Mesika  <emesika@redhat.com>

	BZ#840386: vms with shared disk will pause...
	https://bugzilla.redhat.com/show_bug.cgi?id=840386

	The problem was that vdsm does not add the libvirt 'sharable' flag when
	getting a Disk with the shared flag set from core.

	Solution is to set the shareable flag in libvirtvm.py and for backward
	compatibility set it to false in vm.py

2012-07-29  Igor Lvovsky  <ilvovsky@redhat.com>

	Rename getNetworksForNic as getNetworksForIface
	This function handles both bond and nic interfaces

	configNetwork: handle VLAN before bond and nic in addNetwork
	We want to create config files (ifcfg-*) in top-down order
	(bridge->vlan->bond->nic) to be able to handle IP/NETMASK
	correctly for bridgeless networks

2012-07-29  Antoni S. Puimedon  <asegurap@redhat.com>

	Refactored configWriter add methods for code reuse.
	Moved the backup and write part into a separate method and added tests
	for these add methods. The tests work by doing some monkey patching of the
	open and the writeConfing method.

2012-07-27  Bala.FA  <barumuga@redhat.com>

	gluster.cli: report failures as error dict to Engine
	Gluster cli functions throw error as exception, but python
	multiprocess has a bug http://bugs.python.org/issue15440 which fails
	to re-raise in supervdsm side.  This is workaround fix to set optional
	arguments to constructor of VdsmException and GlusterException

2012-07-26  Yeela Kaplan  <ykaplan@redhat.com>

	BZ#837836 Change tpgt variable to identically None
	Conversion of iscsi portal parameter, which is actually tpgt,
	to int is removed because this parameter is not used in vdsm
	and to avoid regressions.
	Engine sends identically 0 in new version and can send anything through REST API in older versions.

2012-07-26  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	fix 'qemuImg' import error in unit test
	restTest indirectly import qemuImg.py. qemuImg.py is installed to
	vdsm site-packages dir, so it is imported as "from vdsm import qemuImg"
	in other files.
	There is a hack in testrunner.py to import modules under vdsm
	site-packages dir for unit test, but qemuImg is not hacked, so causes the
	problem.

	This patch add qemuImg to the import hack list in testrunner.py and fix
	the problem.

2012-07-25  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#842631 Use domain proxies instead of actual domain references
	Because of issues where we had 2 instances of the same domain causing
	trouble we changed the invalidation scheme to only invalidate when no
	one is holding a reference to the domain object. This causes a lot of
	correctnes errors, espescially on not manager hosts. Having a proxy in
	the middle will allow us to invalidate the domain object and have all
	reference owners access the correct object.

2012-07-25  Federico Simoncelli  <fsimonce@redhat.com>

	Add the hostId parameter to reconstructMaster
	During reconstructMaster a new storage domain of the pool is elected
	to become the master to hold the cluster lock and the metadata.
	With the introduction of SANLock each host maintains its own host id
	on all the storage domains of the pool and therefore VDSM can't use a
	temporary id to reconstruct the master domain.

	Add missing import config in domainMonitor

2012-07-25  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Check if core is a directory before cleaning
	On some systems /var/log/core might not exist, so they will get an email
	every hour that /var/log/core could not be found. This is avoided by
	checking if the directory exists before cleaning it.

2012-07-25  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#838802 Config option to enable/disable volume leases
	At the moment we don't completely support the volume leases. As default
	they are disabled but they can be enabled (testing purpose) with a
	specific configuration option. In the future when the feature will be
	stable enough such option won't be considered anymore (always enabled).

	Add the formatConverter for Storage Domain V3

2012-07-25  Saggi Mizrahi  <smizrahi@redhat.com>

	Orthogonal storage repository conversion
	Currently domain format conversion is considered an "upgrade". This is
	not correct as in the future we may allow conversion from one domain
	type to another without a definite supercedence value.

	For instance, one domain format might be better suited for quick
	image manipulation while another will be better suited for space saving
	image manipulations.

	Also in the future we will introduce the new image repositories that
	will replace the current domain scheme. As these are completely
	different objects there needs to bee a 3rd party to convert to\from
	them.

	This also separates the conversion process from the domain logic
	allowing simpler more concise handling of the conversion process.

2012-07-24  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#839330 Bump sanlock required version
	The new sanlock version adds:

	* support for several NFS implementations
	* WAIT flag for sanlock_inq_lockspace
	* graceful pid handling

2012-07-24  Mark Wu  <wudxw@linux.vnet.ibm.com>

	configNetwork: fix bonding mode issue
	Currently, we configure nics before bonding when create/edit bonding
	device. That could cause the bonding mode can't be updated as specified.
	Because, when we use ifup to activate the bonding slaves, it implicitly
	creates the bonding device with the default mode 0, and adds the salve
	nics to it. So you will see the following kernel message in system log:

	bonding: unable to update mode of bondX because it has slaves

	The fix is just to make bonding configured before nics. Then it can
	update its mode because no slave attatches to it at that time.

2012-07-24  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	make vdsm_hooks/vhostmd/before_vm_start.py PEP 8 clean

	make vdsm_hooks/vhostmd/after_vm_destroy.py PEP 8 clean

	make vdsm_hooks/scratchpad/before_vm_start.py PEP 8 clean

	make vdsm_hooks/scratchpad/before_vm_migrate_source.py PEP 8 clean

	make vdsm_hooks/scratchpad/after_vm_destroy.py PEP 8 clean

2012-07-24  Federico Simoncelli  <fsimonce@redhat.com>

	Unify the volume creation code in volume.create
	This patch lays out the principles of the create volume flow (unified
	both for block and file storage domains).

	Uniform the block and file volume methods
	In this patch:
	* Consistent use of metaId to identify the volume metadata
	* Use the same arguments for halfbakedVolumeRollback in file and block
	  domains (backward compatible with the previous format)
	* Few changes and cleanup to comply to PEP8

	Remove the unused nocache option
	The nocache option to get and set the volume metadata is never used.

	Separate the Volume.share implementation
	The current Volume.share method is exposing the hardlink/symlink option
	which is an implementation detail of the domain type (hardlink for file
	domains and symlinks for block domains). This makes any external (or
	generic) use of such call domain-type dependant.
	This patch separates part of the Volume.share implementation to use the
	correct link type transparently.

	In this patch:
	* Separate the Volume.share implementation for block and file domains
	* Separate the shareVolumeRollback implementation
	* Link also the lease file on file domains (when required)

2012-07-24  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	skip testPersistentBackup test, if 'vdsm' account is not created
	In configNetwork moudle, _persistentBackup needs to get the uid of
	'vdsm' account. If the 'vdsm' account is not created and when the
	vdsm is builded, it will report test "ERROR".
	This is not resonable, the test should be skiped.

2012-07-24  Roman Fenkhuber  <roman@fenkhuber.at>

	Basic tests for the tc module

2012-07-23  Saggi Mizrahi  <smizrahi@redhat.com>

	Add stdin tests to betterPopen

2012-07-23  Dan Kenigsberg  <danken@redhat.com>

	bootstrap: avoid rpmUtils.miscutils.compareVerOnly
	el6's rpmUtils.miscutils does not have this function, so we shall mimick
	its sematics with rpmUtils.miscutils.compareEVR

	Originally reported by Andrey Gordeev <dreyou@gmail.com>.

2012-07-22  Igor Lvovsky  <ilvovsky@redhat.com>

	configNetwork: _addNetworkValidation: validate bridgeless net existence.

	BZ#831528, BZ#834008, BZ#829037 - Fix validation for inter-networks compatibility
	Only following networks combinations are allowed:
	 - single non-VLANed bridged network
	 - multiple VLANed networks (bridged/bridgeless) with only one
	   non-VLANed bridgeless network

2012-07-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#833099 - spmRole is a StoragePool attribute.
	Remove this misleading accessor.

	Related to BZ#833099 - Removing unused exceptions.

	BZ#833099 - Induce MSD reconstruct when getSpmStatus fail.
	Really engine should deduce the reconstruct necesity, but this
	would not happen.

2012-07-21  Alon Bar-Lev  <alonbl@redhat.com>

	test: remove redundant resourceManagerTests.py
	The resourceManagerTests.py test is executed twice, while
	should be executed once.

2012-07-21  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#832227: vdsm-reg.conf: change vdc_host_port
	The default ports to ovirt-engine 3.1 changed to 80/443.
	Replace vdc_host_port value from 8443 to 443. Also, added to engine.py
	schema of compatible port, if users try to connect using old ports and
	doesn't work it will try the new one.

	Thanks to Itamar/Mburns to handle the compatible port issue.

2012-07-21  lvroyce  <lvroyce@linux.vnet.ibm.com>

	adding handling EINTR to poll to make it more robust
	some system call and signal will interrupt poll,
	making event loop stops and fails to react events and keepalive message
	from libvirt.
	adding handling EINTR to poll to make it more robust

2012-07-20  Igor Lvovsky  <ilvovsky@redhat.com>

	Split getNetworksAndVlansForBonding to handle bridge and bridgeless networks

	Refactoring and optimization of _addNetworkValidation

2012-07-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#784931 - Fixing race condition in deactivateSD().

	BZ#784931 - Restore SD.validate() semantics.
	dom.validate() should check the domain without any aging
	mechanism.
	Decoupling validate from SD.selftest(), used in domainMonitor mod.

	Related to BZ#784931 - Removing the unused useCache parameter.
	Intentionally (A.B.) ignoring when the SD.validate(useCache=True)
	usages were removed.

2012-07-19  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Fix the KeyError exception if no 'acpiEnable' key in vm.conf.
	When creating a VM,if the params do not contain the key 'acpiEnable',the self.conf has no key 'acpiEnable'.
	If use conf.[key] it will raise an exception.

	So change to use dict.get() method to avoid KeyError.

2012-07-19  Bing Bu Cao  <mars@linux.vnet.ibm.com>

	Fix typo (change socekt to socket) in libvirtvm.py and vm.py

2012-07-19  Federico Simoncelli  <fsimonce@redhat.com>

	Fix detachStorageDomain for the ISO domains
	When detaching an ISO domain we should acquire the host id before
	trying to acquire the cluster lock.
	Additionally since an ISO domain can be used by multiple pools we
	should avoid to acquire the host id in the domain monitor.

	In this patch:
	* acquire the host id in detachSD for the ISO domains
	* do not acquire the host id in the domain monitor for the ISO domains

2012-07-19  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py: Rename the remaning rhevm vars
	Rename rhevm vars to engine

	engine.py: rename callbacks
	Renamed the following callbacks:

	- valid_rhevm_server_callback to validEngineServerCallback
	- valid_rhevm_server_port_callback to validEngineServerPortCallback

	engine.py: rename write_vdsm_config params
	Renamed the following parameters and references:

	- rhevm_host to engineHost
	- rhevm_port to enginePort

	engine.py: rename get_rhevm_config() function
	Rename get_rhevm_config() to getEngineConfig()

2012-07-18  Adam Litke  <agl@us.ibm.com>

	vdsm_api: Add schema and html doc generator
	This patch adds a schema file to a new directory 'vdsm_api'.  The schema is
	intended to be a machine-readable specification of the current vdsm API.  From
	this schema we should be able generate API documentation and a client library
	(libvdsm) that other projects can use to write against the defined API.

	At this point, the schema file probably contains some errors and needs a solid
	review from this community.  Please send patches to gerrit that correct
	documentation and data errors in the schema.  Meanwhile, I will begin to write
	a gObject code generator.

2012-07-18  Laszlo Hornyak  <lhornyak@redhat.com>

	typo fix in help text
	replaces "givven" with "given"

2012-07-17  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	make vdsm/storage/task.py PEP 8 clean

2012-07-17  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix pep8 issue in configNetworkTests.py

2012-07-17  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	skip gluster test if gluster module is not find
	if vdsm-gluster rpm is not installed, will skip the test related to
	gluster

2012-07-17  Eli Mesika  <emesika@redhat.com>

	BZ#838591:vdsm is not looking for libvirt-daem
	https://bugzilla.redhat.com/838591

	vdsm is not looking for new libvirt-daemon package on vdsmd startup.
	libvirt has changed package name from libvirt to libvirt-daemon.
	As a result, vdsm fails in start_libvirtd while trying to find
	libvirt instead of libvirt-daemon
	Adding libvirt-daemon to the package list defined in
	vdsmd.init.in:start_libvirtd

2012-07-16  Alon Bar-Lev  <alonbl@redhat.com>

	build: use consistent python path
	Current behavior:

	1. aclocal.m4::AM_PATH_PYTHON detects python using PYTHON variable.
	2. configure.ac: detects python again using PYTHON_PATH.
	3. Makefile.am: uses python using hardcoded "python".

	Problem:

	Python cannot be overriden in consistent way.

	Change:

	1. Remove python redetection from configure.ac, use only PYTHON
	   variable.
	2. Use PYTHON in Makefile.am instead of hardcode.
	3. Use PYTHON in substituted files.

	Usage:

	./configure PYTHON=/usr/bin/python2

2012-07-15  Dan Kenigsberg  <danken@redhat.com>

	configNetTest: don't skip second test
	Formerly, after self._files have been read for the first time during one
	test, they would never have been read in a second test of the same nose
	run.

2012-07-15  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	fix the "netinfo" module import problem
	some files just do "import netinfo", but it should be
	"from vdsm import netinfo".

	This problem cause the latest vdsm services can not start completely.
	And related tests will fail in the installed vdsm tree.

	The problem can not be discovered by 'make check' because "netinfo.py"
	is under the sub-dir "vdsm", so just "import netinfo" is OK.
	However the problem will appear in the installed tree, because
	"netinfo.py" is installed to
	"/usr/lib64/python2.7/site-packages/vdsm/"

2012-07-14  Saggi Mizrahi  <smizrahi@redhat.com>

	Add copyright information to betterPopenTests.py

2012-07-14  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Update error code of migrateToURI2() on abortJob()
	Before migrateToURI2() just returned a generl error code(VIR_ERR_OPERATION_FAILED)
	if the mirgration job was cancelled by client. We have to search the error message
	to distinguish abort from other failures. It has been fixed in libvirt-0.9.9-1.el6
	by introducing a new error code VIR_ERR_OPERATION_ABORTED. Please see
	https://bugzilla.redhat.com/show_bug.cgi?id=760149 for more details.

	I also found the error message 'canceled by client' could be returned only on
	migrateToURI2(). It shouldn't happen on abortJob(), so remove it.

2012-07-13  Laszlo Hornyak  <lhornyak@redhat.com>

	send POSIXFS instead of SHAREDFS
	https://bugzilla.redhat.com/835920

	VDSM should send POSIXFS insterad of SHAREDFS.

2012-07-12  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Use only one NETPREFIX constant
	Currently, there are two definitions with the same value related to
	VDSM network prefix.

	NETPREFIX = 'vdsm-' (from configNetwork)
	LIBVIRT_NET_PREFIX = 'vdsm-' (from netinfo)

	This patch will remove NETPREFIX definition and update libvirtvm to
	use LIBVIRT_NET_PREFIX.

2012-07-12  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Suppress generating .py{c,o} files when 'make check'
	Set PYTHONDONTWRITEBYTECODE=1 to suppress generating bytecode. Sometimes
	a .py file is missing but the corresponding bytecode file exists, so
	unit test can still successfully run, giving false negatives.

2012-07-12  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#837443: remove bridge before add VDSM bridge
	Related to BZ#837443: ovirt-node fails to register with ovirt-engine

	oVirt Node when installed manually creates a bridge to be consumed.
	VDSM should remove any bridge (listed or not listed in libvirt)
	to create it's own bridge.

	BZ#837443: removeVlan() drop/remove interface
	Move ifdown() and vconfig rm to removeVlan(). We need a generic
	function to be called multiple times. For example, removing a vlan listed
	or not listed in libvirt database.

2012-07-11  Dan Kenigsberg  <danken@redhat.com>

	pthread.py: avoid stdout noise on process shutdown
	For some reason, on process shutdown, pthread.PthreadMutex.__del__() is
	sometimes called after the reference _libpthread to libpthread is reset
	to None. This resutls in annoying message like
	    AttributeError: 'NoneType' object has no attribute 'pthread_mutex_destory' (Ignored)

	Current code catches this error and replaces it with a `print`
	statement, which is just as annoying.

	This patch intentionally swallows the ignored error (and only it)

2012-07-11  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix bridgeless networks report

2012-07-11  Dan Kenigsberg  <danken@redhat.com>

	configNetTests: do not call a non-existing TestCaseBase.__del__
	This gives an ominous error when running the unit test.

	configNetTests: fix another netinfo-rebase issue
	configNetTests have been stubbing the variable
	configNetwork.NET_CONF_BACK_DIR which has been deleted by the
	beatification commit 9be0497ba773. Too bad that git's rebase did not
	catch what I have missed.

2012-07-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	configNetwork: fix NetInfo call
	Commit 9be0497ba77333577e3f5e8738c9efd8794e7a36 changed the import of
	netinfo. This patch fix a NetInfo call missed from the previous patch.

2012-07-10  Federico Simoncelli  <fsimonce@redhat.com>

	Monitor the host id in domainMonitor

	Add the async kwarg to acquireHostId

	Do not acquire leases on shared volumes
	At the moment (exclusive leases) if a VM acquires the leases on a shared
	volume (template) it will prevent all the other VMs based on such
	template to start.

2012-07-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#837443: replace the netinfo import
	We will use functions like netinfo.bridges() to
	verify if there is any bridge listed in the system
	but not in the libvirt database.

2012-07-10  Dan Kenigsberg  <danken@redhat.com>

	bootstrap: m2crypto is no longer used
	We use Python's native ssl support for quite some time. No need to
	install m2crypto on every node.

	configNetTests: add testPersistentBackup
	The tested configNetwork.ConfigWriter._pesrsistentBackup is restored by
	the vdsm-restore-net-config script. This patch changes the script to
	make it more easily testable: environment variables
	NET_CONF_DIR and NET_CONF_BACK_DIR are honored if passed to the script.
	--skip-net-restart avoids attempting to change the network configuration
	on the tested host.

2012-07-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#837443: removeBridge() drop/remove interface
	Move ifdown() and brctl delbr to removeBridge(). We need a generic
	function to be called multiple times. For example, removing a bridge listed
	or not listed in libvirt database.

2012-07-09  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fixing broken compilation.
	Compilation was broken by:
	Change oop to be a new process instead of a fork
	I65e58030e31fe54b0e79c2f2a415d081f890d41f

2012-07-09  Saggi Mizrahi  <smizrahi@redhat.com>

	Change oop to be a new process instead of a fork
	This has better memory overhead as forking copies redundant memory from
	the parent. This allows opening and closing of oop helpers without fear
	of memory bloat.

2012-07-09  Dan Kenigsberg  <danken@redhat.com>

	BZ#834205-related: report ipaddr of bridgeless networks
	No one in Vdsm sets the ipaddr of bridgeless networks (which is what the
	bug is all about), but we should at least report it if it was manually
	edited into ifcfg-eth*.

	BZ#834205-related: ethtool cannot handle unicode device names
	Device names such as u'eth0' make ethtool choke. Let us convert them to
	simple 'eth0' strings.

	restTests: skip until we find python-cherrypy for el6

	restTests: temporarily drop reference to vms
	Currently two unit tests are failing since we test a
	yet-to-be-implemented feature.

	We should test vms item only when http://gerrit.ovirt.org/3756 is
	accepted and VMs are modeled by the REST API.

	configNetTests: refactor testAtomicRestore

2012-07-08  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#837054 - Do not detach network from the bond during bond resize
	Let's say you have bond and bridged non-VLANed network on it.
	This patch will fix detaching such network from the bond during bond resizing.

2012-07-07  Douglas Schilling Landgraf  <dougsland@redhat.com>

	ovirt_functions: fix elif statement
	Identify correctly the ovirt Node and fix the error message from vdsm-reg logs:

	[: /etc/ovirt-node-image-release: binary operator expected

2012-07-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#832199: move selinux from init to spec
	To reduce the time during the init, transferring all the selinux
	set to spec instead use it during the vdsm init.

2012-07-06  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	remove INSTALL from git and add it to .gitignore
	After running autogen.sh, I found the file "INSTALL" was modified.
	'git diff' reports the following change:

	-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
	-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
	+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
	+Inc.

	...

	+   HP-UX `make' updates targets which have the same time stamps as
	+their prerequisites, which makes it generally unusable when shipped
	+generated files such as `configure' are involved.  Use GNU `make'
	+instead.

	It's caused by the update in autoconf. Just adding it to gitigore
	does't help because it's already tracked. In my understanding, we
	needn't maintain 'INSTALL' in git repository, so remove it.

2012-07-06  Adam Litke  <agl@us.ibm.com>

	rest-api: Add unit tests
	Add a framework and unit tests for the REST API.  These tests override the vdsm
	API bridge so that the REST code can be tested in isolation.  A functional test
	suite that verifies the operation of both the xmlrpc and rest bindings against a
	running vdsmd is still needed.

	This test module uses some tricky magic to dynamically-generate a fake API.py
	that will return pre-programmed return values to the REST API.  Using this
	technique, a cherrypy server can be tested with an unmodified Controller.

	The following files are created/modified:
	 restData.py   - Contains expected data for:
	                 Faked API calls, REST requests, REST responses
	 restTests.py  - Contains the actual test cases
	 testrunner.py - Modified to import some additional needed modules

2012-07-06  Dan Kenigsberg  <danken@redhat.com>

	rest-api: srop clientIF refs from API c'tors
	just the bare minimum that is needed to return sanity to the code.

2012-07-05  Bala.FA  <barumuga@redhat.com>

	glusterVolumesList list all volumes or specified volume.
	glusterVolumesList accepts volume name optionally to list specified
	volume only else lists all volumes.

2012-07-05  Dan Kenigsberg  <danken@redhat.com>

	configNetTests: re-grow the stub
	I've created stubs to limit my unittest, but forgot to restore the
	changed function and variables. This patch fixes this regression.

	configNetTests: test atomicBackup
	The sematics of this function were far from clear to me before I've
	written this unit test. While writing this test, I've found the issues
	that are fixed in the preceding patches.

	I hope this test makes the function of _atomicBackup() clearer not only
	to me.

	configNet: atomicBackup: remove new files upon restore
	Files that are created by ConfigWriter._atomicBackup() should be removed
	by restoreAtomicBackup, not forgotten on disk.

	configNet: clear up atomicBackup arg
	Apparently, os.path.join('/a/b/', '/a/b/c') == '/a/b/c'.
	In my opinion, it is a Python bug.

	In any case, let us not trust this peculiarity, and have atomicBackup
	expect a full path to the config file.

2012-07-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	make vdsm/storage/lvm.py PEP8 clean

	make vdsm/constants.py.in PEP8 clean

2012-07-05  Igor Lvovsky  <ilvovsky@redhat.com>

	Split getNetworksForNic to  getBridgedNetworksForNic and getBridgelessNetworksForNic

	Related to BZ#836954 - Allow to detach interface from the bond and create a new network on it in single action.
	Assume we have a bond0 on (eth1, eth2, eth3) with defined network brNet on it.
	This patch will allow to detach ethX from bond0 and create a new network brNet2 on it
	with single setupNetworks operation

2012-07-05  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	remove vdsm python lib path from PYTHONPATH in run_tests.sh.in
	60b0de8ece24ef6644472aeecd2cf48946919b80 add arguments --local-modules,
	we won't execute hack code in run_tests.sh.in, so we can remove
	python lib path from PYTHONPATH.

2012-07-04  shu ming  <shuming@linux.vnet.ibm.com>

	no spUUID parameter in copyImage()

2012-07-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#788640 - Fix template image parameter.
	Look for the template volume in the template image since the
	dependant image was already removed.

2012-07-04  lvroyce  <lvroyce@linux.vnet.ibm.com>

	avoid searching .git directory when build
	search .git directory may lead to error when branch name is "xx.py"
	avoid search .git to fix this problem

2012-07-04  Dan Kenigsberg  <danken@redhat.com>

	Do not set max_cstate on host with constant_tsc

2012-07-04  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	fix logging method format

2012-07-03  Dan Kenigsberg  <danken@redhat.com>

	BZ#833119 _addNetworkValidation: do not explode if STP option passed
	http://gerrit.ovirt.org/5456 has started passing all optional parameters
	to _addNetworkValidation, but no one is expecting them there.

2012-07-02  Dan Kenigsberg  <danken@redhat.com>

	faqemu: add a bit of documentation

2012-07-02  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#836954 - Allow to break bond and create a new network on its interface in single action.
	Assume we have a bond0 on (eth1, eth2) with defined network brNet on it.
	This patch will allow to break the bond0 and create a new network brNet2 on one
	of its interfaces (e.g. eth2) with single setupNetworks operation

	Remove redundant 'explicitBonding' parameter from setupNetworks

2012-07-02  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Add a test case for _handleMessage()

2012-07-02  Eduardo Warszawski  <ewarszaw@redhat.com>

	Adding the status field to getDeviceList info.
	This status tries to predict the result of pvcreate on the lun.

	By now the reported statuses are:
	free: pvcreate --test on this lun succeeded.
	used: pvcreate --test on this lun failed.

	Caveat emptor: pvcreate on the device can fail even if "force"
	flag is passed to createVG in case for example there is a mounted
	file system on this lun.

2012-07-02  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Collect more guest memory stats
	More detailed guest memory stats has been to ovirt-guest-agent in
	http://gerrit.ovirt.org/#change,2272. So add the corresponding code to
	vdsm to collect the memory stats.

2012-07-02  Dan Kenigsberg  <danken@redhat.com>

	pep8: make gpl boiler plate narrower
	Better do it in one sed blow.

2012-07-02  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Replace configure_sysctl with /etc/sysctl.d/vdsm
	To be simple, replace configure_sysctl in vdsmd.init with
	/etc/sysctl.d/vdsm

2012-07-01  Adam Litke  <agl@us.ibm.com>

	rest-api: Model StoragePools
	API Implemented:
	----------------
	/api/storagepools
	 * Create/connect new storage pool and manipulate connected pools
	 Actions:
	   /api/storagepools/create
	    - Create a new storage pool
	   /api/storagepools/connect
	    - Connect a storage pool
	    * The vdsm API does not maintain information about disconnected storage
	      pools so our API must deviate from REST norms by placing the connect verb
	      at the collection level instead of the resource level.
	   /api/storagepools/<id>/destroy
	    - Destroy a connected storage pool
	   /api/storagepools/<id>/disconnect
	    - Disconnect a storage pool
	   /api/storagepools/<id>/spmstart
	    - Start the SPM role on this host
	   /api/storagepools/<id>/spmstop
	    - Stop the SPM role on this host

	rest-api: Model Tasks
	API Implemented:
	----------------
	/api/tasks : Asynchronous tasks
	 * View and manage information about ongoing and completed operations
	 Actions:
	   /api/tasks/<id>/clear
	    - Clear the information about a completed task
	   /api/tasks/<id>/stop
	    - Stop a running task
	   /api/tasks/<id>/revert
	    - Rollback a running operation

	rest-api: Model volumes
	API Implemented:
	----------------
	/api/storagedomains/<sdUUID>/volumes
	 * Manipulate all volumes associated with a storage domain
	/api/storagedomains/<sdUUID>/images/<imgUUID/volumes
	 * Manipulate all volumes associated with an image

	 Actions:
	   .../volumes/create
	    - Create a new volume
	   .../volumes/<id>/delete
	    - Delete a volume

	Not all available functionality is implemented yet (eg. creating child volumes.)
	Remaining functionality can be added in subsequent patches.

	rest-api: Model images
	API Implemented:
	----------------
	/api/storagedomains/<sdUUID>/images
	 * Provide information about images associated with a storage domain
	 Actions:
	   /api/storagedomains/<sdUUID>/images/<imgUUID>/delete
	    - Delete an image and all of its volumes
	   * Note: Images are implicitly created during volume creation process

	Not all available operations are currently supported in the API.  Work continues
	to complete the API and that can be submitted as follow-up patches.

	rest-api: Model StorageDomains
	API Implemented:
	----------------
	/api/storagedomains : Manipulate Storage Domains
	 * Provide comprehensive information about known domains
	 Actions:
	   /api/storagedomains/create
	    - Create a new storage domain
	   /api/storagedomains/<id>/format
	    - Remove and erase a storage domain
	   /api/storagedomains/<id>/attach
	    - Attach a storage domain to a storage pool
	   /api/storagedomains/<id>/detach
	    - Detach a storage domain from a storage pool
	   /api/storagedomains/<id>/activate
	    - Activate an inactive, attached storage domain
	   /api/storagedomains/<id>/deactivate
	    - Deactivate an active storage domain

	rest-api: Model storage connection references
	API Implemented:
	----------------
	/api/storageconnectionrefs
	 * list, acquire, and release storage connection references
	 Actions:
	   /api/storageconnectionrefs/acquire
	    - Add a new connection reference
	   /api/storageconnectionrefs/<id>/release
	    - Remove a connection reference

	rest-api: Allow optional data in DELETE request bodies
	By default, cherrypy does not allow data in DELETE HTTP requests.  In our
	API, we would like to pass parameters to some DELETE requests.  We
	accomplish this by configuring two things:

	1) Set request.methods_with_bodies to include DELETE.  This tells cherrypy
	that we should process the body of DELETE requests too.

	2) Create a hook to enable body processing only for DELETE requests with an
	appropriate decorator.  This makes a request body optional for the
	indicated functions.

	rest-api: Add basic create and delete support
	Update the Resource class so that it can dispatch both GET and DELETE methods
	from a resource uri.  Update the Collection class so that it can dispatch GET
	and POST (create resource) methods from a collection uri.

2012-07-01  Derrick Ornelas  <dornelas@redhat.com>

	dumpStorageTable: fix path to ovf files
	Use os.path.join() instead of string concatanation, as DC does not have
	a trailing slash.

2012-07-01  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Fixing typo in the source files besides vdsm.git/vdsm.
	Applied this patch set,the typo in vdsm.git beside vdsm directory will be fixed.
	Rebased on 27 June

2012-06-29  Federico Simoncelli  <fsimonce@redhat.com>

	Support fake_kvm in vds_bootstrap
	The bootstrap should be able to identify if the host is configured to
	use the fake_kvm hook.

2012-06-29  Dan Kenigsberg  <danken@redhat.com>

	Avoid hacking around kernel lro bug
	We no longer need to disable lro in modules were it was enabled by
	default, as lro was replaced by gro, and the original kernel bug about
	bond/lro compatibility has been solved.

	check-local: check *.py,*.py.in files in all subdirs

2012-06-29  lvroyce  <lvroyce@linux.vnet.ibm.com>

	bump libvirt version to fix readonly lease unsupported issue

2012-06-28  Dan Kenigsberg  <danken@redhat.com>

	BZ#806555 having /etc/ovirt-node-* means it is a node
	Not vice versa.

	This patch fixes http://gerrit.ovirt.org/3055 .

2012-06-28  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	fix "make check" failing on "vdscli.py" missing
	"make all" will not generate "vdscli.py" from "vdscli.py.in".
	Only "make install" will generate it. By running "make check",
	firstly "make all" will be run, but not "make install".
	So "vdscli.py" is not generated and the check fails.

	Generating "vdscli.py" in "make all" can fix the problem.

2012-06-27  Igor Lvovsky  <ilvovsky@redhat.com>

	Handle bond properly if connectivity check fail.
	We need to be able remove  a new added network if connectivity check fail.
	If a new network needs to be created on top of existing bond,
	we will need to keep the bond on rollback flow,
	else we will break the new created bond

2012-06-27  Dan Kenigsberg  <danken@redhat.com>

	deployUtil: slightly saner kernel version comparison

2012-06-27  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#833803 - Avoid bond breaking after network detach
	The (relatively) new setupNetwork verb allows to remove a network
	defined on top of an bonding device without break the bond itself.

2012-06-27  Dan Kenigsberg  <danken@redhat.com>

	BZ#833119 - Allow to create VLANed network on top of existing bond
	The (relatively) new setupNetwork verb allows to specify a network on
	top of an existing bonding device. The nics of this bonds are taken
	implictly from current host configuration.

2012-06-27  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#835784 - Allow to create a network on top of existing bond in additional to create a new bond and network
	If we already have a bond0 with (eth1, eth2) and now we want to create
	network "bridge_woVlan" on top of it and in additional we want to create
	a new bond1 with (eth3, eth4) and create a network "bridge_woVlan_2" on
	top of bond 1.
	This patch will allow us to do it in the same setupNetwork command.

2012-06-27  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Properly parse configurations in function "do_create" in vdsClient
	Before the patch:
	1. The function "do_create" accepts a config file and a set of arguments.
	For nested values, it only parses them from arguments but not from config
	file. So all nested values in the config file will not be passed to vdsm,
	causing some components and configs missing in the created VM.
	2. When parsing nested values in arguments, it add the both the raw value
	and parsed value into the result dictionary.

	After the patch:
	1. Properly parse nested values from both config file and arguments.
	2. Do not add useless raw value into the result dictionary.

	Patch Set 4:
	Add unit test for function "do_create" to verify config file is parsed
	the same way as command line parameters.

	Patch Set 5:
	Add hacks for importing vdscli.py and vdsClient.py in unit test.

	Patch Set 6:
	More readable name for contexManager function.

2012-06-27  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	make vdsm/storage/multipath.py PEP8 clean

	make vdsm/storage/persistentDict.py PEP8 clean

	make vdsm/storage/resourceFactories.py PEP8 clean

2012-06-27  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	make vdsm/storage/outOfProcess.py PEP8 clean

	make vdsm_hooks/promisc/after_vm_start.py PEP8 clean

	make vdsm/storage/taskManager.py PEP8 clean

	make vdsm_reg/define.py PEP8 clean

2012-06-26  Dan Kenigsberg  <danken@redhat.com>

	Revert "add configure variable vdsmcoredumpdir for /var/log/core"
	This reverts commit 6106db0db4832fd0e9a9f08c288d524d99fb0799 as it broke rpm building on el6.

2012-06-26  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	make vdsm/storage/fileUtils.py PEP8 clean

2012-06-26  jarod.w  <work.iec23801@gmail.com>

	Fix broken pyflakes check

2012-06-26  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	add comment for hard coded version string in vdsmd.init
	The version string is for looking up and generating configuration
	sections. It's hard coded on purpose for compatibility. Add a comment
	for other programmers.

2012-06-26  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	add arguments to testrunner
	    Make testrunner accept more parameters and have help output.
	Now it accept one more parameter than original testrunner,
	--local-modules, which tells if the vdsm modules should be
	hacked. For eg:
	python testrunner.py --local-modules main.py miscTests.py
	python testrunner.py --help

	v2: change case parameter to accept more than one input.
	v3: parameter format was changed due to comments.
	v4: config was stored in local variable, parameter name changed
	to indicate better.
	v5: hack tips removed, use dash instead of underscore in
	parameter.
	v6: do not use argparser, pop key args from argv directly.
	v7: --help will also print nose help info.
	v8: typo and print fix.

2012-06-26  Lei Li  <lilei@linux.vnet.ibm.com>

	tests: add netinfo test for intToAddress() function
	Add testcase for intToAddress() function.

	tests: add testcases for configNetwork
	Add testcases for functions nicSort() and
	isBridgeNameValid() in configNetwork.

2012-06-25  Dan Kenigsberg  <danken@redhat.com>

	deployUtil: use os.uname instead of /bin/uname
	simpler, quicker, and less error-prone.

2012-06-25  Juan Hernandez  <juan.hernandez@redhat.com>

	Change default key size to 2048 bits

2012-06-25  Shahar Havivi  <shaharh@redhat.com>

	hooking.py: expose execCmd
	vdsm.utils.execCmd is used by multiple hook scripts to execute external
	commands. However, hooks (or anybody else) should not depend on internal
	vdsm functions. Let us expose execCmd and use it in the scripts

	v2: avoid an unrequired function call, have a more detailed commit
	message.

2012-06-25  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	add configure variable vdsmcoredumpdir for /var/log/core

2012-06-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#833752 - Fix chlist as a volume object list in Image.merge().
	Merging a base raw volume fails due to a TypeError.
	Avoids producing the children volumes again and fixing types.

2012-06-25  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	make storage/fileVolume.py PEP8 clean

	make storage/iscsiadm.py PEP8 clean

2012-06-25  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	make storage/securable.py PEP8 clean

2012-06-24  Dan Kenigsberg  <danken@redhat.com>

	tests: do not dd into /dev/null
	Few of our tests run /bin/dd with of=/dev/null. Occasionally, dd calls
	fsync(2) on its destination file, which is (for some reason) unsupported
	by /dev/null.

	We are left with false-negative test results such as
	http://jenkins.ovirt.org/job/vdsm_unit_tests/215/testReport/junit/miscTests/DdWatchCopy/testStop/
	which tarnishes our reputation.

	Let's dd into a temporary file instead.

2012-06-24  Ryan Harper  <ryanh@us.ibm.com>

	Add VolumeType storage exception to clarify createVolume error
	When attempting to use createVolume API call, supplying an incorrect
	Volume Type (known as preallocate parameter) the exception message
	references Volume Format misleading the user that she has selected
	an incorrect Format.

	Add a new exception class, VolumeType and raise the correct error
	when passed an invalid VolumeType in the preallocate parameter.

2012-06-24  Dan Kenigsberg  <danken@redhat.com>

	BZ#824298 fix typo in keyword argument exc_info

2012-06-24  Federico Simoncelli  <fsimonce@redhat.com>

	Add sanlock-python to the BuildRequires

2012-06-23  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	make vdsm_reg/createDaemon.py PEP8 clean

2012-06-23  Federico Simoncelli  <fsimonce@redhat.com>

	Use sparse images for alignmentScanTests
	It shouldn't be really needed to (slowly) allocate 4Gb of space for
	these tests.

2012-06-22  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Add vdsm_reg/config.py to .gitignore

2012-06-21  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Remove the parameter of clientIF instance from API
	Currently, the API clients(like the xmlrpc binding and rest binding)
	need hold the vdsm internal clientIF instance to call API. To make the
	code more modular, we create a single API instance intialized with
	clientIF instance. And then the API clients can interact with vdsm
	without having the vdsm internal clientIF instance.

	Move actual VM creation function to clientIF.py
	To avoid using API in clientIF.py, we move the VM creation function
	to clientIF.py. It should be safe to skip the VM parameters validation
	in the VM.create() API for recovering exsiting VMs.

	If this patch is accepted, we can add a singleton interface for
	clientIF which can be used for API.py. Otherwise, it will cause circular
	importing.

2012-06-21  Federico Simoncelli  <fsimonce@redhat.com>

	Fix attachSD and masterMigrate for domain version 3

	Remove the traceback from the getVSize warning
	The check used in getVSize to skip the log warnings (when the LV is not
	enabled), was using the wrong exception type.

	Add the hasHostId method to the cluster locks

	Move the SANLock SDM lease to a different offset

	Internal volumes must be RW in domain version 3

2012-06-20  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#832577: node can't be approved
	Because of ovirt-node's readonly filesystem, directory creation at runtime has to be handled carefully.
	/rhev/data-center used to be created by the vdsm rpm when it is installed.
	It's now listed in vdsm.spec as %ghost which means it is *not* laid down by default.
	At runtime, it fails to be created because of the read-only filesystem.

	Regression introduced by commit ee1e68d3416d8fd728df75c0a41dd3db48f9138d
	Patch provided by: Mike Burns <mburns@redhat.com>

2012-06-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	getAllVolumes() unit test.

2012-06-20  Dan Kenigsberg  <danken@redhat.com>

	deployUtil.yumSearchVersion: compare versions sanely

	drop deployUtil.yumSearch
	It was just a complex way of calculating bool(yumFind()).

	deployUtil.yumFind: rename and simplify semantics
	deployUtil.yumListPackages is a convenience wrapper around
	yum.YumBase.pkgSack.searchNevra()

2012-06-19  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#826873 - Allow to create bond without network

	BZ#826467 - Allow to remove bond and attach network to NIC

	BZ#830486 - Allow to change network according the diffs from previous state
	We may not receive any information about the bonding device if it is unchanged.
	In this case vdsm shouldn't check the bond information of this network.

	BZ#826873 - Allow to change bond without network attached to it

2012-06-19  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	make libvirtev.py PEP8 clean

2012-06-19  Federico Simoncelli  <fsimonce@redhat.com>

	Make domainMonitor compliant to PEP8

2012-06-19  lvroyce  <lvroyce@linux.vnet.ibm.com>

	Make storage/sd.py PEP8 clean

2012-06-18  lvroyce  <lvroyce@linux.vnet.ibm.com>

	make storage/fuser.py PEP8 clean

	Make pthread.py PEP8 clean

2012-06-18  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Make vdsm/clientIF.py PEP8 clean

	Make vdsm/caps.py PEP8 clean

2012-06-18  Adam Litke  <agl@us.ibm.com>

	rest-api: Handle resource links
	Change the method for resolving links in a REST Resource.  Instead of each class
	defining a _handle_links() function, they can now define a _links dictionary.
	The keys are the link names and the values are a function which returns the next
	Resource or Collection in the call sequence.

	VM.create: Normalize propagateErrors semantics
	Changes since V1:
	 - Use utils.tobool() as suggested by danken

	Regretably, someone chose to use the strings 'on' and 'off' instead of the
	more correct True and False boolean values.  ovirt-engine compatibility
	requires us to continue supporting this bad form, but we should also accept
	True and False.

	VM.create: Make readonly optional for disk devices
	When processing disk devices to create a libvirt xml file, the current code
	assumes that the 'readonly' attribute is always present.  If it's missing,
	VM.create will fail with an AttributeError.  When describing disks, 'readonly'
	is typically an optional parameter that defaults to False if not specified.  In
	fact, this is what getConfDrives already does for legacy drives.  Right now,
	there is only one place that assumes readonly is present.  Change it to check
	for the attribute first.

2012-06-18  Laszlo Hornyak  <lhornyak@redhat.com>

	Better documentation for cpuPinning
	Replaces the documentation text with something more helpful with a link
	to the full documentation to the expected libvirt format.

2012-06-18  shu ming  <shuming@linux.vnet.ibm.com>

	Avoid racing condition of vmContainer's lenth

2012-06-18  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Sort PEP 8 white list in Makefile.am

2012-06-18  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#808874 Skip master validation on repoStat
	The current master validation code is affected by two different race
	conditions triggered by both startSpm and stopSpm.

	The first and clearer race condition is triggered by the master status
	(fetched asynchronously by the domainMonitor thread) that could be
	several seconds old. Comparing such status with the current SPM role
	(SPM/HSM) during a transition (startSpm, stopSpm) is wrong.

	The second race condition (more difficult to expose) happens again
	during the startSpm/stopSpm methods since the mount/unmount of the
	master domain is not atomic with the switch of the SPM role.

	There are two correct ways to solve this issue:

	1. Maintain the SPM role in the domainMonitor thread so that it can be
	atomically paired with the mount status. To do so we would need to
	introduce two new methods to signal to the domainMonitor the beginning
	and the end of a transition (startSpm, stopSpm) and its final outcome
	(role = SPM/HSM).

	2. Keep track of the latest SPM/HSM transition (eg: sp.lastRoleChange)
	and verify that the statistics are recent enough before validating the
	master mount (eg: st.lastCheck > sp.lastRoleChange).

	The code involved in this issue was introduced in 8d400ac (BZ#518840)
	to add an automatic recovery system for those pools that were missing
	the master mount/directory (preventing the SPM to start).
	Eventually that error could be reported during startSpm but it's not
	related to repoStats (which is anychronous to startSpm and therefore
	race prone).

	At the moment the engine handles the StorageDomainMasterError error code
	issuing a reconstructMaster command.

	Implementing one of the two fixes proposed above just to maintain this
	validation is an overdesign given that the two problematic situations
	(SMP-master-not-valid and HSM-master-mounted) should be addressed in a
	different way by VDSM and not reported to the engine.

	Consequences for the engine:
	* The error code StorageDomainMasterError will never be received
	* The engine won't issue the automatic reconstructMaster command (in
	  this particular case)

2012-06-17  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	add functional test for vdsm sos plugin
	a functional test for checking vdsm plugin didn't raise any
	exception and sosreport executed successful.

2012-06-17  Douglas Schilling Landgraf  <dougsland@redhat.com>

	remove flag skipLibvirt
	Currently, VDSM manage networks by it's own and uses libvirt to store the net definitions, not requiring any additional
	flag as skipLibvirt. This patch will remove completely skipLibvirt flag.

2012-06-17  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	fix can't get ssl opt in vdsm sos plugin
	when execute sosreport will get exception as below:

	Traceback (most recent call last):
	  File "/usr/lib/python2.7/site-packages/sos/sosreport.py",
	line 693, in sosreport
	    plug.setup()
	  File "/usr/lib/python2.7/site-packages/sos/plugins/vdsm.py",
	line 82, in setup
	    sslopt = ['', '-s '][config.getboolean('vars', 'ssl')]
	NoOptionError: No option 'ssl' in section: 'vars'
	  Running plugins. Please wait ...

	* import vdsm.config to plugin for using default value.
	* because can not import vdsm module when the plugin's name same with it.
	so add hack function for import vdsm python lib.

2012-06-17  Lee Yarwood  <lyarwood@redhat.com>

	Correct spmprotect.sh to log the sdUUID to spm-lock.log.
	saferelease.acquire() actually calls spmprotect.sh with the
	sdUUID and not the spUUID.

2012-06-16  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Make vdsm/guestIF.py PEP8 clean

2012-06-16  Adam Litke  <agl@us.ibm.com>

	rest: Change error to warning when binding not installed
	When the REST bindings are enabled but the vdsm-rest package is not installed,
	we report a message in the log file.  Downgrade the severity of the message to
	WARNING since vdsm can continue to run.

	tests: Fix installed version of run_tests.sh
	Commit 4399aa56b38415d27b037efef9d86b93e9a29f42 broke the installed copy of
	run_tests.sh because the location of some python files changed without updating
	PYTHON_PATH for the tests.  Set PYTHON_PATH using the new autoconf variable.

2012-06-13  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Make vdsm/define.py PEP8 clean

2012-06-13  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Make before_vm_start.py PEP8 clean

	Make BindingXMLRPC.py PEP8 clean

	Make devicemapper.py PEP8 clean

2012-06-13  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	Make vdsm/storage/hba.py PEP8 clean

2012-06-13  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Make volume.py for PEP8 clean

2012-06-13  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Make vdsm/hooks.py PEP8 clean

2012-06-13  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Make SecureXMLRPCServer.py PEP8 clean

	Make before_vm_start.py PEP8 clean

2012-06-13  Adam Litke  <agl@us.ibm.com>

	API: Add formal definition for disk types
	Expose the enum representing disk types in the public API.  Along the way,
	correct some docstrings that suggest the diskType parameter is a string when it
	is an integer.

2012-06-13  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#830485 - Add netConfigDirty bit to getVdsCaps report

	Add bridge on top of VLAN if exists
	In VLAN case we should attach bridge only to the VLAN
	rather than to underlying NICs or bond

	Use proper MTU on bonding when add network

	Use already known iface in addNetwork

2012-06-13  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Raise a proper error message in vdsClient.py if no permission to read key files
	Currently, there is no permission check to read key files when ssl is
	enabled, which maybe cause puzzling error. For example, when a
	non-privileged user runs "vdsClient -s 0 getVdsCaps", there will be
	as following error:

	$ vdsClient -s 0 getVdsCaps
	Traceback (most recent call last):
	  File "/usr/share/vdsm/vdsClient.py", line 2275, in <module>
	    code, message = commands[command][0](commandArgs)

	  ...

	  File "/usr/lib/python2.7/site-packages/vdsm/SecureXMLRPCServer.py", line 98, in connect
	    cert_reqs=self.cert_reqs)
	  File "/usr/lib64/python2.7/ssl.py", line 381, in wrap_socket
	    ciphers=ciphers)
	  File "/usr/lib64/python2.7/ssl.py", line 141, in __init__
	    ciphers)
	SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

	When ssl is enabled, this patch will first check the permission to read
	key files, and then raise a proper error message if there is no read access
	to them.

2012-06-12  Dan Kenigsberg  <danken@redhat.com>

	fix a sloppy rebase
	note to self: avoid late-evening hasty rebases

	vdsm-tool: look for .pyc modules, too.
	Systems (such as ovirt-node) may keep only .pyc (or .pyo) files on disk,
	and their vdsm-tool should work unharmed.

	rename vdsm_tool_expose: prefix is obvious from context

2012-06-12  Lei Li  <lilei@linux.vnet.ibm.com>

	Add passwd command to vdsm-tool
	Change since v3
	    - Automate this process by calling vdsm-tool
	      accordingly.

	Change since v2
	    - Processes problem fixs and report the error
	      for missing file suggested by Saggi.

	Change since v1
	    - Small fix suggested by Mark.

	Move and encapsulate set-saslpasswd from post
	section into vdsm-tool function.

	Replace username and file location for SASL by constants
	Change since v1:
	    - Define another constant P_VDSM_LIBVIRT_PASSWD for
	      the password file location suggested by Dan.

	As Dan suggested, replace the uername and password file
	location for SASL authenticating with constant SASL_USERNAME
	and P_VDSM_LIBVIRT_PASSWD.

2012-06-12  Federico Simoncelli  <fsimonce@redhat.com>

	Move the vdsm package to sitearch
	In this patch:
	* move the vdsm package to the sitearch directory
	* improve the build process for the betterPopen module

2012-06-12  Gal Hammer  <ghammer@redhat.com>

	BZ#737104 Disallow cross-vendor virtualization.
	Find vendor for all cpu models, including those based on another
	cpu module.

2012-06-12  Igor Lvovsky  <ilvovsky@redhat.com>

	Minor optimization for addNetwork

	Don't ignore bridgeless networks in ifaceUsers

	Minor optimization for delNetwork

2012-06-11  Igor Lvovsky  <ilvovsky@redhat.com>

	'options' translation in setupNetworks is not relevant

	Iterates over delete candidates networks only once

2012-06-08  Amador Pahim  <apahim@redhat.com>

	Changing origin of memShared stats to /sys/kernel/mm/ksm/pages_sharing
	Currently, _memShared() is calculated adding the shared pages value
	(3rd field) from /proc/<VM_PID>/statm file from all running VMs and
	converting to bytes through PAGE_SIZE value. The KSM module shipped
	in RHEL5 is a different version from the KSM module found on the latest
	upstream kernel versions. Newer features, such as exporting statistics
	on the /sys filesystem, that are implemented upstream are not in the
	version shipped in this release. Starting from kernel 2.6.10, statm
	shared field was changed, making _memShared() imprecise about KSM
	shared pages.
	This patch take advantage of /sys statistics of KSM in current
	releases to correct _memShared() results.

2012-06-07  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	pep8 fixes for storage/blockVolume.py
	An attempt to clean blockVolume.py from pep8 errors.
	v2: Added blockVolume.py to the pep8 whitelist.

2012-06-07  Douglas Schilling Landgraf  <dougsland@redhat.com>

	deployUtil: Do not use static home for root user
	Fix for systems which do not use /root as home for root user.

2012-06-07  y kaplan  <ykaplan@redhat.com>

	additional capsTests

2012-06-07  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Close and remove the temporary file before raising a exception

2012-06-07  Yair Zaslavsky  <yzaslavs@redhat.com>

	Change storageServer to handle numeric connection values
	engine is sending the connection information as a map of
	string keys and string values. VDSM tries to parse version,retrans and
	timeout as numbers, but due to the nature of the passed map
	it receives a string containing numerical values for these arguments, and
	fails.
	This patch performs cast to int of the numercial values, and in case of
	failure, throws an exception indicating which value raised the exception

2012-06-05  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix "unknown device" issue for balloon device
	The balloon device's 'alias' property should be updated in function
	_getUnderlyingBalloonDeviceInfo(), otherwise it will be recognized as a
	unknown device in _getUnderlyingUnknownDeviceInfo().

	For the 'model' property, it must be included in the balloon device
	parameter and libvirt will not change it, so we needn't get back from
	libvirt.

2012-06-05  Ryan Harper  <ryanh@us.ibm.com>

	PEP8 fixes for localFsSD
	% pep8 vdsm/storage/localFsSD.py
	vdsm/storage/localFsSD.py:16:80: E501 line too long (80 characters)
	vdsm/storage/localFsSD.py:49:80: E501 line too long (84 characters)
	vdsm/storage/localFsSD.py:102:1: E302 expected 2 blank lines, found 1

2012-06-04  Adam Litke  <agl@us.ibm.com>

	rest-api: Delete unneeded directory
	Hmm, I thought this orphaned directory had ben cleaned from the REST
	infrastructure patch series.  Let's squash it for good this time.

2012-06-04  Dan Kenigsberg  <danken@redhat.com>

	configuNetworks: no need to create set repeatedly
	Yes, this is a very minor performance improvement, but I still like it.

	configNetworks: reject bridge names starting w/ dash
	Evil users may attempt to create bridges with silly names that confuse
	initscripts. We should try to block them.

2012-06-01  Douglas Schilling Landgraf  <dougsland@redhat.com>

	restTests: use short release/version
	oVirt Engine cannot handle release/version with more then 2 digits.
	To workaround, we add a sed command into vdsm.spec to make version/release
	a short string in dsaversion.py. However, restTests is failing now because
	the version provided by dsaversion are not releated to the
	version string provided by REST API. This patch will add a workaround
	also in restTests.py

	BZ#822158: fail to join host to cluster
	Currently dsavesion.py will expand the macros @PACKAGE_VERSION@ and
	@PACKAGE_RELEASE@ to the full version/release of vdsm
	However, oVirt Engine cannot handle version/release with more
	then 3 digits, example: 4.9.6, only 4.9.

2012-06-01  Laszlo Hornyak  <lhornyak@redhat.com>

	CpuPinning for vdsClient
	Adds support for CpuPinning arguments in vdsClient.
	example:
	 cpuPinning="{0:'1'}"

	CpuPinning
	Adds support code to the "Vm.create()" (in backendcreateDomain) functionality in the
	method _DomXML.appendCpu. This code will create a <cputune> tag and
	append fill with <vcpupin> tags.

	http://libvirt.org/formatdomain.html#elementsCPUTuning
	http://www.ovirt.org/wiki/Features/Design/cpu-pinning

2012-05-31  Igor Lvovsky  <ilvovsky@redhat.com>

	Move balloon's 'model' parameter to specParams for BC case

2012-05-31  Eli Mesika  <emesika@redhat.com>

	vdsm: set ballooon device model properly
	The model of the balloon device is in the sepcParams map of the device.
	Changing code to search this attribute inside the spec params map rather
	than a free attribute of the device.

2012-05-30  Nigel Jones  <nigjones@redhat.com>

	BZ#824729 - Use doubler param in  _loadCorrectedTimeout
	Vm._loadCorrectedTimeout does not use the doubler parameter as defined in the
	function documentation which causes issues when a large number of migrations
	are used and a doubler value of 5 is expected to be used, instead of the
	hard-coded value of 20.

2012-05-30  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Fix multiple commands with same name in different vdsm-tool modules

2012-05-29  Cao,Bing Bu  <mars@linux.vnet.ibm.com>

	Fixing typo in all the python files in vdsm.git/vdsm.

2012-05-29  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#788640 - Remove subChainSizeCalc() and getSubChain(). Remove getAllChildrenList().
	getAllChildrenList() should be removed since it is intrinsically
	race prone.
	*subChain* functions were called only once.

	BZ#788640 - Template relink refactored.
	getAllChildrenList() should be removed since it is intrinsically
	race prone.

2012-05-28  Federico Simoncelli  <fsimonce@redhat.com>

	Add the BuildRequires needed by the tests

2012-05-28  Ryan Harper  <ryanh@us.ibm.com>

	storage: Move nfsSD.getFileUtils() to FileStorageDomain class
	If I create an iso-domain out of a LOCALFS storage type, when I
	call getIsoList on the storage pool which includes the iso-domain
	vdsm complains that LocalFS does not have getFileList method.

	The nfsSD class has the exact method for finding files that is
	needed.  By moving the implementation to the base class for both
	nfs and localfs types, they can share the implementation.

2012-05-27  Ryan Harper  <ryanh@us.ibm.com>

	tests: fix gluster storage exception test
	make check fails after gluster merge:

	FAIL: test_collisions (main.TestGlusterExceptions)
	----------------------------------------------------------------------
	Traceback (most recent call last):
	 File "/root/rpmbuild/BUILD/vdsm-4.9.6/tests/main.py", line 71, in
	  test_collisions
	   self.assertTrue(obj.code >= 5000)
	AssertionError: False is not true

	Looking at vdsm/gluster/exception.py line 29 of 350 we can
	see that the gluster defined range for exceptions is
	4100-4800.  Update the test case to match reserved range.

2012-05-27  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#821867: Do not append comments to config values
	In Fedora 17, libvirt is reading the entire line from configuration
	file, ignoring comments.

	Starting libvirt as:

		root       907  0.0  0.3 459996 13556 ?        Ssl  09:05   0:00
		/usr/sbin/libvirtd --listen # by vdsm

	This patch will mark the configuration section created by vdsm, example:

		## beginning of configuration section by vdsm-4.9.6
		listen_addr="0.0.0.0"
	        ## end of configuration section by vdsm-4.9.6

2012-05-27  Federico Simoncelli  <fsimonce@redhat.com>

	Configure libvirt to use sanlock

2012-05-25  Ryan Harper  <ryanh@us.ibm.com>

	PEP8 fixes for nfsSD
	pep8 complaints:

	vdsm/storage/nfsSD.py:16:80: E501 line too long (80 characters)
	vdsm/storage/nfsSD.py:33:1: E302 expected 2 blank lines, found 1
	vdsm/storage/nfsSD.py:54:80: E501 line too long (84 characters)
	vdsm/storage/nfsSD.py:97:80: E501 line too long (82 characters)
	vdsm/storage/nfsSD.py:111:37: E225 missing whitespace around operator
	vdsm/storage/nfsSD.py:114:28: E231 missing whitespace after ':'
	vdsm/storage/nfsSD.py:115:80: E501 line too long (87 characters)
	vdsm/storage/nfsSD.py:137:5: E303 too many blank lines (2)
	vdsm/storage/nfsSD.py:153:1: W391 blank line at end of file

2012-05-25  Adam Litke  <agl@us.ibm.com>

	StorageConnection: Fix error message

2012-05-25  Bala.FA  <barumuga@redhat.com>

	Added Gluster file system management support.
	Verbs added into vdsm are
	  glusterVolumesList,
	  glusterVolumeCreate,
	  glusterVolumeStart,
	  glusterVolumeStop,
	  glusterVolumeDelete,
	  glusterVolumeSet,
	  glusterVolumeBrickAdd,
	  glusterVolumeRebalanceStart,
	  glusterVolumeRebalanceStop,
	  glusterVolumeRebalanceStatus,
	  glusterVolumeReplaceBrickStart,
	  glusterVolumeReplaceBrickAbort,
	  glusterVolumeReplaceBrickPause,
	  glusterVolumeReplaceBrickStatus,
	  glusterVolumeReplaceBrickCommit,
	  glusterVolumeRemoveBrickStart,
	  glusterVolumeRemoveBrickStop,
	  glusterVolumeRemoveBrickStatus,
	  glusterVolumeRemoveBrickCommit,
	  glusterVolumeRemoveBrickForce,
	  glusterHostAdd,
	  glusterHostRemove,
	  glusterHostsList

	Added gluster cli support in supervdsm.
	Now supervdsm has following functions which enable gluster supported
	operations.
	   glusterVolumeInfo
	   glusterVolumeCreate
	   glusterVolumeStart
	   glusterVolumeStop
	   glusterVolumeDelete
	   glusterVolumeSet
	   glusterVolumeSetHelpXml
	   glusterVolumeReset
	   glusterVolumeAddBrick
	   glusterVolumeRebalanceStart
	   glusterVolumeRebalanceStop
	   glusterVolumeRebalanceStatus
	   glusterVolumeReplaceBrickStart
	   glusterVolumeReplaceBrickAbort
	   glusterVolumeReplaceBrickPause
	   glusterVolumeReplaceBrickStatus
	   glusterVolumeReplaceBrickCommit
	   glusterVolumeRemoveBrickStart
	   glusterVolumeRemoveBrickStop
	   glusterVolumeRemoveBrickStatus
	   glusterVolumeRemoveBrickCommit
	   glusterVolumeRemoveBrickForce
	   glusterPeerProbe
	   glusterPeerDetach
	   glusterPeerStatus

	These functions are exposed conditionally based on vdsm-gluster plugin
	availablity

2012-05-25  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	small fix for import in test cases
	  when the test case import modules lies in vdsm, it should
	specify "from vdsm". Otherwise the import will fail if
	"site-packages/vdsm" was not set as PYTHONPATH after installation.
	This should not happen because the system have already recognized
	that "site-packages/vdsm" exist.

	add run_test_local.sh to .gitignore

2012-05-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#783383: engine.py - space cleaned up
	Serial is alot more picky about the last line it will display which is
	one less than visual console.

	Patch provided by:
	Joey Boggs <jboggs@redhat.com>

2012-05-24  Adam Litke  <agl@us.ibm.com>

	tests: Verify REST version information
	Add a new test to verify the vdsm version information that is returned by
	the REST API against the info in dsaversion.py

2012-05-23  Lei Li  <lilei@linux.vnet.ibm.com>

	Get network address for showNetwork
	Change since v2
	- Variables fixing suggested by Igor.

	Change since v1
	- Add the support for bridgeless network too.

	The current function showNetwork lack the ability to display
	the information of giving network address like ipaddr, netmask
	and gateway. So get these info to make it complete.

2012-05-23  Federico Simoncelli  <fsimonce@redhat.com>

	Set the syslog level to WARNING
	Currenly all the log messages using the syslog handler are displayed on
	the console. This patch raises the level to display only warnings and
	higer level messages.

2012-05-23  Shahar Havivi  <shaharh@redhat.com>

	promisc: bug fixes, change name to port-mirroring
	1. change promisc name to port-mirroring
	2. check if device exists in qdisc before deleting it

2012-05-22  Douglas Schilling Landgraf  <dougsland@redhat.com>

	bootstrapping: avoid usage of tmp folder
	This patch changes hard-coded tmp path elements, so the scripts
	may be used from a different location. Once invoked by the engine-core
	from an ad-hoc folder, the bootstrapping scripts should support
	working on that folder. This is mainly referring to imports,
	certificate files and log files.

2012-05-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#788640 - Check move image conditions from SD data.
	getAllChildrenList() should be removed since it is intrinsically
	race prone.
	Removing uses of getAllChilfrenList and validating conditions
	near the input instead of waste process.

	BZ#788640 - Refactor Pool.deleteImage()
	getAllChildrenList() should be removed since it is intrinsically
	race prone.

	BZ#788640 - Add [block|file]SD.getAllVolumes
	This function can be used to retrieve all the relevant image
	information based only on SD properties, without reading
	volumes metadata.
	In this way we circumvent the races product of working with many
	images simultaneously.
	In addition the number of storage accesses is greatly reduced.

2012-05-22  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Modify scripts in vdsm_cli/ for PEP8 compliance
	Edit vdsClient.py and vdscli.py.in in vdsm_cli/ for PEP8 compliance.
	And add these two files to the pep8 whiltelist in Makefile.am.

	Rebase to the latest master and clean new style problems introduced
	by the latest modification to vdsClient.py.

2012-05-22  Saggi Mizrahi  <smizrahi@redhat.com>

	Handle EINTR on close in betterPopen

	Support unicode args in betterPopen

	Tunnel errors from child to parent in betterPopen

2012-05-22  Nigel Jones  <nigjones@redhat.com>

	BZ#822782 - use mkstemp() on older systems
	Registering RHEL5 systems with iptables selected will fail as
	NamedTemporaryFile() in python 2.4 does not include the delete argument.

	We have to switch back to the mkstemp() function to work around this.

2012-05-21  Adam Litke  <agl@us.ibm.com>

	tests: Add functional tests
	Currently we only have unit tests that isolate individual components for
	testing.  It is also useful to write tests that verify a running instance of
	vdsm on a target machine.  This patch adds the infrastructure for such a test
	suite and provides some initial tests of the REST API.

	tests: Package up tests
	This patch packages up the test suite so that it can be installed on a target
	machine to test the installed vdsm.  The check-local target still runs the tests
	against the files in the source directory.  When installed, the tests will use
	the system installed version.  This paves the way for adding some functional
	tests that will run against the running vdsm instance.

2012-05-21  Oved Ourfali  <oourfali@redhat.com>

	vdsm: require updated libvirt for USB support
	This patch adds a requirement in an updated version of libvirt, to
	enable native USB support in VDSM.
	There is an important fix regarding that in this build, regarding the
	address allocation done by libvirt.

2012-05-21  Dan Kenigsberg  <danken@redhat.com>

	BZ#820525 lvm: ignore future additions to attr bits
	lvm2-2.02.95 has added few more bits to LV_ATTR_BITS, and that broke
	vdsm. In this patch we try to be more future-compatible, and ignore bits
	that are added on top of the ones we know about.

	This patch assumes that lvm2 would never delete existing bits, reorder
	them, or add new ones at the beginning. It is sent per the request of
	Alasdair Kergon of lvm2 fame
	https://bugzilla.redhat.com/show_bug.cgi?id=820525#c4

2012-05-20  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Move prepare-vmchannel to supervdsm

2012-05-20  Federico Simoncelli  <fsimonce@redhat.com>

	Set the correct gid for libvirt-spice

2012-05-20  Dan Kenigsberg  <danken@redhat.com>

	Report that Engine 3.1 is supported by this Vdsm.

2012-05-20  Douglas Schilling Landgraf  <dougsland@redhat.com>

	delNetwork: improve removeLibvirtNetwork call
	If oVirt Node is installed with autoinstall flags, example:

	storage_init=/dev/sda BOOTIF=eth0 adminpw=RHhwCLrQXB8zE

	The installation will be automatically and when the setup is
	complete, the vdsm-bridge will be created in libvirt database.

	Can be verified by: virsh net-list --all

	However, registering oVirt Node into oVirt Engine deployUtils.py
	will be triggered to remove the current bridge (skipping libvirt
	database) to add ovirtmgnt:

	deployUtils:
	----------------
	SCRIPT_NAME_DEL = "delNetwork"
	<snip>
	_logExec([os.path.join(vdsmDir, SCRIPT_NAME_DEL), mgtBridge, vlan,
	bonding, nic] + ['skipLibvirt=True'])

	From delNetwork, the current logic is to remove the bridge from libvirt
	database *only* if skipLibvirt=True.
	In that scenario, removeBridge() will be called to remove all bridge
	references but
	the libvirt database will be kept and next the NetInfo module
	call will find the bridge into libvirt database but no reference into
	the system, leading to crash.

	netinfo.py:
	----------------
	def get():
	<snip>
	nets = networks()
	for netname in nets.iterkeys():
	        d['networks'][netname] = {}
	        if nets[netname]['bridged']:
	            d['networks'][netname] = { 'ports': ports(netname),
	                    'stp': bridge_stp_state(netname),
	                    'addr': ifaces[netname]['addr'],
	                    'netmask': ifaces[netname]['netmask'],
	                    'gateway': routes.get(netname, '0.0.0.0'),
	                    'mtu': getMtu(netname), 'cfg': getIfaceCfg(netname)
	}

	On the other hand, if user just install manually the node and setup the
	network vdsm-breth0 won't be created into libvirt database
	automatically and skipLibvirt flag will fly correctly.

	Also verified by: virsh net-list --all

	To fix this report, we can call removeLibvirtNetwork() independently of
	skipLibvirt and fix the order of checking if the network still exists.

2012-05-20  Dan Kenigsberg  <danken@redhat.com>

	BZ#755937 configNet: do not call ifup twice for same bridge

2012-05-18  Adam Litke  <agl@us.ibm.com>

	tests: Clean up sample text in fileUtilTests.py
	I understand the value of humor and I am certain no harm was intended but I
	must take issue with some of the sample text being used in the fileUtilTests
	module.  I know the quotes were intended as jokes on their original
	programs, but I find them offensive, subjugative to women, and totally
	inappropriate for source code.  I know our project wishes to be welcoming to
	all developers and therefore I request that this text be removed in favor of
	something neutral such as Lorem ipsum.  Thank you for your understanding.

2012-05-18  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Change to use WatchedFileHandler instead of FileHandler in logger.conf
	We find that no new log message appears in log file after manually changing
	the vdsm log when vdsm is running. We have to restart vdsm to get logging
	work again. It could happen when people try to add some markers to pinpoint
	the related messages during toubleshooting. It's caused by the log file gets
	associated with a new inode after the manual change. To make logging survive
	the change, use WatchedFileHandler instead of FileHandler.

	In addition, WatchedFileHandler was provided specially for the external
	log rotate tools. It can notice that the log file change performed by
	logrotate, so we don't need to have the option 'copytruncate' in
	vdsm-logrotate.conf any more.

	Reported-by: Changming Bai <baichm@linux.vnet.ibm.com>

2012-05-17  Oved Ourfali  <oourfali@redhat.com>

	vdsm: using model and index for controller address
	This patch uses the index and model of controllers when saving the alias
	and address fields. In some cases, like the USB controllers, there is
	more than one controller, and the address is important as different USB
	controllers should have different addresses. So, using the
	device+index+model is a unique ID for the USB controllers.

2012-05-17  Saggi Mizrahi  <smizrahi@redhat.com>

	Reraise errors from underlying c code in betterPopen

2012-05-17  Ryan Harper  <ryanh@us.ibm.com>

	tests: add netinfo test for speed() function
	Test that speed() returns either 0 or a valid value.
	Currently using ethtool headers to provide a list of
	valid speeds (10, 100, 1000, 2500, 10000).

	v2->v3
	    - moved constant to top and applied caps
	    - switched to python2.6 syntax for set()
	      initialization
	v1->v2
	    -switch from list to set

	tests: add netinfo test for invalid nic name
	Test that we return 0 for invalid nics

	v1->v2
	    - switch to assertEqual() instead of assertTrue()

	netinfo: Don't attempt to read a virtio nic speed
	When running VDSM within a guest, when netinfo attempts
	to read the speed of the nic it throws this exception:

	ERROR:root:cannot read eth0 speed
	Traceback (most recent call last):
	    File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 113, in speed
	    s = int(file('/sys/class/net/%s/speed' % dev).read())

	We can detect that the device is a virtio device by reading
	the sysfs device link target and skipping if it's virtio.

	netinfo: simplify speed() function
	Various network devices cannot report on speed, these include
	bonds, bridges, vlans, and down/disabled devices.

	Simplfy the code by only reading speed value from devices that support
	it and returning 0 otherwise.

	v1->v2
	    - Cover the case where we race with device being disabled/downed
	      by checking the speed reported

2012-05-17  Eduardo Warszawski  <ewarszaw@redhat.com>

	Revert "Make sure that internally we always use pvs from /dev/mapper/"
	This reverts commit aa282ef46394be52480597ab6f15291f6cc4b369.

	This patch breaks the direct lun feature and is not necesary
	because the lvm  bug was fixed.

2012-05-17  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	correct usage help string in vdsClient
	Program options must be placed before other parameters. If server
	address goes first, getopt function will treat all options as
	parameters and the program will miss those options.

2012-05-16  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	sort config.py.in alphabetically and cleanup

2012-05-16  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#797526 Lazy evaluation for Drive.blockDev

2012-05-16  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	remove /rhel/data-center after vdsm uninstalled

	move default value to config.py for vdsm-upgrade

2012-05-16  Adam Litke  <agl@us.ibm.com>

	rest-api: Fix software version parsing
	Fix the parsing of the software_version field of getVdsCapabilities.
	 - Properly handle the version whether it is x.y.z or just x.y
	 - Due to git tags, the data type for revision is a string, not short int

2012-05-16  Hans de Goede  <hdegoede@redhat.com>

	Add support for redir devices
	With this patch it is possible to create vms setup for usb redirection with
	vdsm, ie:

	vdsClient 0 create /dev/null \
	    vmId=00000001-0002-0003-0004-000000000006 vmName=F14-x86_64 memSize=512 \
	    macAddr=52:54:00:7a:b4:7e nicModel=virtio bridge=test display=qxl \
	    spiceDisableTicketing=1 \
	    devices='{type:disk,device:disk,path:/home/virt-images/f14-i386.qcow2.img,propagateErrors:off,iface:ide,index:0,readonly:False,format:cow}' \
	    devices='{type:video,device:qxl,specParams:{vram:65536},address:{type:pci,domain:0x0000,bus:0x00,slot:0x02,function:0x0}}' \
	    devices='{type:controller,device:virtio-serial,address:{type:pci,domain:0x0000,bus:0x00,slot:0x03,function:0x0}}' \
	    devices='{type:controller,device:usb,model:ich9-ehci1,address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x7}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci1,master:{startport:0},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x0,multifunction:on}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci2,master:{startport:2},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x1}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci3,master:{startport:4},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x2}}' \
	    devices='{type:redir,device:spicevmc,bus:usb,address:{type:usb,bus:0,port:1}}' \
	    devices='{type:redir,device:spicevmc,bus:usb,address:{type:usb,bus:0,port:2}}' \
	    devices='{type:redir,device:spicevmc,bus:usb,address:{type:usb,bus:0,port:3}}' \

	libvirtvm.py: Extend controller support to allow configuring USB controllers
	This allows creating a vm with a USB-2.0 (EHCI) controller with USB-1.1
	companion controllers (UHCI), ie:

	vdsClient 0 create /dev/null \
	    vmId=00000001-0002-0003-0004-000000000006 vmName=F14-x86_64 memSize=512 \
	    macAddr=52:54:00:7a:b4:7e nicModel=virtio bridge=test display=qxl \
	    spiceDisableTicketing=1 \
	    devices='{type:disk,device:disk,path:/home/virt-images/f14-i386.qcow2.img,propagateErrors:off,iface:ide,index:0,readonly:False,format:cow}' \
	    devices='{type:video,device:qxl,specParams:{vram:65536},address:{type:pci,domain:0x0000,bus:0x00,slot:0x02,function:0x0}}' \
	    devices='{type:controller,device:virtio-serial,address:{type:pci,domain:0x0000,bus:0x00,slot:0x03,function:0x0}}' \
	    devices='{type:controller,device:usb,model:ich9-ehci1,address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x7}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci1,master:{startport:0},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x0,multifunction:on}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci2,master:{startport:2},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x1}}' \
	    devices='{type:controller,device:usb,model:ich9-uhci3,master:{startport:4},address:{type:pci,domain:0x0000,bus:0x00,slot:0x04,function:0x2}}'

	libvirtvm.py: Refactor device xml generation
	To remove a lot of code duplication and making adding new device types
	easier.

2012-05-16  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#806625: validate vdsmcert against cacert
	There is a bug situation where the administrator of oVirt Node
	executes the Engine registration procedure, and the host doesn't
	get 'approved' (note: at this point cacert.pem from Engine already
	replaced the /etc/pki/vdsm/certs/cacert.pem) causing a failure in
	the next reboot on libvirt daemon startup. This happens because
	cacert.pem certificate file cannot be validated with vdsmcert.pem.

	Since commit 8aa19150e75af025ebd77392b39268d9ab4f98d3 we execute a
	backup of certs before replace the cacert.pem and using the backup
	file we will restore the correct cacert.pem in configure_libvirt() flow
	fixing the bug.

2012-05-16  Dan Kenigsberg  <danken@redhat.com>

	caps: if cpuCompare failes, return incompat host

2012-05-16  Timothy Asir  <tjeyasin@redhat.com>

	Added gluster support into vds bootstrap.

2012-05-16  Douglas Schilling Landgraf  <dougsland@redhat.com>

	.gitignore: dsaversion.py
	Add vdsm/dsaversion.py to .gitignore

2012-05-15  Lei Li  <lilei@linux.vnet.ibm.com>

	Pass iface without nic interface
	When add a network without nic, unexpected error showed
	as "IndexError: tuple index out of range".

	vdsm should pass iface with nic as None to meet the
	topology in-host only. Also to keep consistence to
	other interface that the default value of iface is
	None.

2012-05-15  Douglas Schilling Landgraf  <dougsland@redhat.com>

	configure.ac: add python-devel requirement
	vdsm/betterPopen: requires python-devel package.

	dsaversion: renamed to dsaversion.in
	Use @PACKAGE_VERSION@ to define software_version
	Use @PACKAGE_RELEASE@ to define software_revision

2012-05-14  Adam Litke  <agl@us.ibm.com>

	rest-api: Add the basic server infrastructure
	Add a new API binding for a REST API based on CherryPy and the Cheetah
	templating framework.  This patch introduces the basic infrastructure for the
	API as follows:

	vdsm/clientIF.py
	 * Initialize the REST API along with the XMLRPC binding.
	 * The rest server is started in its own thread.  It will create more threads as
	   needed.

	vdsm/rest/BindingREST.py
	 * REST API initialization

	vdsm/rest/Controller.py
	 * Main API logic controller
	 * In this patch we introduce utilities and structure
	 * Render the Root resource in the API

	vdsm/rest/Dispatcher.py
	 * A custom cherrypy URI dispatcher that handles URIs with nested identifiers:
	    http://<server>:<port>/api/storagedomains/<sdUUID>/images/<imgUUID>

	vdsm/rest/templates/api.xsd
	vdsm/rest/templates/rsdl.xml
	 * Define the rest API schema and valid URIs
	 * This API is compatible with ovirt-engine-sdk and ovirt-engine-cli

	vdsm/rest/templates/response.json.x
	vdsm/rest/templates/response.xml.x
	vdsm/rest/templates/root.json.x
	vdsm/rest/templates/root.xml.x
	 * Cheetah template files to render responses in json and xml format
	 * The API can accept requests in either json or xml

	API Implemented:
	----------------
	/api : The Root of the API
	 * Provides vdsm version information
	 * Lists the available sub-collections
	 Actions: None

2012-05-14  Dan Kenigsberg  <danken@redhat.com>

	remove stale libvirtNet before creating a new net with same name
	Vdsm is the owner of vdsm-bla networks. If for some reasons (such as
	vdsm being kill just after defining a libvirt network) we find a stale
	definition of the network, Vdsm should override it.

	v2: check if net is active/persistent before destroy/undefine to avoid
	    silly libvirt exceptions.

2012-05-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#788640 - Don't waste SD produces in validateSdUUID.

2012-05-13  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Configure vdsm to use syslog
	By default, rsyslogd doesn't listening on UDP port 514. So change to use
	the unix domain socket '/dev/log' instead of udp socket. Then we
	we needn't modify rsyslog.conf to make rsyslogd accpet message from udp
	socket.

	And rsyslogd puts a timestamp before the message automatically, so
	remove timestamp from the format 'sysform'

2012-05-13  Xu He Jie  <xuhj@linux.vnet.ibm.com>

	Move the creation of /data/updates out of init script
	Move the creation of /data/updates out of init script,
	make init script more simple.

	* move the creation of /data/updates to vdsm_reg/vdsm-reg-setup.in
	  vdsm-reg-setup can create '/data/updates' after host register to engine.

	* remove /data/updates after vdsm rpm uninstalled

2012-05-11  Douglas Schilling Landgraf  <dougsland@redhat.com>

	caps: fix osversion() report
	Replace 'if' statement with 'elif'. Otherwise, will report wrongly
	oVirt Node version/release.

2012-05-11  Adam Litke  <agl@us.ibm.com>

	Split xmlrpc server into its own rpm
	We would like to move towards a model where API bindings are optional.  This
	means that we can package each one separately any any combination of bindings
	can be enabled/disabled by editing the vdsm configuration file.  This patch
	splits the XMLRPC binding into a new package (vdsm-xmlrpc) and modifies the
	binding loading logic in clientIF to check the configuration file and handle
	import errors that can result if a user enables the binding but does not install
	the rpm.

	Make the xmlrpc binding run in a thread
	Currently, the xmlrpc binding runs in the vdsmd main thread.  To prepare for
	making xmlrpc optional, change the binding loading logic so that all bindings
	run in their own threads.  The vdsmd main thread will sleep until shutdown and
	then join() with any active binding threads before exiting.

2012-05-11  Wenyi Gao  <wenyi@linux.vnet.ibm.com>

	Fix usage message for vdsm-tool
	Fixed the following ussage message:
	print "Usage: %s [options] <action> <module>\n" % sys.argv[0]
	to:
	print "Usage: %s [options] <action> [arguments]\n" % sys.argv[0]

	Also fixed some pep8 problems

2012-05-11  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove GC lock hack, it's not needed when using betterPopen

	Implement Popen without forking back to python
	Python's implementation of Popen forks back to python before execing.
	Forking a python proc is a very complex and volatile process and we
	already have hacks to try and avoid some of the bugs involved with it.

	This is a simpler method of execing that doesn't go back to python after
	forking. This allows for faster safer exec.

	Should solve bugs involving with GIL\GC\Logging deadlocks related to the
	python implementation.

	This also makes means that python-devel and gcc are needed for testing
	as the extension needs to be compiled to be tested.

2012-05-10  Saggi Mizrahi  <smizrahi@redhat.com>

	Add netmaskconversions to dist
	the check phase fails when creating an RPM because this file is not
	distributed with the tar ball.

2012-05-10  Shahar Havivi  <shaharh@redhat.com>

	Create payload directory if not exists

2012-05-10  huntxu  <mhuntxu@gmail.com>

	replace ifconfig cmdline with ethtool and sysfs in netinfo
	Since ifconfig output format has been changed recently(see
	https://bugzilla.redhat.com/show_bug.cgi?id=784314), instead of parsing
	ifconfig's output, use ethtool module to get ip address and netmask
	of an interface, and get hardware address via
	/sys/class/net/INTERFACE/address.

	This makes vdsm could run normally on some bleeding edge distributions
	such as Archlinux or F17 on which new version ifconfig has already been
	deployed.

2012-05-10  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Clean the RHEVM parser help in deployUtil.py.in

2012-05-09  Zhou Zheng Sheng  <zhshzhou@linux.vnet.ibm.com>

	Let LC_ALL=C when running tests
	The function validateDDBytes() in vdsm/storage/misc.py needs C locale.
	When vdsm runs /bin/dd, the stderr output of /bin/dd is inspected by
	validateDDBytes(). Then the last line of the output is splitted by space
	and the 0th word is the total count of bytes transferred. In a locale
	like zh_CN.utf8(Chinese), the stderr output message is different from
	that in C locale. Although dd runs successfully, validateDDBytes() can
	not take out the count of the bytes transferred, and an exception
	will be raised.

	When vdsmd is started by vdsmd.init, LC_ALL is set to C to provide a
	compatible locale for vdsmd. However, when running tests, the locale is
	not set to C. So "make check" will fail in a zh_CN.utf8 locale in all
	tests related to dd, and this causes "autobuild.sh" and "make rpm" fail
	as well. So, set LC_ALL=C will provide a standard locale for running the
	tests.

2012-05-09  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Add unit tests to lsblk

2012-05-09  Federico Simoncelli  <fsimonce@redhat.com>

	Revert "Avoid to activate parent volume on cloning"
	This reverts commit 8f5edaea39141cc6174dffce33108596a4643d1e.

	Many volumes created with a previous VDSM version have a mismatch
	in the size advertised by the metadata and the virtual size defined
	in the the qcow2 header. At the moment the only solution is reverting
	to the hold behavior and propagate the mismatch (BZ#811880).

2012-05-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#815825: backup certs during registration
	During the registration of oVirt Engine in a oVirt Node, instead of
	remove cacert.pem and downloading the new cacert from Engine, is
	important to backup the current certs before going further.

	Besides, there is also a bug situation where the administrator of oVirt
	Node executes the Engine registration procedure, and the host doesn't
	get 'approved' (note: at this point cacert.pem from Engine already replaced
	the /etc/pki/vdsm/certs/cacert.pem) causing a failure in the next reboot
	on libvirt daemon startup. This happens because cacert.pem certificate
	file cannot be validated with vdsmcert.pem, so if we have a backup, we
	can easily revert it.

	For record, steps to reproduce the bug:

	- Install oVirt Node
	- Setup Network
	- Register the Node to oVirt Engine (do not approve)
	- Reboot. (libvirt will fail to start)

	Finally, there's also available a patch to libvirt.upstart
	(http://gerrit.ovirt.org/#change,3885) that adds a validation feature
	during the start of libvirt daemon, in order to check cacert.pem and
	vdsmcert.pem. In case of
	failure, upstart will look for the correct CA (backup file) in
	/etc/pki/vdsm/certs and replace the
	current cacert.pem. This approach can avoid the above bug description.

2012-05-08  Nigel Jones  <nigjones@redhat.com>

	BZ#809012 - Calculate metadata offset from logical block size
	Changes to ensure that V1 storage domain metadata area is not made dirty due to
	7e79153705891a91a06eb31cd642fb209d10ff86.

2012-05-07  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#752470 Related: Out of process getReadDelay
	To avoid being blocked by a thread in a D state we should determine the
	read delay using oop also for block devices.

2012-05-07  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Move get-vm-pid to superVdsm

2012-05-07  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	Clean the RHEVM log message in deployUtil.py.in

	add NOSE_EXCLUDE to avoid running the test twice
	when build vdsm by autobuild.sh, it runs the test twice for the same build.
	It takes a long time, add NOSE_EXCLUDE to avoid this.
	To skip test step, you can run "NOSE_EXCLUDE=.* ./autobuild.sh".

2012-05-07  Shahar Havivi  <shaharh@redhat.com>

	vm payload: add file injection to vm
	this patch adds new parameter to create verb vmPayload,
	user can send file content and have them in the vm in floppy (.vmf) or
	cdrom (.iso) format.

	vmPayload is in specParams
	'vmPayload': {'file': {'filename': 'content' }}
	for now we are only supporting file type in cdrom or floppy,
	we intend to add more formats such as network url which vdsm will
	download the file and place it in cdrom or floppy.

2012-05-07  Hans de Goede  <hdegoede@redhat.com>

	libvirtvm.py: Remove unnecessary constructor overriding

	vdsClient.py: Allow specifying nested dicts for devices when creating a vm
	With this patch one can do things like:
	vdsClient 0 create /dev/null \
	    vmId=00000001-0002-0003-0004-000000000006 vmName=F14-x86_64 memSize=512 \
	    macAddr=52:54:00:7a:b4:7e nicModel=virtio bridge=test display=qxl \
	    devices='{type:disk,device:disk,path:/home/virt-images/f14-i386.qcow2.img,propagateErrors:off,iface:ide,index:0,readonly:False,format:cow}' \
	    devices='{type:video,device:qxl,specParams:{vram:65536}}'

	Which allows testing vdsm with the new devices create params syntax from the
	cmdline with vdsClient.

	vm.py: Fix legacy disk support
	Creating vms with legacy disk parameters, ie hda=/path/disk.img would fail
	with a backtrace in clientIF:prepareVolumePath() with a missing attribute
	error for drive['device'], while at it also setup type properly (not strictly
	necessary, since getConfDrives will fill this in otherwise).

2012-05-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.init: rewritten listen_addr
	Default listen_addr should be the complete IPv4 address.

	Also resolves the following error:

	virNetSocketNewListenTCP:209: Unable to resolve address '0' service '16514': Address family for hostname not supported

	To reproduce the bug:

	1. Install oVirt Node.
	2. Register to first oVirt Node and do not approve it.
	3. Register to second oVirt Node and do not approve it.
	4. Reboot oVirt Node.

2012-05-06  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#807687 - Do not return new references to an invalid object.

2012-05-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix loop device handling for mount command
	loop devices sometimes appear as themselves and sometimes appear as the
	backing file. This canonicalizes the behaviour to always show the backing
	file.

2012-05-06  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#807687 - Adding log for debugging purposes.
	Note: We can't change the API returning an Error.

2012-05-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Make ClusterLock stateless
	With it being stateless we no longer have issues with new domain objects
	not having to correct state

2012-05-06  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#812793 - Fix addNetwork to be able attach network to interface

2012-05-06  lvroyce  <lvroyce@linux.vnet.ibm.com>

	fix vdsm_reg makefile error
	register-to-engine was added to cleanup files,
	and will cause error when autobuild

2012-05-04  Bala.FA  <barumuga@redhat.com>

	Added register-to-engine command line tool.
	This tool accepts oVirt Engine name and register current node to the
	engine.

2012-05-03  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#812793 - Fix delNetwork to be able delete network interface

2012-05-03  y kaplan  <ykaplan@redhat.com>

	Add caps test

2012-05-02  Lei Li  <lilei@linux.vnet.ibm.com>

	Avoid skipping libvirt when add bridgeless network
	Change since V2
	    - Adjust subject and comment to make it more reasonable.

	Change since V1
	    - Move this validation into _addNetworkValidation based
	      on Dan's suggestion.

	The bridgeless network can not be added when the options contain
	skip libvirt. When I dig into the code, seems this type of network
	is supported by libvirt, but it will not do its real job if skip
	libvirt based on current logical in addNetwork. So set limitation
	to avoid such situation.

2012-05-02  y kaplan  <ykaplan@redhat.com>

	Change mathing to matching (typo)

2012-05-02  Shahar Havivi  <shaharh@redhat.com>

	mount: use sudo only of not root user

2012-05-01  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove support for string command
	Without the shell arg it's useless anyway as the command will fail
	anyway.

	Remove infile and outfile from execCmd, no one uses them
	All respectable tools that have a reason to write to disk have this
	option built in. This is why we never used or tested this feature.

2012-04-30  Adam Litke  <agl@us.ibm.com>

	doc: Add informational message for skipping tests

2012-04-30  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	workaround pipe and thread issue in python
	  Calling subprocess.Popen and threading.Thread at the same
	time is not safe in Python v2.7.2. Running test case for
	several release, results are:
	  Fedora16: v3.2.2 and v2.7.3 pass, v2.7.2 fail.
	  Redhat6.2: v2.6.6 pass.
	  This patch modify the spec file to avoid the fails.
	  bugzilla:
	  https://bugzilla.redhat.com/show_bug.cgi?id=814492
	  cpython issue tracker solving the problem:
	  http://bugs.python.org/issue13156

2012-04-30  Federico Simoncelli  <fsimonce@redhat.com>

	Add vdsm_reg/engine.py to gitignore

2012-04-29  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix pep8 for alignmentScan.py

2012-04-29  Dan Kenigsberg  <danken@redhat.com>

	alignmentScanTests: use real-world sized image
	alignmentScanTests used a 1MiB image for its tests, which is not really
	similar to what happens in the real world. This revealed a bug in
	libguestfs-1.16.18-2.el6
	https://bugzilla.redhat.com/show_bug.cgi?id=815149

	Let us test the use case that we are interested in.

2012-04-29  Federico Simoncelli  <fsimonce@redhat.com>

	Use the correct size for createSparseFile in fileVolume

2012-04-26  Bala.FA  <barumuga@redhat.com>

	Added a forgotten @logDecorator

2012-04-25  y kaplan  <ykaplan@redhat.com>

	add for in hackVdsmModule  - taken from Adam Litke

2012-04-25  wenchao xia  <xiawenc@linux.vnet.ibm.com>

	Skip parted-utils test if pyparted is not installed.
	  At building time, if pyparted is not installed, test will
	fail breaking the procedure. This patch skip it in such
	condition.

2012-04-25  Joey Boggs  <jboggs@redhat.com>

	BZ#814413 - switch engine plugin to use system() instead of os.system to prevent screen alterations

2012-04-24  Federico Simoncelli  <fsimonce@redhat.com>

	The method readMultipathConf should return a list
	For backward compatibility with the previous implementation (using sudo
	and execCmd, see commit f869064) the readMultipathConf method should
	return a list of lines.

2012-04-24  Oved Ourfali  <oourfali@redhat.com>

	spec: remove the conflicts of ovirt-engine from vds_bootstrap section
	This commit removes the conflicts of ovirt-engine < 3.1 from the
	vds_bootstrap section in the spec file, as it is no longer needed.

	vds_bootstrap: changing the default to install virt to true
	Preivous patch added an option "-v" to enable virt installation.
	This made issues in backward compatability, as old engine couldn't
	install new client. Passing now -V to disable virt installation.

	vds_bootstrap: allowing the options n and u as paratemers
	Previous patch removed dead code, thus removing the options "n" and "u"
	from the vds_bootstrap, and it broke backward compatibility (old engine
	couldn't install new clients).

2012-04-24  Ryan Harper  <ryanh@us.ibm.com>

	vdsm/storage/misc.py: ensure uuid input is str or unicode for regex
	When abusing the createVolume() method by passing numeric values
	as UUIDs, the validation regex needs a string to process and
	throws an exception when it isn't:

	Traceback (most recent call last):
	  File "/usr/share/vdsm/storage/task.py", line 861, in _run
	    return fn(*args, **kargs)
	  File "/usr/share/vdsm/logUtils.py", line 38, in wrapper
	    res = f(*args, **kwargs)
	  File "/usr/share/vdsm/storage/hsm.py", line 1206, in createVolume
	    misc.validateUUID(imgUUID, 'imgUUID')
	  File "/usr/share/vdsm/storage/misc.py", line 525, in validateUUID
	    m = UUID_REGEX.match(uuid)
	TypeError: expected string or buffer

	And on the client side, I get a less than useful error:

	Traceback (most recent call last):
	  File "create_a_vm.py", line 98, in <module>
	    BLANK_UUID, BLANK_UUID))
	  File "create_a_vm.py", line 19, in vdsOK
	    raise Exception(str(d))
	Exception: {'status': {'message': "Error creating a new volume: ('sdUUID=99d43d50-5946-4451-8e12-9d85cb426e19, spUUID=150e55ab-e68c-411c-af30-587071905216, imgUUID=4194304, size=4, volFormat=2, preallocate=rootfs, diskType=7bdf7b4b-4909-41ce-a9c0-9bc06ba045fe, volUUID=00000000-0000-0000-0000-000000000000, desc=00000000-0000-0000-0000-000000000000, srcImgUUID=00000000-0000-0000-0000-000000000000, srcVolUUID=00000000-0000-0000-0000-000000000000',)", 'code': 205}}

	We can test that the input is str or unicode before attempting to regex
	if it's something else, raise an exception.

	Now, I get:

	Traceback (most recent call last):
	  File "create_a_vm.py", line 98, in <module>
	    BLANK_UUID, BLANK_UUID))
	  File "create_a_vm.py", line 19, in vdsOK
	    raise Exception(str(d))
	Exception: {'status': {'message': "Invalid parameter: 'imgUUID=4194304'", 'code': 1000}}

	Which explains to me my error quite well.

	V2 -> V3:
	    - change check to use isinstance(s, basestring) per Dan Kenigsberg
	V1 -> V2:
	    - Fix case where we pass in a string, but it's not a UUID as
	      Reported by Dan Kenigsberg <danken@redhat.com>

2012-04-24  Bala.FA  <barumuga@redhat.com>

	Added getMdDeviceUuidMap function in supervdsm.
	getMdDeviceUuidMap function returns all md/uuid map.  Sample return value
	is,

	{'/dev/md0': 'e35641fc:621a9fa8:123456e4:a1bc6b5f',
	 '/dev/md1': '95451662:3945780b:123456a7:f3ad55c5'}

2012-04-24  Ryan Harper  <ryanh@us.ibm.com>

	tests/misc: add utf-8 string test to validateUUID
	As requested, add a test case with a Chinese UTF-8 string.

	tests:miscTests add integer input test for validateUUID

2012-04-24  Dan Kenigsberg  <danken@redhat.com>

	API.py: fix pep8 noise
	commit a35c862341a4fa05e6 did not manage to completely make API.py
	conform to pep8, at least not with python-pep8-0.6.0-3.fc15.noarch

2012-04-23  Bala.FA  <barumuga@redhat.com>

	Added getDevicePartedInfo function in supervdsm.
	This function accepts device path and returns its information as
	dictionary.  Sample return value is,

	{'model': 'Virtio Block Device',
	 'sectorSize': 512L,
	 'type': 'gpt',
	 'freeSpaceRegions': [(34L, 2047L, 2014L, 1031168L),
	                      (16775168L, 16777182L, 2015L, 1031680L)],
	 'partitions': {'/dev/vda1': (['bios_grub'], 2048L, 4095L),
	                '/dev/vda2': (['boot'], 4096L, 16285695L),
	                '/dev/vda3': ([], 16285696L, 16775167L)}}

2012-04-23  Lei Li  <lilei@linux.vnet.ibm.com>

	Make API.py conform to pep8
	v1->v2
	    - Modify all the place to follow the rule that break around
	      a binary operator after the operator, and other small errors
	      suggested by Saggi.

2012-04-23  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#773210 - Avoid infinite loop when delete volume failed during the merge.
	This loop occurs at the end of the merge operation and if we failed
	to remove remnants at this point it's still OK.

2012-04-23  Lei Li  <lilei@linux.vnet.ibm.com>

	Improve usage for bridgeless network
	The usage of add/del network is still for bridge only network,
	It is useless and may cause confusion. So change it to keep
	consistence with current network.

2012-04-23  y kaplan  <ykaplan@redhat.com>

	add 2 info tests to hooks tests

2012-04-23  shu ming  <shuming@linux.vnet.ibm.com>

	Make blkid.py pep8 clean

2012-04-23  Federico Simoncelli  <fsimonce@redhat.com>

	Add volumeExists to the StorageDomain class

	Don't use qemu-img to create sparse file volumes
	It's not required to run volume.createVolume when we are creating a
	sparse file volume (see createSparseFile few lines above).

2012-04-23  shu ming  <shuming@linux.vnet.ibm.com>

	Clean the RHEVM log message in vdsm-reg-setup-in

2012-04-23  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#813423: Adding ENGINENAME macro
	To help backward compatibility, let's create ENGINENAME macro which
	will contain the engine name.

2012-04-23  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove (almost all) class Volume virtual (!) methods.

2012-04-23  ShaoHe Feng  <shaohef@linux.vnet.ibm.com>

	change the style of supervdsm.py code in order to comply with PEP 8

2012-04-21  Saša Tomić  <tomic80@gmail.com>

	VDSM interface for the virt-alignment-scan tool from libguestfs
	The libguestfs-tools rpm has an application called virt-alignment-scan.
	http://libguestfs.org/virt-alignment-scan.1.html
	Virt-alignment-scan scans the partition alignment in guest VMs and reports
	if a partition in guest VM is not aligned.

	This is a vdsm interface to virt-alignment-scan. It is now possible
	to scan the alignment of VM guest partitions directly from vdsm.
	In the future, it should be possible to expose this functionality
	through vdsClient.

2012-04-19  Saggi Mizrahi  <smizrahi@redhat.com>

	Skip test if sudo is not configured

2012-04-19  Yeela Kaplan  <ykaplan@redhat.com>

	Add hooksTests.

2012-04-19  Douglas Schilling Landgraf  <dougsland@redhat.com>

	getAuthkeysFile: try to download multiple ssh keys
	Try to download multiple ssh keys defined in
	REMOTE_SSH_KEY_FILE. Specially helping backward compatibility.

	delNetwork(): Add skipLibvirt validation
	Do not try to delete an interface from libvirt which was not added.
	Introduced by: 1a24550b968ca48bb808e263368743f4c91adde4

2012-04-19  Shahar Havivi  <shaharh@redhat.com>

	setVmTicket: add before and after hooks
	setVmTicket gets additional params dictionary,
	currently engine will send user-name and user-id, for
	the benefit of the setVmTicket hooks scripts.

2012-04-19  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove sudo parameter from watchCmd. No one uses it and no one ever will

	Make supervdsmServer.py conform to pep8

2012-04-18  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove SUDO from readblockSUDO() no one uses it and no one should

	Read multipath.conf with supervdsm instead of SUDO

2012-04-18  Joey Boggs  <jboggs@redhat.com>

	fix console colors for engine plugin
	rhbz#813897

2012-04-18  Saggi Mizrahi  <smizrahi@redhat.com>

	Make logskip more pylint friendly

2012-04-18  lvroyce  <lvroyce@linux.vnet.ibm.com>

	fix check None sdUUID for getVmsList and getVmsInfo
	BZ#807719:getVmsList get broken when running without sdUUID
	when sdUUID given, validate domain uuid,
	when sdUUID is None, enumerate Vms from master domain of the pool
	v3>v2,
	change according to Ayal's comments,clear validate backup domain

2012-04-18  Federico Simoncelli  <fsimonce@redhat.com>

	Move libvirtconnection to the python sitelib

	Adding the qemuImg command line

2012-04-18  Douglas Schilling Landgraf  <dougsland@redhat.com>

	engine.py: improve password text
	Replace 'Set oVirt Engine Admin Password'. This text is confusing
	because in fact this option has nothing to do with the oVirt Engine
	admin password and in fact sets the root password for the node.

2012-04-17  Adam Litke  <agl@us.ibm.com>

	storageServer: Fix isConnected for LocalDirectoryConnections
	The current isConnected method for LocalDirectoryConnection objects checks if
	the source path exists.  It should instead check for the presence of the symlink
	in '/rhev/datacenter/mnt/.

	BindingXMLRPC: Check irs init status
	During vdsm initialization, it is possible that IRS will fail to initialize and
	will instead be None.  During API refactoring we added a TODO to the code to
	re-enable checking for this case.  In this patch, we check if cif.irs is None
	and if so, activate a default storage error message for all storage methods.

2012-04-17  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Add build time checks for required python modules
	With these checks configure will fail if required python modules can't
	be imported. The benefit is that it will fail faster, making it easier
	to notice dependency changes for packagers.

	The ax_python_module comes (unmodified) from the GNU autoconf archive.

2012-04-17  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove writefileSUDO() no one uses it

	Add persistentDictTests

	Add missing \ to Makefile.am

2012-04-17  Ryan Harper  <ryanh@us.ibm.com>

	pylint:vdsm/netinfo.py rename local vars to avoid overload with global func.
	************* Module netinfo
	E:377:NetInfo.getNicsVlanAndBondingForNetwork: Function 'nics' has no 'append' member

	The global function nics() is confusion pylint with the local 'nics' list;
	remedy this by renaming the local variables.

	V2->V3
	    - change the local vars instead of global func
	V1->V2
	    - change function name to use mixedCaps

2012-04-17  lvroyce  <lvroyce@linux.vnet.ibm.com>

	fix circular reference of storage pool
	master storage domain can not be freed because storage pool refers to it.
	storage pool can't be freed because upgradeCallback is a partial function
	which refers to itself, making this a circular reference,
	using proxy of storage pool instead of real ref in upgradeCallback
	makes them freeable.

2012-04-17  Saggi Mizrahi  <smizrahi@redhat.com>

	Make resource manager stress test use 75% of allowed nprocs instead of a fixed number

2012-04-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix processPool.py to conform with pep8

	BZ#802759 - Make old FD shutdown a bit more robust

2012-04-16  Federico Simoncelli  <fsimonce@redhat.com>

	Add the the debug plugin client

	Fix typo in the IscsiInterface class

2012-04-16  Ryan Harper  <ryanh@us.ibm.com>

	pylint: vdsm/libvirtvm.py
	E:914,11:NetworkInterfaceDevice.__init__: Access to member 'nicModel' before its definition line 915

	Modify the kwarg dict before device init.

2012-04-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Add betterThreadingTests

2012-04-16  Lee Yarwood  <lyarwood@redhat.com>

	BZ#809012 - Remove physical block size limitations
	Corrects limitations set against the logical and physical block size of
	a device.

2012-04-16  Igor Lvovsky  <ilvovsky@redhat.com>

	isBlockDevice should fail for empty cdrom/floppy. Don't need traceback in the log.

2012-04-12  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix build-aux version scripts so that internal tags don't confuse them

2012-04-11  Igor Lvovsky  <ilvovsky@redhat.com>

	Compare Drive according to its name during lvextend
	There are several disks can be attached to each VM, but not all of them
	define as 'vdsm image' ( define by quartette: Pool,Domain,Image,Volume).
	VDSM support volume extend only for the disks that defined as 'vdsm image'.

2012-04-10  Saggi Mizrahi  <smizrahi@redhat.com>

	Don't escape colors if not a tty

2012-04-10  y kaplan  <ykaplan@redhat.com>

	define two tests as slowtest

2012-04-10  Saggi Mizrahi  <smizrahi@redhat.com>

	Add slowtests plugin
	Plugin slowtests
	  Skips tests that might be too slow to be run for quick iteration
	  builds

	  Options:
	    --without-slow-tests
	          Some tests might take a long time to run, use this to skip slow
		  tests automatically.  [NOSE_SKIP_SLOW_TESTS]

	Ergo, you can set the aforementioned env variable to have make skip slow
	tests. As what a "slow test" is debatable I just marked one test as
	slow. The rest will have to be suggested in future patches and
	go through the regular review process before deemed slow.

	To mark a test a slow use the slowtest decorator from the
	testValidation module.

2012-04-09  Saggi Mizrahi  <smizrahi@redhat.com>

	Add forgotten files to all-local so they would exist even wihtout installing vdsm

	Fix import error when running vdsm tests

2012-04-09  y kaplan  <ykaplan@redhat.com>

	Added guestIFTests

2012-04-09  Saggi Mizrahi  <smizrahi@redhat.com>

	Add fileUtil unit tests

2012-04-08  Dan Kenigsberg  <danken@redhat.com>

	fix broken pyflakes check

2012-04-08  Douglas Schilling Landgraf  <dougsland@redhat.com>

	configure.ac: Add validation for python-nose
	Avoid make check and make rpm errors due a lack of python-nose.

2012-04-08  Mike Burns  <mburns@redhat.com>

	make ovirt-node detection more robust
	rhbz#806555

2012-04-05  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix inconsistencies with new connection management API

	Add pep8 checks to build process
	This adds pep8 verification check. pep8 is the recommended styling for
	python. The pep8 tester doesn't check all of the style recomendations
	but it does help. Currently most of our code doesn't conform, so in
	order to integrate it slowly there is a whitelist declared in
	/Makefile.am.
	When fixing a file to conform please add the file to the whitelist so
	that after the patch is submitted the file will be tracked for
	conformance.

	More about pep8
	http://www.python.org/dev/peps/pep-0008/

	Make misc.py conform with pep8 again

	Add processPool unit tests

	Add resource manager unit tests

	Add unit tests for misc.py

	Make main.py confrom to pep8

	Integrate nosetests to vdsm testing
	This patch integrates nosetests into the vdsm testing pipeline. This
	gives us a more advanced framework to write tests around.

	`make check` still works as expected. In order to run tests
	individually or with different options use /tests/run_tests.sh.
	To learn more about nose tests you could run
	`./run_tests.sh -h` or go to the nose documentation.

	http://readthedocs.org/docs/nose/en/latest/#

	This also introduces the VdsmTestCase base class. There is no need to
	inherit from it but it will set up a logger for you that in the future
	will be used to log out intermidate test information for long tests.

2012-04-05  Federico Simoncelli  <fsimonce@redhat.com>

	Integrate SANLock with VM's life cycle

2012-04-05  Adam Litke  <agl@us.ibm.com>

	Define some constants in API.py
	The API bindings should be implemented in terms of the API bridge (API.py) and
	not rely on vdsm internals.  Currently the xmlrpc binding imports some internal
	modules in order to provide some default values (ie. BLANK_UUID and volume
	constants).  Constants that are needed at the API level need to appear in
	API.py.

	This patch converts the obvious offenses.  If this approach is acceptible I will
	follow up with additional patches.  In the future, APIs that take 'magic'
	parameters must formally define the valid values in API.py.

2012-04-05  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#804640 Image.getChain must work with multiple leaves
	The method Image.getChain() should be able to work also when the image
	has multiple leaves (preview mode).

2012-04-04  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#773210 - Avoid infinite loop when delete volume failed during the merge

2012-04-03  Deepak C Shetty  <deepakcs@linux.vnet.ibm.com>

	nfs-check improvements
	Adds nfs trouble shooting wiki link and shows
	the same in case of an error and also fixes the
	wrong uid:gid issue when removing testfile.

2012-04-03  Igor Lvovsky  <ilvovsky@redhat.com>

	bootstrap: installation now requires libvirt when defining mgmt network

2012-04-03  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#804640 Modify Image.getChain to return a subchain
	The method Image.getChain was returning the entire image chain. Now
	it's possible to specify an (optional) volUUID to return a subchain
	from the base up to volUUID.

2012-04-03  Roi Dayan  <roi.dayan@gmail.com>

	Added iSER support enabled with a configuration option.
	When used VDSM will try to connect with iser and fallback
	to default on failure.

2012-04-02  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#807642 Add TestSecurable safety test
	The test makes sure that all the Securable classes have different
	_safety (Event) objects.
	The metaclasses are used to generate new types (at import time); the
	_safety Event therefore was created only once and inherited by all the
	objects created later on.

2012-04-02  Peter V. Saveliev  <peet@redhat.com>

	fix LV_ATTR_BITS for use with lvm 2.02.95(2)-RHEL6
	lvs in this version has two more attrs

2012-04-02  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#807642 Use Securable as base class
	Using Securable as base class allow us to take the best of metaclasses
	(being able to modifying methods at import time) and the best of
	subclassing (explicit inherited methods such as __init__, _setSafe and
	_setUnsafe).
	It's also now possible to instantiate attributes per object (__init__)
	instead of per class and therefore fix BZ#807642.

	Using supervdsmServer.py when present

2012-04-02  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#808116 - Fix post-zeroing process during deletion of preallocated volumes

2012-04-02  Saggi Mizrahi  <smizrahi@redhat.com>

	Added some documentation to the connection management verbs

2012-04-01  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm: fix make distcheck
	ERROR: files left in build directory after distclean:
	./vdsm/constants.py
	./vdsm/config.py
	./vdsm/dumpStorageTable.py
	./vdsm_cli/vdscli.py
	make[1]: *** [distcleancheck] Error 1

2012-04-01  Saggi Mizrahi  <smizrahi@redhat.com>

	Support unicode in domain and pool description

2012-04-01  Dan Kenigsberg  <danken@redhat.com>

	dispatcher: drop Unicode-less validation

2012-04-01  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#805273 Fix LVM preferred names

2012-03-29  Danny Rankevich  <danny.ran@redhat.com>

	vdsm: error when creating a bond/nic with more than one network attached
	When creating a Bond or Nic with more than one network attached, the
	code breaks since it is expecting a dictionary, but a list is used.
	This fix creates the dictionary in the correct way.

2012-03-29  Haim Ateya  <hateya@redhat.com>

	Fix bad import preventing SuperVdsm to start

2012-03-29  Federico Simoncelli  <fsimonce@redhat.com>

	Add partial live merge
	Let's activate the partial live merge (libvirt supports it).

	Use the _REUSE_EXT flag in snapshotCreateXML
	The _REUSE_EXT flag is needed to use an external snapshot file that is
	already present (in our case created by the SPM).
	We need to require libvirt-0.9.10-9 for RHBZ#807147 that makes the flag
	fail in some situations.

2012-03-29  Saggi Mizrahi  <smizrahi@redhat.com>

	Make misc.py conform pep8 and other minor cleanup

2012-03-29  Dan Kenigsberg  <danken@redhat.com>

	Revert "added a very very simple test for the function filterXmlChars in the guestIF module"
	This reverts commit 14e80f5e65cd2d11a00987ba3f8b8e1bc5021107 as it fails common `make`.

2012-03-29  Douglas Schilling Landgraf  <dougsland@redhat.com>

	nfs-check: Add except socket.gethostbyname()
	Avoid exception when cannot resolve localhost.

2012-03-29  Shahar Havivi  <shaharh@redhat.com>

	added support for mirror promisc mode
	let ability to VM to monitor (mirror) all other VMs in the same host by
	specific network (bridge)

	Currently there is no protection agains mirroring a network twice,
	unsetting mirror network will clear both mirroring (on the same network).

2012-03-28  y kaplan  <ykaplan@redhat.com>

	added a very very simple test for the function filterXmlChars in the guestIF module

2012-03-28  Dan Kenigsberg  <danken@redhat.com>

	spec: VIR_DOMAIN_DESTROY_GRACEFUL is only in libvirt-0.9.10

2012-03-28  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix required libvirt version for new VIR_DOMAIN_DESTROY_GRACEFUL support

	Assign proper PCI address to each video/sound device

2012-03-27  Federico Simoncelli  <fsimonce@redhat.com>

	Use certtool to generate the certificates
	Using certtool is easier (commands are easy to understand and maintain),
	requires less steps (at least 1 less: the crt request), and it's the
	tool suggested by libvirt in the documentation (this should limit the
	mismatches). Achieving the same thing with openssl would have required
	shipping a openssl.cnf and having a temporary certificate request to be
	self-signed.

2012-03-27  Bala.FA  <barumuga@redhat.com>

	Added getMountFromDevice function.

2012-03-27  Saggi Mizrahi  <smizrahi@redhat.com>

	Make sure that internally we always use pvs from /dev/mapper/
	This is of course wrong, but I don't want to start figureing out all the
	places where we assume PVs sit under /dev/mapper. A proper fix will be
	pushed we I have the time to do all this work.

2012-03-27  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#806757 - Update video and sound devices of running VM with full info from libvirt

2012-03-26  y kaplan  <ykaplan@redhat.com>

	No tearDownVolumePath function exists, changed to teardownVolumePath

2012-03-26  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix old 'klass' joke in setMaxOutgoingMigrations definition.
	It was harmless, but let's get rid from this now.

2012-03-25  Igor Lvovsky  <ilvovsky@redhat.com>

	Try to destroy VM gracefully

2012-03-23  Saggi Mizrahi  <smizrahi@redhat.com>

	Have sdc.py pass pep8

2012-03-22  Saggi Mizrahi  <smizrahi@redhat.com>

	Create mount base path on hsm initialization

2012-03-22  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#805444 - Do not link unrelated domains under pool

2012-03-22  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#804618 vdsmImport should load the vdsm package

2012-03-22  Haim Ateya  <hateya@redhat.com>

	BZ#804618 - Fix import ERROR on vds_bootstrap

2012-03-20  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#804618 Add legacy imports to bootstrap

2012-03-20  Dan Kenigsberg  <danken@redhat.com>

	cman is no longer conflicting with Vdsm
	In prehistoric RHEL5 era, cman carried a set of fence-agents that conflicted with
	RHEV's flavor of fence-agent. fence-agents were later repackaged and now cman
	can be installed on the same host as Vdsm.

2012-03-18  Igor Lvovsky  <ilvovsky@redhat.com>

	Remove unneeded 'getIpAddresses' import

2012-03-18  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#803754 - Fix file mangling for localfs connections

	fix forgotten properties in NfsConnection

	pass missing arg to devicemapper.getSlaves

	Remove unused methods from hsm

2012-03-18  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#787709 - Do not validate IP existence during setup network

2012-03-18  Dan Kenigsberg  <danken@redhat.com>

	BZ#787728 configNet: restore backup on connectivity failure
	v2:
	    - do not try to call restoreAtomicBackup twice
	    - maintain the content of configWriter when changing multiple
	      networks

2012-03-18  Saggi Mizrahi  <smizrahi@redhat.com>

	Cut the line in a different place so pylint doesn't complain

2012-03-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Removed unused method

2012-03-16  Dan Kenigsberg  <danken@redhat.com>

	do not croak on mountpoint with space and digit
	A mountpoint with ' 09' gave me the following error

	    return _RE_ESCAPE.sub(lambda s: chr(int(s.group()[1:], 8)), path)
	ValueError: invalid literal for int() with base 8: '04009'

	since the code concatenates 09 to 040 (octal for space).

2012-03-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	Backing VG's should be named as SD name. Renaming VG's is not supported.

2012-03-15  Bala.FA  <barumuga@redhat.com>

	Added lsblk tool support in supervdsm.
	lsblk tool is used to get block device information.
	Now supervdsm has a function getLsBlk which returns all block
	device information as dictionary.  Sample return value is,

	{'sda': {'FSTYPE': '', 'KNAME': 'sda', 'UUID': ''},
	 'sda1': {'FSTYPE': 'ext4',
	          'KNAME': 'sda1',
	          'UUID': '12345678-0c05-1111-2222-1234567890d6'},
	 'sda2': {'FSTYPE': 'swap',
	          'KNAME': 'sda2',
	          'UUID': '12345678-1111-2222-3333-12345678903c'}}

2012-03-15  Saggi Mizrahi  <smizrahi@redhat.com>

	Removed unused imports from clientif

2012-03-15  Oved Ourfali  <oourfali@redhat.com>

	vds_bootstrap: add flags for installVirtualizationService and installGlusterService
	This commit adds two more flags to the vds bootstrap
	that denote whether in install virt/gluster services on the host.
	Currently it will only have an effect on whether we run virt test on
	the host before installation or not

2012-03-15  Dan Kenigsberg  <danken@redhat.com>

	BZ#729251 vds_bootstrap: drop dead netconsole/vdcrepo code
	When http://gerrit.ovirt.org/1848 and http://gerrit.ovirt.org/1689 are taken
	into Engine, -u and -n options to vds_bootrap would never be passed.

	Remove this dead code.

2012-03-15  Bala.FA  <barumuga@redhat.com>

	Added blkid tool support to get device for uuid.
	getDeviceByUuid accepts uuid and returns block device of the uuid.

2012-03-15  Derrick Ornelas  <dornelas@redhat.com>

	dumpStorageTable: search deeper for vms list

2012-03-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	Restore direct lun functionality.
	Using vdsClient:
	vdsClient 0 create /dev/null vmId=<uuid> vmName=<vm_name> memSize=256 macAddr=aa:bb:dd:aa:bb:cc bridge=rhevm nicModel=pv display=vnc devices='index':0,'iface':'ide','format':'raw','type':'disk','readonly':'False','device':'disk','propagateErrors':'off','GUID':<guid>

2012-03-14  Haim Ateya  <hateya@redhat.com>

	Fix TypeError when using se.iSCSIDiscoveryError without any params

	BZ#800915 - no need to support list in removeVM command
	Since engine-core use string in removeVM command and never sends vdsm a
	list of vms, there is no need to support it in the code.

	change-Id: I4a0e5848ece1aa147f4508d4d16842bcdb30af0d

2012-03-13  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#802229 - Fix missing tpgt argument handling

	BZ#802347 try and not access iscsid concurrently

2012-03-12  Federico Simoncelli  <fsimonce@redhat.com>

	Add the device type in the snapshot dictionary
	Since commit 3c1dad8 (Fix vdsm disks ops for the new API) it is required
	to pass the device type to prepareVolumePath.

2012-03-09  Federico Simoncelli  <fsimonce@redhat.com>

	VDSM-Reg should not import vdsm.config

2012-03-09  Roi Dayan  <roi.dayan@gmail.com>

	read iscsi session info properly
	read from /sys/class/iscsi_session and /sys/class/iscsi_connection directories
	instead of /sys/devices/platform/host*/

2012-03-09  Gal Hammer  <ghammer@redhat.com>

	Updated threading.Lock acquire to a more Python-like mean.

2012-03-07  Federico Simoncelli  <fsimonce@redhat.com>

	Fix minor issues in the iscsi module

2012-03-07  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Use urllib.urlencode to build URI parameters

	Clean up logging in vdsm-reg-setup.in

2012-03-07  Dan Kenigsberg  <danken@redhat.com>

	oops, fix a bad rebase

2012-03-06  Saggi Mizrahi  <ficoos@gmail.com>

	Minor text fixes

	New connection management API
	Connection are no longer managed directly. A client uses references to
	the actual connection and VDSM manages the actuall lifcycle of the
	objects.

	More information at http://www.ovirt.org/wiki/Features/ConnectionReferences

2012-03-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Implement storage server connection monitoring
	This is the actual connection monitoring. Takes aliased connection
	Information and makes sure everything is connected. It will disconnect a
	connectino once there are no aliases referencing it.

	Implement storage server connection aliasing
	This is the actual perstiance mechanism for the connection info. It
	saves all the information needed to create a connection object in memory
	on disk.

	Refactor storage connection subsystem
	Currently connection management is an abysmal mess. This is a
	transitional patch
	retrofitting the old API to some of the concepts we intend to implement.

	Notice:
	Permissions are no longer checked on storage connect only on domain
	initialization. This is good as the storage connection is far from an
	appropriate place for that check.

	I've removed stale root folder handling for NFS. I will add it back I
	can't do everything at once.

	There are also no proper engine acceptable exceptions yet

	ISCSI Subsystem refactoring
	!!Do not apply without following patch!!

	Currently the iscsi subsystem is a mess of list concatenation.
	This refactoring tries to:
	    - Make variable and object naming consistent and in line with iscsi
	      terminology.
	      Note that:
	        * portal now refers to an ISCSI Portal and not a tpgt
	        * ISCSI interfaces are modeled so that initiator name is
	          actually property of the interface and not its identity
	    - Make a coherent object hierarchy of the ISCSI objects. Functions
	      now expect to get ISCSI objects (like portal, target) instead of
	      scattered arguments that have to be validated and parsed every
	      time.
	    - Make the ISCSI interface a 1st class member. Up until now support
	      for multiple interfaces was amateurish at best.
	    - Support for different credentials for discovery and target. Ground
	      work to support authentication methods other then CHAP.
	    - Thin wrap around iscsiadm to separate cmdline parsing from actual
	      VDSM iscsi logic

	Stuff known to be broken:
	    - implicit interface creation. As this was never officially
	      supported by VDSM I will not bring this back.
	    - tpgt is ignored. This is in line with old VDSM behaviour.

	Note that the confusing naming is still used by the old API calls for
	backward compatibility. New API calls should try and use correct naming
	and format!

2012-03-06  Federico Simoncelli  <fsimonce@redhat.com>

	Initial live block migration API

	Update the live merge implementation
	In this patch:
	* Add the support for partial merges (blockRebase)
	* Handle all the corner cases when vdsm is restarted

	Add the vdsm-tool command

	Move the VDSM common code to the python site lib
	Some VDSM code is shared between different components (eg: vdsm and
	vdsm-cli share vdscli.py) and some modules have a really common name
	(eg: utils, config) risking to collide with other packages.
	For these two reasons and for cleanliness some modules are moved to
	a new location (the standard python site lib) and they can be shipped
	in a different package.

2012-03-06  Saggi Mizrahi  <ficoos@gmail.com>

	Minor cleanup in processPool

	Release logging module lock after fork

2012-03-06  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Remove another instance of traceback.format_exc

2012-03-06  Dan Kenigsberg  <danken@redhat.com>

	drop three ancient rotting files
	No idea why Tabula Rasa did not do his trick on them.

2012-03-06  Gal Hammer  <ghammer@redhat.com>

	A new method to read from VMs' channels.
	Replaced having a thread-per-VM that monitors and reads from the
	VM's virtual channel with a 1-thread listener that handles all
	VMs' channels.

	This patch should reduce vdsm's memory usage consumed by memory
	overhread of each thread.

2012-03-06  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#798211 - Normalize hibernation images

2012-03-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix NETPREFIX AttributeError.
	Constant was removed in Change-Id: Id7a3efea92.

2012-03-01  Dan Kenigsberg  <danken@redhat.com>

	BZ#797354 drop enic from modprobe.d/vdsm.conf

2012-03-01  Federico Simoncelli  <fsimonce@redhat.com>

	Initial live merge implementation

2012-03-01  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Replace most traceback.format_exc() calls by exc_info

2012-02-29  Federico Simoncelli  <fsimonce@redhat.com>

	Initial unit tests implementation

	Fix make distcheck errors

2012-02-27  Dan Kenigsberg  <danken@redhat.com>

	BZ#737104 Disallow cross-vendor virtualization

2012-02-24  Federico Simoncelli  <fsimonce@redhat.com>

	Automatically detect qemu-kvm path in vdsm-faqemu

2012-02-24  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Fix typo

2012-02-24  Doron Fediuck  <dfediuck@redhat.com>

	boostrap completion: Restart vdsmd service.
	Recently we've fixed the functionality which avoids
	reboot once bootstrap is completed. However, the vdsmd
	service requiers restart in order to pick up the new
	configuration and the new certificates issues during
	the bootstrap.

	This patch uses the same logic as the ovirt-node reboot
	function, which reboots the machine or restarts the
	vdsmd servide when reboot is avoided.

2012-02-23  Eduardo Warszawski  <ewarszaw@redhat.com>

	Tuple is cheaper than list.

	Fix minor log issue.

2012-02-22  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix typo in log message

2012-02-21  Federico Simoncelli  <fsimonce@redhat.com>

	Release the host ID only when dom is defined

2012-02-21  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix vdsm disks ops for the new API.

2012-02-21  Igor Lvovsky  <ilvovsky@redhat.com>

	Revert "Fix remotePath comparison in getStorageDomainsList".
	This patch broke filtering in getStorageDomainsList query

	This reverts commit fe22ef5fe9893bbf7ba02c4fc2e83e4f6c2197dc.

2012-02-21  Doron Fediuck  <dfediuck@redhat.com>

	boostrap completion: fix no reboot function and report.
	This patch fixes the functionality of no reboot as a
	given argument to the script. So using 0 will avoid
	rebooting and anything else will continue rebooting
	as it did so far.

	Additionaly the vds_bootsrap_complete XML report was corrected;
	when the script is being asked not to reboot the machine,
	so the operation is still considered to be a success.

2012-02-20  Dan Kenigsberg  <danken@redhat.com>

	migrateCancel: properly fix another typo

2012-02-19  Dan Kenigsberg  <danken@redhat.com>

	libvirtvm.Drive: compute blockDev locally
	There is no need to expose the blockDev boolean in Vdsm API; but it
	should exist in any Drive.

	task.py: avoid overtly silly casting to str()
	For a reason unknown (to me), task.py does not use pickle to persist its
	data to file. We cannot fix that without breaking
	backward-compatibility. However, we can avoid pointless casts to str,
	and can encode data to utf8 before storing to disk.

	Note that this patch does not solve BZ#567077 as the storage subsystem
	prevents entry of Unicode arguments. This prevention must be kept
	for old storage domain formats.

	BindingXMLRPC: fix typo

2012-02-19  Saggi Mizrahi  <smizrahi@redhat.com>

	This us a useful method for converting namedtuples to dictionaries

2012-02-19  Haim Ateya  <hateya@redhat.com>

	Reduce log verbosity for unknown devices from error to warn

2012-02-19  Saggi Mizrahi  <smizrahi@redhat.com>

	Make validateStorageServerConnection API call a noop
	This call is useless and slow. It check different things in different
	levels for different storage types and does not guarantee a future
	connect will succeed. Until someone actually defines what is actually
	being validated (params? hostname? permissions? authentication tokens?)
	I suggest to just disable this verb so it doesn't make any NFS
	connection take twice as long and be exponentially more complex.

	Fix connectStorageServer doc string

	Fix remotePath comparison in getStorageDomainsList
	Note that filtering getStorageDomainsList according to remotePath is
	still broken for block domains (luckily it is never used).

2012-02-19  Shahar Havivi  <shaharh@redhat.com>

	add/del network - add bridgesless network

2012-02-19  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#790014 Fix multiple issues in detachSD
	In this patch:
	* Remove __unmountLastMaster, the manager cannot deactivate the master
	  storage domain (where the SPM resource is hold)
	* Move all the checks related to the master migration inside masterMigrate
	* detachSD cannot be used to migrate a master

	Note that this patch makes it possible to deactivate a master domain
	(thus breaking the pool) even if there are other active domains in the
	pool. A future patch should discuss if reverting to the old semantics is
	necessary, and if so - how it should be done.

2012-02-19  Eduardo Warszawski  <ewarszaw@redhat.com>

	Restore optional drive cap.

2012-02-17  Federico Simoncelli  <fsimonce@redhat.com>

	Improve the lvm.USER_DEV_LIST parsing
	In this patch:
	* Remove the ConfigParser.Error exception handling (impossible)
	* Filter out empty strings

2012-02-16  Shahar Havivi  <shaharh@redhat.com>

	Clean libvirt networks if bridge not exists

2012-02-16  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Flip execCmd default to sudo=False

2012-02-16  Adam Litke  <agl@us.ibm.com>

	storagePool: Reject unknown method in uploadVolume
	Address a previously identified TODO in the code and report an error if a method
	other than 'wget' or 'rsync' is specified.

2012-02-16  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Add myself to the authors list

2012-02-15  Igor Lvovsky  <ilvovsky@redhat.com>

	Allow drive devices without indices

2012-02-15  Dan Kenigsberg  <danken@redhat.com>

	configNet: drop local reimpl of utils.tobool

2012-02-14  Federico Simoncelli  <fsimonce@redhat.com>

	Move dumpStorageTable from vdsm_cli to vdsm
	The dumpStorageTable.py script is used by the sos plugin shipped with
	vdsm.

	VDSMBRIDGE doesn't need a special expansion

	Fix RHEL qemu-kvm requirements

2012-02-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	fix spmStop failure
	SPM_ID pool key is written after we are not SPM anymore.
	(By design.)

2012-02-14  Adam Litke  <agl@us.ibm.com>

	Log exceptions when calling irs functions from XMLRPC (V3)
	Changes since V2:
	 - Use style log.error("error message", exc_info=True)
	Changes since V1:
	 - Return errcode['unexpected'] instead of raising an exception

	An earlier change I made introduced a bug in API.py that triggered an exception
	when calling the 'getDeviceList' XMLRPC call.  Unfortunately the server-side
	exception was not logged anywhere (which made debugging more difficult).  This
	patch adds exception logging for irs methods (note: wrapApiMethod already does
	this for the other calls).

2012-02-13  Saggi Mizrahi  <smizrahi@redhat.com>

	Implement __hash__ for mount objects
	mount.Mount.__eq__ is already defined, so we should have __hash__ as
	well to make Mount properly hashable.

2012-02-13  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsClient: drop clearAsyncTask
	Removed clearAsyncTask

2012-02-13  Federico Simoncelli  <fsimonce@redhat.com>

	Fix CpuInfo.cores() for missing IDs in cpuinfo

2012-02-13  Dan Kenigsberg  <danken@redhat.com>

	fix broken migration

2012-02-13  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Clean up flowID logging
	This change should prevent empty IDs being logged.

2012-02-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Revert "Fix getMasterDomain masterVersion handling"
	This reverts commit ce280b09c776b33203847dc7e7ad77ee90a34bc0.

	masterVersion is an exclusive property of RHEV-m.
	There are no RHEV-M flows that not send the expected version.
	All VDSM flows should have an expected version.
	Towards a masterVersion (>0) meaning a master domain and
	removing redundant metadata fields as isMaster, etc.

2012-02-12  Shahar Havivi  <shaharh@redhat.com>

	added mtu support for network interface

2012-02-12  Gal Hammer  <ghammer@redhat.com>

	Added an option to create a memory balloon device.
	A support for a virtual memory balloon device was added
	to the "devices" configuration.

2012-02-12  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Adding flowID
	This patch will implement the flowID schema in vdsm side. The idea is
	provide a mechanism to identify the flow between ovirt engine and vdsm API calls
	in order to identify the entire scope of the backend action
	(which possibly consisted of several VSDM calls). At moment, we are
	going to use HTTP headers to implement this feature to keep the
	compability with current API, avoiding possible breakes.

2012-02-12  Shahar Havivi  <shaharh@redhat.com>

	addNetwork in BindingXMLRPC is not forwarding options

2012-02-12  Igor Lvovsky  <ilvovsky@redhat.com>

	NIC model should be converted from 'pv' to 'virtio'

2012-02-12  Dan Kenigsberg  <danken@redhat.com>

	BZ#785717 caps: cpuCores should report only physical cores
	CPU Hyper-Thread shows up as a processor in /proc/cpuinfo, but does not amount
	to a physical core.

2012-02-10  Rami Vaknin  <rvaknin@redhat.com>

	Mailbox: Use EXT_DD instead of dd

2012-02-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	_createXMLRPCServer: avoid some code duplication

2012-02-08  Saggi Mizrahi  <smizrahi@redhat.com>

	Happy new year hsm.py

2012-02-08  Eduardo Warszawski  <ewarszaw@redhat.com>

	Adding optional startupPolicy for (file) cdrom and floppy.

2012-02-08  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BindingXMLRPC: Initialize s.lastClient as IP
	Fix the error: illegal IP address string passed to inet_aton

2012-02-07  Dan Kenigsberg  <danken@redhat.com>

	Adam Litke is an AUTHOR

2012-02-07  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#787722 - Make the spm internal lock an RLock
	This will prevent the object from deadlocking itself when moving between
	protected areas in related methdos.

2012-02-07  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Fix another mac address comparison issue caused by letter case.

2012-02-07  Dan Kenigsberg  <danken@redhat.com>

	have an empty lastClient on xmlrpc startup

	BZ#787710 configNet: allow multiple nets

2012-02-06  Adam Litke  <agl@us.ibm.com>

	Fix typo in xmlrpc bindings registration
	Fix a typo in the xmlrpc binding that was causing the mergeSnapshots command to
	be misnamed.

2012-02-06  Haim Ateya  <hateya@redhat.com>

	BZ#787594 - Enable fenceSpmStorage on hsm nodes

2012-02-06  Douglas Schilling Landgraf  <dougsland@redhat.com>

	contrib: Adding contrib/nfs-check.py
	nfs-check is a python script to validate nfs targets.
	Currently, nfs-check mount the nfs target, create a file as vdsm:kvm
	and remove it. If any of these operations fails, the script will make
	suggestions to make the NFS server available for the tests.

	$ sudo python nfs-check.py
	Usage: nfs-check.py server:/target

2012-02-05  Dan Kenigsberg  <danken@redhat.com>

	BZ#785557 bootstrap: do not mark ifcfg as NM_CONTROLLED
	Network devices created by Vdsm should not ask to be controlled by
	NetworkManager. Particularly when NM does not support controlling them
	(bridge device).

	However, we require that the non-default network.service is started in
	order to control them.

	BZ#773371 call `vdsmd reconfigure` after bootstrap
	If installation change ssl from False to True and added valid
	certificates, we need to reconfigure vdsm to use it.

	This was done by the "reconfigure" verb for our SysV daemon, but
	unsupported by systemd.

	This patch is an ugly hack for an oVirt release, until we have a proper
	vdsm-tool for these purposes.

2012-02-05  Shahar Havivi  <shaharh@redhat.com>

	promisc hook: release monitor traffic on before_vm_destory
	after_vm_destroy is too late to release tc monitor traffic,
	moving the event to before_vm_destroy event.

2012-02-05  Igor Lvovsky  <ilvovsky@redhat.com>

	Add hotPlug/hotUnplug NIC feature

	Add hotplugNic/hotunplugNic feature to vdsClient.
	Usage: vdsClient 0 hotplugNic|hotunplugNic vmUUID <nicspec>

	'nicspec parameters list: r=required, o=optional',
	 'r   device: bridge|sriov|vnlink|bridgeless.',
	 'r   network: network name',
	 'r   macAddr: mac address',
	 'r   nicModel: pv|rtl8139|e1000',
	 'o   bootOrder: <int>  - global boot order across all bootable devices'

2012-02-05  Dan Kenigsberg  <danken@redhat.com>

	Fix two regressions introduced by the API.py refactoring
	The recovery code is left a serious need of refactoring. At least it is
	working now.

2012-02-04  Igor Lvovsky  <ilvovsky@redhat.com>

	Add cluster version 3.1

2012-02-04  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BindingXMLRPC: wrapper - fix __name__
	- list now is getVMList
	- getVdsStats now is getStats
	- desktopLogin now is vmDesktopLogin

2012-02-04  Federico Simoncelli  <fsimonce@redhat.com>

	Excluding some VM commands on migration
	Some operations are not permitted during a live migration:

	* take a live snapshot
	* hotplug/hotunplug a disk device

2012-02-02  Federico Simoncelli  <fsimonce@redhat.com>

	Fix the XMLRPC binding for vmSnapshot

2012-02-01  Igor Lvovsky  <ilvovsky@redhat.com>

	Minor code refactoring during domXml parsing

2012-02-01  Federico Simoncelli  <fsimonce@redhat.com>

	Fix small issues introduced by API.py

2012-02-01  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix exception string for mount commands

2012-02-01  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove BLANK_POOL_UUID constant.

2012-02-01  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix broken APIs: hotplugDisk, hotunplugDisk, migrateCancel

2012-01-31  Adam Litke  <agl@us.ibm.com>

	Move API out of clientIF
	Many API functions are implemented inside clientIF but this is no longer the
	proper place for them.  Move API-related functions into their proper objects
	inside API.py.  clientIF still owns the storage dispatcher and the vm list.  In
	the future, I would like to move these out of clientIF as well but I have
	decided to reserve that for a future patch series.

	Add an object model to clientIF
	Create an object-based API for vdsm.  The current objects are: Task,
	StoragePool, StorageDomain, Image, Volume, ISCSIConnection, LVMVolumeGroup, and
	VM.  Additionally, a Global object currently handles APIs which don't map nicely
	to one of the above objects.  Right now this interface is only an abstraction
	that maps directly to the flat function namespace.  This will change later in
	the patch series and more over time.  Since this API is internal (it only
	affects bindings), we can continue to change it over time without affecting
	ovirt-engine.

	Factor out xmlrpc server
	Move the xmlrpc server code out of clientIF and into its own file.

2012-01-30  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#769502 Do not use lvm to get lv size if lv is active
	Calling LVM is expensive so the less we use it the better.

2012-01-30  Adam Litke  <agl@us.ibm.com>

	API: Separate clientIF and the xmlrpc server
	Currently the xmlrpc server functionality is entwined with the clientIF class.
	In order to proceed with the API bridge plan (http://ovirt.org/wiki/Vdsm_API) I
	would like to separate the xmlrpc server into its own class.  This brings
	clientIF one step closer to becoming a generic API Bridge that is able to host
	additional bindings such as REST and QMF.

	Despite the size of this patch, this was a pretty simple refactoring.  I made
	the following choices as I split this out:

	- The xmlrpc server binding class has start() and prepareForShutdown() APIs
	- clientIF will still own the storage dispatcher but API wrapper mechanisms
	  have moved into the xmlrpc class.

2012-01-30  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#773666 - Avoid more rw changes in HSM flows.

2012-01-30  Federico Simoncelli  <fsimonce@redhat.com>

	Use SANLock for the SPM resource

	Change safelease APIs to match SANLock flow

	Add the live snapshot command to vdsClient
	Add the new vdsClient command to take live snapshots:

	  vdsClient [-s] <host> snapshot <vmId> \
	      <sdUUID> <spUUID> <imgUUID> <baseVolUUID> <volUUID>

	Implement VMs live snapshots
	Add a new command to take live snapshots of VMs:

	  clientIF.snapshot(vmId, snapDrives)

	The parameter snapDrives is in the format:

	  snapDrives = [
	    { "domainID": "<sdUUID>",
	      "imageID": "<imgUUID>",
	      "baseVolumeID": "<baseVolUUID>",
	      "volumeID": "<volUUID>" },
	    ...
	  ]

2012-01-29  Dan Kenigsberg  <danken@redhat.com>

	destroy may be called when the Vm is already Down
	This patch fixes an error introduced in c0766ddb0852fd391d15424ae24761.

	add a virtio console to each VM
	With this patch, vdsm-controlled VMs support `virsh console`. Note that
	guest kernel should have virtio drivers and stream its console i/o to
	the virtio-console device.

2012-01-29  Shahar Havivi  <shaharh@redhat.com>

	Add before_vm_destroy hook
	Run a hook directory when a Vm is asked to die. Note that a Vm may die
	without being asked to, were the hook would not run.

	This hook is currently missing from Vdsm since I was not sure what
	should be its exact semantic. However in hindsight, we'd better have
	something (even awkward) and improve after feedback from the real world.

2012-01-29  Igor Lvovsky  <ilvovsky@redhat.com>

	Add hotplugDisk/hotunplugDisk feature to vdsClient.
	Usage: vdsClient 0 hotplugDisk|hotunplugDisk vmUUID <drivespec>
	   'drivespec parameters list: r=required, o=optional',
	   'r   iface:<ide|virtio> - Unique identification of the existing VM.',
	   'r   index=<int> - disk index unique per interface virtio|ide',
	   'r   [pool:UUID,domain:UUID,image:UUID,volume:UUID]|[GUID:guid]|[UUID:uuid]',
	   'r   format: cow|raw',
	   'r   readonly: True|False   - default is False',
	   'r   propagateErrors: off|on   - default is off',
	   'o   bootOrder: <int>  - global boot order across all bootable devices',
	   'o   shared: True|False',
	   'o   optional: True|False'

	Add hotPlug/hotUnplug disk feature

2012-01-27  Federico Simoncelli  <fsimonce@redhat.com>

	Fix metadata file permissions for fileSD
	In this patch:
	* remove createmetafile (we already have other functions to create an
	  empty file)
	* create empty metadata files (createmetafile was using sizeStr2Int
	  which is wrong)
	* set the metadata files permission to 0660

2012-01-25  Matthias Heinz  <matthias.heinz@goobernetworks.com>

	This patch adds some basic debian support

2012-01-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#782348 - Fix getBridgeParams()
	Blank lines are valid in /etc/sysconfig/network-scripts/ifcfg-ethX

2012-01-25  Haim Ateya  <hateya@redhat.com>

	Set exc_info=True when self.message is used in log.error for vds_bootstrap

2012-01-25  Douglas Schilling Landgraf  <dougsland@redhat.com>

	BZ#619360 enable and start ntpd
	Vdsm needs to keep host time in sync, or else guest time would lap if
	guest is started on a different host. Make sure ntpd is running.

2012-01-24  Igor Lvovsky  <ilvovsky@redhat.com>

	Add validate minimal keys set in dictionaries

	Fix address parsing during build domXml

2012-01-24  huntxu  <mhuntxu@gmail.com>

	Make getRoutes() return the default gateway of each bridge interface
	Assuming `route -n` returns the followings:
	Kernel IP routing table
	Destination   Gateway     Genmask       Flags Metric Ref Use Iface
	192.168.1.0   0.0.0.0     255.255.255.0 U     0      0   0   engine
	0.0.0.0       192.168.1.1 0.0.0.0       UG    0      0   0   engine
	192.168.10.0  192.168.1.2 255.255.255.0 UG    0      0   0   engine

	Then the last shown gateway of engine '192.168.1.2' would be returned
	by this functions since it latest occurs in /proc/net/route.
	This commit makes this function always return the default gateway of
	each bridge interface as ovirt-engine expects.

2012-01-23  Dan Kenigsberg  <danken@redhat.com>

	setupNetwork: release deleted network first
	We may need their resources for newly requested networks.

	Do not distribute vdsm-gencert.sh
	... and particularly not one that has /usr/local as a prefix, and fails rpm
	creation.

2012-01-23  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix race during VM recovery flow
	In this patch:
	 * Save conf just after build devices

2012-01-23  Mark Wu  <wudxw@linux.vnet.ibm.com>

	Ignore differences in case when comparing mac addresses

2012-01-22  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm/Makefile.am: fix make install
	currently vdsm-logrotate.conf is not generated automatically, which break the 'make install'
	[vdsmdevel@medogz vdsm]$ sudo make install
	[sudo] password for vdsmdevel:

	<snip>
	/usr/bin/install -c -m 644 vdsm.rwtab \
		/etc/rwtab.d/vdsm
	/bin/mkdir -p /etc/logrotate.d
	/usr/bin/install -c -m 644 ./vdsm-logrotate.conf \
		/etc/logrotate.d/vdsm
	/usr/bin/install: cannot stat `./vdsm-logrotate.conf': No such file or directory
	make[3]: *** [install-data-logrotate] Error 1
	make[3]: Leaving directory `/home/vdsmdevel/sem-patch/vdsm/vdsm'
	make[2]: *** [install-am] Error 2
	make[2]: Leaving directory `/home/vdsmdevel/sem-patch/vdsm/vdsm'
	make[1]: *** [install-recursive] Error 1
	make[1]: Leaving directory `/home/vdsmdevel/sem-patch/vdsm/vdsm'
	make: *** [install-recursive] Error 1
	[vdsmdevel@medogz vdsm]$

2012-01-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	Removing dead code.

2012-01-22  Federico Simoncelli  <fsimonce@redhat.com>

	Avoid to activate parent volume on cloning
	The benefit is that we can now create new snapshot volumes without
	looking at the parent. This is indispensable for live snapshots since
	the parent volume is in use by the VM.

	WARNING: if you run an SPM host with this change you need all the
	HSM hosts to have: I4b5cb55a868cb9bf5a720610273af139ee858a1a (Don't
	lock the image when preparing the VM path) and you won't be able use
	the domain from old SPMs/HSMs anymore.

	In this patch:
	* Do not activate the parent volume on cloning (it could be in use
	  by the VM), the only information needed is the size and it can be
	  provided as additional parameter in qemu-img
	* Do not change the volume permission to read-only when setting the
	  parent to "internal" (it could be in use by the VM)

	Refactor prepareVolumePath in clientIF
	In this patch:
	* refactoring
	* set drive['volumeChain'] (required for sanlock and bz760547)
	* set drive['blockDev']  (required for the hotplug feature)

	Remove the _preparedDrives dictionary from vm
	The _preparedDrives dictionary was a fix for bz670599 introduced with
	the commit 7aa57fe. Currently prepareVolumePath is not relying on the
	resource manager anymore and therefore the race fix is superfluous.

	In this patch:
	* make prepareVolumePath and teardownVolumePath public

2012-01-20  Federico Simoncelli  <fsimonce@redhat.com>

	Do not lock the image when preparing the VM path
	Since the resource manager scope is local there is no need for a VM
	to take an exclusive lock on the images: in fact the SPM running on
	an other machine could still manipulate such images.
	Using the resource manager in general on HSM is wrong because it is
	mapped on actions that are valid only on the SPM such as: modifing
	the lvm permissions and the modification time in the metadata.

	In this patch:
	* add an activate/deactivate image method to StorageDomain
	* implement the activate/deactivate image for BlockStorageDomain
	* add the prepareImage/teardownImage methods in HSM

2012-01-19  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#783098 - notFound should be and iterable and not an iterator.

2012-01-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#782099 - Add vdsm modprobe configuration.
	This is required as a hack around kernel bug 772317.

2012-01-18  Dan Kenigsberg  <danken@redhat.com>

	getDevInfo: report partitioned devices, too
	One cannot create a PV on a partitioned device, and therefor such
	devices where not reported to Engine. This proved surprising to users
	who wonder where their LUN disappeared.

	Vdsm should report all devices, and ovirt-engine should mark partitioned
	devices as unworthy of a PV. In the future, Vdsm may allow to forcefully
	remove a partition table from a device, to make it usable as a PV.

	hard-coding the value of se.StorageException.code is ugly

2012-01-17  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#773371 Generate the VDSM certificates
	VDSM is installed with ssl enabled by default, such configuration
	requires the certificates to be generated when they're missing.

	Group the cluster lock code into a new SP method
	Both the create and reconstructMaster methods were sharing a very
	similar code for temporarly acquiring the cluster lock.

2012-01-17  Eduardo Warszawski  <ewarszaw@redhat.com>

	Change device ownership for VM's drives.

2012-01-17  Igor Lvovsky  <ilvovsky@redhat.com>

	Support stable PCI address for uknown general devices

	Support stable PCI address for controller devices

2012-01-17  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#770834 Handle complex interface names in nicSort

2012-01-16  Federico Simoncelli  <fsimonce@redhat.com>

	Move all the substitution at make time
	Moving all the substitution at make time we can avoid the double pass
	on the .in.in files.

2012-01-16  Igor Lvovsky  <ilvovsky@redhat.com>

	Support stable PCI addresses for video/sound/disk/nic devices.
	- The 'getVmStats'/'getAllVmStats' verbs report the hash of the device part of domXml per VM.
	- Return full vm's conf including device's addreses
	- Handle new addresses parameter in vm's create flow

	Add 'readonly' attribute to disk's libvirt XML

2012-01-16  Dan Kenigsberg  <danken@redhat.com>

	Use drive[path] only after it is known
	... and make isBlockDevice actually work. Thanks, xTs_w!

	BZ#781970 kaxmlrpclib: fix plaintext transport in Python 2.7

2012-01-16  Shahar Havivi  <shaharh@redhat.com>

	BZ#773364 cancel-migration: abort migration on dest results an exception
	While starting migration, it appear in dest host vm list.
	When trying to cancel migration the _dom have not set, and when trying
	to call abortJob() we get AttributeError() exception.

2012-01-15  Federico Simoncelli  <fsimonce@redhat.com>

	Mark vds_bootstrap as executable in the Makefile
	The bootstrap files should be always installed as executables (not only
	in the rpm package).

2012-01-15  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#769502 Check if block device w/o invoking storage subsystem
	...and fix a bug about SHAREDFS being considered as block domain.

	BZ#769502 Move limit configuration to its proper place
	Currently limit configuration is managed part by vdsmd.init and part by
	vdsm configuration. This is confusing an non standard. Putting a Vdsm
	configuration file in limits.d will make admins life easier when looking
	to change Vdsm's limits.

	This may result in a surprise on upgrade - if someone has
	max_open_files=nondefault on his vdsm.conf.

	HOWEVER, these are very few and very technical users who could handle
	(and would prefer) this sitting in limits.d

	Throw key error in case on missing or already registered namespace

	BZ#769502 - Make namespace registering more efficient

2012-01-15  Haim Ateya  <hateya@redhat.com>

	BZ#781317 - adjust getos() to print real node type

2012-01-15  Dan Kenigsberg  <danken@redhat.com>

	allow running old-style Vm without 'drives'
	This has no effect on engine-initiated VMs which always have 'drives'
	(or in the future, 'devices'). Only manual tests are affected.

	drop ugly dead function execAndGetOutput

2012-01-15  Saggi Mizrahi  <smizrahi@redhat.com>

	Added copyright info to securable.py

2012-01-14  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#771329 Use a copy of the domainsToUpgrade
	The original code just uses another ref that is changed while iterated
	which has unexpected results. This was not apparent as the remove might
	happened after the iteration because it might run in another thread.

	To illustrate:

	In [1]: a = [1,2,3,4,5,6,7,8,9,10]

	In [2]: for i in a:
	...:     a.remove(i)
	...:

	In [3]: a
	Out[3]: [2, 4, 6, 8, 10]

	In [4]: for i in a:
	...:     a.remove(i)
	...:

	In [5]: a
	Out[5]: [4, 8]

	In [6]: for i in a[:]:
	...:     a.remove(i)
	...:

	In [7]: a
	Out[7]: []

	Fun!

	Raise ongoing creations count
	Multi-core hosts are generally more capable to start up multiple qemu
	processes efficiently. (And, the RHEL-5 kernel bug that limited
	_ongoingCreations to 1 is long irrelevant)

2012-01-13  ye kap  <yeela.kaplan@gmail.com>

	BZ#771686 fix MAX_VLAN_ID

2012-01-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#773666 - Fix HSM flows should not change rw permissions.
	Changing permissions on LV/File is a clustered operation and
	should never be done in HSM.
	Prepare is used by HSM therefore should not change permissions.
	Minimal fix needs further development.

2012-01-12  Dan Kenigsberg  <danken@redhat.com>

	BZ#772556 bootstrap: ignore restorecon errors
	This is particularly painful if SELinux is disabled.

2012-01-12  Shahar Havivi  <shaharh@redhat.com>

	BZ#772670 [rhevh] network is not set after using boot params
	When using vdsm-reg we are adding/deleting network before libvirt starts.
	Added a "hidden" parameter to add/delNetwork if we want to skip libvirt's
	add-network.
	When vdsm is up it is syncing the libvirt network with host bridge.

2012-01-11  Federico Simoncelli  <fsimonce@redhat.com>

	Set the drive sizes to '0' as default
	In some situations (eg: empty cdrom drive) the 'reqsize' and the
	'apparentsize' arguments are missing and they should be considered '0'.

2012-01-10  huntxu  <mhuntxu@gmail.com>

	BZ#772591 Specify which user/group should be used for core dumps rotation
	New 'su' directive is new to logrotate 3.8.0. This patch breaks systems
	with older logrotate.

2012-01-10  Igor Lvovsky  <ilvovsky@redhat.com>

	Support specParams parameter as dictionary per device

	All size parameters in vm's conf should be strings and not integers

2012-01-10  Federico Simoncelli  <fsimonce@redhat.com>

	Don't try to schedule SPM tasks on HSM
	When the manager tries to run an SPM task on an HSM host the returned
	(and logged) error is not clear:

	Traceback (most recent call last):
	[...]
	  File "/usr/share/vdsm/storage/hsm.py", line 571, in _spmSchedule
	    self.taskMng.scheduleJob("spm", pool.tasksDir, vars.task, name,
	                             func, *args)
	AttributeError: 'StoragePool' object has no attribute 'tasksDir'

	VDSM should verify to be an SPM before trying to schedule any spm
	job.

	Don't change the name of a secured class
	The variable 'name' used to name the secured classes was overridden
	by the 'name' variable used to cycle over the methods.
	The result was that the secured classes were renamed to their last
	method name, eg: storage.sp.StoragePool => storage.sp.setMaxHostId.

2012-01-09  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix warning: File listed twice

2012-01-08  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove unnecessary validates.
	All this instances race with the "recover" state of the VDSM,
	if disk info is required when the StoragePool is not reconnected
	yet.

	Remove unnecessary validation.
	This check prevents VDSM to query info about a disk on a running
	VM after VDSM restart.

	Fixing unnecessary preparePath() call on recover.
	On behalf of Dan Kenisberg.

2012-01-08  Igor Lvovsky  <ilvovsky@redhat.com>

	For BC we should to keep running VM run after vdsm upgrade.
	So, because this vm doesn't have normalize conf we need to build it
	in recovery flow

	Fix sendExtendMsg declaration, should be public

2012-01-07  Saggi Mizrahi  <smizrahi@redhat.com>

	Move domain monitor out of sp.py
	Domain monitoring logic should be seperated from the core pool logic to
	reduce StoragePool class complexity

	Make exporting more pythonic
	This seperated the dispatcher from hsm and allows us to add propertoes
	to all public function with ease

	Move reconnect file existence check
	Move the check to the inside of the _saveReconnectFunction show it's
	always recreated.

2012-01-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix getMasterDomain masterVersion handling
	If getMasterDomain() gets -1 as the expected masterVersion it should
	skip the masterVersion equality test and accept whatever version is in
	the MD.

	Fix logging formatting in resourceManager

2012-01-06  Haim Ateya  <hateya@redhat.com>

	BZ#674010 - Fix name error in vdsClient - 'commands' not found

2012-01-05  Igor Lvovsky  <ilvovsky@redhat.com>

	Support new type of vmParams parameter for VM create.
	- Normalize old vmParams to support new type that includes 'devices' key
	- Return normalized conf including 'devices'
	- Add new general Device class
	- Add subclasses for each device: Drive, NetworkInterface, Sound, Video

2012-01-05  Shahar Havivi  <shaharh@redhat.com>

	new verb: migration cancel
	the verb migrateCancel will take vmid and try to stop migration,
	if there is no migration in progress it will return error.

	when migrateCancel stop the migration progress, the migrate verb will
	return error "Migration canceled"

2012-01-05  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm_reg: rename rhevm.py to engine.py
	Renamed the file rhevm to engine.
	BZ#771414

	rhevm.py: replace RHEV-M string to oVirt-Engine
	Replace RHEV-M string to oVirt Engine
	BZ#771414

2012-01-04  Saggi Mizrahi  <smizrahi@redhat.com>

	Removed useless docs from lvm.py
	Man pages exist for a reason.

	Keeping copies of documentation in the code is necessary cry and will only
	grow stale in time.

	To see the list of fields run:
	$ lvm lvs -o help

2012-01-03  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix floppy drives: bus should be 'fdc'.

2012-01-02  Federico Simoncelli  <fsimonce@redhat.com>

	Compile python files using automake
	In this patch:
	* Use the PYTHON macro to compile python files
	* Remove the redhat-rpm-config build dependency
	* Move the vdsm sos plugin into its own directory to avoid the custom
	  file renaming and to use the PYTHON macro
	* Update the gitignore file and the copyright in the touched files
	* Add the all-local target to force the substitutions in the python
	  files
	* Unify the macro substitution in build-aux/Makefile.subs

2012-01-02  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-reg.conf.in: remove vdc_authkeys_path
	The auth key is defined in deployUtil.py.in
	This conf value has never been used.

2012-01-02  Haim Ateya  <hateya@redhat.com>

	BZ#769179 - Omit getSessionList from vdsClient and its dependent files

2011-12-30  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsmd.8: update man page to reference oVirt
	Replace any remaining reference from RHEV to oVirt

2011-12-28  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm-reg: change registration servlet name
	Note that this change prohibits registration of Vdsm to RHEV-M-3.0.
	It depends on ovirt-engine change I4f36a302adbafdc5f9d0bb219896c794cbad31dd
	BZ# 752464.

	replace default bridge name from brVDSM to ovirtmgmt

2011-12-27  Douglas Schilling Landgraf  <dougsland@redhat.com>

	deployUtil: replace rhevm cert to engine
	Note that this patch breaks bootstrap for RHEV-M-3.0

	rename rhevm bridge to brVDSM
	Remove rhevm as bridge and use brVDSM
	http://bugzilla.redhat.com/753879
	http://bugzilla.redhat.com/753571

	Add Fedora support to vdsm-bootstrap
	while (hopefully) maintaining RHEL-5 support, and leaving bridge name
	games to a following patch.

	make vds_bootstrap executable again
	while keeping rpmlint happy.

2011-12-26  Federico Simoncelli  <fsimonce@redhat.com>

	Handle EAGAIN and EINTR in ProcessPool.runExternally

	Add NoIntr utility class

2011-12-26  Douglas Schilling Landgraf  <dougsland@redhat.com>

	create /rhev repository
	Currently, the repository /rhev is not created automatically by
	vdsm.spec.in. Without this directory, vdsm doesn't work correctly
	and vdsm will throw errors messages like:
	[Errno 30] Read-only file system: '/rhev' or even 'permission denied'.

2011-12-26  Saggi Mizrahi  <smizrahi@redhat.com>

	Add protocol version selection support for the NFS protocoll

	Support changing retransmission number and timeout for nfs mounts
	Parameter validity is done by mount. Valid ranges should be tested for
	and implemented in the UI.

	Add SharedFS Support
	This adds a new connection type called sharedfs (6). This is a way for
	users to try and use unsupported NAS storage as domains. This is
	considered bad practice and completely unsupported.

	The connection dict should be:
	{"id": <ID>,
	 "connection": <MOUNT SPEC> eg. server:/export
	 "vfs_type": <MOUNT VFS TYPE> eg. nfs
	 "mnt_options": <MOuNT OPTIONS> eg. user=0,noatime

	Minor refactoring

	Rename *FileServer methods to *NFSServer to prevent confusion

	Rearange code in storage_connection to minimize code duplication

2011-12-26  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#736034 - Add metadataignore switch to pvcreate.
	We would like to pre-allocate metadata space in all PVs
	used for our VGs. However, we are using only the metadata
	of the first PV.
	This is important for an occasion where the first PV has
	to be removed and the metadata it carries has to be copied
	into somewhere else.

	Could not have been done without Haim's help.

2011-12-26  Douglas Schilling Landgraf  <dougsland@redhat.com>

	storage_connection: unexpected keyword 'timeout'
	remove from mount.Mount() timeout argument
	added to umount() and mount() the timeout argument

	vdsm log:
	==========
	Thread-1265:INFO::2011-12-23 17:47:54,285::storage_connection::128::Storage.ServerConnection:(validae(Request to
	validate NFS storage server)
	Thread-1265:ERROR:2011-12-23 18:47:54,285::storage_connection::291::StoragerServerConnection::(__validadeFileServer)
	Error during storage connection validation: __init__() got an unexpected keyword argument 'timeout'
	Traceback (most recent call last):
	File "/usr/share/vdsm/storage/storage_connection.py", line 264, in __validateFileServer
	TypeError: __init()__ got an unexpected keyword argument 'timeout'

2011-12-25  Federico Simoncelli  <fsimonce@redhat.com>

	Improve the cleanStorageRepository method

	BZ#747917 Don't get information about mountpoints
	The regular os.walk() function tries to identify the files present in
	the given path. Avoiding to descend into the mountpoint is not enough
	to prevent vdsm from getting stuck if a NFS mount is unreachable, we
	should also prevent any other operation, eg: os.path.isdir().

2011-12-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	Restore shared raw disks (after refactoring).

	Optional: Drive.__str__().

	Remove _addFloppy. floppy is now in _drives.
	Where is flipper?

	Remove appendCD. cdrom is now in _drives.

	Normalize support for legacy drives.

	Adding arbitrary disks to _drives.

	Simplified Drive class.

	drives config normalization.
	drives parameters are normalized when passed,
	instead of tweaking the cmd line xml creation.

2011-12-23  Douglas Schilling Landgraf  <dougsland@redhat.com>

	storage_connection: fix variable name
	Replace fileUtils.FSTYPE_NFS to mount.VFS_NFS

	Fix the following error when I tried to add a new NFS mountpoint:

	Traceback (most recent call last):
	File "/usr/share/vdsm/storage/task.py", line 863 in _run
	File "/usr/share/vdsm/logUtils.py" line 38, in wrapper
	File "/usr/share/vdsm/storage/hsm.py", line 1810, in public_disconnectStorageServer
	File "/usr/share/vdsm/storage/storage_connection.py", line 116, in disconnect AttirbuteError 'module' object has no
	attribute 'FSTYPE_NFS'

	Traceback (most recent call last):
	File "/usr/share/vdsm/storage/dispatcher.py" line 87, in run
	File "/usr/shaare/vdsm/storage/task.py" line 1166, in prepare
	AttributeError: 'module' object has no attribute 'FSTYPE_NFS'

	vdsm: Add ovirt_functions script
	Add isOvirt() to validate the current hypervisor.
	Thanks to Mike Burns <mburns AT redhat DOT com> - The original author of these patches.

2011-12-23  Saggi Mizrahi  <smizrahi@redhat.com>

	Refactor mount logic

	Remove uneeded str() calls in hsm.py

2011-12-22  Shahar Havivi  <shaharh@redhat.com>

	promisc hook: added in-line (redirect) mode

2011-12-22  Dan Kenigsberg  <danken@redhat.com>

	BZ#716573 make `ulimit -u` configurable, too
	We need to let Vdsm run hundreds of Vms over lvm

2011-12-22  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix error message composition in refreshLV()

2011-12-21  Federico Simoncelli  <fsimonce@redhat.com>

	Remove extra os.path.join call from getImageVolumes

2011-12-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	Introduce vm.isVdsmImage()

2011-12-18  Shahar Havivi  <shaharh@redhat.com>

	hooks, promisc: note added for inline mode

2011-12-14  Saggi Mizrahi  <smizrahi@redhat.com>

	Reduce the memsize of basic locking object

2011-12-14  Igor Lvovsky  <ilvovsky@redhat.com>

	Part of create pool operation should be done under SPM lock

2011-12-14  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#767111 Extend volume size must be in Megabytes
	In commit c24396af (Merged SPM to StoragePool and HSM) the
	spm.public_extendVolume call was replaced by pool.extendVolume.
	The problem is that they use different units for the size
	parameter, the first one uses bytes and the second one uses
	megabytes.

	In this patch:
	* do not convert megabytes to bytes when calling pool.extendVolume
	* improve logging to record also the size received from the mailbox

2011-12-13  Dan Kenigsberg  <danken@redhat.com>

	supervdsmServer: fix typo
	we must add `pylint -E` to our check-local.

	caps: fix typo
	typo introduced in commit 5ac3213e3ab087

2011-12-11  Eduardo Warszawski  <ewarszaw@redhat.com>

	Naming conventions in Image._baseRawVolumeMerge temp files changed.
	This change is required for succesful recovery of interrrupted
	merge flows.
	After a failed merger of volUUID, no future merges of it can take
	place until the _MERGE volume is removed.
	This is intentional in order to protect user data.

	Remove unnecessary produces from Image.merge() auxiliary functions.

	Image.getSubChain: avoid unnecessary productions of all kinds.

	Produce the SD in FileVolume.getAllChildrenList() once

	Split deletedVolumeName functionality

2011-12-10  Douglas Schilling Landgraf  <dougsland@redhat.com>

	vdsm.spec.in: Requires: tree
	vdsm-sosplugin.py requires the /usr/bin/tree command.

2011-12-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	storage/misc.py: Add validation to oVirt Node
	Check if /etc/ovirt-node-image-release exists too

2011-12-09  Igor Lvovsky  <ilvovsky@redhat.com>

	Set drive's name during Drive initialization

2011-12-09  Douglas Schilling Landgraf  <dougsland@redhat.com>

	caps.py: include oVirt Node to OSName
	Add oVirt Node as a supported

	deployUtil: isOvirt() check oVirt release
	Adding support to isOvirt() to validate oVirt Node

2011-12-07  Saggi Mizrahi  <smizrahi@redhat.com>

	InvalidParameterException() takes two args

	BZ#754445 - Separate granting from callback emitting
	Granting has to happen inside the request transaction to prevent races
	with cancel\timeouts. The callback is code that the subsystem does not
	know anything about. For that reason it is crucial to run the callback
	outside of the lock scope. To keep both demands I split up emit() from
	grant().

2011-12-07  Douglas Schilling Landgraf  <dougsland@redhat.com>

	deployUtil.py.in:  add support to restart vdsmd
	vdsm-complete script define reboot() which uses deployUtil.setService("vdsmd", "restart")
	However, deployUtil.setService() just execute the validation for initd
	script (/etc/init.d/vdsmd), if the distro doesn't contain this file it fails
	and do not execute the restart action.

	Since vdsm.spec specify that if it's not RHEL we should use systemd,
	this patch includes the validation for systemd vdsmd service.

2011-12-05  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#745510 Additional rpm fixes required by fedora
	In this patch:
	* Use a standard name for the polkit macro
	* The _unitdir macro requires the systemd-units package
	* Do not ship the vdsm configuration file on rhel
	* Update the project URL
	* Fix typo: bootstrap

2011-12-05  Dan Kenigsberg  <danken@redhat.com>

	Add Shahar to AUTHORS

2011-12-03  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove checkImage
	This API function is unused and is based on buggy functions with outdated semantics.

	Remove checkDomain().
	This API function is unused and is based on buggy functions with outdated semantics.

2011-12-01  Federico Simoncelli  <fsimonce@redhat.com>

	The configuration values must be strings
	The configuration values must be strings to avoid errors such as:

	  TypeError: argument of type 'int' is not iterable
	  (ConfigParser.py:586)

	Apparently the value for vm_sample_disk_latency_interval was the only
	one not respecting this rule.

2011-11-30  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#745510 Fedora rpmlint fixes
	In this patch:
	* Remove shebang from the non-script python files
	* Require iscsi-initiator-utils >= 6.2.0.872-14 (BZ#442980)
	* Move the lvm rules to the appropriate path
	* Use the %ghost keyword for the /var/run paths
	* vdsm-libvirt-logrotate doesn't need to be executable
	* Require only the saslpasswd2 binary instead of the sasl package

	Revise the release versioning
	In this patch:
	* revise the release versioning according to fedora guidelines

	Clean up the config.py format

	Substitute the vdsm paths directly in config.py

	Simplify the vdsm.conf.sample generation

	Add PolicyKit support to access libvirt
	The best approach upstream is installing vdsm limiting the changes of
	the system settings.
	The PolicyKit authentication (chosen by default by libvirt) is allowing
	us to manage the vm's without setting up a password.

	BZ#756693 Handle destroyed VMs in handleStatsException
	After issuing a shutdown/detroy command to a VM, VDSM should expect it
	to disappear and not report an error.

2011-11-30  Shahar Havivi  <shavivi@redhat.com>

	Adding hooks to VDSM
	New custom hooks:
	directlun, fileinject, hugepages qos, smartcard,
	floppy, isolatedprivatevlan, pincpu, smbios, hostusb, numa,
	promisc, scratchpad, sriov, vmdisk

2011-11-30  Federico Simoncelli  <fsimonce@redhat.com>

	Use the vdsm user and group macro consistently

2011-11-30  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#756686 - Avoid looking for suddenly disappeared VMs.

	Remove checkPool.

2011-11-28  Federico Simoncelli  <fsimonce@redhat.com>

	Add an initial systemd service file for vdsm-reg

	Add an initial systemd service file for vdsmd

2011-11-26  Federico Simoncelli  <fsimonce@redhat.com>

	Fix distcheck and gitignore for vdsm-faqemu

2011-11-25  Dan Kenigsberg  <danken@redhat.com>

	fix faqemu for fedora host
	Instead of hacking qemu-kvm under libvirt, use libvirt's domxml <emulator> tag.

2011-11-24  Federico Simoncelli  <fsimonce@redhat.com>

	Do not attempt to configure the iscsid service
	Using an old rhel6 iscsid.conf file to overwrite any upstream system
	configuration is not recommended.
	According to BZ#499222 we just needed to set the node.startup parameter
	to "manual". That can be accomplished using:

	 # iscsiadm -m node -p <ip:port> [-I <iqn>] \
	            -o update -n node.startup -v manual

2011-11-24  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#755596 - Minor Image.merge() cleanup.

	Related to BZ#755596 - Remove unused Task.removeRecovery()
	This function is unused and does not write to the disk.

	Related BZ#755596 - Remove illegal volume marking rollback.

	BZ#755596 - Persist clearRecoveries().

2011-11-23  Federico Simoncelli  <fsimonce@redhat.com>

	Use the defined constants in iscsi.py

	Use the nodiscard option at mkfs time
	Change the mkfs option according to the warning message:

	 $ mkfs -q -j -K <dev>
	 Warning: -K option is deprecated and should not be used anymore.
	          Use '-E nodiscard' extended option instead!

2011-11-23  Igor Lvovsky  <ilvovsky@redhat.com>

	Use exception from libvirt and not from libvirtvm

2011-11-23  Federico Simoncelli  <fsimonce@redhat.com>

	Fix error message in StoragePool.connect
	String formatting has precedence over concatenation:

	 File "/usr/share/vdsm/storage/sp.py", line 681, in connect
	   (hostID, self.spUUID, self._poolsTmpDir))
	 TypeError: not all arguments converted during string formatting

	Removing the addition and continuing the string on a new line fixes
	the problem.

2011-11-21  Douglas Schilling Landgraf  <dougsland@redhat.com>

	Make /var/lib/vdsm read and write, otherwise it will break vdsm_reg.
	Error message during oVirt node installation:

	MainThread::DEBUG::2011-11-17
	11:00:57,778::deployUtil::853::root::makeBridge Failed to del existing
	bridge. out= err=INFO:root:Removing bridge breth0 with vlan=None,
	bonding=None, nics=['eth0']. options={'nics': ['eth0'], 'bonding': '',
	'vlan': ''}
	WARNING:root:
	Traceback (most recent call last):
	File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
	File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
	File "/usr/share/vdsm/configNetwork.py", line 900, in <module>
	File "/usr/share/vdsm/configNetwork.py", line 875, in main
	File "/usr/share/vdsm/configNetwork.py", line 555, in delNetwork
	File "/usr/share/vdsm/configNetwork.py", line 277, in removeNic
	File "/usr/share/vdsm/configNetwork.py", line 153, in _backup
	File "/usr/share/vdsm/configNetwork.py", line 200, in _persistentBackup
	OSError: [Errno 30] Read-only file system: '/var/lib/vdsm/netconfback/

2011-11-21  Dan Kenigsberg  <danken@redhat.com>

	vm.py: drop never-used Driver.bus

2011-11-20  Shahar Havivi  <shaharh@redhat.com>

	BZ#753625 honor displayNetwork again
	added libvirt-network support for add/del network,
	and on vdsm startup add libvirt-network to each local
	network

2011-11-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	Avoid unnecesary produce-invalidate-produce on SD conf changes.

	Fix: HSM should not write metadata (*BlkSize)

2011-11-17  Federico Simoncelli  <fsimonce@redhat.com>

	Fix StoragePool.extendSD definition

2011-11-17  Dan Kenigsberg  <danken@redhat.com>

	spec: require xz explicitly
	Our logrotate configurations explicitly state xz crompression. It would
	be more polite for the spec to state that, and not rely on libvirt's xz
	requirement.

2011-11-15  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#737340 Use the new migrateToURI2 API

2011-11-15  Dan Kenigsberg  <danken@redhat.com>

	BZ#754054 bootstrap: report success first, reboot later
	v2: flush stdout before reboot

2011-11-15  Federico Simoncelli  <fsimonce@redhat.com>

	Strip the trailing newline from libvirt password
	In this patch:
	* read only the first line of the file containing the libvirt password
	* strip the trailing newline

2011-11-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	Adding shared raw disk feature.
	Arbitrary disks can be added as local VM drives.
	Use
	drive=GUID:<guid>,
	or
	drive=UUID:<uuid>,
	Note the mandatory ','

2011-11-14  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#745510 Fedora RPM revisions
	In this patch:
	* use %global instead of %define
	* use Requires instead of Conflicts for selinux-policy-targeted
	* do not modify the sudoers file (we should not try to override
	  a sysadmin custom configuration or misconfiguration)
	* fix a build warning for deployUtil.py
	* fix the libvirt_password path when uninstalling

2011-11-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	Generalize _parseDriveSpec dictionaries.
	parseDriveSpec() accepts now any keys.
	Capable of manage only one key:value, pair as drive= parameter.
	The comma is required for dicts, for one key:value too.

2011-11-14  Dan Kenigsberg  <danken@redhat.com>

	init.d/vdsmd: look for initctl where it is expected
	It may be better to have a vdsmd.in.in game, but let's fix the
	regression first.

2011-11-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#751977 - Raise if VG remove fails.

2011-11-14  Saggi Mizrahi  <smizrahi@redhat.com>

	Rename variables that look like their pointing to a domain

	Fix __cleanupStoragePool()

	Revert change of except to finally in StoragePool.create().
	We need the id set for the entire scope. In StoragePool.attachSD() we
	take another clustered lock and we need the field set.

	Fixed missing parameter when raising exception in resource owner

	dir is a builtin, overriding it is not nice

	Fixed device mapper failing on partition check for non dm devices

	Clean SPM leftovers on HSM init

2011-11-14  Eduardo Warszawski  <ewarszaw@redhat.com>

	Remove redundant StoragePool.spmStarted state.

2011-11-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Cleanup StoragePool.create()
	(Incomplete) cleanup without functional effects.

	MSD and version mandatory when calling StoragePool.refresh()

	Fix attachStorageDomain logic.

2011-11-10  Federico Simoncelli  <fsimonce@redhat.com>

	Add libvirt password as config file

2011-11-10  Dan Kenigsberg  <danken@redhat.com>

	betterThreading.Event is never used; drop it.
	betterThreading was initially conceived to be a drop-in replacement of
	threading.py. However, once we opted for mokey-patching threading.py
	instead, betterThreading.Event has become redundant.

2011-11-10  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#744704 - Do not stop SPM task if in 'racquiring' state

	BZ#744704 - Fix rollback support for complex tasks

2011-11-10  Dan Kenigsberg  <danken@redhat.com>

	BZ#746766 deployUtil: restorecon on created ~/.ssh/ dir

2011-11-10  Igor Lvovsky  <ilvovsky@redhat.com>

	Async tasks should be saved in 'tasks' directory on master domain but not in 'hsm-tasks'

2011-11-10  Dan Kenigsberg  <danken@redhat.com>

	Related to BZ#682513: spec: require mke2fs with -K

2011-11-08  Jarod. w  <work.iec23801@gmail.com>

	Correct the variable name from VDSM-BIN to VDSM-REG-BIN in vdsm-reg script

2011-11-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#751629 - Avoid migrate master if MSD is obsolete.
	In addition deactivate the (block) domain if it's unreloadable.

2011-11-03  Dan Kenigsberg  <danken@redhat.com>

	vds_bootstrap: fix usage string

	fix typo in trying to copy iscsid.conf template

2011-11-02  Saggi Mizrahi  <smizrahi@redhat.com>

	Fixed SPM_mailbox attribute errror

2011-11-02  Dan Kenigsberg  <danken@redhat.com>

	BZ#749151 revive Vm ticket just before migration
	We set a new expiry time on the spice password of the source qemu. That is
	copied to the destination qemu as migration begins. We thus give spice client
	two minutes to connect to destination to facilitate seamless migration.

	v2:
	- revive password only when spice client is connected
	- revive password, do not remove it completely

	v3:
	- do not disconnect current client while reviving password.

	Revert "BZ#727602 setVmTicket: never expire ticket"
	This reverts commit fd1f8a7a117067f1733898734b1c97bdf75d18bd.

	Conflicts:

		vdsm/libvirtvm.py

2011-11-02  Saggi Mizrahi  <smizrahi@redhat.com>

	Move iscsid.conf template outside of the source file

2011-11-01  Dan Kenigsberg  <danken@redhat.com>

	BZ#733000 vdsmd: upstart hates soflinks
	Copy libvirt's upstart job definition instead of linking it.

2011-10-30  Saggi Mizrahi  <smizrahi@redhat.com>

	isMounted() now handles / at end of export in certain distros

	Changed default bridge name to engine

	Fixed reconstruct master

2011-10-29  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix missing arg in sp.StoragePool() call.
	Fix reconstruct master flow.

	Fix unsecured on forceFreeSpm().

	Fix lock release and reversed SPM logic.

2011-10-27  Dan Kenigsberg  <danken@redhat.com>

	configure.ac: find scsi_id on Fedora 16, too.

2011-10-27  Federico Simoncelli  <fsimonce@redhat.com>

	Add the systemd support for bootstrap

	RPM changes for Fedora

	Recreate the run paths when needed
	On some systems the run directory might be mounted as tmpfs (eg: on
	Fedora). The daemon will refuse to start at next reboot if the paths
	aren't recreated.

	Convert the OrderedDict from namedtuple._asdict()
	Since python 2.7 the namedtuple._asdict() method returns an
	OrderedDict, therefore we need to convert it to a regular
	dictionary before marshalling it on xmlrpc.

2011-10-24  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to 726960 - Restore higher version check.
	This check was removed in commit 85b58b7d9 since the manager
	can't send a lower pool version number.
	In spite of this some tests stress this condition.
	Restoring it in order to fix tests results.

2011-10-24  Dan Kenigsberg  <danken@redhat.com>

	use correct path for fencing agent
	There's probably a nicer way to do it with autoconf, avoiding
	os.path.dirname. Comments appreciated.

2011-10-24  Saggi Mizrahi  <smizrahi@redhat.com>

	Fix call to getSpmRole()

2011-10-24  Dan Kenigsberg  <danken@redhat.com>

	BZ#748466 bootstrap: report vendor properly
	Do not compare a string to a function, you are bound to fail.

	BZ#746766 BZ#747337: bootstrap: download selinux module before usage

2011-10-24  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#744755 Don't wait for tasks on shutdown
	During shutdown we can't wait for all tasks to complete because some
	of them might be stuck in D state if the storage is unreachable (eg:
	createVolume preallocated on NFS).

2011-10-24  Dan Kenigsberg  <danken@redhat.com>

	BZ#748222 netinfo: report operstate, not adminstate
	Until commit 4153e08acb8ae23ef79 (fixing BZ#726359), when reporting if a
	network inteface is up or down, Vdsm was considering the operative status.
	That was the correct behavior, since users do not really care that they have
	configered the nic to be up while the line is cut off by evil mice (or quality
	engineers).

2011-10-23  Dan Kenigsberg  <danken@redhat.com>

	BZ#725540 vdsClient: check return code first
	client should not assume that its data exists in the response before verifying
	that the request was served without error.

	Fix bad rebase

2011-10-23  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#729933 - Redefine public_activateStorageDomain()

2011-10-23  Saggi Mizrahi  <smizrahi@redhat.com>

	Switched secure semantics to exclude rather then include

	recoveryMode param is never used

	Merged SPM to StoragePool and HSM
	SPM was an unholy union of two paradigms and was making everything hard.
	This is an attempt to put everything in order

	Made SPM_Mailmonitor independent from SPM

	Made spm securing logic more generic
	 - Security is no longer system wide but instance wide
	 - Security can be used on any class
	 - Security override is supported by the subsystem and doesn't require
	   trickery

	The start of exceptions being independent from the interface

	Refactor dispatcher unicode handling

	Made the logging mechanism more generic
	 - modified storage connection verification to have better errors
	 - pulled out logging logic from dispatcher to a generic decorator

2011-10-23  Dan Kenigsberg  <danken@redhat.com>

	BZ#745390 always report product=RHEV to guest bios
	Laziness is dangerous; patches should be checked.

2011-10-22  Eduardo Warszawski  <ewarszaw@redhat.com>

	Removing references to SDF.

	Remove sdf.py

	Simplify SDF.produce() for removing sdf.py.
	produce() will return a domain or raise StorageDomainDoesNotExist.
	No need for this check.

	Remove SDF.create() for removing sdf.py

	Simplify recycle function for removing the sdf.py

	Change format signature in order to simplify SD recycle.
	Needed for remove the sdf.py

2011-10-19  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#741203 Use cached node id if SPM is active
	Do not invalidate the metadata cache if the node is the SPM and it
	is active. This will prevent the getStoragePoolInfo call to be stuck
	when the domain is unreachable and at the same time won't break the
	fix for BZ#733909.

	In the patch:
	* add the attribute isSPM to the StoragePool class
	* the SPM never requires to invalidate the cache

	BZ#741203 Don't return a value in domain selftest
	The domain selftest doesn't need to return a boolean value, if the check
	fails an exception is raised.

2011-10-19  Dan Kenigsberg  <danken@redhat.com>

	BZ#746766 deployUtil: set proper selinux context to .ssh/authorized_hosts

	BZ#745390 always report product=RHEV to guest bios
	Two years after insisting the ueber-importance of differentiating RHEL
	hosts from RHEV ones, RHN/Satellite suddenly needs us to always report
	"RHEV-H" to the guest, or else the guest would not be recognized as
	virtual by them.

	Disagreing and committing.

2011-10-19  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#746975 - Allow deactivate storage domain if not reachable

2011-10-18  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#741658 Move VM to Down if libvirt reports VIR_ERR_NO_DOMAIN

	Correct the vdsmd init script path

2011-10-16  Federico Simoncelli  <fsimonce@redhat.com>

	Remove unused symlinks

	Minor fixes for distcheck
	In this patch:
	* don't distribute files generated by the substitutions
	* use srcdir as path for substitutions
	* add uninstall-local for the storage subdirectory

2011-10-12  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#743549 - Allow concurrency in task manager

2011-10-12  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#743887 Close lifeline pipe when oop is killed

2011-10-12  Dan Kenigsberg  <danken@redhat.com>

	BZ#744549 getVdsCaps: survive multiple redhat-release rpms
	caps._getKeyPackages() already handles this case. Too bad this was
	forgotten in osversion().

2011-10-12  Federico Simoncelli  <fsimonce@redhat.com>

	Include vdscli.py in the vdsm rpm
	Since we moved to kaxmlrpclib we require vdscli in vm.py which is part
	of vdsm.

2011-10-11  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#742764 - Don't change template's type during createVolume rollback

2011-10-11  Yotam Oron  <yoron@redhat.com>

	Need to also catch AuthenticationError in case connecting to the SuperVdsm fails.

2011-10-10  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#732980 Initialize the block sizes metadata

2011-10-10  Dan Kenigsberg  <danken@redhat.com>

	BZ#736114 bootstrap: override iptables if requested
	vds_bootstrap script gets a new optional argument -f <filename>.
	vds_installer will use the argument to pass the local location of an iptables
	rule file to override /etc/sysconfig/iptables.

2011-10-10  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#743272 - dirList IS and WAS dirList.

2011-10-09  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#738120 - Logging in OOP - drop identical messages.
	Somehow we get every log 3 times in the queue.
	In the future we will be need to find out the real reason
	for such behavior and fix it. For now just drop identical messages.

	Related to BZ#738120 - Logging in OOP.
	Now we can use logging in OOP operations.

	Add partial vms list support to the regular 'list' query.
	Usage: vdsClient 0 list [table/ids/long] [vms:vmId1,vmId2]

2011-10-09  Dan Kenigsberg  <danken@redhat.com>

	BZ#743828 allocate only 32MB vram for multiple qxl monitors

2011-10-07  Dan Kenigsberg  <danken@redhat.com>

	BZ#740158 netinfo.speed(): never report -1 speed
	Related to Bug 709674: sysfs may report -1 speed (in unsigned 16- and
	32-bit integers) for disabled nics. Vdsm should report their speed as 0.

2011-10-07  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#720385 - Report disk latency (read , write & flush ) for each storage device.

2011-10-07  Yotam Oron  <yoron@redhat.com>

	BZ#741856 delete rhevm cert before conf_update
	Delete CA certificate before updating vdsm-reg.conf, to avoid certificate
	collision in the case of later re-configuration with no fingerprint verification

2011-10-07  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#740887 Tune cache dirty ratio
	Tuning the dirty_ratio and dirty_background_ratio kernel parameters
	increases I/O throughput from the guests, improves fairness between
	the guests and reduces the ability of a buffered writer to starve
	guests.

2011-10-07  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#732765 - Drop disktotal/diskfree parameters for unreachable domains

2011-10-05  Yotam Oron  <yoron@redhat.com>

	BZ#737722 Do not pass cmdline args to grub in RHEV-H
	cmdline args are only needed in installation time,
	oVirt has a builtin functionallity to not pass the args
	to grub

2011-10-05  Dan Kenigsberg  <danken@redhat.com>

	BZ#743122 libvirtvm.create: honor tdf param
	Some guests (mostly Windows) need the time-drift-fix to keep up their
	clock.

	v2
	- Invert default, as KVM's Dor says it is safe enough for all guests.

2011-10-05  Federico Simoncelli  <fsimonce@redhat.com>

	Don't pollute the root directory during installation

2011-10-05  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#736301 - Don't fail lvm.getVGbyUUID() if unreadable VGs found.

2011-10-05  Federico Simoncelli  <fsimonce@redhat.com>

	Remove unused TaskResource class

	Correct typos for 'successfully'

2011-10-04  Dan Kenigsberg  <danken@redhat.com>

	BZ#742267 server_connection: checking access is enough
	There is no need to verify that a directory/mountpoint is owned by
	vdsm:kvm. All we need is vdsm accessibility. Ownership requirement was
	added in downstream commit 9fb05359 for local storage, and later
	(http://gerrit.usersys.redhat.com/776) extended to all storage types.

2011-10-03  Adam Litke  <agl@us.ibm.com>

	BZ#735621 fileSD: Fix remotePath in SD metadata (V3)
	Changes since V2:
	 - Rename mountToRemotePath() to getRealPath() and define it in each child
	   class.

	Changes since V1:
	 - Derive the remotePath from self.mountpoint instead of using the metadata

	The current method for gathering a LOCALFS Storage Domain's remotePath
	property does not work because these domains are connected with a symlink,
	not a mount.  Fix up the current code so that it handles links and
	mountpoints.

2011-10-03  Gal Hammer  <ghammer@redhat.com>

	Related to BZ#736422: Fixed a typo in command's name.
	The RHEV-Agent send a "session-lock" notification but vdsm
	expected to receive a "session-locked".

2011-10-03  Mark Huth  <mhuth@redhat.com>

	BZ#716573 make vdsm's `ulimit -n` configurable

2011-10-03  Dan Kenigsberg  <danken@redhat.com>

	BZ#741190 never add a second "vdsm" stanza to logrotate.d/libvirtd

2011-09-27  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#732980 Devices block size must be 512

	Don't use a list to calculate VG size

	BZ#732980 Check block size on VG commands

	BZ#732980 MD tag must be in blocks unit
	This patch fixes the unit used for the MD tag (blocks instead of
	bytes) and completes the support for the new MS tag which holds
	the size (in blocks) of the metadata.

2011-09-27  Yotam Oron  <yoron@redhat.com>

	BZ#735725 - Insert a configuration line if not exists
	- Simple configuration line insertion if missing

2011-09-27  Dan Kenigsberg  <danken@redhat.com>

	Replace m2crypto: re-add kaxmlrpclib

	SecureXMLRPC: work with python 2.7, too.

	Replace m2crypto: re-add timeout

	read thp state from its upstream location first

	make /etc/init.d/vdsmd workable under F15

	Replace m2crypto with python's standard ssl

2011-09-26  Dan Kenigsberg  <danken@redhat.com>

	BZ#735725 vdsm-reg: add a default (empty) ticket
	Code should not assume 'ticket' already exist in conf file, as this is a
	new addition.

2011-09-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#732416 fix deleteMultipleVolumes().

2011-09-23  Dan Kenigsberg  <danken@redhat.com>

	BZ#740158 netinfo: never report negative speed
	Even if, for some reason,

	    /sys/class/net/eth0/speed

	had a negative value, we should not report it as such. It justly
	confuses users.

2011-09-22  Douglas Schilling Landgraf  <dougsland@redhat.com>

	deployUtils.py.in: fix typo
	- Replace Faild to Failed

2011-09-21  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#688616 Fix kernel requirement in the spec file

2011-09-21  Dan Kenigsberg  <danken@redhat.com>

	BZ#688616 re-enable cgroups with kernel scaling issue fixed
	Once we are shipping with kernel >= kernel-2.6.32-150 with a fix to
	kernel BZ 623712, we can drop this hack an re-enable cgroups.

	This reverts commit b48a4d9b2ce2162 and adds explicit kernel rpm
	dependency.

	The specific kernel version is not strictly important - we just want to
	make sure it is a RHEL-6.2 kernel.

2011-09-20  Yotam Oron  <yoron@redhat.com>

	BZ#735725 - Don't remove ticket option from configuration file
	Rather than removing - set it to empty string

2011-09-20  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#735932 Use redhat-release file during bootstrap
	The system-release file is not present on RHEL5.

	BZ#733669 Avoid local hostname check on RHEL5

	BZ#731598 Fix syntax in _addNetwork for RHEL5

2011-09-20  Dan Kenigsberg  <danken@redhat.com>

	BZ#739645 getHostUUID: ignore dmidecode comments
	`dmidecode -s system-uuid` may produce the likes of

	 # SMBIOS implementations newer than version 2.6 are not
	 # fully supported by this version of dmidecode.
	 30353036-3837-4247-3831-303946353250

	lines beginning with hash (#) should not be included in the reported uuid

2011-09-19  Dan Kenigsberg  <danken@redhat.com>

	Synchronize libvirtconnection.get()
	I'd like to consider making _ongoingCreation bigger than 1, and to
	let all parts of the code a safe access to the libvirt connection.
	libvirtconnection should never have trusted its user to take care of
	the synchronization. Taking a lock would not slow down the seldom-used
	libvirtconnection.get() noticeably.

	StoragePool.__rebuild(): implement oldLinks as a set
	We don not care about order within oldLinks, but we do care about quick
	removal. Set it is.

	Related to BZ#726400 do not remove links to known domains
	Code introduced in commit 8ca7b3998f63d7555d253a66e02a23d577652233 was
	buggy as it kept oldLinks intact after identifying a domain dir within
	it. Later, all oldLinks were removed since
	(oldie not in domUUIDs) is always True.

	This patch reverts to former logic: as a domaindir is identified, it is
	pruned from oldLinks. Left oldLinks are removed from disk.

2011-09-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#737329 - Fix masterVersion error log in getMasterDomain().

	Related to BZ#726400 - Fix StoragePool.__rebuild() new lvm.getVGs() usage.

2011-09-15  Max Benenson  <mbenenso@redhat.com>

	fix formatting error on ImageDeleteError

2011-09-15  Federico Simoncelli  <fsimonce@redhat.com>

	Remove check for incoming migration in _highWrite

	Use the correct events to end migration

	BZ#733669 Improve error reporting for wrong local hostname
	This patch improves the error reporting when migration fails.
	It is mainly designed to return the new error 'wrongHost' to
	the manager when the migration destination has a wrong local
	hostname (which will cause the migration to fail without any
	informative message).
	Additionally it checks the local hostname during the bootstrap
	process and produces a warning if needed.

	In this patch:
	* add local hostname check during bootstrap (report a warning)
	* return the new error 'wrongHost' if migration destination has
	  a wrong local hostname
	* source node must return a specific error when migration fails

2011-09-15  David Naori  <dnaori@redhat.com>

	BZ#738355 BZ#736422 guestIF: log exception before initialization of 'line'

2011-09-15  Dan Kenigsberg  <danken@redhat.com>

	man page: document behavior on hook failure
	per Geert Jansen's request.

2011-09-15  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#737181  - mount NFS with a higher retransmit rate

2011-09-15  Yotam Oron  <yoron@redhat.com>

	BZ#735725 - Add installation flow for the RHEVH
	- Add a 'ticket' variable in the vdsm-reg.conf
	- Send the ticket with the regiatration request
	- Delete ticket if registration is successful or retries quota is over

	BZ#736154 - Add root password configuration option in the rhevm tab
	- Add root password configuration option
	- Enable remote access

2011-09-15  Dan Kenigsberg  <danken@redhat.com>

	createVolume: fix default values for two args
	When createVolume is called without specifying explicit values for
	srcImgUUID and srcVolUUID, None value was passed done the chain, running
	havoc in async task creation.

	This was not noticed since vdsClient and RHEV-M fill these args with
	volume.BLANK_UUID. This patch makes Vdsm itself follow suit and have
	sane defaults.

2011-09-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#726400 - Remove lvm operations from StoragePool.__rebuild().

2011-09-14  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#730778 - Add timeout when acquiring resources in prepareVolume
	Also added seperate timeout for prepare volume operations because they
	might take longer

	BZ#736103 - Raise error when volumes acquision fails in image resource factory
	I chose not to reraise but to do `if failed:` because `raise e` would
	have lost some of the exception information and I hate it when that
	happens

2011-09-13  Yotam Oron  <yoron@redhat.com>

	BZ#736154 - Add rhevm_admin_password kernel param
	- Add rhevm_admin_password to kernel params
	- Override root password with the rhevm admin password (to be changed in
	  the future to a rhevm admin user)

2011-09-13  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#737329 - Remove verifyMasterDomain().

	Related to BZ#737329 - Beautify StoragePool.masterDomain usages.

	Related to BZ#737329 - Simplify getMasterDomain().
	Unveil the behaviour of getMasterDomain() without parameters.
	verifyMasterDomain() can't return None.

2011-09-12  Saggi Mizrahi  <smizrahi@redhat.com>

	Related to BZ#723579 - OOP Handlers shouldn't print to stdout on failure

	BZ#725967 - Have global pool users use the limiter as well
	In the last patch in the quest for using only 1 storage pool I left out
	the global pool users. Because the global pool was initialized on import
	because after this patch all the handlers are created at once this
	caused all the handlers to be created on import. This made the pool act
	strange on certain occasions. The fact that the global users didn't pass
	through the limiter was a mistake in itself.

	This patch:
	* Moves ProcessPoolLimiter to the processPool module because it is
	  the correct place and I didn't want all the global pool users
	  importing sd.py.
	* Removes ProcessPoolDict and creates a new class called
	  ProcessPoolMultiplexer that does the same thing but does not inherit
	  from dict which means you don't get the __set__ methods and other
	  garbage. It also moves the logic to the processPool module.
	* Adds getProcessPool() to outOfProcess so there is convenient access
	  to the global multiplexer.
	* Adds getGlobalProcPool() to outOfProcess so global pool users can get
	  the global pool on demand and not on import
	* Changes all calls to the global process pool to go through the
	  aforementioned methods so that the pool is never created on import

2011-09-12  Dan Kenigsberg  <danken@redhat.com>

	BZ#736316 persist network config on rhevh, too.
	On RHEV-H we should not really worry about backing up old configuration
	files, since they are already stored under
	/config/etc/sysconfig/network-scripts. However, vdsm-store-net-config
	looks under the netconfbackup dir for the files it needs to store - when it
	sees nothing there, nothing is persisted for next boot.

	Quickest fix is to make configNetwork._persistentBackup() hold a copy of
	ifcfg-* in netconfbackup for rhevh, too.

	Makefile: define extra_release only for nonempty BUILDID
	Formerly, make rpm without BUILDID produced:
	error: Macro %extra_release has empty body

2011-09-11  Joey Boggs  <jboggs@redhat.com>

	BZ#734917 set tui page title to black text

2011-09-11  Dan Kenigsberg  <danken@redhat.com>

	getVdsStats: report a unique generationID whenever vdsm is restarted
	RHEV-M wants to notice when vdsm is restarted (rhevm bug 684583).
	I must say that I am not 100% sure why RHEV-M wants that.

2011-09-11  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#734712 - Set vdsm:kvm ownership to master dir.

	BZ#733373 - Remove the pool level vsm and tasks links.
	As verified by the previous version of this patch, the pool level
	links to the tasks and vms are superflous, dangerous and can
	prevent spm restart.
	Since they are unused, best if they are not created at all.
	cleanupSpmLinks() removed so it can't fail.
	_createSpmLinks() removed too.

	BZ#732416 Introduce deleteMultipleVolumes

	Related to BZ#732416 - Remove Irs throttling during copy.

	Related to BZ#732416 - Remove volume.qemuCommit()

	Related to BZ#732416 - Remove idle param in volume.qemuRebase()

	Related to BZ#732416 - Remove unused idle param in volume.qemuConvert()

	Related to BZ#732416 - Fixes to misc.ddWatchCopy()

	Related to BZ#732416 - Remove unused idle parameter from misc.watchCmd()

	BZ#732416 - Pluralise lvm remove LV(s) verb.

	Related to BZ#732416 - Unify criteria for active LV in lvm cache.

2011-09-08  Federico Simoncelli  <fsimonce@redhat.com>

	Don't override the rpm topdir macro settings

2011-09-08  Gal Hammer  <ghammer@redhat.com>

	Rewrote the _filterXmlChars after a code review.
	Using constant to generate restricted characters only once and a little speed improvment when returning the filtered string.

2011-09-08  Dan Kenigsberg  <danken@redhat.com>

	BZ#735932 vds_bootstrap: read version from /etc/system-release
	Former patch for this bug fails measerably on RHEL hosts.

	v2:
	- no need to look for /etc/rhev-hypervisor-release even on old RHEV-H.
	v3:
	- no need to loop at all: /etc/system-release points to the right file.

2011-09-08  Gal Hammer  <ghammer@redhat.com>

	BZ#736422: A new JSON-based protocol with the guest's agent.
	In order to recover from a malformed message send from the guest's
	agent, a new JSON-based protocol was implemented. This allow vdsm
	to drop bad messages (messages are terminated with a '\n' character)
	and handle the following good messages.

	This patch also include code related to BZ#729254 as the new
	protocol includes the disk usage information.

2011-09-07  David Naori  <dnaori@redhat.com>

	BZ#726970 iscsiadm: Return an appropriate error code to ISCSI_ERR_LOGIN_AUTH_FAILED

2011-09-07  Yotam Oron  <yoron@redhat.com>

	BZ#731698 - Fix syntax error

2011-09-07  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#732914 Establish libvirt connection on startup

	BZ#732914 Default signals handlers in processPool

2011-09-07  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#728958 Don't check read delay when domain was not produced

	BZ#733909 - double check spm id before claiming being it

2011-09-07  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#731598 Use the correct port in waitRouteRestore

	BZ#732652 Avoid logging in the processPool Helper
	Logging can cause a deadlock in a multi-threaded multi-process
	environment therefore closing the logging file descriptors is
	not enough we should also remove all the handlers.
	Reference: http://bugs.python.org/issue6721

2011-09-07  Dan Kenigsberg  <danken@redhat.com>

	Related BZ#735932: bootstrap: no need to install DEVEL_PACKAGES
	Bootstrap takes too long. Some of this time is wasted on installing
	pacakges we do not really need any more.

	BZ#735932 vds_bootstrap: do not require and do not use redhat-lsb
	redhat-lsb is no longer installed on RHEL by default, and comes with a
	heavy dependency list. Using it lengthen installation time needlessly.

	v2:
	- drop remnants of lsb from configure.ac
	- do not require redhat-lsb
	- search all files for release info
	- fix logging typo

2011-09-07  Yotam Oron  <yoron@redhat.com>

	BZ#602338 - Reset vdsm-reg conf file on certificate fingerprint verification failure
	When the certificate verification failed, need to reset the vdsm-reg
	conf file so that the ovirt node will not register

2011-09-06  Dan Kenigsberg  <danken@redhat.com>

	vdsm.spec.in: report upstream URL

2011-09-06  David Naori  <dnaori@redhat.com>

	BZ#735068 - remove not existing volume.spUUID from VolumeGeneralException.

2011-09-06  Saggi Mizrahi  <smizrahi@redhat.com>

	Remove log collector as it's no longer needed

	subprocess's shell parameter is evil

	BZ#725967 - one process pool to rule them all
	Instead of having a process pool per domain use one pool but limit the amount of
	workers a domain can hold at any given time.

2011-09-05  Yotam Oron  <yoron@redhat.com>

	BZ#733910 - Clean links in directories in __cleanStorageRepository
	os.walk() sees links to directories as directories, so the code
	tries to delete the links with rmdir(), fails, and then the consequent
	rmdir() of the parent dir also fails since the directory is not empty.
	Instead of rmdir(), unlink() a link.

2011-09-05  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#734136 - Stricter partition detection

2011-09-05  Federico Simoncelli  <fsimonce@redhat.com>

	Strip gerrit headers from changelog

2011-09-05  Yotam Oron  <yoron@redhat.com>

	BZ#719857 - Rhevh give user a warning before press the "reject"
	Instead of rebooting the host, fail the configuration and notify the user

2011-09-05  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#734768 - Handle 'guest' element being missing in libvrit caps

2011-09-05  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#732275 - Stop all repoStats threads that were started during reconstructMaster.

2011-09-04  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#732416 - Remove volume.Volume.delete()

	Related to BZ#726400 - ISO domain on block is not supported.

2011-09-04  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#723579 - Disown child procs so they wouldn't hold VDSM shutdown
	This patch touches a protected variable in the python multiprocessing
	framework. This is not ideal but necessary to keep VDSM from getting
	stuck waiting for a child.

	BZ#732245, BZ#732269 - Handle EAGAIN and EINTR in AsyncProc.communicate

2011-08-31  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#732765 - Don't return empty strings for 'disktotal'/'diskfree' on unreachable domains during getStoragePoolInfo

2011-08-31  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#734184 - Fix new killall

2011-08-31  Yotam Oron  <yoron@redhat.com>

	BZ#705058 - Don't create a new pool object on storage refresh
	Use the standard interface for pool connection and avoid double pool creation

2011-08-31  Federico Simoncelli  <fsimonce@redhat.com>

	Add a buildid name to the rpms when specified
	It's now possible to build the rpms appending an arbitrary name for the
	packages:

	  $ make BUILDID=.bzXXXXXX rpm
	  vdsm-4.9.0-0.63.g28186b7.el6.bzXXXXXX.x86_64.rpm

2011-08-30  Saggi Mizrahi  <smizrahi@redhat.com>

	Don't include vdsClient in tarball

2011-08-29  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#731750, BZ#733239 - handle missing libvirt lograte config
	* I also added restorecon in case there is a configuration where
	  logrotate conf file should have a special context.

	VDSM failed to start if it couldn't find the original libvirt logrotate
	configurations. Because we just replace the configuration there is no
	need to actually make sure the old one existed. If it didn't we can just
	create a new config with default permissions.

2011-08-25  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#732272 Activate nics in the correct order

2011-08-25  Saggi Mizrahi  <smizrahi@redhat.com>

	Add getDevUuid() to device mapper
	This method though unused is pretty useful and I wouldn't want people
	misimplementing it. This is a small part in making the device mapper
	volume complete and useful outside of vdsm.

	Don't subprocess for killall
	This is safer, quicker, removes one more subprocess call.
	This also has the added benefit of giving us proper error codes so we
	can differentiate between "no process found" and "failed to kill
	process".

	Get dmId from device number instead of looking for it

	BZ#730946 - detect ISCSI HBAs as ISCSI

2011-08-25  Federico Simoncelli  <fsimonce@redhat.com>

	Remove all the references to VDC from logging

2011-08-25  Yotam Oron  <yoron@redhat.com>

	BZ#725992 - Make sure vdsm-reg runs after every configuration changr
	Stop vdsm-reg before the configuration is written, wirte the configuration and start it again.

2011-08-25  Federico Simoncelli  <fsimonce@redhat.com>

	Remove symlinks for subsequent autobuild runs

2011-08-25  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#726400 - Remove BlockStorageDomain.refreshSpecialVolumes()

	Related to BZ#726400 - A dict is not a list.

	Related to BZ#726400 - Remove unnecesary import.

	Related to BZ#726400 - Rename links for cleaning

2011-08-25  Dan Kenigsberg  <danken@redhat.com>

	BZ#602338 vdsm-reg: take fingerprint param into consideration
	Without this spelling error fixed, management_server_fingerprint
	parameter is always ignored.

2011-08-25  Haim Ateya  <hateya@redhat.com>

	BZ#732772: vdsClient - fix attribute error using getIsoList when ISO domain doesn't exists in pool

	BZ#732933: vdsClient - getFloppyList returns with KeyError

2011-08-25  Yotam Oron  <yoron@redhat.com>

	BZ#732850 - Change defaults in RHEV-M registration dialog
	- Change default RHEVM port to 8443
	- Change verify checkbox wording

2011-08-23  Federico Simoncelli  <fsimonce@redhat.com>

	Check for pyflakes to be installed

2011-08-23  David Naori  <dnaori@redhat.com>

	Related to BZ#730297: Dont set connAct 'disconnect' on vnc.

2011-08-22  Daniel P. Berrange  <berrange@redhat.com>

	Automatically generate ChangeLog file during make dist
	This adds a script that will automatically generate the ChangeLog
	file content from the git changelog. This is performed only when
	running 'make dist', via an automake hook

	* .gitignore: Don't ignore the entire of build-aux/
	* Makefile.am: Add hook to generate ChangeLog
	* build-aux/gitlog-to-changelog: Script for generating ChangeLog
	  from GIT history

	Add some useful content to the AUTHORS file

	Add control script for automated builds
	The http://autobuild.org/ tool is a framework for doing automated
	builds from upstream source, including builds of RPMs. The file
	autobuild.sh is a simple script that integrates with this tool.
	It can also be run directly by developers

	  export AUTOBUILD_INSTALL_ROOT=$HOME/builder
	  ./autobuild.sh

	* vdsm.spec.in: Add a unique counter for automated builds
	* .gitignore: Ignore results.log file
	* autobuild.sh: Add script for doing automated builds of source
	  and RPM

	Make sure autogen.sh always runs configure
	Standard practice for an autogen.sh script is to always run the
	configure script. In addition 'libdir' cannot be assumed to be
	/usr/lib, rather than /usr/lib64.

	* autogen.sh: Fix --system for x86_64 and always run configure

	Add missing GPLv2+ headers & standardize existing headers
	Ensure all .py and .sh files contain a standardized GPLv2+
	header comment. This fixes the obsolete references to the
	now deleted LICENSE_GPL_v2 files

	All copyright dates are extended to cover 2011. Any files
	without existing headers had a 2011 date stamp added.
	Recommendation is for all dates to be extended on the 1st
	of Jan each year

	Make the README file more useful
	It is not important to have a full GPLv2+ boilerplate in the
	README file. It can just refer to the main COPYING file and
	note the OpenSSL exception.

	More important for the README is info about what VDSM is, how
	to install it, package it and how to report bugs / get help,
	etc

	* README: Update content to be more useful

	Ignore all autogenerated files

	Make tests work in a non-GIT checkout environment
	Replace the 'dist-hook' target, with the 'check-local' target,
	which is the automake standard for adding tests to 'make check'.
	Add 'pyflakes' as a build pre-requisite for the RPM, and run
	tests as part of the RPM build process

	* Makefile.am: Switch to use 'check-local' for tests and avoid
	  use of GIT commands
	* vdsm.spec.in: Add BR on pyflakes & add %check section

2011-08-18  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#726105 - Check that qemu can also access file mounts
	v3:
	- use both qemu and kvm groups when testing access to directory
	v4:
	- add OOP handling. I hate NFS.

2011-08-18  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#728381 -  Add additional 'alert' in getStoragePoolInfo if VG's metadata too small

	BZ#728381 - Return 'alerts' key for each domain in getStoragePoolInfo query

2011-08-18  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#726960 - Unify SD.validate signature.

2011-08-17  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to 726960 - Remove unused StorageDomain.deactivate()

	BZ#730912 - Optimize BlockVolume.findImagesByVolume()
	Fixes a reg introduced by lvm.lvsByTag() in:
	http://gerrit.usersys.redhat.com/#change,764

2011-08-17  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#728874 - vdsm-logrotate shouldn't prints invalid error message

2011-08-17  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#730536 Bootstrap should create VDSM_DIR
	The bootstrap needs to create the VDSM_DIR in order to successfully add
	it to sys.path.

2011-08-16  David Naori  <dnaori@redhat.com>

	BZ#717868: Use iscsiadm return code to indicate existing session
	Now that iscsiadm return ISCSI_ERR_SESS_EXISTS in case session
	is already logged in, we can use that and remove checkSession().

2011-08-16  Federico Simoncelli  <fsimonce@redhat.com>

	Run pyflakes and exception check before dist

	Fix the storage exception check

	Fix make distcheck
	It's now possible to run "make distcheck" to verify that we are
	properly shipping, installing and removing the relevant files.

	Change-ID: I0ea26d65baf633265e201094e1c2c40859276203

2011-08-16  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#726960 - Recognise faulty domains on deactivateSD.

2011-08-16  Dan Kenigsberg  <danken@redhat.com>

	BZ#730297 setVmTicket: pass "disconnect" to libvirt

2011-08-12  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#722649 - Invalidate domain MD in removeStorageDomain()
	Because the pool might have been destroyed on another host without this
	host's knowledge, don't trust the MD cache before formatting.

2011-08-11  Dan Kenigsberg  <danken@redhat.com>

	BZ#725802 spmprotect: kill vdsm process, do not restart service
	restarting vdsmd service succeeds to stop vdsm process, but later fails
	to start a new one because of various resons. This patch kills the
	service just as `vdsmd stop` does, and waits for 'respawn' to fire up a
	new process. Respawning would succeed once restarting vdsmd is possible.

	task.py: use LoggerAdapter
	Calling _debug() instread of having an adapter hides the line number of
	the caller function.

2011-08-10  Federico Simoncelli  <fsimonce@redhat.com>

	Fix qemu-img epoch in the package dependencies

2011-08-09  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#726952 - Set original volume as leaf in volume clone recovery

2011-08-09  Gal Hammer  <ghammer@redhat.com>

	BZ#727871: guestIF: rewrite the message reading code.
	The previous code handle only one message at a time. This mean that in case of
	multiple messages vdsm handled only the first message while the following
	messages was not handle until more data was send from the guest.

	This patch change this behavior to scan the entire buffer for messages and
	handle all of them.

2011-08-08  Eduardo Warszawski  <ewarszaw@redhat.com>

	formatStorageDomain removes the VG too.
	When removing a SD the VG should be removed too (atomicity).
	Actually this is what RHEV-M does. Therefore the functions
	split is redundant.
	The removeVG function is marked as DEPRECATED (to be removed).
	The VG is removed in this version in order to minimize the
	chance to remain with a VG thats not belongs to a SD.

	Related to BZ#701671 - Return ENODEV if device does not exist.

	BZ#704131 - Activate all image volumes at once.
	Required for performance reasons if the image is deep.
	Candidate to the Ugly Patch of the Month.

	Related to BZ#704131 - Reduce the number of lvm ops during image mgmt.
	lvm.getLV() is called once per LV, instead of once per LV tag in findImagesByVolume().

	Related to BZ#704131 - Simplify getDomains.

	Avoid to do lvm._bootstrap when importing lvm module.

2011-08-07  Dan Kenigsberg  <danken@redhat.com>

	BZ#727920 restart libvirt upstart job upon libvirt upgrade
	We configure libvirt to run as an Upstart job, instead of the default
	SysV service. When libvirt is upgraded it should stop the old libvirtd
	process and start the new one, but it does so only if it is run via
	SysV.

	BZ#726941 vds_bootstrap: fix broken forward-port

2011-08-05  Dan Kenigsberg  <danken@redhat.com>

	supportedRHEVMs: remove non-exsiting rhevm 2.3 version
	The fact that we still report 2.3 was mentioned in BZ#727945

2011-08-04  Federico Simoncelli  <fsimonce@redhat.com>

	Standardize fileUtils.DirectFile behavior
	According to python documentation:

	  The most commonly-used values of mode are 'r' for reading,
	  'w' for writing (truncating the file if it already exists),
	  and 'a' for appending. Modes 'r+', 'w+' and 'a+' open the
	  file for updating (note that 'w+' truncates the file).

	BZ#726630 Use os.access twice for NFS stale handle

2011-08-04  Yotam Oron  <yoron@redhat.com>

	BZ#716919 - Update guest cpu running state after underlying VM is continued
	The guest CPU state should be updated after the underlying machine is
	resumed, so that the right value is read from libvirt.

2011-08-04  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#723579 AdvancedStatsThread should expose stop()
	The VmStatsThread wasn't exposing the stop method and therefore
	it was never stopped during prepareForShutdown.
	Even if it was declared as 'daemon' thread it kept the rest of
	the application running satisfying its requests.

2011-08-03  Haim Ateya  <hateya@redhat.com>

	BZ#727649 - Raise log severity when vdsm fails to run vm

2011-08-03  Dan Kenigsberg  <danken@redhat.com>

	BZ#727602 setVmTicket: never expire ticket
	Revert when libvirt bug 727602 is resolved.

	v2:
	- expire all tickets sometime in 2035

2011-08-03  Federico Simoncelli  <fsimonce@redhat.com>

	Introduce new version system for VDSM

	Use automake to build and install vdsm
	Autoconf is a tool for producing shell scripts that automatically
	configure software source code packages to adapt to many kinds of
	Posix-like systems.
	Automake aims to allow the programmer to write a makefile in a
	higher-level language, rather than having to write the whole makefile
	manually.
	In VDSM autoconf is used to configure paths and check for tools
	required both at build and run time. Automake is used to generate
	makefiles which already include features like recursion and standard
	targets like: all, dist, clean, distclean.

	Path and user substitutions using autoconf

	Use autoconf for external programs

	Initial support for autoconf

	Add a recursive install target in Makefile

	Move vdsm/hooks to vdsm_hooks

	Replace 'cp' and 'mkdir' with $(INSTALL)

	Add SCRIPTFILES group to vdsm/Makefile

	Replace variable PREFIX with DESTDIR

2011-08-03  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#727537 - Actually invalidate lvmCache when asked

2011-08-02  Dan Kenigsberg  <danken@redhat.com>

	BZ#725240 logrotate libvirtd.log often
	Edit libvirt's /etc/logrotate.d/libvirtd and call it every 15 minutes so
	that /var/log/libvirtd.log is rotated and compressed more often

	v2:
	- use correct path to /etc/logrotate.d/libvirtd in cont.d rule
	- keep /etc/logrotate.d/libvirtd mode
	- use full path to coreutils

	v3:
	- use valid comments in /etc/logrotate.d/libvirtd

2011-08-01  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#726630 Use only os.access to check permissions
	The old implementation of fileUtils.pathExists was using a flawed
	re-implementation of os.access as backup check for files with a NFS
	stale handle, the consequence was that accessible files were
	reported as non-accessible.
	We now use os.stat to refresh the NFS handle and then os.access to
	determine weather we can read and write the file.

2011-08-01  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#726410 - Ignore patitioned device (again)

2011-08-01  Juan Hernandez  <juan.hernandez@redhat.com>

	BZ#725720 Add "devcapacity" to PV info
	Add a new "devcapacity" field to the PV info provided by VDSM.
	This is obtained from the "dev_size" from "pvs". This and change
	Ic0bd3c94a6e4999cb91f96c798a0108890321fbd in RHEV-M are
	required to fix bug #716964 in RHEV-M.

2011-08-01  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#726941 Force VDSM_DIR in sys.path

2011-07-31  Haim Ateya  <hateya@redhat.com>

	BZ#722865 - Increment multipath.conf revision (tag) so upgrade will take effect

2011-07-30  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#726359 Use ethtool to get interface state

2011-07-29  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#699976 Bypass host cache when using qemu-img

2011-07-28  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#722754 Limit lvm retries to broken devices

2011-07-28  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#726045 mask OSError in case domain sampling fails

2011-07-28  Dan Kenigsberg  <danken@redhat.com>

	BZ#698173 updateVM: encode ovf data as utf8 on disk
	v2:
	- decode ovf when it is read by getVmsInfo

2011-07-27  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#720981 - Sometimes devices have whitespace in their name file

	BZ#725963 - Fix error handling in isBlockDevice()

2011-07-27  Dan Kenigsberg  <danken@redhat.com>

	BZ#688616 keep cgroup off as kernel support is not ready yet
	We are not yet ready to ship kernel release -150 which solves the cgroup
	bug. Sorry for the noise.

	Related to BZ#688616: do not stop cgroup when vdsmd start
	Oopsy, forgot to revert that one...

2011-07-26  Dan Kenigsberg  <danken@redhat.com>

	Revert "BZ#688616 Turn cgroups off in the installation of a node."
	This reverts commit c622f6a45d9eb34e3203f24b2f53f4e70e37ded9.

	With kernel-2.6.32-150.el6 built, the return of cgroups is imminent.

2011-07-26  Federico Simoncelli  <fsimonce@redhat.com>

	Remove unused tool config-rhev-manager

	Remove unused img_verifier tool

	Remove unused targets and variables in Makefile

	Remove unused external programs

2011-07-26  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#720911 - Update lvm cache filter when an lvm command fails

	Related to BZ#720911 - Move filtering logic to LVMCache Class

	Related to BZ#720911 - Use context manager in updateLvmConf

	Related to BZ#720911 - Split LVMSetup()

	Related BZ#720911 - use iterator instead of generating a list

	Related BZ#720911 - change class name from LVMInfo LVMCache

	BZ#720257 - Resouce manage volume activation properly
	- Instead of using autorelese = False, hsm will save a record of all
	prepare operations so whenever you teardown a volume you know that the
	operation is accounted for.
	- Ignore errors in domain production after release.

	Related BZ#720911 - Read user defined device only once

2011-07-26  Erez Sh  <erez@redhat.com>

	BZ#723198 - Add timeout to migration: abort it if no progress has been made in a while

2011-07-25  Federico Simoncelli  <fsimonce@redhat.com>

	Use system-uuid parameter in dmidecode command

2011-07-25  Dan Kenigsberg  <danken@redhat.com>

	vdsm-logrotate: remove leftovers of coredump handling
	commit 626c4b4f6 moved compression of coredumps into
	vdsm-logrotate.conf, but left error-handling code in vdsm-logrotate.

	BZ#694026 use libvirt's upstart service
	Unlike the default System V init script, the upstart service would try
	to restart libvirtd daemon in case the latter crashes.

	v8
	- use initctl restart properly
	- shutdown conflicting services (libvirtd sysv included) before
	  configuration
	v9
	- do not fail `initctl restart` if libvirtd is not already running
	v10
	- make rpm removal quite

2011-07-23  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#721356 - Use delay to actually check the delay

2011-07-21  Dan Kenigsberg  <danken@redhat.com>

	BZ#720919 spmprotect.sh: remove more log noise
	former patch for this bug left one place where check_renew complains
	that its RENEWDIR was already removed.

2011-07-20  Haim Ateya  <hateya@redhat.com>

	BZ#722865 - Increase fds limit in multipath.conf

2011-07-20  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#720981 - Don't rely on files in /dev/mapper to be symlinks

2011-07-19  Yotam Oron  <yoron@redhat.com>

	BZ#705058 - StoragePool instanciations should be lock protected.
	Add a storage shared lock on the call to _restorePool, since creates a
	new pool object

2011-07-17  Erez Sh  <erez@redhat.com>

	BZ#720425 - No longer using the return value from wait, because there is None.

2011-07-17  Yotam Oron  <yoron@redhat.com>

	BZ#719857 - Add reboot message to certificate reject
	When the user rejects the certificate's fingerprint, the host will reboot -
	added a message about that.

	BZ#705058 - StoragePool instanciations should be lock protected.
	Add a storage shared lock on the call to _restorePool, since creates a
	new pool object

2011-07-17  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#713173 - Add killProc rollback to deleteImage
	When we run deleteImage with post-zeroing flag, we need to issue 'dd' for this.
	The rollback procedure for deleteImage it's actually roll forward.
	In this situation we need first to kill previous 'dd' operation that may hold
	file handler (or LV) open and prevent us to run the new deleteImage.
	Note that in case we need to run this roll forward action on different host (SPM switchover)
	the 'dd' killing will do nothing and still may fail.

	Related to BZ#719255 - Release lock if prepare volume failed
	We need release lock explicitly and not with autoRelease mechanism.
	This mechanism wouldn't work always. It depends on behaviour of
	different Python's components such like garbage collector and so on.

2011-07-14  Robert Munilla  <rmunilla@redhat.com>

	BZ#720670 vdsm-reg: rotate and compress correct log file

2011-07-13  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#717847 - Postpone VM's periodic tasks until all volumes are prepared

2011-07-13  Dan Kenigsberg  <danken@redhat.com>

	BZ#720919 spmprotect.sh: remove log noise
	check_renew may have been called after fence or release have removed
	RENEWDIR. We should not print nonsense to the log in that case.

2011-07-13  David Naori  <dnaori@redhat.com>

	libvirtconnection: Add "VIR_FROM_RPC" to trigger prepareForShutdown.
	libvirt-0.9.3-2 has change the behavior of libvirt disconnection,
	we now should trigger prepareForShutdown in this case too. (Reference: BZ#681911)

2011-07-12  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#712106 - Add lock for template during moveImage operation

	BZ#717952 - Fix race in moveImage with overwrite of VM with several disks on NFS domains

	Related to BZ#717952 - Use 'with' instead of old lock.acquire and avoid unneeded SDF.produce(sdUUID)

2011-07-12  David Naori  <dnaori@redhat.com>

	BZ#720359: Remove lockfile instead of stop libvirt-guests.
	`service libvirt-guests stop` tries to access libvirtd which
	requires sasl authentication. Instead, removing the lockfile
	signifies to libvirt-guests that it has stopped.

	Related to BZ#719516: Make list nicer and include listNames inside.

2011-07-11  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#699976 Related, use RHEVM leasetime and timeout
	Use the values provided by RHEV-M for LOCK_RENEWAL_INTERVAL, LEASE_TIME,
	LEASE_RETRIES and IO_OP_TIMEOUT.

2011-07-11  Eduardo Warszawski  <ewarszaw@redhat.com>

	Fix vgs reload for stale VGs.
	Stale VG: A VG that is in canche but not in lvm data.

2011-07-10  Dan Kenigsberg  <danken@redhat.com>

	Revert "BZ#701398 Set monitorResponse using controlInfo"
	This reverts commit e1a615c9ad91fe5f7fe147cded028954e80ccf08.

	Libvirt-0.9.3 is not yet ready for our consumption; Furthermore, the
	reverted commit does not solve the case of blocked libvirtd.

2011-07-10  Yotam Oron  <yoron@redhat.com>

	Related to BZ#705058 - Don't start monitoring domains when reconstructing master
	recontructMaster caused domain monitoring threads to be created (repostats)
	but were never released. During "reconstructMaster" the storage pool is
	not connected and hence there is no point in monitoring domain liveness at all.

2011-07-10  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#719255 - Release lock if prepare volume failed

2011-07-08  David Naori  <dnaori@redhat.com>

	BZ#719516 vdsClient: avoid possible race in list table.

2011-07-07  Dan Kenigsberg  <danken@redhat.com>

	BZ#719003 vdsbootstrap: fix English text

2011-07-07  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#718993 - Remove vgchange --refresh
	vgchange --refresh:
	    If any logical volume in the volume group is active, reload its metadata.
	vgchange --refresh may be too long when are many LVs in the VG.
	vgchange --refresh was NOT needed for refreshLV after migration in bug 651803,
	since the LV metadata is reloaded using lvchange --refresh.

2011-07-07  David Naori  <dnaori@redhat.com>

	BZ#719301 clientIF: fix log typo.

	BZ#719346 vdsClient: Remove unsupported "stopAllCopies"

2011-07-06  Federico Simoncelli  <fsimonce@redhat.com>

	Return 1 socket when "physical id" not present
	When "physical id" is not present in /proc/cpuinfo return 1 socket.

2011-07-05  David Naori  <dnaori@redhat.com>

	BZ#716675 Remove timezone from kernelDict

2011-07-05  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#707217 - Remove unneeded IO from __createMailboxMonitor.

	BZ#707217 - Refresh only the VG tree without unnecesary lvm gymnastics.
	StoragePool._refreshDomainLinks() needs only to call domain.refreshDirTree(),
	instead of the much more intrusive domain.refresh().
	For fileSD, refreshDirTree() (as well as refresh()) is completely empty.

	BZ#707217 - Remove unneeded refreshSpecialVolumes() call
	Special LVs are activated in the subsequent refreshDirTree() call.

	BZ#707217 - Do not re-produce the msd in __rebuild.

	BZ#707217 - Remove getMasterDomain call from _refreshDomainLinks.
	self.masterDomain already contains the needed data, which should not be checked again in this flow.

	BZ#707217 - Reduce the number of lvm ops in connectStoragepool().

2011-07-05  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#701398 Set monitorResponse using controlInfo

2011-07-05  Yotam Oron  <yoron@redhat.com>

	BZ#680034 - Delegate long blocking operations out of process
	When a NFS server is unreachable, any files related operation
	takes long time (about 6 minutes) before it fails.
	In the case of connectStorageServer, it eventually causes
	rhevm timeout. Instead of doing the file ops in process,
	delegate them to another process with a 1 minute timeout.

2011-07-05  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#717658 - Do lvm cache refresh in SDF.refreshStorage

	BZ#717658 - Remove StorageDomainCache.invalidate().

	BZ#717658 - Remove unnecessary SDF.refreshStorage().

2011-07-03  Dan Kenigsberg  <danken@redhat.com>

	BZ#718488 deployUtil: run on python2.4

	Related to BZ#716692: avoid pyflakes error

2011-07-01  Federico Simoncelli  <fsimonce@redhat.com>

	BZ#716692 Report the real gateway for the networks

	BZ#716962 logrotate: compress logs using the xz format

2011-06-30  Dan Kenigsberg  <danken@redhat.com>

	BZ#716705 refuse to start VMs with "unknown" host osname
	If, due to misconfiguration, the host os is not recognizable, refuse to
	start new VMs as the os name should be passed to the guest bios.

2011-06-30  Igor Lvovsky  <ilvovsky@redhat.com>

	Related to BZ#712106 - Get rid of redundant instance of rmanager

2011-06-29  Erez Shinan  <eshinan@redhat.com>

	BZ#709788 - Don't assume failure when migration times out + specialized exception
	Vdsm waits for an event from libvirt to tell it that migration succeeded.
	If the connection to libvirt is lost, vdsm might think that the migration failed, though it didn't.
	The solution in this patch is to "ping" libvirt before deciding that the migration failed.

2011-06-29  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#713823 - We should not fail if deactivateLV failed during block volume creation

2011-06-29  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#717225 - Check version consistency only for data SDs.
	Only data domains are restricted to be not mixed.
	ISO and export domains can be attach with no regard to their version.

2011-06-29  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#716833 - Fix race in metadata offset computation during simultaneously volume creation in block storage domain

2011-06-28  Dan Kenigsberg  <danken@redhat.com>

	Revert "BZ#716705 refuse to start VMs with "unknown" host osname"
	This reverts commit 3cfe2b9f15705eec9c749fd173bf5634e8919bde.

	Related to BZ#705297: have a single virEventLoopPure thread
	Allowing multiple virEventLoopPure threads causes events being lost.

	BZ#678039 vdsmd: use bash assignment properly
	Bash is not perl.

2011-06-27  Dan Kenigsberg  <danken@redhat.com>

	BZ#716705 refuse to start VMs with "unknown" host osname
	If, due to misconfiguration, the host os is an recognizable, refuse to
	start new VMs as the os name should be passed to the guest bios.

	BZ#715006 set qemu death reason only once
	There used to be a race condition between destroy() setting the exitCode
	to NORMAL, and the onQemuDeath event setting it to ERROR.

	BZ#715006 releaseVm only once
	releaseVm() is called both by destroy() and by onQemuDeath. Since we
	obtain onQemuDeath event following destroy, we used to run it twice.

2011-06-26  Dan Kenigsberg  <danken@redhat.com>

	BZ#715327 connectStorageServer: report original error
	When connectStorageServer: fails, we try to clean after ourselves.
	However, the error code we report should reflect the original cause of
	the error, not a consequential error during cleanup.

2011-06-26  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#713145 getMetaDataMapping: remove duplicate PV metadata if seen

2011-06-26  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#713725 - Remove unused parameters from StoragePool.disconnect.

	BZ#713725 - Remove pool validations from task mgmt.

	BZ#713725 - Removed validateConnectedPool.

	BZ#713725 - Use getPool in validatePoolSD.
	We want validatePoolSD() to raise a specific Storage exception if the pool does not exists, instead of a cryptic KeyError.

	BZ#713725 - Assert that pool is not in dict if connect failed.

	BZ#713325 - Remove StoragePool.state.
	pool.states should be protected by Storage SPUUID lock or are racy in they actual form.
	Therefore are removed.
	If the pool can't be connected it should no be added to the pools dict.
	If the pool failed to be disconnected it will not removed from the pools dict.

	BZ#713725 - Remove StoragePool.isConnected
	No thread (but the one running StoragePool.connect()) can find the pool in the
	state "connecting", since connect() is protected by Storage SPUUID resource.

	BZ#713725 - Avoid leaving disconnected pools in pools dict.

	BZ#713725 - Remove unused StoragePool.validatePoolMVerEqual function.

	BZ#713725 - Remove unused parameter in SPM.isActive.

	BZ#713725 - Remove setPool.

	BZ#713725 - One pools dict to rule them all

2011-06-26  Sanjay Mehrotra  <smehrotr@redhat.com>

	BZ#678039 - If vdsm start fails, 0 exit code is returned
	The current vdsmd returns for start, stop, status, reload and
	reconfigure does not comply with Fedora Initscripts standard.

	The changes allow vdsmd to adhere to Fedora standard of exit codes as
	mentioned in Exit Codes of non-Status Actions, Exit Codes for the Status
	Action sections of fedora project.

2011-06-26  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#712796 expose domain version as string instead of int

2011-06-26  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#676322 - Removed multipath.getDeviceCapacities.

2011-06-23  Yotam Oron  <yoron@redhat.com>

	BZ#707874 - Disable RHEVM configuration in RHEVH until network is up
	    RHEVM configuration will always fail if the network was not configured,
	    therefore don't allow RHEVM configuration until network has been
	    configured.

2011-06-20  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#713185 - getStorageDomainsList return the same domain twice.

2011-06-20  Yotam Oron  <yoron@redhat.com>

	BZ#602338 - Add RHEVM certificate finrgerprint verification
	Add RHEVM certificate finrgerprint verification option for both the
	menus installation and the kernel params installation

2011-06-20  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#708779 - Avoid pools with mixed domain versions
	RHEV-M should not be attempting to join domains of mixed versions into a
	single pool anyway, but let us protect rhevm from itself.

	Related to BZ#676322 - Added getDeviceSize.

2011-06-19  Dan Kenigsberg  <danken@redhat.com>

	BZ#705297 getVdsCaps: memoize libvirt responses

	factor getCaps out of clientIF

	libvirtconnection: cache several connections, one per context

	vm.py: drop more qemu-related dead code

2011-06-19  Erez Shinan  <eshinan@redhat.com>

	BZ#713211 - vdsClient now accepts empty nics argument for addNetwork (regression fix?)

2011-06-19  Yotam Oron  <yoron@redhat.com>

	BZ#709998 - Actually write the port value to the config file during RHEVH installation
	    It so happens that the port value was not written to the config file
	    during menus installation. Fized that.

2011-06-16  Eduardo Warszawski  <ewarszaw@redhat.com>

	Related to BZ#712829 - Simplify refreshSpecialVolumes.

	Related to BZ#712829 - Simplify refreshDirTree.

	Related to BZ#712829 - Remove unnecessary validations in activateLVs flows.

2011-06-15  Igor Lvovsky  <ilvovsky@redhat.com>

	BZ#702906 - Add process pool per domain

	BZ#713196 - Ignore SPM parameters validation during fenceSpmStorage

2011-06-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#713215 - Fix tuple startswith.
	devicemapper.getAllMappedDevices returns tuple.

2011-06-15  Yotam Oron  <yoron@redhat.com>

	BZ#602338 - Use standard ovirtfunctions python module instead of the bash version

2011-06-15  Eduardo Warszawski  <ewarszaw@redhat.com>

	BZ#704666 - Avoid unnecesary lvExtends on high write.

2011-06-15  Dan Kenigsberg  <danken@redhat.com>

	Makefile: run pyflake on all .py files
	former code was confused if current directory had *.py files.

2011-06-15  Yotam Oron  <yoron@redhat.com>

	BZ#602338 - Remove netconsole configuration from RHEVH menus
	    This commit removes netconsole configuration from rhevm menus
	    in rhevh installation. The actual support for netconsole is
	    long gone; the menus should match reality.

	BZ#602338 - Make pyflakes happy
	    After rhevm.py was moved to the vdsm repo, pyflakes found a few
	    errors and therefore was not checking this file.
	    Clean the errors and make pyflakes check the file

	BZ#602338 - Move rhevm.py from the ovirt repo to vdsm repo
	    rhevm.py is the file that will present the user with RHEVM
	    configuration menus when the RHEVH boots. It needs to be part
	    of the vdsm repo.

2011-06-15  Saggi Mizrahi  <smizrahi@redhat.com>

	BZ#705058 - Clear repostats on pool deletion

2011-06-15  Dan Kenigsberg  <danken@redhat.com>

	BZ#684764 bootstrap: reconfigure after installation
	And log exceptions if encountered.

	v2: use nicer name for log file, break long lines.

2011-06-15  Tabula Rasa  <cleanslate@redhat.com>

	Initial commit
