more changes

This commit is contained in:
Alex Huang 2012-09-11 17:27:48 -07:00
parent 2307117a24
commit 87b3378cdc
6 changed files with 30 additions and 21 deletions

View File

@ -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<Service, Map<Capability, String>> 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<? extends VirtualMachine> 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<? extends VirtualMachine> 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

View File

@ -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<String, String> getDetails();
boolean canPlugNics();
}

View File

@ -19,7 +19,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>com.cloud</groupId>
<groupId>org.apache</groupId>
<artifactId>cloudstack</artifactId>
<version>4.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>

View File

@ -4,14 +4,14 @@
<artifactId>cloud-platform-api</artifactId>
<name>Apache CloudStack platform API</name>
<parent>
<groupId>com.cloud</groupId>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-parent</artifactId>
<version>4.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>com.cloud</groupId>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>

View File

@ -31,7 +31,14 @@ import com.cloud.vm.VirtualMachine;
* Platform.
*
*/
public interface VirtualMachineEntity extends CloudEntity, VirtualMachine {
public interface VirtualMachineEntity extends VirtualMachine, CloudEntity {
List<VolumeEntity> getVolumes();
List<NicEntity> getNics();
TemplateEntity getTemplate();
/**
* @return the list of tags associated with the virtual machine

View File

@ -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);