Skip to content

Commit 6c9791a

Browse files
authored
fix (#1829)
1 parent d5ed04c commit 6c9791a

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/FixedPortsK3sContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ final class FixedPortsK3sContainer extends K3sContainer {
4848
* Command to use when starting rancher. Without "server" option, traefik is not
4949
* installed
5050
*/
51-
private static final String RANCHER_COMMAND = "server";
51+
private static final String RANCHER_COMMAND = "server --disable=metric-server";
5252

5353
static final K3sContainer CONTAINER = new FixedPortsK3sContainer(DockerImageName.parse(RANCHER_VERSION))
5454
.configureFixedPorts()

spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/fabric8_client/Util.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Set;
2525
import java.util.concurrent.TimeUnit;
2626

27+
import io.fabric8.kubernetes.api.model.APIService;
2728
import io.fabric8.kubernetes.api.model.ConfigMap;
2829
import io.fabric8.kubernetes.api.model.NamespaceBuilder;
2930
import io.fabric8.kubernetes.api.model.Pod;
@@ -210,6 +211,21 @@ public void createNamespace(String name) {
210211

211212
public void deleteNamespace(String name) {
212213
try {
214+
215+
// sometimes we get errors like :
216+
217+
// "message": "Discovery failed for some groups,
218+
// 1 failing: unable to retrieve the complete list of server APIs:
219+
// metrics.k8s.io/v1beta1: stale GroupVersion discovery: metrics.k8s.io/v1beta1"
220+
221+
// but even when it works OK, the finalizers are slowing down the deletion
222+
List<APIService> apiServices = client.apiServices().list().getItems();
223+
apiServices.stream()
224+
.map(apiService -> apiService.getMetadata().getName())
225+
.filter(apiServiceName -> apiServiceName.contains("metrics.k8s.io"))
226+
.findFirst()
227+
.ifPresent(apiServiceName -> client.apiServices().withName(apiServiceName).delete());
228+
213229
client.namespaces()
214230
.resource(new NamespaceBuilder().withNewMetadata().withName(name).and().build())
215231
.delete();

0 commit comments

Comments
 (0)