/** * Builds public ephemeral web socket-based service URI based on service id. * * @param serviceId Service ID. * @return Service URI. */ private URI buildWsServiceUri(String serviceId) { return UriUtils.buildPublicUri(this.host, UriUtils.buildUriPath(this.servicePrefix, serviceId)); }
public static URI buildPublicUri(ServiceHost host, String... path) { return buildPublicUri(host, UriUtils.buildUriPath(path), null); }
private URI getPublicUri() { if (this.publicUri == null) { this.publicUri = UriUtils.buildPublicUri(getHost(), getSelfLink()); } return this.publicUri; }
private URI prepareCallbackUri(Closure closure) { URI callbackUri = null; if (CLOSURE_SERVICE_CALLBACK_URI != null) { callbackUri = buildConfiguredCallbackUri(CLOSURE_SERVICE_CALLBACK_URI, closure.documentSelfLink); } if (callbackUri == null) { // fallback to publicUri as defined in xenon callbackUri = UriUtils.buildPublicUri(getServiceHost(), closure.documentSelfLink); } logFine("Computed closure callback URI: %s, closure: %s", callbackUri, closure .documentSelfLink); return callbackUri; }
private Operation createSearchOperation(URI registryAdapterUri, Map<String, String> queryParams, String searchRegistryLink) { AdapterRequest imageRequest = new AdapterRequest(); imageRequest.operationTypeId = ImageOperationType.SEARCH.id; imageRequest.serviceTaskCallback = ServiceTaskCallback.createEmpty(); imageRequest.resourceReference = UriUtils.buildPublicUri(getHost(), searchRegistryLink); imageRequest.customProperties = new HashMap<>(queryParams); Operation adapterOp = Operation .createPatch(registryAdapterUri) .setBody(imageRequest); return adapterOp; }
@Before public void startServices() throws Throwable { long initTime = System.nanoTime(); URL testImageResource = DockerAdapterServiceTest.class.getResource(TEST_IMAGE_FILE); assertNotNull("Missing test resource: " + TEST_IMAGE_FILE, testImageResource); File file = new File(testImageResource.toURI()); imageReference = UriUtils.buildPublicUri(host, TEST_IMAGE_URL_PATH); host.startService(Operation.createPost(imageReference), new FileContentService(file)); host.log(Level.INFO, ">>>>>>> DockerVolumeAdapterServiceTest.startServices took %d millis", TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - initTime)); }
@Before public void startServices() throws Throwable { URL testImageResource = DockerAdapterServiceTest.class.getResource(TEST_IMAGE_FILE); assertNotNull("Missing test resource: " + TEST_IMAGE_FILE, testImageResource); File file = new File(testImageResource.toURI()); imageReference = UriUtils.buildPublicUri(host, TEST_IMAGE_URL_PATH); host.startService(Operation.createPost(imageReference), new FileContentService(file)); }
@Before public void startServices() throws Throwable { // set up a service that serves a docker image tar file from the filesystem. // note that to work with an external docker server the IP must be the external // one (not localhost) URL testImageResource = DockerAdapterServiceTest.class.getResource(TEST_IMAGE_FILE); assertNotNull("Missing test resource: " + TEST_IMAGE_FILE, testImageResource); File file = new File(testImageResource.toURI()); URI imageReference = UriUtils.buildPublicUri(host, TEST_IMAGE_URL_PATH); host.startService(Operation.createPost(imageReference), new FileContentService(file)); }
public void requestNetworkInspection(ContainerNetworkState networkState) { AdapterRequest request = new AdapterRequest(); request.resourceReference = UriUtils.buildPublicUri(host, networkState.documentSelfLink); request.operationTypeId = NetworkOperationType.INSPECT.id; request.serviceTaskCallback = ServiceTaskCallback.createEmpty(); host.sendRequest(Operation .createPatch(host, networkState.adapterManagementReference.toString()) .setBodyNoCloning(request) .setReferer(UriUtils.buildUri(host, SERVICE_REFERRER_PATH)) .setCompletion((o, ex) -> { if (ex != null) { Utils.log(getClass(), SERVICE_REFERRER_PATH, Level.WARNING, "Exception while inspect request for network: %s. Error: %s", networkState.documentSelfLink, Utils.toString(ex)); } })); }
private void inspectContainer(ContainerState container, ServiceTaskCallback callback) { AdapterRequest request = new AdapterRequest(); request.resourceReference = UriUtils.buildPublicUri(getHost(), container.documentSelfLink); request.operationTypeId = ContainerOperationType.INSPECT.id; request.serviceTaskCallback = callback; sendRequest(Operation .createPatch(getHost(), container.adapterManagementReference.toString()) .setBodyNoCloning(request) .setCompletion((o, ex) -> { if (ex != null) { Utils.logWarning("Error while inspect request for container: %s. Error: %s", container.documentSelfLink, Utils.toString(ex)); } })); }
private void createSingleResourceComputeTask(String resourceLink, String subtaskLink, StatsAggregationTaskState currentState ) { SingleResourceStatsAggregationTaskState initState = new SingleResourceStatsAggregationTaskState(); initState.resourceLink = resourceLink; initState.metricNames = currentState.metricNames; initState.parentTaskReference = UriUtils.buildPublicUri(getHost(), subtaskLink); sendRequest(Operation .createPost(this, SingleResourceStatsAggregationTaskService.FACTORY_LINK) .setBody(initState) .setCompletion((factoryPostOp, factoryPostEx) -> { if (factoryPostEx != null) { TaskUtils.sendFailurePatch(this, new StatsAggregationTaskState(), factoryPostEx); } })); }
private void createSingleResourceComputeTask(String resourceLink, String subtaskLink, StatsAggregationTaskState currentState ) { SingleResourceStatsAggregationTaskState initState = new SingleResourceStatsAggregationTaskState(); initState.resourceLink = resourceLink; initState.metricNames = currentState.metricNames; initState.parentTaskReference = UriUtils.buildPublicUri(getHost(), subtaskLink); sendRequest(Operation .createPost(this, SingleResourceStatsAggregationTaskService.FACTORY_LINK) .setBody(initState) .setCompletion((factoryPostOp, factoryPostEx) -> { if (factoryPostEx != null) { TaskUtils.sendFailurePatch(this, new StatsAggregationTaskState(), factoryPostEx); } })); }
public void createSubTask(CompletionHandler c, ProvisionComputeTaskState.SubStage nextStage, ProvisionComputeTaskState currentState) { ServiceTaskCallback<SubStage> callback = ServiceTaskCallback .create(UriUtils.buildPublicUri(getHost(), getSelfLink())); callback.onSuccessTo(nextStage); SubTaskService.SubTaskState<SubStage> subTaskInitState = new SubTaskService.SubTaskState<>(); subTaskInitState.errorThreshold = 0; subTaskInitState.serviceTaskCallback = callback; subTaskInitState.tenantLinks = currentState.tenantLinks; subTaskInitState.documentExpirationTimeMicros = currentState.documentExpirationTimeMicros; Operation startPost = Operation .createPost(this, SubTaskService.FACTORY_LINK) .setBody(subTaskInitState).setCompletion(c); sendRequest(startPost); }
public void createSubTask(CompletionHandler c, ProvisionComputeTaskState.SubStage nextStage, ProvisionComputeTaskState currentState) { ServiceTaskCallback<SubStage> callback = ServiceTaskCallback .create(UriUtils.buildPublicUri(getHost(), getSelfLink())); callback.onSuccessTo(nextStage); SubTaskService.SubTaskState<SubStage> subTaskInitState = new SubTaskService.SubTaskState<>(); subTaskInitState.errorThreshold = 0; subTaskInitState.serviceTaskCallback = callback; subTaskInitState.tenantLinks = currentState.tenantLinks; subTaskInitState.documentExpirationTimeMicros = currentState.documentExpirationTimeMicros; Operation startPost = Operation .createPost(this, SubTaskService.FACTORY_LINK) .setBody(subTaskInitState).setCompletion(c); sendRequest(startPost); }
private void createSubTask(CompletionHandler c, SubStage nextStage, EndpointAllocationTaskState currentState) { ServiceTaskCallback<SubStage> callback = ServiceTaskCallback .create(UriUtils.buildPublicUri(getHost(), getSelfLink())); callback.onSuccessTo(nextStage).onErrorFailTask(); SubTaskService.SubTaskState<SubStage> subTaskInitState = new SubTaskService.SubTaskState<>(); subTaskInitState.errorThreshold = 0; subTaskInitState.serviceTaskCallback = callback; subTaskInitState.tenantLinks = currentState.endpointState.tenantLinks; subTaskInitState.documentExpirationTimeMicros = currentState.documentExpirationTimeMicros; Operation startPost = Operation .createPost(this, SubTaskService.FACTORY_LINK) .setBody(subTaskInitState).setCompletion(c); sendRequest(startPost); }
private void createSubTask(CompletionHandler c, SubStage nextStage, EndpointAllocationTaskState currentState) { ServiceTaskCallback<SubStage> callback = ServiceTaskCallback .create(UriUtils.buildPublicUri(getHost(), getSelfLink())); callback.onSuccessTo(nextStage).onErrorFailTask(); SubTaskService.SubTaskState<SubStage> subTaskInitState = new SubTaskService.SubTaskState<>(); subTaskInitState.errorThreshold = 0; subTaskInitState.serviceTaskCallback = callback; subTaskInitState.tenantLinks = currentState.endpointState.tenantLinks; subTaskInitState.documentExpirationTimeMicros = currentState.documentExpirationTimeMicros; Operation startPost = Operation .createPost(this, SubTaskService.FACTORY_LINK) .setBody(subTaskInitState).setCompletion(c); sendRequest(startPost); }
public void createSubTask(CompletionHandler c, ProvisionDiskTaskState.SubStage nextStage, ProvisionDiskTaskState currentState) { ServiceTaskCallback<SubStage> callback = ServiceTaskCallback .create(UriUtils.buildPublicUri(getHost(), getSelfLink())); callback.onSuccessTo(nextStage); SubTaskService.SubTaskState<SubStage> subTaskInitState = new SubTaskService.SubTaskState<>(); subTaskInitState.errorThreshold = 0; subTaskInitState.serviceTaskCallback = callback; subTaskInitState.tenantLinks = currentState.tenantLinks; subTaskInitState.documentExpirationTimeMicros = currentState.documentExpirationTimeMicros; Operation startPost = Operation .createPost(createInventoryUri(this.getHost(), SubTaskService.FACTORY_LINK)) .setBody(subTaskInitState).setCompletion(c); sendRequest(startPost); }
private void createAdapterRequest(PodState pod) { AdapterRequest request = new AdapterRequest(); request.resourceReference = UriUtils.buildPublicUri(getHost(), pod.documentSelfLink); request.operationTypeId = KubernetesOperationType.FETCH_LOGS.id; request.serviceTaskCallback = ServiceTaskCallback.createEmpty(); sendRequest(Operation.createPatch(getHost(), ManagementUriParts.ADAPTER_KUBERNETES) .setBody(request) .setContextId(Service.getId(getSelfLink())) .setCompletion((op, ex) -> { if (ex != null) { logWarning("Adapter request for container logs %s failed. Error: %s", pod.documentSelfLink, Utils.toString(ex)); } })); }
private void subscribeToService(URI uri, ServiceSubscriber sr) { if (sr.usePublicUri) { sr = Utils.clone(sr); sr.reference = UriUtils.buildPublicUri(this.host, sr.reference.getPath()); } URI subUri = UriUtils.buildSubscriptionUri(uri); this.host.send(Operation.createPost(subUri) .setCompletion(this.host.getCompletion()) .setReferer(this.host.getReferer()) .setBody(sr) .addPragmaDirective(Operation.PRAGMA_DIRECTIVE_QUEUE_FOR_SERVICE_AVAILABILITY)); }
private void subscribeToService(URI uri, ServiceSubscriber sr) { if (sr.usePublicUri) { sr = Utils.clone(sr); sr.reference = UriUtils.buildPublicUri(this.host, sr.reference.getPath()); } URI subUri = UriUtils.buildSubscriptionUri(uri); this.host.send(Operation.createPost(subUri) .setCompletion(this.host.getCompletion()) .setReferer(this.host.getReferer()) .setBody(sr) .addPragmaDirective(Operation.PRAGMA_DIRECTIVE_QUEUE_FOR_SERVICE_AVAILABILITY)); }