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-29  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-13  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-12  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-17  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-12  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-06  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-23  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-19  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-13  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-26  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-19  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-16  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-12  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-16  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-21  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-01  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-23  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-18  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

	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

2012-04-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Add missing \ to Makefile.am

2012-04-16  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-16  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-16  Saggi Mizrahi  <smizrahi@redhat.com>

	Make resource manager stress test use 75% of allowed nprocs instead of a fixed number

	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-09  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.

	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-06  Ewoud Kohl van Wijngaarden  <ewoud@kohlvanwijngaarden.nl>

	Use urllib.urlencode to build URI parameters

	Clean up logging in vdsm-reg-setup.in

2012-03-06  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-22  Igor Lvovsky  <ilvovsky@redhat.com>

	Fix race during VM recovery flow
	In this patch:
	 * Save conf just after build devices

2012-01-22  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-04  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-01  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-16  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-11  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-04  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-07  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
