@Override protected void populatedData(Account system, List<Object> toCreate) { List<Instance> instances = objectManager .find(Instance.class, INSTANCE.REMOVED, new Condition(ConditionType.NULL)); Map<Long, Instance> instanceIdToInstance = new HashMap<>(); for (Instance instance : instances) { instanceIdToInstance.put(instance.getId(), instance); } List<InstanceHostMap> hostMaps = objectManager .find(InstanceHostMap.class, INSTANCE_HOST_MAP.REMOVED, new Condition(ConditionType.NULL)); for (InstanceHostMap hostMap : hostMaps) { Instance instance = instanceIdToInstance.get(hostMap.getInstanceId()); if (instance == null) { continue; } Map<String, Object> data = new HashMap<>(); data.put(InstanceConstants.FIELD_HOST_ID, hostMap.getHostId()); objectManager.setFields(instance, data); } } }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { InstanceHostMap map = (InstanceHostMap)state.getResource(); Instance instance = getObjectManager().loadResource(Instance.class, map.getInstanceId()); composeManager.setupServiceAndInstance(instance); 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; }
protected Object getAccountObject(Object obj) { if (obj instanceof HostIpAddressMap) { return objectManager.loadResource(IpAddress.class, ((HostIpAddressMap) obj).getIpAddressId()); } else if (obj instanceof InstanceHostMap) { return objectManager.loadResource(Instance.class, ((InstanceHostMap) obj).getInstanceId()); } else if (obj instanceof ServiceConsumeMap) { return objectManager.loadResource(Service.class, ((ServiceConsumeMap) obj).getServiceId()); } else if (obj instanceof ServiceExposeMap) { return objectManager.loadResource(Service.class, ((ServiceExposeMap) obj).getServiceId()); } return obj; }
@SuppressWarnings("unchecked") @Override public HandlerResult handle(ProcessState state, ProcessInstance process) { InstanceHostMap map = (InstanceHostMap)state.getResource(); Instance instance = getObjectManager().loadResource(Instance.class, map.getInstanceId()); Host host = getObjectManager().loadResource(Host.class, map.getHostId()); String dockerIp = DockerProcessUtils.getDockerIp(instance); Nic nic = nicDao.getPrimaryNic(instance); IpAddress hostIpAddress = hostDao.getIpAddressForHost(host.getId()); IpAddress primaryIp = ipAddressDao.getInstancePrimaryIp(instance); List<String> ports = DataAccessor.fields(instance).withKey(DockerInstanceConstants.FIELD_DOCKER_PORTS).as(jsonMapper, List.class); if (dockerIp != null) { primaryIp = processDockerIp(instance, nic, primaryIp, dockerIp); } if (hostIpAddress != null && ports != null) { processPorts(primaryIp, hostIpAddress, ports, instance, nic, host); } processVolumes(instance, host, state); processLabels(instance); nativeDockerBackPopulate(instance); Event event = EventVO.newEvent(IaasEvents.INVALIDATE_INSTANCE_DATA_CACHE) .withResourceType(instance.getKind()) .withResourceId(instance.getId().toString()); eventService.publish(event); return null; }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.InstanceHostMap from) { setId(from.getId()); setName(from.getName()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setInstanceId(from.getInstanceId()); setHostId(from.getHostId()); }
} else if (obj instanceof InstanceHostMap) { sendChange(Host.class, accountId, ((InstanceHostMap) obj).getHostId(), schedule, context); sendChange(Instance.class, accountId, ((InstanceHostMap) obj).getInstanceId(), schedule, context); } else if (obj instanceof StoragePoolHostMap) { sendChange(StoragePool.class, accountId, ((StoragePoolHostMap) obj).getStoragePoolId(), schedule, context);