protected static Build createBuild(BuildCorrelationKey key) { Build build = new Build(); build.setMetadata(new ObjectMeta()); build.getMetadata().setName(key.getBuildName()); build.getMetadata().setNamespace(key.getNamespace()); build.getMetadata().setUid(key.getBuildUuid()); BuildStatus status = new BuildStatus(); status.setCompletionTimestamp(new Date().toString()); build.setStatus(status); return build; } }
@Test public void testRecordCreation() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(new JsonObject(Json.encodeToBuffer(service))); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(ServiceType.UNKNOWN); assertThat(record.getLocation().getInteger("port")).isEqualTo(1524); }
@Test public void testRecordCreation() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(new JsonObject(Json.encodeToBuffer(service))); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(ServiceType.UNKNOWN); assertThat(record.getLocation().getInteger("port")).isEqualTo(1524); }
@Test public void testHttpWithSSLRecordCreation() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); labels.put("ssl", "true"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(Json.encodeToBuffer(service).toJsonObject()); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(HttpEndpoint.TYPE); assertThat(record.getLocation().getInteger("port")).isEqualTo(8080); assertThat(record.getLocation().getBoolean("ssl")).isTrue(); }
@Test public void testHttpWithSSLRecordCreation() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); labels.put("ssl", "true"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(Json.encodeToBuffer(service).toJsonObject()); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(HttpEndpoint.TYPE); assertThat(record.getLocation().getInteger("port")).isEqualTo(8080); assertThat(record.getLocation().getBoolean("ssl")).isTrue(); }
private Service getService96() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("hello-minikube"); metadata.setUid("37c57c1e-deb0-11e8-a8ee-0800274f8294"); metadata.setNamespace("issue96"); metadata.setLabels(labels); metadata.getAdditionalProperties().put("run", "hello-minikube"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getService96() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("hello-minikube"); metadata.setUid("37c57c1e-deb0-11e8-a8ee-0800274f8294"); metadata.setNamespace("issue96"); metadata.setLabels(labels); metadata.getAdditionalProperties().put("run", "hello-minikube"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
protected void serviceChanged(Service entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deleteService(id, KubernetesHelper.getNamespace(entity)); serviceListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_SERVICE); if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updateService(id, entity); serviceListeners.entityChanged(id, entity); } } }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
protected void replicationControllerChanged(ReplicationController entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deleteReplicationController(id, KubernetesHelper.getNamespace(entity)); replicationControllerListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_REPLICATION_CONTROLLER); if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updateReplicationController(id, entity); replicationControllerListeners.entityChanged(id, entity); } }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-http-service"); metadata.setUid("uuid-1"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-http-service"); metadata.setUid("uuid-1"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getSimpleService() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid-2"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getExternalService(int port) { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec serviceSpec = new ServiceSpec(); ServicePort servicePort = new ServicePort(); servicePort.setPort(port); serviceSpec.setType("ExternalName"); serviceSpec.setExternalName("my-external-service"); serviceSpec.setPorts(Collections.singletonList(servicePort)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(serviceSpec); return service; }
protected void podChanged(Pod entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deletePod(id, KubernetesHelper.getNamespace(entity)); podListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_POD); Pod old = memoryModel.getPod(id); // lets only replace the Pod if it really has changed to avoid overwriting // pods which are being installed if (NodeHelper.podHasChanged(entity, old)) { if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updatePod(id, entity); podListeners.entityChanged(id, entity); } } }
private Service getSimpleService() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid-2"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getExternalService(int port) { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec serviceSpec = new ServiceSpec(); ServicePort servicePort = new ServicePort(); servicePort.setPort(port); serviceSpec.setType("ExternalName"); serviceSpec.setExternalName("my-external-service"); serviceSpec.setPorts(Collections.singletonList(servicePort)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(serviceSpec); return service; }
@Before public void setUp(TestContext tc) throws MalformedURLException { vertx = Vertx.vertx(); vertx.exceptionHandler(tc.exceptionHandler()); Service svc1 = getSimpleService(); Service svc2 = getHttpService(); Service svc3 = getSimpleService(); svc3.getMetadata().setName("service3"); svc3.getMetadata().setUid("uid-3"); server = getServer(); server.expect().get().withPath("/api/v1/namespaces/default/services").andReturn(200, new ServiceListBuilder() .addToItems(svc1, svc2).withNewMetadata("1234", "/self").build()).always(); server.expect().get().withPath("/api/v1/namespaces/default/services?watch=true&resourceVersion=1234") .andReturnChunked(200, new WatchEvent(svc3, "ADDED"), "\n", new WatchEvent(svc1, "DELETED"), "\n", new WatchEvent(getUpdatedHttpService(), "MODIFIED"), "\n").once(); Service svc96 = getService96(); server.expect().get().withPath("/api/v1/namespaces/issue96/services").andReturn(200, new ServiceListBuilder() .addToItems(svc96) .withNewMetadata("1235", "/self").build()).always(); server.expect().get().withPath("/api/v1/namespaces/issue96/services?watch=true&resourceVersion=1235") .andReturnChunked(200, new WatchEvent(getUpdatedService96(), "MODIFIED"), "\n", new WatchEvent(getUpdatedService96(), "DELETED"), "\n").once(); server.init(); client = server.createClient(); port = new URL(client.getConfiguration().getMasterUrl()).getPort(); }
@Before public void setUp(TestContext tc) throws MalformedURLException { vertx = Vertx.vertx(); vertx.exceptionHandler(tc.exceptionHandler()); Service svc1 = getSimpleService(); Service svc2 = getHttpService(); Service svc3 = getSimpleService(); svc3.getMetadata().setName("service3"); svc3.getMetadata().setUid("uid-3"); server = getServer(); server.expect().get().withPath("/api/v1/namespaces/default/services").andReturn(200, new ServiceListBuilder() .addToItems(svc1, svc2).withNewMetadata("1234", "/self").build()).always(); server.expect().get().withPath("/api/v1/namespaces/default/services?watch=true&resourceVersion=1234") .andReturnChunked(200, new WatchEvent(svc3, "ADDED"), "\n", new WatchEvent(svc1, "DELETED"), "\n", new WatchEvent(getUpdatedHttpService(), "MODIFIED"), "\n").once(); Service svc96 = getService96(); server.expect().get().withPath("/api/v1/namespaces/issue96/services").andReturn(200, new ServiceListBuilder() .addToItems(svc96) .withNewMetadata("1235", "/self").build()).always(); server.expect().get().withPath("/api/v1/namespaces/issue96/services?watch=true&resourceVersion=1235") .andReturnChunked(200, new WatchEvent(getUpdatedService96(), "MODIFIED"), "\n", new WatchEvent(getUpdatedService96(), "DELETED"), "\n").once(); server.init(); client = server.createClient(); port = new URL(client.getConfiguration().getMasterUrl()).getPort(); }