diff --git a/api/src/com/cloud/network/element/NetworkElement.java b/api/src/com/cloud/network/element/NetworkElement.java index ec8e7bce2e8..23d909c8901 100644 --- a/api/src/com/cloud/network/element/NetworkElement.java +++ b/api/src/com/cloud/network/element/NetworkElement.java @@ -16,7 +16,6 @@ // under the License. package com.cloud.network.element; -import java.util.List; import java.util.Map; import java.util.Set; @@ -41,15 +40,15 @@ import com.cloud.vm.VirtualMachineProfile; * Represents one network element that exists in a network. */ public interface NetworkElement extends Adapter { - + Map> getCapabilities(); - + /** * NOTE: * NetworkElement -> Network.Provider is a one-to-one mapping. While adding a new NetworkElement, one must add a new Provider name to Network.Provider. */ Provider getProvider(); - + /** * Implement the network configuration as specified. * @param config fully specified network configuration. @@ -57,9 +56,10 @@ public interface NetworkElement extends Adapter { * @return true if network configuration is now usable; false if not; null if not handled by this element. * @throws InsufficientNetworkCapacityException TODO */ + @Ipc(topic="implement") boolean implement(Network network, NetworkOffering offering, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException; - + /** * Prepare for a nic to be added into this network. * @param network @@ -75,7 +75,7 @@ public interface NetworkElement extends Adapter { boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException; - + /** * A nic is released from this network. * @param network @@ -88,7 +88,7 @@ public interface NetworkElement extends Adapter { */ boolean release(Network network, NicProfile nic, VirtualMachineProfile vm, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException; - + /** * The network is being shutdown. * @param network @@ -100,7 +100,7 @@ public interface NetworkElement extends Adapter { */ boolean shutdown(Network network, ReservationContext context, boolean cleanup) throws ConcurrentOperationException, ResourceUnavailableException; - + /** * The network is being destroyed. * @param network @@ -108,14 +108,14 @@ public interface NetworkElement extends Adapter { * @throws ConcurrentOperationException */ boolean destroy(Network network) throws ConcurrentOperationException, ResourceUnavailableException; - + /** * Check if the instances of this Element are configured to be used on the physical network referred by this provider. * @param provider * @return boolean true/false */ boolean isReady(PhysicalNetworkServiceProvider provider); - + /** * The network service provider is being shutdown. This should shutdown all instances of this element deployed for this provider. * @param context @@ -126,13 +126,13 @@ public interface NetworkElement extends Adapter { */ boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException; - + /** * This should return true if out of multiple services provided by this element, only some can be enabled. If all the services MUST be provided, this should return false. * @return true/false */ boolean canEnableIndividualServices(); - + /** * Would return true if the service combination is supported by the provider * @param services diff --git a/api/src/com/cloud/vm/VirtualMachine.java b/api/src/com/cloud/vm/VirtualMachine.java index 1fa16c32fa0..9214fa4f31b 100755 --- a/api/src/com/cloud/vm/VirtualMachine.java +++ b/api/src/com/cloud/vm/VirtualMachine.java @@ -243,6 +243,8 @@ public interface VirtualMachine extends RunningOn, ControlledEntity, Identity, S */ public long getTemplateId(); + + /** * returns the guest OS ID * @@ -290,6 +292,6 @@ public interface VirtualMachine extends RunningOn, ControlledEntity, Identity, S HypervisorType getHypervisorType(); public Map getDetails(); - + boolean canPlugNics(); } diff --git a/parent/pom.xml b/parent/pom.xml index 9564572b75e..94ff2364180 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -19,7 +19,7 @@ - com.cloud + org.apache cloudstack 4.0.0-SNAPSHOT ../pom.xml diff --git a/platform/api/pom.xml b/platform/api/pom.xml index fadb9afb253..cfabe3bb95b 100644 --- a/platform/api/pom.xml +++ b/platform/api/pom.xml @@ -4,14 +4,14 @@ cloud-platform-api Apache CloudStack platform API - com.cloud + org.apache.cloudstack cloud-parent - 4.0.0-SNAPSHOT + ${project.version} ../../parent/pom.xml - com.cloud + org.apache.cloudstack cloud-api ${project.version} diff --git a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VirtualMachineEntity.java b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VirtualMachineEntity.java index 75fdaee4f23..23d1dadc9a1 100755 --- a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VirtualMachineEntity.java +++ b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VirtualMachineEntity.java @@ -31,7 +31,14 @@ import com.cloud.vm.VirtualMachine; * Platform. * */ -public interface VirtualMachineEntity extends CloudEntity, VirtualMachine { +public interface VirtualMachineEntity extends VirtualMachine, CloudEntity { + + + List getVolumes(); + + List getNics(); + + TemplateEntity getTemplate(); /** * @return the list of tags associated with the virtual machine diff --git a/platform/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java b/platform/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java index 1018f96858f..8c1c91b043f 100755 --- a/platform/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java +++ b/platform/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java @@ -18,8 +18,7 @@ */ package org.apache.cloudstack.compute; -import org.apache.cloudstack.framework.ipc.Ipc; -import org.apache.cloudstack.framework.ipc.IpcParam; +import java.util.logging.Handler; public interface ComputeOrchestrator { /** @@ -27,7 +26,8 @@ public interface ComputeOrchestrator { * @param vm vm * @param reservationId */ - void start(@IpcParam String vm, @IpcParam String reservationId); + @Ipc(topic="cs.compute.start", response="cs.compute.start.response") + void start(@IpcParam String vm, @IpcParam String reservationId, Handler handler); @Ipc(topic="cs.compute.cancel") void cancel(@IpcParam String reservationId);