mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	Merge branch 'improvement/annotations_kvm_citrix' of https://github.com/schubergphilis/cloudstack into improvement/annotations_xen_kvm
Testing branch
This commit is contained in:
		
						commit
						3228854a97
					
				@ -22,7 +22,6 @@ package com.cloud.resource;
 | 
			
		||||
import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public abstract class CommandWrapper<T extends Command, A extends Answer, R extends ServerResource> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 | 
			
		||||
@ -19,13 +19,19 @@
 | 
			
		||||
 | 
			
		||||
package com.cloud.resource;
 | 
			
		||||
 | 
			
		||||
import java.text.MessageFormat;
 | 
			
		||||
import java.util.Hashtable;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
import org.apache.log4j.Logger;
 | 
			
		||||
 | 
			
		||||
import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
 | 
			
		||||
public abstract class RequestWrapper {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(RequestWrapper.class);
 | 
			
		||||
 | 
			
		||||
    @SuppressWarnings("rawtypes")
 | 
			
		||||
    protected Hashtable<Class<? extends ServerResource>, Hashtable<Class<? extends Command>, CommandWrapper>> resources = new Hashtable<Class<? extends ServerResource>, Hashtable<Class<? extends Command>, CommandWrapper>>();
 | 
			
		||||
 | 
			
		||||
@ -69,6 +75,8 @@ public abstract class RequestWrapper {
 | 
			
		||||
                commandWrapper = resourceCommands.get(commandClass2);
 | 
			
		||||
 | 
			
		||||
                keepCommandClass = commandClass2;
 | 
			
		||||
            } catch (final ClassCastException e) {
 | 
			
		||||
                throw new NullPointerException("No key found for '" + keepCommandClass.getClass() + "' in the Map!");
 | 
			
		||||
            } catch (final NullPointerException e) {
 | 
			
		||||
                // Will now traverse all the resource hierarchy. Returning null
 | 
			
		||||
                // is not a problem.
 | 
			
		||||
@ -102,10 +110,36 @@ public abstract class RequestWrapper {
 | 
			
		||||
                keepResourceClass = resourceClass2;
 | 
			
		||||
 | 
			
		||||
                commandWrapper = retrieveCommands(command.getClass(), resourceCommands2);
 | 
			
		||||
            } catch (final ClassCastException e) {
 | 
			
		||||
                throw new NullPointerException("No key found for '" + command.getClass() + "' in the Map!");
 | 
			
		||||
            } catch (final NullPointerException e) {
 | 
			
		||||
                throw e;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return commandWrapper;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @SuppressWarnings("rawtypes")
 | 
			
		||||
    protected Hashtable<Class<? extends Command>, CommandWrapper> processAnnotations(final Set<Class<? extends CommandWrapper>> wrappers) {
 | 
			
		||||
        final String errorMessage = "Error when adding Xen command to map ==> '{0}'. CommandWrapper class is ==> '{1}'";
 | 
			
		||||
 | 
			
		||||
        final Hashtable<Class<? extends Command>, CommandWrapper> commands = new Hashtable<Class<? extends Command>, CommandWrapper>();
 | 
			
		||||
 | 
			
		||||
        for (final Class<? extends CommandWrapper> wrapper : wrappers) {
 | 
			
		||||
            final ResourceWrapper annotation = wrapper.getAnnotation(ResourceWrapper.class);
 | 
			
		||||
            if (annotation == null) {
 | 
			
		||||
                // Just in case people add classes without the annotation in the package and we don't see it.
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
            try {
 | 
			
		||||
                commands.put(annotation.handles(), wrapper.newInstance());
 | 
			
		||||
            } catch (final InstantiationException e) {
 | 
			
		||||
                s_logger.warn(MessageFormat.format(errorMessage, e.getLocalizedMessage(), wrapper.toString()));
 | 
			
		||||
            } catch (final IllegalAccessException e) {
 | 
			
		||||
                s_logger.warn(MessageFormat.format(errorMessage, e.getLocalizedMessage(), wrapper.toString()));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return commands;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								core/src/com/cloud/resource/ResourceWrapper.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								core/src/com/cloud/resource/ResourceWrapper.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
			
		||||
//
 | 
			
		||||
// Licensed to the Apache Software Foundation (ASF) under one
 | 
			
		||||
// or more contributor license agreements.  See the NOTICE file
 | 
			
		||||
// distributed with this work for additional information
 | 
			
		||||
// regarding copyright ownership.  The ASF licenses this file
 | 
			
		||||
// to you under the Apache License, Version 2.0 (the
 | 
			
		||||
// "License"); you may not use this file except in compliance
 | 
			
		||||
// with the License.  You may obtain a copy of the License at
 | 
			
		||||
//
 | 
			
		||||
//   http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
//
 | 
			
		||||
// Unless required by applicable law or agreed to in writing,
 | 
			
		||||
// software distributed under the License is distributed on an
 | 
			
		||||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | 
			
		||||
// KIND, either express or implied.  See the License for the
 | 
			
		||||
// specific language governing permissions and limitations
 | 
			
		||||
// under the License.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
package com.cloud.resource;
 | 
			
		||||
 | 
			
		||||
import java.lang.annotation.ElementType;
 | 
			
		||||
import java.lang.annotation.Retention;
 | 
			
		||||
import java.lang.annotation.RetentionPolicy;
 | 
			
		||||
import java.lang.annotation.Target;
 | 
			
		||||
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
 | 
			
		||||
@Target(ElementType.TYPE)
 | 
			
		||||
@Retention(RetentionPolicy.RUNTIME)
 | 
			
		||||
public @interface ResourceWrapper {
 | 
			
		||||
 | 
			
		||||
    Class<? extends Command> handles();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -29,7 +29,9 @@ import com.cloud.agent.api.AttachIsoCommand;
 | 
			
		||||
import com.cloud.exception.InternalErrorException;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  AttachIsoCommand.class)
 | 
			
		||||
public final class LibvirtAttachIsoCommandWrapper extends CommandWrapper<AttachIsoCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -30,7 +30,9 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  AttachVolumeCommand.class)
 | 
			
		||||
public final class LibvirtAttachVolumeCommandWrapper extends CommandWrapper<AttachVolumeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -46,10 +46,12 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  BackupSnapshotCommand.class)
 | 
			
		||||
public final class LibvirtBackupSnapshotCommandWrapper extends CommandWrapper<BackupSnapshotCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtBackupSnapshotCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -23,8 +23,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.resource.ServerResource;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckConsoleProxyLoadCommand.class)
 | 
			
		||||
public class LibvirtCheckConsoleProxyLoadCommandWrapper extends LibvirtConsoleProxyLoadCommandWrapper<CheckConsoleProxyLoadCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.CheckHealthAnswer;
 | 
			
		||||
import com.cloud.agent.api.CheckHealthCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckHealthCommand.class)
 | 
			
		||||
public final class LibvirtCheckHealthCommandWrapper extends CommandWrapper<CheckHealthCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,9 @@ import com.cloud.agent.api.CheckNetworkCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.network.PhysicalNetworkSetupInfo;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckNetworkCommand.class)
 | 
			
		||||
public final class LibvirtCheckNetworkCommandWrapper extends CommandWrapper<CheckNetworkCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,9 @@ import com.cloud.hypervisor.kvm.resource.KVMHAChecker;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.KVMHAMonitor;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckOnHostCommand.class)
 | 
			
		||||
public final class LibvirtCheckOnHostCommandWrapper extends CommandWrapper<CheckOnHostCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@ -43,8 +45,8 @@ public final class LibvirtCheckOnHostCommandWrapper extends CommandWrapper<Check
 | 
			
		||||
        final KVMHAMonitor monitor = libvirtComputingResource.getMonitor();
 | 
			
		||||
 | 
			
		||||
        final List<NfsStoragePool> pools = monitor.getStoragePools();
 | 
			
		||||
        HostTO host = command.getHost();
 | 
			
		||||
        NetworkTO privateNetwork = host.getPrivateNetwork();
 | 
			
		||||
        final HostTO host = command.getHost();
 | 
			
		||||
        final NetworkTO privateNetwork = host.getPrivateNetwork();
 | 
			
		||||
        final KVMHAChecker ha = new KVMHAChecker(pools, privateNetwork.getIp());
 | 
			
		||||
 | 
			
		||||
        final Future<Boolean> future = executors.submit(ha);
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,9 @@ import com.cloud.agent.api.check.CheckSshCommand;
 | 
			
		||||
import com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckSshCommand.class)
 | 
			
		||||
public final class LibvirtCheckSshCommandWrapper extends CommandWrapper<CheckSshCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsVpcRoutingPolicyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,8 +27,10 @@ import com.cloud.agent.api.CheckVirtualMachineAnswer;
 | 
			
		||||
import com.cloud.agent.api.CheckVirtualMachineCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.VirtualMachine.PowerState;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckVirtualMachineCommand.class)
 | 
			
		||||
public final class LibvirtCheckVirtualMachineCommandWrapper extends CommandWrapper<CheckVirtualMachineCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.CleanupNetworkRulesCmd;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CleanupNetworkRulesCmd.class)
 | 
			
		||||
public final class LibvirtCleanupNetworkRulesCommandWrapper extends CommandWrapper<CleanupNetworkRulesCmd, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -30,8 +30,10 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CopyVolumeCommand.class)
 | 
			
		||||
public final class LibvirtCopyVolumeCommandWrapper extends CommandWrapper<CopyVolumeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -31,10 +31,12 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.cloud.vm.DiskProfile;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateCommand.class)
 | 
			
		||||
public final class LibvirtCreateCommandWrapper extends CommandWrapper<CreateCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtCreateCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -35,6 +35,7 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.StorageLayer;
 | 
			
		||||
import com.cloud.storage.template.Processor;
 | 
			
		||||
import com.cloud.storage.template.Processor.FormatInfo;
 | 
			
		||||
@ -42,6 +43,7 @@ import com.cloud.storage.template.TemplateLocation;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreatePrivateTemplateFromSnapshotCommand.class)
 | 
			
		||||
public final class LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper extends CommandWrapper<CreatePrivateTemplateFromSnapshotCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -45,6 +45,7 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.ImageFormat;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.cloud.storage.StorageLayer;
 | 
			
		||||
@ -55,6 +56,7 @@ import com.cloud.storage.template.TemplateLocation;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreatePrivateTemplateFromVolumeCommand.class)
 | 
			
		||||
public final class LibvirtCreatePrivateTemplateFromVolumeCommandWrapper extends CommandWrapper<CreatePrivateTemplateFromVolumeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtCreatePrivateTemplateFromVolumeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.CreateStoragePoolCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateStoragePoolCommand.class)
 | 
			
		||||
public final class LibvirtCreateStoragePoolCommandWrapper extends CommandWrapper<CreateStoragePoolCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -30,8 +30,10 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateVolumeFromSnapshotCommand.class)
 | 
			
		||||
public final class LibvirtCreateVolumeFromSnapshotCommandWrapper extends CommandWrapper<CreateVolumeFromSnapshotCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -25,15 +25,17 @@ import com.cloud.agent.api.to.StorageFilerTO;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  DeleteStoragePoolCommand.class)
 | 
			
		||||
public final class LibvirtDeleteStoragePoolCommandWrapper extends CommandWrapper<DeleteStoragePoolCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Answer execute(final DeleteStoragePoolCommand command, final LibvirtComputingResource libvirtComputingResource) {
 | 
			
		||||
        try {
 | 
			
		||||
            StorageFilerTO pool = command.getPool();
 | 
			
		||||
            KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            final StorageFilerTO pool = command.getPool();
 | 
			
		||||
            final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid());
 | 
			
		||||
            return new Answer(command);
 | 
			
		||||
        } catch (final CloudRuntimeException e) {
 | 
			
		||||
 | 
			
		||||
@ -28,8 +28,10 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  DestroyCommand.class)
 | 
			
		||||
public final class LibvirtDestroyCommandWrapper extends CommandWrapper<DestroyCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtDestroyCommandWrapper.class);
 | 
			
		||||
@ -38,7 +40,7 @@ public final class LibvirtDestroyCommandWrapper extends CommandWrapper<DestroyCo
 | 
			
		||||
    public Answer execute(final DestroyCommand command, final LibvirtComputingResource libvirtComputingResource) {
 | 
			
		||||
        final VolumeTO vol = command.getVolume();
 | 
			
		||||
        try {
 | 
			
		||||
            KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            final KVMStoragePool pool = storagePoolMgr.getStoragePool(vol.getPoolType(), vol.getPoolUuid());
 | 
			
		||||
            pool.deletePhysicalDisk(vol.getPath(), null);
 | 
			
		||||
            return new Answer(command, true, "Success");
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,9 @@ import com.cloud.hypervisor.kvm.resource.KVMHAChecker;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.KVMHAMonitor;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  FenceCommand.class)
 | 
			
		||||
public final class LibvirtFenceCommandWrapper extends CommandWrapper<FenceCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtFenceCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,10 +27,12 @@ import com.cloud.agent.api.GetHostStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.HostStatsEntry;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.Pair;
 | 
			
		||||
import com.cloud.utils.script.OutputInterpreter;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetHostStatsCommand.class)
 | 
			
		||||
public final class LibvirtGetHostStatsCommandWrapper extends CommandWrapper<GetHostStatsCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtGetHostStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,10 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetStorageStatsCommand.class)
 | 
			
		||||
public final class LibvirtGetStorageStatsCommandWrapper extends CommandWrapper<GetStorageStatsCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,9 @@ import com.cloud.agent.api.GetVmDiskStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.VmDiskStatsEntry;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVmDiskStatsCommand.class)
 | 
			
		||||
public final class LibvirtGetVmDiskStatsCommandWrapper extends CommandWrapper<GetVmDiskStatsCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtGetVmDiskStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,9 @@ import com.cloud.agent.api.GetVmStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.VmStatsEntry;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVmStatsCommand.class)
 | 
			
		||||
public final class LibvirtGetVmStatsCommandWrapper extends CommandWrapper<GetVmStatsCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtGetVmStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,9 @@ import com.cloud.agent.api.GetVncPortAnswer;
 | 
			
		||||
import com.cloud.agent.api.GetVncPortCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVncPortCommand.class)
 | 
			
		||||
public final class LibvirtGetVncPortCommandWrapper extends CommandWrapper<GetVncPortCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.MaintainAnswer;
 | 
			
		||||
import com.cloud.agent.api.MaintainCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  MaintainCommand.class)
 | 
			
		||||
public final class LibvirtMaintainCommandWrapper extends CommandWrapper<MaintainCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -42,9 +42,11 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ManageSnapshotCommand.class)
 | 
			
		||||
public final class LibvirtManageSnapshotCommandWrapper extends CommandWrapper<ManageSnapshotCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtManageSnapshotCommandWrapper.class);
 | 
			
		||||
@ -68,8 +70,8 @@ public final class LibvirtManageSnapshotCommandWrapper extends CommandWrapper<Ma
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            StorageFilerTO pool = command.getPool();
 | 
			
		||||
            final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
 | 
			
		||||
            final StorageFilerTO pool = command.getPool();
 | 
			
		||||
            final KVMStoragePool primaryPool = storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid());
 | 
			
		||||
 | 
			
		||||
            final KVMPhysicalDisk disk = primaryPool.getPhysicalDisk(command.getVolumePath());
 | 
			
		||||
 | 
			
		||||
@ -43,7 +43,9 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.MigrateKVMAsync;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.VifDriver;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  MigrateCommand.class)
 | 
			
		||||
public final class LibvirtMigrateCommandWrapper extends CommandWrapper<MigrateCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtMigrateCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -30,8 +30,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.ModifySshKeysCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ModifySshKeysCommand.class)
 | 
			
		||||
public final class LibvirtModifySshKeysCommandWrapper extends CommandWrapper<ModifySshKeysCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtModifySshKeysCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -29,8 +29,10 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.template.TemplateProp;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ModifyStoragePoolCommand.class)
 | 
			
		||||
public final class LibvirtModifyStoragePoolCommandWrapper extends CommandWrapper<ModifyStoragePoolCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
 | 
			
		||||
import com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkElementCommand.class)
 | 
			
		||||
public final class LibvirtNetworkElementCommandWrapper extends CommandWrapper<NetworkElementCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesSystemVmCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkRulesSystemVmCommand.class)
 | 
			
		||||
public final class LibvirtNetworkRulesSystemVmCommandWrapper extends CommandWrapper<NetworkRulesSystemVmCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsVpcRoutingPolicyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkRulesVmSecondaryIpCommand.class)
 | 
			
		||||
public final class LibvirtNetworkRulesVmSecondaryIpCommandWrapper extends CommandWrapper<NetworkRulesVmSecondaryIpCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsVpcRoutingPolicyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.NetworkUsageAnswer;
 | 
			
		||||
import com.cloud.agent.api.NetworkUsageCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkUsageCommand.class)
 | 
			
		||||
public final class LibvirtNetworkUsageCommandWrapper extends CommandWrapper<NetworkUsageCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,10 @@ import com.cloud.agent.api.OvsCreateTunnelAnswer;
 | 
			
		||||
import com.cloud.agent.api.OvsCreateTunnelCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsCreateTunnelCommand.class)
 | 
			
		||||
public final class LibvirtOvsCreateTunnelCommandWrapper extends CommandWrapper<OvsCreateTunnelCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsCreateTunnelCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyBridgeCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsDestroyBridgeCommand.class)
 | 
			
		||||
public final class LibvirtOvsDestroyBridgeCommandWrapper extends CommandWrapper<OvsDestroyBridgeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsDestroyBridgeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyTunnelCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsDestroyTunnelCommand.class)
 | 
			
		||||
public final class LibvirtOvsDestroyTunnelCommandWrapper extends CommandWrapper<OvsDestroyTunnelCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsDestroyTunnelCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,10 @@ import com.cloud.agent.api.OvsFetchInterfaceAnswer;
 | 
			
		||||
import com.cloud.agent.api.OvsFetchInterfaceCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsFetchInterfaceCommand.class)
 | 
			
		||||
public final class LibvirtOvsFetchInterfaceCommandWrapper extends CommandWrapper<OvsFetchInterfaceCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsFetchInterfaceCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsSetupBridgeCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsSetupBridgeCommand.class)
 | 
			
		||||
public final class LibvirtOvsSetupBridgeCommandWrapper extends CommandWrapper<OvsSetupBridgeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsSetupBridgeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcPhysicalTopologyConfigCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsVpcPhysicalTopologyConfigCommand.class)
 | 
			
		||||
public final class LibvirtOvsVpcPhysicalTopologyConfigCommandWrapper extends CommandWrapper<OvsVpcPhysicalTopologyConfigCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsVpcPhysicalTopologyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcRoutingPolicyConfigCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsVpcRoutingPolicyConfigCommand.class)
 | 
			
		||||
public final class LibvirtOvsVpcRoutingPolicyConfigCommandWrapper extends CommandWrapper<OvsVpcRoutingPolicyConfigCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtOvsVpcRoutingPolicyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.PingTestCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PingTestCommand.class)
 | 
			
		||||
public final class LibvirtPingTestCommandWrapper extends CommandWrapper<PingTestCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtPingTestCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,9 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.VifDriver;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PlugNicCommand.class)
 | 
			
		||||
public final class LibvirtPlugNicCommandWrapper extends CommandWrapper<PlugNicCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtPlugNicCommandWrapper.class);
 | 
			
		||||
@ -59,8 +61,8 @@ public final class LibvirtPlugNicCommandWrapper extends CommandWrapper<PlugNicCo
 | 
			
		||||
                }
 | 
			
		||||
                nicnum++;
 | 
			
		||||
            }
 | 
			
		||||
            VifDriver vifDriver = libvirtComputingResource.getVifDriver(nic.getType());
 | 
			
		||||
            InterfaceDef interfaceDef = vifDriver.plug(nic, "Other PV", "");
 | 
			
		||||
            final VifDriver vifDriver = libvirtComputingResource.getVifDriver(nic.getType());
 | 
			
		||||
            final InterfaceDef interfaceDef = vifDriver.plug(nic, "Other PV", "");
 | 
			
		||||
            vm.attachDevice(interfaceDef.toString());
 | 
			
		||||
 | 
			
		||||
            return new PlugNicAnswer(command, true, "success");
 | 
			
		||||
 | 
			
		||||
@ -35,8 +35,10 @@ import com.cloud.exception.InternalErrorException;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Volume;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PrepareForMigrationCommand.class)
 | 
			
		||||
public final class LibvirtPrepareForMigrationCommandWrapper extends CommandWrapper<PrepareForMigrationCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtPrepareForMigrationCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -30,8 +30,10 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PrimaryStorageDownloadCommand.class)
 | 
			
		||||
public final class LibvirtPrimaryStorageDownloadCommandWrapper extends CommandWrapper<PrimaryStorageDownloadCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -30,8 +30,10 @@ import com.cloud.agent.api.PvlanSetupCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PvlanSetupCommand.class)
 | 
			
		||||
public final class LibvirtPvlanSetupCommandWrapper extends CommandWrapper<PvlanSetupCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtPvlanSetupCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.ReadyAnswer;
 | 
			
		||||
import com.cloud.agent.api.ReadyCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ReadyCommand.class)
 | 
			
		||||
public final class LibvirtReadyCommandWrapper extends CommandWrapper<ReadyCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,9 @@ import com.cloud.agent.api.RebootAnswer;
 | 
			
		||||
import com.cloud.agent.api.RebootCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  RebootCommand.class)
 | 
			
		||||
public final class LibvirtRebootCommandWrapper extends CommandWrapper<RebootCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtRebootCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,9 @@ import com.cloud.agent.api.RebootRouterCommand;
 | 
			
		||||
import com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  RebootRouterCommand.class)
 | 
			
		||||
public final class LibvirtRebootRouterCommandWrapper extends CommandWrapper<RebootRouterCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -19,66 +19,12 @@
 | 
			
		||||
package com.cloud.hypervisor.kvm.resource.wrapper;
 | 
			
		||||
 | 
			
		||||
import java.util.Hashtable;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
 | 
			
		||||
import org.reflections.Reflections;
 | 
			
		||||
 | 
			
		||||
import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.AttachIsoCommand;
 | 
			
		||||
import com.cloud.agent.api.AttachVolumeCommand;
 | 
			
		||||
import com.cloud.agent.api.BackupSnapshotCommand;
 | 
			
		||||
import com.cloud.agent.api.CheckHealthCommand;
 | 
			
		||||
import com.cloud.agent.api.CheckNetworkCommand;
 | 
			
		||||
import com.cloud.agent.api.CheckOnHostCommand;
 | 
			
		||||
import com.cloud.agent.api.CheckVirtualMachineCommand;
 | 
			
		||||
import com.cloud.agent.api.CleanupNetworkRulesCmd;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
import com.cloud.agent.api.CreatePrivateTemplateFromSnapshotCommand;
 | 
			
		||||
import com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand;
 | 
			
		||||
import com.cloud.agent.api.CreateStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
 | 
			
		||||
import com.cloud.agent.api.DeleteStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.FenceCommand;
 | 
			
		||||
import com.cloud.agent.api.GetHostStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.GetStorageStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.GetVmDiskStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.GetVmStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.GetVncPortCommand;
 | 
			
		||||
import com.cloud.agent.api.MaintainCommand;
 | 
			
		||||
import com.cloud.agent.api.ManageSnapshotCommand;
 | 
			
		||||
import com.cloud.agent.api.MigrateCommand;
 | 
			
		||||
import com.cloud.agent.api.ModifySshKeysCommand;
 | 
			
		||||
import com.cloud.agent.api.ModifyStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesSystemVmCommand;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
 | 
			
		||||
import com.cloud.agent.api.NetworkUsageCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsCreateTunnelCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyBridgeCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyTunnelCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsFetchInterfaceCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsSetupBridgeCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcPhysicalTopologyConfigCommand;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcRoutingPolicyConfigCommand;
 | 
			
		||||
import com.cloud.agent.api.PingTestCommand;
 | 
			
		||||
import com.cloud.agent.api.PlugNicCommand;
 | 
			
		||||
import com.cloud.agent.api.PrepareForMigrationCommand;
 | 
			
		||||
import com.cloud.agent.api.PvlanSetupCommand;
 | 
			
		||||
import com.cloud.agent.api.ReadyCommand;
 | 
			
		||||
import com.cloud.agent.api.RebootCommand;
 | 
			
		||||
import com.cloud.agent.api.RebootRouterCommand;
 | 
			
		||||
import com.cloud.agent.api.SecurityGroupRulesCmd;
 | 
			
		||||
import com.cloud.agent.api.StartCommand;
 | 
			
		||||
import com.cloud.agent.api.StopCommand;
 | 
			
		||||
import com.cloud.agent.api.UnPlugNicCommand;
 | 
			
		||||
import com.cloud.agent.api.UpgradeSnapshotCommand;
 | 
			
		||||
import com.cloud.agent.api.check.CheckSshCommand;
 | 
			
		||||
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 | 
			
		||||
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
 | 
			
		||||
import com.cloud.agent.api.routing.NetworkElementCommand;
 | 
			
		||||
import com.cloud.agent.api.storage.CopyVolumeCommand;
 | 
			
		||||
import com.cloud.agent.api.storage.CreateCommand;
 | 
			
		||||
import com.cloud.agent.api.storage.DestroyCommand;
 | 
			
		||||
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
 | 
			
		||||
import com.cloud.agent.api.storage.ResizeVolumeCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.RequestWrapper;
 | 
			
		||||
@ -92,6 +38,10 @@ public class LibvirtRequestWrapper extends RequestWrapper {
 | 
			
		||||
        instance = new LibvirtRequestWrapper();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Reflections baseWrappers = new Reflections("com.cloud.hypervisor.kvm.resource.wrapper");
 | 
			
		||||
    @SuppressWarnings("rawtypes")
 | 
			
		||||
    Set<Class<? extends CommandWrapper>> baseSet = baseWrappers.getSubTypesOf(CommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
    private LibvirtRequestWrapper() {
 | 
			
		||||
        init();
 | 
			
		||||
    }
 | 
			
		||||
@ -99,64 +49,7 @@ public class LibvirtRequestWrapper extends RequestWrapper {
 | 
			
		||||
    @SuppressWarnings("rawtypes")
 | 
			
		||||
    private void init() {
 | 
			
		||||
        // LibvirtComputingResource commands
 | 
			
		||||
        final Hashtable<Class<? extends Command>, CommandWrapper> libvirtCommands = new Hashtable<Class<? extends Command>, CommandWrapper>();
 | 
			
		||||
 | 
			
		||||
        libvirtCommands.put(StopCommand.class, new LibvirtStopCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(GetVmStatsCommand.class, new LibvirtGetVmStatsCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(GetVmDiskStatsCommand.class, new LibvirtGetVmDiskStatsCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(RebootRouterCommand.class, new LibvirtRebootRouterCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(RebootCommand.class, new LibvirtRebootCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(GetHostStatsCommand.class, new LibvirtGetHostStatsCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckHealthCommand.class, new LibvirtCheckHealthCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(PrepareForMigrationCommand.class, new LibvirtPrepareForMigrationCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(MigrateCommand.class, new LibvirtMigrateCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(PingTestCommand.class, new LibvirtPingTestCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckVirtualMachineCommand.class, new LibvirtCheckVirtualMachineCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(ReadyCommand.class, new LibvirtReadyCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(AttachIsoCommand.class, new LibvirtAttachIsoCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(AttachVolumeCommand.class, new LibvirtAttachVolumeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(WatchConsoleProxyLoadCommand.class, new LibvirtWatchConsoleProxyLoadCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckConsoleProxyLoadCommand.class, new LibvirtCheckConsoleProxyLoadCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(GetVncPortCommand.class, new LibvirtGetVncPortCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(ModifySshKeysCommand.class, new LibvirtModifySshKeysCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(MaintainCommand.class, new LibvirtMaintainCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CreateCommand.class, new LibvirtCreateCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(DestroyCommand.class, new LibvirtDestroyCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(PrimaryStorageDownloadCommand.class, new LibvirtPrimaryStorageDownloadCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(GetStorageStatsCommand.class, new LibvirtGetStorageStatsCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(UpgradeSnapshotCommand.class, new LibvirtUpgradeSnapshotCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(DeleteStoragePoolCommand.class, new LibvirtDeleteStoragePoolCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsSetupBridgeCommand.class, new LibvirtOvsSetupBridgeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsDestroyBridgeCommand.class, new LibvirtOvsDestroyBridgeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsFetchInterfaceCommand.class, new LibvirtOvsFetchInterfaceCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsVpcPhysicalTopologyConfigCommand.class, new LibvirtOvsVpcPhysicalTopologyConfigCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsVpcRoutingPolicyConfigCommand.class, new LibvirtOvsVpcRoutingPolicyConfigCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CreateStoragePoolCommand.class, new LibvirtCreateStoragePoolCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(ModifyStoragePoolCommand.class, new LibvirtModifyStoragePoolCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CleanupNetworkRulesCmd.class, new LibvirtCleanupNetworkRulesCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(NetworkRulesVmSecondaryIpCommand.class, new LibvirtNetworkRulesVmSecondaryIpCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(NetworkRulesSystemVmCommand.class, new LibvirtNetworkRulesSystemVmCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckSshCommand.class, new LibvirtCheckSshCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckNetworkCommand.class, new LibvirtCheckNetworkCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsDestroyTunnelCommand.class, new LibvirtOvsDestroyTunnelCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CheckOnHostCommand.class, new LibvirtCheckOnHostCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(OvsCreateTunnelCommand.class, new LibvirtOvsCreateTunnelCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CreateVolumeFromSnapshotCommand.class, new LibvirtCreateVolumeFromSnapshotCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(FenceCommand.class, new LibvirtFenceCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(SecurityGroupRulesCmd.class, new LibvirtSecurityGroupRulesCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(PlugNicCommand.class, new LibvirtPlugNicCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(UnPlugNicCommand.class, new LibvirtUnPlugNicCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(NetworkUsageCommand.class, new LibvirtNetworkUsageCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CreatePrivateTemplateFromVolumeCommand.class, new LibvirtCreatePrivateTemplateFromVolumeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(ManageSnapshotCommand.class, new LibvirtManageSnapshotCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(BackupSnapshotCommand.class, new LibvirtBackupSnapshotCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CreatePrivateTemplateFromSnapshotCommand.class, new LibvirtCreatePrivateTemplateFromSnapshotCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(CopyVolumeCommand.class, new LibvirtCopyVolumeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(PvlanSetupCommand.class, new LibvirtPvlanSetupCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(ResizeVolumeCommand.class, new LibvirtResizeVolumeCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(NetworkElementCommand.class, new LibvirtNetworkElementCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(StorageSubSystemCommand.class, new LibvirtStorageSubSystemCommandWrapper());
 | 
			
		||||
        libvirtCommands.put(StartCommand.class, new LibvirtStartCommandWrapper());
 | 
			
		||||
        final Hashtable<Class<? extends Command>, CommandWrapper> libvirtCommands = processAnnotations(baseSet);
 | 
			
		||||
 | 
			
		||||
        resources.put(LibvirtComputingResource.class, libvirtCommands);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -34,6 +34,7 @@ import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
 | 
			
		||||
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.cloud.utils.script.Script;
 | 
			
		||||
@ -41,6 +42,7 @@ import com.cloud.utils.script.Script;
 | 
			
		||||
/*
 | 
			
		||||
 * Uses a local script now, eventually support for virStorageVolResize() will maybe work on qcow2 and lvm and we can do this in libvirt calls
 | 
			
		||||
 */
 | 
			
		||||
@ResourceWrapper(handles =  ResizeVolumeCommand.class)
 | 
			
		||||
public final class LibvirtResizeVolumeCommandWrapper extends CommandWrapper<ResizeVolumeCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtResizeVolumeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,9 @@ import com.cloud.agent.api.SecurityGroupRulesCmd;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  SecurityGroupRulesCmd.class)
 | 
			
		||||
public final class LibvirtSecurityGroupRulesCommandWrapper extends CommandWrapper<SecurityGroupRulesCmd, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtSecurityGroupRulesCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -40,8 +40,10 @@ import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
 | 
			
		||||
import com.cloud.network.Networks.IsolationType;
 | 
			
		||||
import com.cloud.network.Networks.TrafficType;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.VirtualMachine;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  StartCommand.class)
 | 
			
		||||
public final class LibvirtStartCommandWrapper extends CommandWrapper<StartCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtStartCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,9 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DiskDef;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.VifDriver;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  StopCommand.class)
 | 
			
		||||
public final class LibvirtStopCommandWrapper extends CommandWrapper<StopCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtStopCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,8 +24,10 @@ import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
 | 
			
		||||
import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.resource.StorageSubsystemCommandHandler;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  StorageSubSystemCommand.class)
 | 
			
		||||
public final class LibvirtStorageSubSystemCommandWrapper extends CommandWrapper<StorageSubSystemCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,9 @@ import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.VifDriver;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  UnPlugNicCommand.class)
 | 
			
		||||
public final class LibvirtUnPlugNicCommandWrapper extends CommandWrapper<UnPlugNicCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(LibvirtUnPlugNicCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.UpgradeSnapshotCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  UpgradeSnapshotCommand.class)
 | 
			
		||||
public final class LibvirtUpgradeSnapshotCommandWrapper extends CommandWrapper<UpgradeSnapshotCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -23,8 +23,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
 | 
			
		||||
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.resource.ServerResource;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  WatchConsoleProxyLoadCommand.class)
 | 
			
		||||
public class LibvirtWatchConsoleProxyLoadCommandWrapper extends LibvirtConsoleProxyLoadCommandWrapper<WatchConsoleProxyLoadCommand, Answer, LibvirtComputingResource> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -46,7 +46,6 @@ import javax.naming.ConfigurationException;
 | 
			
		||||
import javax.xml.parsers.DocumentBuilderFactory;
 | 
			
		||||
import javax.xml.parsers.ParserConfigurationException;
 | 
			
		||||
 | 
			
		||||
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
 | 
			
		||||
import org.apache.cloudstack.storage.to.TemplateObjectTO;
 | 
			
		||||
import org.apache.cloudstack.storage.to.VolumeObjectTO;
 | 
			
		||||
import org.apache.log4j.Logger;
 | 
			
		||||
@ -717,7 +716,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
 | 
			
		||||
                    if (record.isControlDomain || record.isASnapshot || record.isATemplate) {
 | 
			
		||||
                        continue; // Skip DOM0
 | 
			
		||||
                    }
 | 
			
		||||
                    String platform = StringUtils.mapToString(record.platform);
 | 
			
		||||
                    final String platform = StringUtils.mapToString(record.platform);
 | 
			
		||||
                    if (platform.isEmpty()) {
 | 
			
		||||
                        continue; //Skip if platform is null
 | 
			
		||||
                    }
 | 
			
		||||
@ -1642,13 +1641,6 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Answer executeRequest(final Command cmd) {
 | 
			
		||||
 | 
			
		||||
        // We need this one because the StorageSubSystemCommand is from another
 | 
			
		||||
        // hierarchy.
 | 
			
		||||
        if (cmd instanceof StorageSubSystemCommand) {
 | 
			
		||||
            return storageHandler.handleStorageCommands((StorageSubSystemCommand) cmd);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
 | 
			
		||||
        try {
 | 
			
		||||
            return wrapper.execute(cmd, this);
 | 
			
		||||
@ -2012,6 +2004,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
 | 
			
		||||
        return _migratewait;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public StorageSubsystemCommandHandler getStorageHandler() {
 | 
			
		||||
        return storageHandler;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected boolean getHostInfo(final Connection conn) throws IllegalArgumentException {
 | 
			
		||||
        try {
 | 
			
		||||
            final Host myself = Host.getByUuid(conn, _host.getUuid());
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,7 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.AttachIsoCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
@ -36,6 +37,7 @@ import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  AttachIsoCommand.class)
 | 
			
		||||
public final class CitrixAttachIsoCommandWrapper extends CommandWrapper<AttachIsoCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixAttachIsoCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@ import com.cloud.agent.api.AttachVolumeAnswer;
 | 
			
		||||
import com.cloud.agent.api.AttachVolumeCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
import com.xensource.xenapi.Types;
 | 
			
		||||
@ -36,6 +37,7 @@ import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  AttachVolumeCommand.class)
 | 
			
		||||
public final class CitrixAttachVolumeCommandWrapper extends CommandWrapper<AttachVolumeCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixAttachVolumeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -23,8 +23,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.Command;
 | 
			
		||||
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.resource.ServerResource;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckConsoleProxyLoadCommand.class)
 | 
			
		||||
public final class CitrixCheckConsoleProxyLoadCommandWrapper extends CitrixConsoleProxyLoadCommandWrapper<CheckConsoleProxyLoadCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.CheckHealthAnswer;
 | 
			
		||||
import com.cloud.agent.api.CheckHealthCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckHealthCommand.class)
 | 
			
		||||
public final class CitrixCheckHealthCommandWrapper extends CommandWrapper<CheckHealthCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -29,8 +29,10 @@ import com.cloud.agent.api.CheckNetworkCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.network.PhysicalNetworkSetupInfo;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckNetworkCommand.class)
 | 
			
		||||
public final class CitrixCheckNetworkCommandWrapper extends CommandWrapper<CheckNetworkCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCheckNetworkCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.CheckOnHostAnswer;
 | 
			
		||||
import com.cloud.agent.api.CheckOnHostCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckOnHostCommand.class)
 | 
			
		||||
public final class CitrixCheckOnHostCommandWrapper extends CommandWrapper<CheckOnHostCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,10 @@ import com.cloud.agent.api.check.CheckSshAnswer;
 | 
			
		||||
import com.cloud.agent.api.check.CheckSshCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckSshCommand.class)
 | 
			
		||||
public final class CitrixCheckSshCommandWrapper extends CommandWrapper<CheckSshCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCheckSshCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,9 +26,11 @@ import com.cloud.agent.api.CheckVirtualMachineAnswer;
 | 
			
		||||
import com.cloud.agent.api.CheckVirtualMachineCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.VirtualMachine.PowerState;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CheckVirtualMachineCommand.class)
 | 
			
		||||
public final class CitrixCheckVirtualMachineCommandWrapper extends CommandWrapper<CheckVirtualMachineCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCheckVirtualMachineCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.CleanupNetworkRulesCmd;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CleanupNetworkRulesCmd.class)
 | 
			
		||||
public final class CitrixCleanupNetworkRulesCmdWrapper extends CommandWrapper<CleanupNetworkRulesCmd, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCleanupNetworkRulesCmdWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,10 +28,12 @@ import com.cloud.agent.api.ClusterVMMetaDataSyncAnswer;
 | 
			
		||||
import com.cloud.agent.api.ClusterVMMetaDataSyncCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Host;
 | 
			
		||||
import com.xensource.xenapi.Pool;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ClusterVMMetaDataSyncCommand.class)
 | 
			
		||||
public final class CitrixClusterVMMetaDataSyncCommandWrapper extends CommandWrapper<ClusterVMMetaDataSyncCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixClusterVMMetaDataSyncCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -30,12 +30,14 @@ import com.cloud.agent.api.to.StorageFilerTO;
 | 
			
		||||
import com.cloud.agent.api.to.VolumeTO;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.DiskProfile;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
import com.xensource.xenapi.Types;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateCommand.class)
 | 
			
		||||
public final class CitrixCreateCommandWrapper extends CommandWrapper<CreateCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCreateCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,9 +26,11 @@ import com.cloud.agent.api.CreateStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.to.StorageFilerTO;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.Storage.StoragePoolType;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateStoragePoolCommand.class)
 | 
			
		||||
public final class CitrixCreateStoragePoolCommandWrapper extends CommandWrapper<CreateStoragePoolCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCreateStoragePoolCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ import com.cloud.agent.api.CreateVMSnapshotAnswer;
 | 
			
		||||
import com.cloud.agent.api.CreateVMSnapshotCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.snapshot.VMSnapshot;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Pool;
 | 
			
		||||
@ -42,6 +43,7 @@ import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  CreateVMSnapshotCommand.class)
 | 
			
		||||
public final class CitrixCreateVMSnapshotCommandWrapper extends CommandWrapper<CreateVMSnapshotCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixCreateVMSnapshotCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,9 +26,11 @@ import com.cloud.agent.api.DeleteStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.to.StorageFilerTO;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  DeleteStoragePoolCommand.class)
 | 
			
		||||
public final class CitrixDeleteStoragePoolCommandWrapper extends CommandWrapper<DeleteStoragePoolCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixDeleteStoragePoolCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ import com.cloud.agent.api.DeleteVMSnapshotAnswer;
 | 
			
		||||
import com.cloud.agent.api.DeleteVMSnapshotCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.snapshot.VMSnapshot;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Types;
 | 
			
		||||
@ -38,6 +39,7 @@ import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  DeleteVMSnapshotCommand.class)
 | 
			
		||||
public final class CitrixDeleteVMSnapshotCommandWrapper extends CommandWrapper<DeleteVMSnapshotCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixDeleteVMSnapshotCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,10 +28,12 @@ import com.cloud.agent.api.storage.DestroyCommand;
 | 
			
		||||
import com.cloud.agent.api.to.VolumeTO;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VDI;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  DestroyCommand.class)
 | 
			
		||||
public final class CitrixDestroyCommandWrapper extends CommandWrapper<DestroyCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixDestroyCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,8 +27,10 @@ import com.cloud.agent.api.GetHostStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.HostStatsEntry;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetHostStatsCommand.class)
 | 
			
		||||
public final class CitrixGetHostStatsCommandWrapper extends CommandWrapper<GetHostStatsCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixGetHostStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -29,10 +29,12 @@ import com.cloud.agent.api.GetStorageStatsAnswer;
 | 
			
		||||
import com.cloud.agent.api.GetStorageStatsCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetStorageStatsCommand.class)
 | 
			
		||||
public final class CitrixGetStorageStatsCommandWrapper extends CommandWrapper<GetStorageStatsCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixGetStorageStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.GetVmDiskStatsAnswer;
 | 
			
		||||
import com.cloud.agent.api.GetVmDiskStatsCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVmDiskStatsCommand.class)
 | 
			
		||||
public final class CitrixGetVmDiskStatsCommandWrapper extends CommandWrapper<GetVmDiskStatsCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -33,10 +33,12 @@ import com.cloud.agent.api.GetVmStatsCommand;
 | 
			
		||||
import com.cloud.agent.api.VmStatsEntry;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVmStatsCommand.class)
 | 
			
		||||
public final class CitrixGetVmStatsCommandWrapper extends CommandWrapper<GetVmStatsCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixGetVmStatsCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,9 +28,11 @@ import com.cloud.agent.api.GetVncPortAnswer;
 | 
			
		||||
import com.cloud.agent.api.GetVncPortCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  GetVncPortCommand.class)
 | 
			
		||||
public final class CitrixGetVncPortCommandWrapper extends CommandWrapper<GetVncPortCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixGetVncPortCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -30,10 +30,12 @@ import com.cloud.agent.api.MaintainCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.XsHost;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Host;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  MaintainCommand.class)
 | 
			
		||||
public final class CitrixMaintainCommandWrapper extends CommandWrapper<MaintainCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixMaintainCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,12 +28,14 @@ import com.cloud.agent.api.MigrateAnswer;
 | 
			
		||||
import com.cloud.agent.api.MigrateCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Host;
 | 
			
		||||
import com.xensource.xenapi.Types;
 | 
			
		||||
import com.xensource.xenapi.VBD;
 | 
			
		||||
import com.xensource.xenapi.VM;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  MigrateCommand.class)
 | 
			
		||||
public final class CitrixMigrateCommandWrapper extends CommandWrapper<MigrateCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixMigrateCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,9 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.ModifySshKeysCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ModifySshKeysCommand.class)
 | 
			
		||||
public final class CitrixModifySshKeysCommandWrapper extends CommandWrapper<ModifySshKeysCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -30,12 +30,14 @@ import com.cloud.agent.api.ModifyStoragePoolCommand;
 | 
			
		||||
import com.cloud.agent.api.to.StorageFilerTO;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.storage.template.TemplateProp;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.SR;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  ModifyStoragePoolCommand.class)
 | 
			
		||||
public final class CitrixModifyStoragePoolCommandWrapper extends CommandWrapper<ModifyStoragePoolCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixModifyStoragePoolCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
 | 
			
		||||
import com.cloud.agent.resource.virtualnetwork.VirtualRoutingResource;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkElementCommand.class)
 | 
			
		||||
public final class CitrixNetworkElementCommandWrapper extends CommandWrapper<NetworkElementCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,11 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesSystemVmCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.vm.VirtualMachine;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkRulesSystemVmCommand.class)
 | 
			
		||||
public final class CitrixNetworkRulesSystemVmCommandWrapper extends CommandWrapper<NetworkRulesSystemVmCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -23,8 +23,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  NetworkRulesVmSecondaryIpCommand.class)
 | 
			
		||||
public final class CitrixNetworkRulesVmSecondaryIpCommandWrapper extends CommandWrapper<NetworkRulesVmSecondaryIpCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -27,11 +27,13 @@ import com.cloud.agent.api.OvsCreateGreTunnelAnswer;
 | 
			
		||||
import com.cloud.agent.api.OvsCreateGreTunnelCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
import com.xensource.xenapi.Types.BadServerResponse;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsCreateGreTunnelCommand.class)
 | 
			
		||||
public final class CitrixOvsCreateGreTunnelCommandWrapper extends CommandWrapper<OvsCreateGreTunnelCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsCreateGreTunnelCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,9 +26,11 @@ import com.cloud.agent.api.OvsCreateTunnelAnswer;
 | 
			
		||||
import com.cloud.agent.api.OvsCreateTunnelCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsCreateTunnelCommand.class)
 | 
			
		||||
public final class CitrixOvsCreateTunnelCommandWrapper extends CommandWrapper<OvsCreateTunnelCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsCreateTunnelCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -26,11 +26,13 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsDeleteFlowCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
import com.xensource.xenapi.Types.BadServerResponse;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsDeleteFlowCommand.class)
 | 
			
		||||
public final class CitrixOvsDeleteFlowCommandWrapper extends CommandWrapper<OvsDeleteFlowCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsDeleteFlowCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,9 +25,11 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyBridgeCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsDestroyBridgeCommand.class)
 | 
			
		||||
public final class CitrixOvsDestroyBridgeCommandWrapper extends CommandWrapper<OvsDestroyBridgeCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsDestroyBridgeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,9 +25,11 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsDestroyTunnelCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsDestroyTunnelCommand.class)
 | 
			
		||||
public final class CitrixOvsDestroyTunnelCommandWrapper extends CommandWrapper<OvsDestroyTunnelCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsDestroyTunnelCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -28,12 +28,14 @@ import com.cloud.agent.api.OvsFetchInterfaceCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.XsLocalNetwork;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.cloud.utils.exception.CloudRuntimeException;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.PIF;
 | 
			
		||||
import com.xensource.xenapi.Types.BadServerResponse;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsFetchInterfaceCommand.class)
 | 
			
		||||
public final class CitrixOvsFetchInterfaceCommandWrapper extends CommandWrapper<OvsFetchInterfaceCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsFetchInterfaceCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -27,11 +27,13 @@ import com.cloud.agent.api.OvsSetTagAndFlowAnswer;
 | 
			
		||||
import com.cloud.agent.api.OvsSetTagAndFlowCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
import com.xensource.xenapi.Types.BadServerResponse;
 | 
			
		||||
import com.xensource.xenapi.Types.XenAPIException;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsSetTagAndFlowCommand.class)
 | 
			
		||||
public final class CitrixOvsSetTagAndFlowCommandWrapper extends CommandWrapper<OvsSetTagAndFlowCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsSetTagAndFlowCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsSetupBridgeCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsSetupBridgeCommand.class)
 | 
			
		||||
public final class CitrixOvsSetupBridgeCommandWrapper extends CommandWrapper<OvsSetupBridgeCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsSetupBridgeCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,9 +25,11 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcPhysicalTopologyConfigCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsVpcPhysicalTopologyConfigCommand.class)
 | 
			
		||||
public final class CitrixOvsVpcPhysicalTopologyConfigCommandWrapper extends CommandWrapper<OvsVpcPhysicalTopologyConfigCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsVpcPhysicalTopologyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -25,9 +25,11 @@ import com.cloud.agent.api.Answer;
 | 
			
		||||
import com.cloud.agent.api.OvsVpcRoutingPolicyConfigCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
import com.xensource.xenapi.Network;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  OvsVpcRoutingPolicyConfigCommand.class)
 | 
			
		||||
public final class CitrixOvsVpcRoutingPolicyConfigCommandWrapper extends CommandWrapper<OvsVpcRoutingPolicyConfigCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    private static final Logger s_logger = Logger.getLogger(CitrixOvsVpcRoutingPolicyConfigCommandWrapper.class);
 | 
			
		||||
 | 
			
		||||
@ -24,8 +24,10 @@ import com.cloud.agent.api.PerformanceMonitorAnswer;
 | 
			
		||||
import com.cloud.agent.api.PerformanceMonitorCommand;
 | 
			
		||||
import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
 | 
			
		||||
import com.cloud.resource.CommandWrapper;
 | 
			
		||||
import com.cloud.resource.ResourceWrapper;
 | 
			
		||||
import com.xensource.xenapi.Connection;
 | 
			
		||||
 | 
			
		||||
@ResourceWrapper(handles =  PerformanceMonitorCommand.class)
 | 
			
		||||
public final class CitrixPerformanceMonitorCommandWrapper extends CommandWrapper<PerformanceMonitorCommand, Answer, CitrixResourceBase> {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user