diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/internal/PodOperationUtil.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/internal/PodOperationUtil.java index 2e032deda21..4ac9a150c8a 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/internal/PodOperationUtil.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/internal/PodOperationUtil.java @@ -71,7 +71,7 @@ public static List getFilteredPodsForLogs(PodOperationsImpl podOper public static PodOperationsImpl getGenericPodOperations(OperationContext context, PodOperationContext podOperationContext) { return new PodOperationsImpl( podOperationContext, - context.withName(null).withApiGroupName(null).withApiGroupVersion("v1")); + context.withName(null).withItem(null).withApiGroupName(null).withApiGroupVersion("v1")); } public static List getPodOperationsForController(OperationContext context, diff --git a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/JobIT.java b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/JobIT.java index c2c6ce4cf56..96eb8d3dbf7 100644 --- a/kubernetes-itests/src/test/java/io/fabric8/kubernetes/JobIT.java +++ b/kubernetes-itests/src/test/java/io/fabric8/kubernetes/JobIT.java @@ -40,7 +40,7 @@ class JobIT { void testGetLog() { final String jobName = "job-get-log"; client.batch().v1().jobs().createOrReplace(initJob("job-get-log").build()); - client.batch().v1().jobs().withName(jobName).waitUntilCondition( + Job job = client.batch().v1().jobs().withName(jobName).waitUntilCondition( j -> Optional.ofNullable(j).map(Job::getStatus).map(JobStatus::getSucceeded).orElse(0) > 0, 1, TimeUnit.MINUTES); ByteArrayOutputStream baos = new ByteArrayOutputStream(1024); @@ -52,6 +52,15 @@ void testGetLog() { assertNotNull(baos.toString()); assertEquals("This is a message!\n", baos.toString()); } + ByteArrayOutputStream baos2 = new ByteArrayOutputStream(1024); + try (LogWatch ignore = client.batch().v1().jobs() + .resource(job) + .withLogWaitTimeout(30) + .watchLog(baos2)) { + await().atMost(30, TimeUnit.SECONDS).until(() -> baos2.toString().length() > 0); + assertNotNull(baos2.toString()); + assertEquals("This is a message!\n", baos2.toString()); + } } @Test