def METHOD_NAME(self):
        """
         Trying to migrate a volume to a pool in maintenance mode should fail
        """
        #List Available Storage pools
        storage_pools_response = list_storage_pools(
                                                    self.apiclient,
                                                    account=self.account.name,
                                                    domainid=self.account.domainid
                                                    )
        self.assertEqual(
                        isinstance(storage_pools_response, list),
                        True,
                        "Check list response returns a valid list"
                    )
        self.assertNotEqual(
                        len(storage_pools_response),
                        0,
                        "Check list Storage pools response"
                    )
        # Check if there are at least two storage pools , else skip the test
        if len(storage_pools_response) < 2 :
            self.skipTest("Atleast two storage pools are need to test Storage migration")
        if self.hypervisor.lower() in ['kvm']:
            self.virtual_machine.stop(self.apiclient)
        list_volumes_response = list_volumes(
                                self.apiclient,
                                virtualmachineid=self.virtual_machine.id,
                                listall=True
                                )
        self.assertEqual(
                     isinstance(list_volumes_response, list),
                     True,
                     "Check list volumes response for valid list"
                    )
        self.assertNotEqual(
                    list_volumes_response,
                    None,
                    "Check if volume exists in ListVolumes"
                    )
        volume = list_volumes_response[0]
        # Ge the list of pools suitable for migration for the volume
        pools = StoragePool.listForMigration(
                                        self.apiclient,
                                        id=volume.id
                                )
        self.assertEqual(
                     isinstance(pools, list),
                     True,
                     "Check eligible pools for migration returns a valid list"
                    )
        self.assertNotEqual(
                    len(pools),
                    0,
                    "Check if at least one pool is suitable for migration"
                    )
        pool = pools[0]
        self.debug("Migrating Volume-ID: %s to Pool: %s which is in Maintenance mode" % (volume.id, pool.id))
        # Enable maintenance mode for one of the suitable pools
        StoragePool.enableMaintenance(self.apiclient,id=pool.id)
        # Trying to migrate volume should fail , which is caught here
        with self.assertRaises(Exception):
                Volume.migrate(
                       self.apiclient,
                       volumeid=volume.id,
                       storageid=pool.id,
                       livemigrate='true'
                       )
        # Cancel the maintenance mode , so that the pool can be cleaned up in teardown
        StoragePool.cancelMaintenance(self.apiclient,id=pool.id)
        return