@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Instance instance = (Instance)state.getResource(); agentInstanceFactory.deleteAgent(instance); return null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Service service = (Service) state.getResource(); deploymentMgr.deactivate(service); return null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Instance instance = (Instance) state.getResource(); String token = instance.getToken(); if (token == null) { byte[] buffer = new byte[64]; RANDOM.nextBytes(buffer); token = Base64.encodeBase64String(buffer).replaceAll("[/=+]", ""); } return new HandlerResult(INSTANCE.TOKEN, token); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { List<Service> services = new ArrayList<>(); for (ServiceLookup lookup : serviceLookups) { Collection<? extends Service> lookupSvs = lookup.getServices(state.getResource()); if (lookupSvs != null) { services.addAll(lookupSvs); } } deploymentManager.reconcileServices(services); return null; }
@Override public void wrapChainSchedule(ProcessState state, ProcessServiceContext context, Runnable run) { Map<String, Object> errorData = TransitioningUtils.getTransitioningErrorData(state.getResource()); run.run(); if (errorData.size() > 0) { state.applyData(errorData); } }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Service service = (Service) state.getResource(); if (!service.getKind().equalsIgnoreCase(ServiceConstants.KIND_LOAD_BALANCER_SERVICE)) { return null; } updateServicePorts(service, state); return null; }
@Override protected Object getAgentResource(ProcessState state, ProcessInstance process, Object dataResource) { Volume v = (Volume)state.getResource(); return objectManager.loadResource(Host.class, v.getHostId()); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Agent agent = (Agent) state.getResource(); if (agent.getExternalId() != null) { return null; } regionService.deactivateAndRemoveExternalAgent(agent); return null; }
@Override public final HandlerResult handle(ProcessState state, ProcessInstance process) { if (getKind().equals(ObjectUtils.getKind(state.getResource()))) { return handleKind(state, process); } return null; }
@Override protected Object getDataResource(ProcessState state, ProcessInstance process) { Mount m = (Mount)state.getResource(); Volume v = objectManager.loadResource(Volume.class, m.getVolumeId()); if (DataAccessor.fieldBool(v, VolumeConstants.FIELD_DOCKER_IS_NATIVE)) { return null; } List<? extends VolumeStoragePoolMap> maps = objectManager.children(v, VolumeStoragePoolMap.class); return maps.size() > 0 ? maps.get(0) : null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Instance instance = (Instance)state.getResource(); if (mapDao.findNonRemoved(InstanceHostMap.class, Instance.class, instance.getId()).size() == 0) { allocatorService.instanceAllocate(instance); } return afterAllocate(state, process, new HashMap<Object, Object>()); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { NetworkDriver networkDriver = (NetworkDriver)state.getResource(); List<Network> networks = objectManager.find(Network.class, NETWORK.NETWORK_DRIVER_ID, networkDriver.getId(), NETWORK.REMOVED, null); for (Network network : networks) { deactivateThenScheduleRemove(network, null); } return null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { StorageDriver driver = (StorageDriver)state.getResource(); for (StoragePool pool : storagePoolDao.findNonRemovedStoragePoolByDriver(driver.getId())) { objectProcessManager.scheduleStandardChainedProcessAsync(StandardProcess.DEACTIVATE, StandardProcess.REMOVE, pool, null); } return null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { HostTemplate template = (HostTemplate)state.getResource(); String value = DataAccessor.fieldString(template, HostTemplateConstants.FIELD_SECRET_VALUES); try { secretsService.delete(template.getAccountId(), value); } catch (IOException e) { log.error("Failed to delete secret from storage for machine driver credential [{}]", template.getId(), e); } return null; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { final Instance instance = (Instance) state.getResource(); Map<String, Object> result = new ConcurrentHashMap<String, Object>(); compute(instance, state); network(instance); storage(instance); allocatorService.ensureResourcesReleasedForStop(instance); return new HandlerResult(result); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Map<String, Object> result = new HashMap<String, Object>(); Map<String, Set<Long>> allocationData = new HashMap<String, Set<Long>>(); result.put("_allocationData", allocationData); Volume volume = (Volume) state.getResource(); for (VolumeStoragePoolMap map : mapDao.findNonRemoved(VolumeStoragePoolMap.class, Volume.class, volume.getId())) { CollectionUtils.addToMap(allocationData, "volume:" + volume.getId(), map.getVolumeId(), HashSet.class); create(map, state.getData()); } return new HandlerResult(result); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Map<String, Object> result = new HashMap<String, Object>(); Volume volume = (Volume) state.getResource(); allocatorService.volumeDeallocate(volume); for (VolumeStoragePoolMap map : mapDao.findToRemove(VolumeStoragePoolMap.class, Volume.class, volume.getId())) { deactivateThenScheduleRemove(map, state.getData()); } return new HandlerResult(result); } }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Service service = (Service) state.getResource(); upgradeMgr.finishUpgrade(service, false); deploymentMgr.remove(service); sdService.releaseVip(service); sdService.releasePorts(service); sdService.removeServiceIndexes(service); return null; } }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { InstanceHostMap map = (InstanceHostMap) state.getResource(); Instance instance = getObjectManager().loadResource(Instance.class, map.getInstanceId()); if (instance == null) { return null; } // set startCount Long startCount = instance.getStartCount() == null ? 1 : instance.getStartCount() + 1; objectManager.setFields(instance, INSTANCE.START_COUNT, startCount); return null; }
@Override public HandlerResult handle(final ProcessState state, ProcessInstance process) { final Host host = (Host) state.getResource(); removeInstances(host); removeIps(host); removePools(host); PhysicalHost physHost = objectManager.loadResource(PhysicalHost.class, host.getPhysicalHostId()); if (physHost != null) { deactivateThenScheduleRemove(physHost, null); } return null; }