Added action events for VM, volume, Ip and snapshot actions

This commit is contained in:
kishan 2011-02-04 19:59:18 +05:30
parent 5469916060
commit 56f3343911
34 changed files with 84 additions and 19 deletions

View File

@ -31,6 +31,7 @@ import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.utils.StringUtils;
@Implementation(description="Assigns virtual machine or a list of virtual machines to a load balancer rule.", responseObject=SuccessResponse.class)
@ -91,6 +92,7 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Load balancer Id: "+getLoadBalancerId()+" VmIds: "+StringUtils.join(getVirtualMachineIds(), ","));
boolean result = _lbService.assignToLoadBalancer(getLoadBalancerId(), virtualMachineIds);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -152,6 +152,7 @@ public class AssociateIPAddrCmd extends BaseAsyncCreateCmd {
@Override
public void execute() throws ResourceUnavailableException, ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException {
try {
UserContext.current().setEventDetails("Ip Id: "+getEntityId());
IpAddress result = _networkService.associateIP(this);
if (result != null) {
IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(result);

View File

@ -31,6 +31,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Attaches a disk volume to a virtual machine.", responseObject=VolumeResponse.class)
public class AttachVolumeCmd extends BaseAsyncCmd {
@ -116,6 +117,7 @@ public class AttachVolumeCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Volume Id: "+getId()+" VmId: "+getVirtualMachineId());
Volume result = _userVmService.attachVolumeToVM(this);
if (result != null) {
VolumeResponse response = _responseGenerator.createVolumeResponse(result);

View File

@ -89,6 +89,7 @@ public class CreateIpForwardingRuleCmd extends BaseAsyncCreateCmd implements Por
public void execute(){
boolean result;
try {
UserContext.current().setEventDetails("Rule Id: "+getEntityId());
result = _rulesService.applyPortForwardingRules(ipAddressId, UserContext.current().getCaller());
} catch (Exception e) {
s_logger.error("Unable to apply port forwarding rules", e);

View File

@ -104,6 +104,7 @@ public class CreatePortForwardingRuleCmd extends BaseAsyncCreateCmd implements
boolean success = false;
PortForwardingRule rule = _entityMgr.findById(PortForwardingRule.class, getEntityId());
try {
UserContext.current().setEventDetails("Rule Id: "+rule.getId());
success = _rulesService.applyPortForwardingRules(rule.getSourceIpAddressId(), callerContext.getCaller());
//State is different after the rule is applied, so get new object here

View File

@ -33,6 +33,7 @@ import com.cloud.exception.ResourceAllocationException;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Creates an instant snapshot of a volume.", responseObject=SnapshotResponse.class)
public class CreateSnapshotCmd extends BaseAsyncCreateCmd {
@ -131,7 +132,7 @@ public class CreateSnapshotCmd extends BaseAsyncCreateCmd {
Long id = _snapshotService.getNextInSequence(this);
this.setEntityId(id);
}
UserContext.current().setEventDetails("Snapshot Id: "+getEntityId()+" Volume Id: "+getVolumeId());
Snapshot snapshot = _snapshotService.createSnapshot(this);
if (snapshot != null) {
SnapshotResponse response = _responseGenerator.createSnapshotResponse(snapshot);

View File

@ -160,6 +160,7 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Volume Id: "+getEntityId()+((getSnapshotId() == null) ? "" : " from snapshot: " + getSnapshotId()));
Volume volume = _storageService.createVolume(this);
if (volume != null) {
VolumeResponse response = _responseGenerator.createVolumeResponse(volume);

View File

@ -30,6 +30,7 @@ import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.network.rules.PortForwardingRule;
import com.cloud.user.UserContext;
@Implementation(description="Deletes an ip forwarding rule", responseObject=SuccessResponse.class)
public class DeleteIpForwardingRuleCmd extends BaseAsyncCmd {
@ -67,6 +68,7 @@ public class DeleteIpForwardingRuleCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Rule Id: "+id);
boolean result = _rulesService.revokePortForwardingRule(id, true);
if (result) {

View File

@ -29,6 +29,7 @@ import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Deletes a load balancer rule.", responseObject=SuccessResponse.class)
public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
@ -81,6 +82,7 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Load balancer Id: "+getId());
boolean result = _lbService.deleteLoadBalancerRule(id, true);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -27,6 +27,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.user.UserContext;
@Implementation(description="Deletes a network", responseObject=SuccessResponse.class)
public class DeleteNetworkCmd extends BaseCmd{
@ -66,6 +67,7 @@ public class DeleteNetworkCmd extends BaseCmd{
if (nicCount > 0) {
throw new InvalidParameterValueException("Unable to remove the network id=" + id + " as it has active Nics.");
}
UserContext.current().setEventDetails("Network Id: "+id);
boolean result = _networkService.deleteNetwork(id);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -29,6 +29,7 @@ import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.network.rules.PortForwardingRule;
import com.cloud.user.UserContext;
@Implementation(description="Deletes a port forwarding rule", responseObject=SuccessResponse.class)
public class DeletePortForwardingRuleCmd extends BaseAsyncCmd {
@ -81,6 +82,7 @@ public class DeletePortForwardingRuleCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException {
UserContext.current().setEventDetails("Rule Id: "+id);
boolean result = _rulesService.revokePortForwardingRule(id, true);
if (result) {

View File

@ -31,6 +31,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Snapshot;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Deletes a snapshot of a disk volume.", responseObject=SuccessResponse.class)
public class DeleteSnapshotCmd extends BaseAsyncCmd {
@ -92,6 +93,7 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Snapshot Id: "+getId());
boolean result = _snapshotService.deleteSnapshot(this);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -27,6 +27,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.user.UserContext;
@Implementation(description="Deletes a detached disk volume.", responseObject=SuccessResponse.class)
public class DeleteVolumeCmd extends BaseCmd {
@ -65,6 +66,7 @@ public class DeleteVolumeCmd extends BaseCmd {
@Override
public void execute() throws ConcurrentOperationException {
UserContext.current().setEventDetails("Volume Id: "+getId());
boolean result = _storageService.deleteVolume(this);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -31,6 +31,7 @@ import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(description="Destroys a virtual machine. Once destroyed, only the administrator can recover it.", responseObject=UserVmResponse.class)
@ -93,6 +94,7 @@ public class DestroyVMCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException, ConcurrentOperationException{
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.destroyVm(this);
if (result != null) {
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -30,6 +30,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(description="Detaches a disk volume from a virtual machine.", responseObject=VolumeResponse.class)
@ -126,6 +127,7 @@ public class DetachVolumeCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Volume Id: "+getId()+" VmId: "+getVirtualMachineId());
Volume result = _userVmService.detachVolumeFromVM(this);
if (result != null){
VolumeResponse response = _responseGenerator.createVolumeResponse(result);

View File

@ -25,6 +25,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.user.UserContext;
@Implementation(description="Disassociates an ip address from the account.", responseObject=SuccessResponse.class)
public class DisassociateIPAddrCmd extends BaseCmd {
@ -58,6 +59,7 @@ public class DisassociateIPAddrCmd extends BaseCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Ip Id: "+getIpAddressId());
boolean result = _networkService.disassociateIpAddress(this);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -34,6 +34,7 @@ import com.cloud.event.EventTypes;
import com.cloud.storage.Upload;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Extracts volume", responseObject=ExtractResponse.class)
public class ExtractVolumeCmd extends BaseAsyncCmd {
@ -125,6 +126,7 @@ public class ExtractVolumeCmd extends BaseAsyncCmd {
@Override
public void execute(){
try {
UserContext.current().setEventDetails("Volume Id: "+getId());
Long uploadId = _mgr.extractVolume(this);
if (uploadId != null){
Upload uploadInfo = _entityMgr.findById(Upload.class, uploadId);

View File

@ -31,6 +31,7 @@ import com.cloud.event.EventTypes;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(description="Reboots a virtual machine.", responseObject=UserVmResponse.class)
@ -92,6 +93,7 @@ public class RebootVMCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException{
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.rebootVirtualMachine(this);
if (result !=null){
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -31,6 +31,7 @@ import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.utils.StringUtils;
@Implementation(description="Removes a virtual machine or a list of virtual machines from a load balancer rule.", responseObject=SuccessResponse.class)
@ -90,7 +91,8 @@ public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd {
}
@Override
public void execute(){
public void execute(){
UserContext.current().setEventDetails("Load balancer Id: "+getId()+" VmIds: "+StringUtils.join(getVirtualMachineIds(), ","));
boolean result = _lbService.removeFromLoadBalancer(id, virtualMachineIds);
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());

View File

@ -31,6 +31,7 @@ import com.cloud.event.EventTypes;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(responseObject=UserVmResponse.class, description="Resets the password for virtual machine. " +
@ -108,6 +109,7 @@ public class ResetVMPasswordCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException{
password = _mgr.generateRandomPassword();
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.resetVMPassword(this, password);
if (result != null){
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -34,6 +34,7 @@ import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.exception.StorageUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
import com.cloud.utils.exception.ExecutionException;
@ -102,6 +103,7 @@ public class StartVMCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException{
try {
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.startVirtualMachine(this);
if (result != null){
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -30,6 +30,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(responseObject=UserVmResponse.class, description="Stops a virtual machine.")
@ -96,6 +97,7 @@ public class StopVMCmd extends BaseAsyncCmd {
@Override
public void execute() throws ServerApiException, ConcurrentOperationException{
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.stopVirtualMachine(this);
if (result != null) {
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -29,6 +29,7 @@ import com.cloud.api.response.LoadBalancerResponse;
import com.cloud.event.EventTypes;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@Implementation(description="Updates load balancer", responseObject=LoadBalancerResponse.class)
public class UpdateLoadBalancerRuleCmd extends BaseAsyncCmd {
@ -101,6 +102,7 @@ public class UpdateLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Load balancer Id: "+getId());
LoadBalancer result = _lbService.updateLoadBalancerRule(this);
if (result != null){
LoadBalancerResponse response = _responseGenerator.createLoadBalancerResponse(result);

View File

@ -25,6 +25,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.UserVmResponse;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(description="Updates parameters of a virtual machine.", responseObject=UserVmResponse.class)
@ -90,6 +91,7 @@ public class UpdateVMCmd extends BaseCmd{
@Override
public void execute(){
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.updateVirtualMachine(this);
if (result != null){
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -25,6 +25,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.UserVmResponse;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;
@Implementation(responseObject=UserVmResponse.class, description="Changes the service offering for a virtual machine. " +
@ -71,6 +72,7 @@ public class UpgradeVMCmd extends BaseCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Vm Id: "+getId());
UserVm result = _userVmService.upgradeVirtualMachine(this);
if (result != null){
UserVmResponse response = _responseGenerator.createUserVmResponse(result);

View File

@ -173,4 +173,6 @@ public interface NetworkManager extends NetworkService {
Map<Capability, String> getServiceCapability(long zoneId, Service service);
boolean deleteNetworkInternal(long networkId) throws InvalidParameterValueException, PermissionDeniedException;
}

View File

@ -543,7 +543,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
if (ip == null) {
throw new InsufficientAddressCapacityException("Unable to find available public IP addresses", DataCenter.class, zoneId);
}
UserContext.current().setEventDetails("Ip Id: "+ip.getId());
Ip ipAddress = ip.getAddress();
s_logger.debug("Got " + ipAddress + " to assign for account " + owner.getId() + " in zone " + network.getDataCenterId());
@ -1352,7 +1352,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
}
@Override
@Override @ActionEvent (eventType=EventTypes.EVENT_NETWORK_CREATE, eventDescription="creating network")
public Network createNetwork(CreateNetworkCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
Long networkOfferingId = cmd.getNetworkOfferingId();
Long zoneId = cmd.getZoneId();
@ -1512,7 +1512,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
}
txn.commit();
UserContext.current().setEventDetails("Network Id: "+networkId);
return networks.get(0);
} catch (Exception ex) {
s_logger.warn("Unexpected exception while creating network ", ex);
@ -1654,8 +1654,14 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
@Override
@DB
@ActionEvent (eventType=EventTypes.EVENT_NETWORK_DELETE, eventDescription="deleting network")
public boolean deleteNetwork(long networkId) throws InvalidParameterValueException, PermissionDeniedException {
return deleteNetworkInternal(networkId);
}
@Override
@DB
public boolean deleteNetworkInternal(long networkId) throws InvalidParameterValueException, PermissionDeniedException {
Long userId = UserContext.current().getCallerUserId();
Account caller = UserContext.current().getCaller();

View File

@ -187,6 +187,10 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
@Override @ActionEvent (eventType=EventTypes.EVENT_REMOVE_FROM_LOAD_BALANCER_RULE, eventDescription="removing from load balancer", async=true)
public boolean removeFromLoadBalancer(long loadBalancerId, List<Long> instanceIds) {
return removeFromLoadBalancerInternal(loadBalancerId, instanceIds);
}
private boolean removeFromLoadBalancerInternal(long loadBalancerId, List<Long> instanceIds) {
UserContext caller = UserContext.current();
LoadBalancerVO loadBalancer = _lbDao.findById(Long.valueOf(loadBalancerId));
@ -222,7 +226,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
return true;
}
@Override
public boolean removeVmFromLoadBalancers(long instanceId) {
@ -252,7 +256,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
//Reapply all lbs that had the vm assigned
if (lbsToReconfigure != null) {
for (Map.Entry<Long, List<Long>> lb : lbsToReconfigure.entrySet()) {
if (!removeFromLoadBalancer(lb.getKey(), lb.getValue())) {
if (!removeFromLoadBalancerInternal(lb.getKey(), lb.getValue())) {
success = false;
}
}
@ -263,6 +267,10 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
@Override @ActionEvent (eventType=EventTypes.EVENT_LOAD_BALANCER_DELETE, eventDescription="deleting load balancer", async=true)
public boolean deleteLoadBalancerRule(long loadBalancerId, boolean apply) {
return deleteLoadBalancerRuleInternal(loadBalancerId, apply);
}
private boolean deleteLoadBalancerRuleInternal(long loadBalancerId, boolean apply) {
UserContext caller = UserContext.current();
LoadBalancerVO lb = _lbDao.findById(loadBalancerId);
@ -300,6 +308,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
return true;
}
@Override @ActionEvent (eventType=EventTypes.EVENT_LOAD_BALANCER_CREATE, eventDescription="creating load balancer")
public LoadBalancer createLoadBalancerRule(LoadBalancer lb) throws NetworkRuleConflictException {
UserContext caller = UserContext.current();
@ -355,6 +364,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
throw new CloudRuntimeException("Unable to update the state to add for " + newRule);
}
s_logger.debug("Load balancer " + newRule.getId() + " for Ip address id=" + ipId + ", public port " + srcPortStart + ", private port " + defPortStart+ " is added successfully.");
UserContext.current().setEventDetails("Load balancer Id: "+newRule.getId());
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_LOAD_BALANCER_CREATE, ipAddr.getAllocatedToAccountId(), ipAddr.getDataCenterId(), newRule.getId(), null);
_usageEventDao.persist(usageEvent);
return newRule;
@ -423,7 +433,7 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesManager,
s_logger.debug("Found " + rules.size() + " lb rules to cleanup");
for (FirewallRule rule : rules) {
if (rule.getPurpose() == Purpose.LoadBalancing) {
boolean result = deleteLoadBalancerRule(rule.getId(), true);
boolean result = deleteLoadBalancerRuleInternal(rule.getId(), true);
if (result == false) {
s_logger.warn("Unable to remove load balancer rule " + rule.getId());
return false;

View File

@ -257,7 +257,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager {
if (!_firewallDao.setStateToAdd(newRule)) {
throw new CloudRuntimeException("Unable to update the state to add for " + newRule);
}
UserContext.current().setEventDetails("Rule Id: "+newRule.getId());
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_NET_RULE_ADD, newRule.getAccountId(), 0, newRule.getId(), null);
_usageEventDao.persist(usageEvent);
return newRule;

View File

@ -161,6 +161,7 @@ import com.cloud.dc.dao.PodVlanMapDao;
import com.cloud.dc.dao.VlanDao;
import com.cloud.domain.DomainVO;
import com.cloud.domain.dao.DomainDao;
import com.cloud.event.ActionEvent;
import com.cloud.event.Event;
import com.cloud.event.EventTypes;
import com.cloud.event.EventUtils;
@ -4215,7 +4216,7 @@ public class ManagementServerImpl implements ManagementServer {
return false;
}
@Override
@Override @ActionEvent(eventType = EventTypes.EVENT_VOLUME_EXTRACT, eventDescription = "extracting volume", async=true)
public Long extractVolume(ExtractVolumeCmd cmd) throws URISyntaxException {
Long volumeId = cmd.getId();
String url = cmd.getUrl();

View File

@ -1504,7 +1504,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
volume.setDomainId((account == null) ? Domain.ROOT_DOMAIN : account.getDomainId());
volume.setState(Volume.State.Allocated);
volume = _volsDao.persist(volume);
UserContext.current().setEventDetails("Volume Id: "+volume.getId());
return volume;
}
@ -2181,7 +2181,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
(accountType == Account.ACCOUNT_TYPE_READ_ONLY_ADMIN));
}
@Override
@Override @ActionEvent(eventType = EventTypes.EVENT_VOLUME_DELETE, eventDescription = "deleting volume")
public boolean deleteVolume(DeleteVolumeCmd cmd) throws ConcurrentOperationException {
Account account = UserContext.current().getCaller();
Long volumeId = cmd.getId();

View File

@ -57,6 +57,7 @@ import com.cloud.dc.dao.ClusterDao;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.domain.DomainVO;
import com.cloud.domain.dao.DomainDao;
import com.cloud.event.ActionEvent;
import com.cloud.event.EventTypes;
import com.cloud.event.UsageEventVO;
import com.cloud.event.dao.EventDao;
@ -428,7 +429,7 @@ public class SnapshotManagerImpl implements SnapshotManager, SnapshotService, Ma
return snapshot;
}
@Override
@Override @ActionEvent(eventType = EventTypes.EVENT_SNAPSHOT_CREATE, eventDescription = "creating snapshot", async=true)
public SnapshotVO createSnapshot(CreateSnapshotCmd cmd) throws ResourceAllocationException {
Long volumeId = cmd.getVolumeId();
Long policyId = cmd.getPolicyId();
@ -651,7 +652,7 @@ public class SnapshotManagerImpl implements SnapshotManager, SnapshotService, Ma
(accountType == Account.ACCOUNT_TYPE_READ_ONLY_ADMIN));
}
@Override @DB
@Override @DB @ActionEvent(eventType = EventTypes.EVENT_SNAPSHOT_DELETE, eventDescription = "deleting snapshot", async=true)
public boolean deleteSnapshot(DeleteSnapshotCmd cmd) {
Long snapshotId = cmd.getId();

View File

@ -862,7 +862,7 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
List<NetworkVO> networks = _networkDao.listByOwner(accountId);
if (networks != null) {
for (NetworkVO network : networks) {
if (!_networkMgr.deleteNetwork(network.getId())) {
if (!_networkMgr.deleteNetworkInternal(network.getId())) {
s_logger.warn("Unable to destroy network " + network + " as a part of account id=" + accountId +" cleanup.");
accountCleanupNeeded = true;
networksDeleted = false;

View File

@ -278,7 +278,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
return _vmDao.listByHostId(hostId);
}
@Override
@Override @ActionEvent (eventType=EventTypes.EVENT_VM_RESETPASSWORD, eventDescription="resetting Vm password", async=true)
public UserVm resetVMPassword(ResetVMPasswordCmd cmd, String password) throws ResourceUnavailableException, InsufficientCapacityException{
Account account = UserContext.current().getCaller();
Long userId = UserContext.current().getCallerUserId();
@ -406,7 +406,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
}
@Override
@Override @ActionEvent(eventType = EventTypes.EVENT_VOLUME_ATTACH, eventDescription = "attaching volume", async=true)
public Volume attachVolumeToVM(AttachVolumeCmd command) {
Long vmId = command.getVirtualMachineId();
Long volumeId = command.getId();
@ -634,7 +634,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
}
}
@Override
@Override @ActionEvent(eventType = EventTypes.EVENT_VOLUME_DETACH, eventDescription = "detaching volume", async=true)
public Volume detachVolumeFromVM(DetachVolumeCmd cmmd) {
Account account = UserContext.current().getCaller();
if ((cmmd.getId() == null && cmmd.getDeviceId() == null && cmmd.getVirtualMachineId() == null) ||