private boolean isContainerNetworkType(RequestBrokerState state) { return ResourceType.NETWORK_TYPE.getName().equals(state.resourceType); }
private boolean isPKSClusterType(RequestBrokerState state) { return ResourceType.PKS_CLUSTER_TYPE.getName().equals(state.resourceType); }
private boolean isContainerType(RequestBrokerState state) { return ResourceType.CONTAINER_TYPE.getName().equals(state.resourceType); }
@Override protected void validateStateOnStart(ReservationTaskState state) { if (state.resourceCount < 1) { throw new LocalizableValidationException("'resourceCount' must be greater than 0.", "request.resource-count.zero"); } if (state.resourceType == null || state.resourceType.isEmpty()) { state.resourceType = ResourceType.CONTAINER_TYPE.getName(); } }
public boolean accepts(TaskServiceStageWithLink stage) { if (stage.documentSelfLink.startsWith(RequestBrokerFactoryService.SELF_LINK) && stage.taskSubStage.equals(RequestBrokerState.SubStage.COMPLETED.name())) { RequestBrokerState state = Utils.fromJson(stage.properties, RequestBrokerState.class); return ResourceType.CONTAINER_TYPE.getName().equals(state.resourceType); } return false; }
public boolean accepts(TaskServiceStageWithLink stage) { if (stage.documentSelfLink.startsWith(RequestBrokerFactoryService.SELF_LINK) && stage.taskSubStage.equals(RequestBrokerState.SubStage.COMPLETED.name())) { RequestBrokerState state = Utils.fromJson(stage.properties, RequestBrokerState.class); return ResourceType.NETWORK_TYPE.getName().equals(state.resourceType); } return false; }
public static Class<?> getDescriptionClass(String type) { ResourceType resourceType = ResourceType.fromContentType(type); Class<?> clazz = CompositeComponentRegistry .metaByType(resourceType.getName()).descriptionClass; return clazz; }
@SuppressWarnings("unchecked") public static ComponentTemplate<?> deserializeComponent(Map<String, Object> obj, ObjectMapper objectMapper) { String contentType = (String) obj.get("type"); ResourceType resourceType = ResourceType.fromContentType(contentType); Class<? extends ResourceState> descriptionClass = CompositeComponentRegistry .metaByType(resourceType.getName()).descriptionClass; Map<String, Object> data = (Map<String, Object>) obj.get("data"); Map<String, NestedState> children = deserializeChildren(data, descriptionClass); ComponentTemplate<?> componentTemplate = objectMapper .convertValue(obj, ComponentTemplate.class); componentTemplate.children = children; return componentTemplate; }
private ContainerAllocationTaskState prepareContainerAllocationTask( ContainerDescription containerDesc, long resourceCount, String placemenStateLink) { String taskLink = buildTaskLink(containerDesc); ContainerAllocationTaskState allocationTask = new ContainerAllocationTaskState(); allocationTask.resourceDescriptionLink = containerDesc.documentSelfLink; allocationTask.groupResourcePlacementLink = placemenStateLink; allocationTask.resourceType = ResourceType.CONTAINER_TYPE.getName(); allocationTask.resourceCount = resourceCount; allocationTask.tenantLinks = containerDesc.tenantLinks; allocationTask.serviceTaskCallback = createServiceCallBack(taskLink); allocationTask.customProperties = new HashMap<>(); return allocationTask; }
public static RequestBrokerState createPKSClusterRequestState( Map<String, String> customProperties) { return createRequestState(ResourceType.PKS_CLUSTER_TYPE.getName(), null, null, customProperties); }
private NestedState createComponentNestedState(ComponentTemplate<?> component) { NestedState nestedState = new NestedState(); nestedState.object = (ServiceDocument) component.data; nestedState.children = component.children; ResourceType resourceType = ResourceType.fromContentType(component.type); String factoryLink = CompositeComponentRegistry .descriptionFactoryLinkByType(resourceType.getName()); nestedState.factoryLink = factoryLink; return nestedState; }
public static RequestBrokerState createRequestState() { return createRequestState(ResourceType.CONTAINER_TYPE.getName(), CONTAINER_DESC_LINK); }
public static RequestBrokerState createComputeRequestState() { return createRequestState(ResourceType.COMPUTE_TYPE.getName(), COMPUTE_DESC_ID); }
public static CompositeDescriptionExpanded createCompositeDesc( List<ContainerDescription> containerDescriptions, List<Binding.ComponentBinding> componentBindings) { CompositeDescriptionExpanded compositeDescription = new CompositeDescriptionExpanded(); compositeDescription.componentDescriptions = containerDescriptions.stream() .map(cd -> new ComponentDescription(cd, ResourceType.CONTAINER_TYPE.getName(), cd.name, componentBindings.stream().filter(cb -> cb.componentName.equals(cd.name)) .flatMap(cb -> cb.bindings.stream()) .collect(Collectors.toList()))).collect(Collectors.toList()); compositeDescription.bindings = componentBindings; return compositeDescription; }
private ContainerAllocationTaskState createContainerAllocationTask(String containerDescLink, long resourceCount) { ContainerAllocationTaskState allocationTask = new ContainerAllocationTaskState(); allocationTask.resourceDescriptionLink = containerDescLink; allocationTask.groupResourcePlacementLink = groupPlacementState.documentSelfLink; allocationTask.resourceType = ResourceType.CONTAINER_TYPE.getName(); allocationTask.resourceCount = resourceCount; allocationTask.serviceTaskCallback = ServiceTaskCallback.createEmpty(); allocationTask.customProperties = new HashMap<>(); return allocationTask; }
@BeforeClass public static void beforeClass() { CompositeComponentRegistry.registerComponent(ResourceType.CONTAINER_TYPE.getName(), ContainerDescriptionService.FACTORY_LINK, ContainerDescription.class, ContainerFactoryService.SELF_LINK, ContainerState.class); }
private RequestBrokerState startRequest(CompositeDescription desc) throws Throwable { RequestBrokerState request = TestRequestStateFactory.createRequestState( ResourceType.COMPOSITE_COMPONENT_TYPE.getName(), desc.documentSelfLink); request.tenantLinks = groupPlacementState.tenantLinks; request = super.startRequest(request); return request; }
@Test public void getName() { assertEquals(DOCKER_CONTAINER.toString(), ResourceType.CONTAINER_TYPE.getName()); try { ResourceType.CONTAINER_LOAD_BALANCER_TYPE.getName(); fail("CONTAINER_LOAD_BALANCER_TYPE should throw error"); } catch (Exception e) { assertTrue(e instanceof IllegalStateException); } }
protected ContainerState provisionContainer(String descriptionLink) throws Throwable { RequestBrokerState request = TestRequestStateFactory .createRequestState(ResourceType.CONTAINER_TYPE.getName(), descriptionLink); request = startRequest(request); request = waitForRequestToComplete(request); Iterator<String> iterator = request.resourceLinks.iterator(); ContainerState containerState = null; while (iterator.hasNext()) { containerState = searchForDocument(ContainerState.class, iterator.next()); assertNotNull(containerState); } return containerState; }
public static GroupResourcePlacementState createGroupResourcePlacementState( ResourceType resourceType, String name) { GroupResourcePlacementState rsrvState = new GroupResourcePlacementState(); rsrvState.resourcePoolLink = UriUtils.buildUriPath(ResourcePoolService.FACTORY_LINK, RESOURCE_POOL_ID); rsrvState.tenantLinks = createTenantLinks(TENANT_NAME); rsrvState.name = name; rsrvState.maxNumberInstances = 20; rsrvState.memoryLimit = 0L; rsrvState.cpuShares = 3; rsrvState.resourceType = resourceType.getName(); return rsrvState; }