CLOUDSTACK-2083 router never comes to running state when addNicToVirtualMachine api is called with network id which is only allocated
CLOUDSTACK-2086 UI shows added NIC even if Actual NIC addition has failed
appliance: Don't mkdir 70-persistent-net.rules for systemvms

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
CLOUDSTACK-741: Granular Global Parameters

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
Storage motion for Xenserver changes: 1. Implemented Api findStoragePoolsForMigration. Added a new response objects to list storage pools available for migration. 2. Updated migrateVolume api for allowing migrating volumes of running vms. These changes are integrated into the latest storage refactoring changes. 3. Added the implementation for findHostsForMigration api. It lists the hosts to which an instance can be migrated, including hosts from within and across clusters to which an instance may be migrated with storage motion. The work of migrating a volume of a running vm is also done in copyAsync. 4. Updated the listHosts api for backward compatibility. 5. Added the implementation for migrateVirtualMachineWithVolume api. It migrates an instance with its volumes within a cluster and also across clusters. Also introduced a new XenServerStorageMotionStrategy for migrating volumes of a vm. When a vm is being migrated with its volumes, the vm is put in migrating state and a request is send to the volume manager to migrate the vm and its volumes. Volume manager calls into the volume service which forwards the request to data motion service after moving all the volumes to migrating state. Data motion service enumerates the strategies and the request reaches the XenServerStorageMotionStrategy. It calls in to the resource to complete the operation. 6. Resolved an issue where storage xenmotion of 2nd VM created from the same template to a host was failing with duplicate_vm exception. Made changes to remove the mac_seed key value pair from other_config when vms are created. This is was storage motion to fail. 7. Updated the db upgrade schema script. 8. Added the right permissions in commands.properties 9. Marvin tests for testing storage motion. Following scenarios are tested. 9.1. A virtual machine is migrated to another host. Its volumes are also migrated to another storage pool. 9.2. Just the volumes of a vm are migrated to another storage pool while the vm continues to run on the same host. 10. Unit tests for testing migration of a vm with its volumes.

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
Merge remote-tracking branch 'upstream/master'

Conflicts:
	test/integration/smoke/test_network.py
	test/integration/smoke/test_routers.py
	test/integration/smoke/test_vm_life_cycle.py
	test/integration/smoke/test_volumes.py
	tools/marvin/marvin/cloudstackConnection.py
	tools/marvin/marvin/cloudstackTestClient.py
	tools/marvin/marvin/integration/lib/base.py
	tools/marvin/marvin/remoteSSHClient.py