@@ -26,19 +26,19 @@ import (
2626 "testing"
2727 "time"
2828
29- cpv1beta1 "github.com/k0sproject/k0smotron/api/controlplane/v1beta1"
30- "sigs.k8s.io/cluster-api/api/v1beta1"
31-
32- "github.com/k0sproject/k0smotron/inttest/util"
33-
3429 "github.com/stretchr/testify/suite"
3530 corev1 "k8s.io/api/core/v1"
3631 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
32+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3733 "k8s.io/apimachinery/pkg/util/json"
3834 "k8s.io/apimachinery/pkg/util/wait"
3935 "k8s.io/client-go/kubernetes"
4036 "k8s.io/client-go/rest"
4137 "k8s.io/client-go/tools/clientcmd"
38+ "sigs.k8s.io/cluster-api/api/v1beta1"
39+
40+ cpv1beta1 "github.com/k0sproject/k0smotron/api/controlplane/v1beta1"
41+ "github.com/k0sproject/k0smotron/inttest/util"
4242)
4343
4444type CAPIControlPlaneDockerSuite struct {
@@ -173,6 +173,39 @@ func (s *CAPIControlPlaneDockerSuite) TestCAPIControlPlaneDocker() {
173173 extraFileFromSecret , err = getDockerNodeFile ("docker-test-cluster-docker-test-worker-0" , "/tmp/test-file-secret" )
174174 s .Require ().NoError (err )
175175 s .Require ().Equal ("test" , extraFileFromSecret )
176+
177+ err = s .client .RESTClient ().
178+ Delete ().
179+ AbsPath ("/apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/default/dockermachines/docker-test-2" ).
180+ Do (s .ctx ).
181+ Error ()
182+
183+ err = wait .PollUntilContextCancel (s .ctx , 100 * time .Millisecond , true , func (ctx context.Context ) (bool , error ) {
184+ var obj unstructured.UnstructuredList
185+ err := s .client .RESTClient ().
186+ Get ().
187+ AbsPath ("/apis/cluster.x-k8s.io/v1beta1/namespaces/default/machines" ).
188+ Do (s .ctx ).
189+ Into (& obj )
190+ if err != nil {
191+ return false , nil
192+ }
193+
194+ // We expect 4 machines: 3 control plane and 1 worker
195+ return len (obj .Items ) == 4 , nil
196+ })
197+ s .Require ().NoError (err )
198+
199+ err = wait .PollUntilContextCancel (s .ctx , 1 * time .Second , true , func (ctx context.Context ) (bool , error ) {
200+ b , _ := s .client .RESTClient ().
201+ Get ().
202+ AbsPath ("/healthz" ).
203+ DoRaw (context .Background ())
204+
205+ return string (b ) == "ok" , nil
206+ })
207+ s .Require ().NoError (err )
208+
176209}
177210
178211func (s * CAPIControlPlaneDockerSuite ) applyClusterObjects () {
@@ -265,7 +298,7 @@ metadata:
265298 namespace: default
266299spec:
267300 replicas: 3
268- version: v1.27.2 +k0s.0
301+ version: v1.33.3 +k0s.0
269302 k0sConfigSpec:
270303 k0s:
271304 apiVersion: k0s.k0sproject.io/v1beta1
@@ -321,7 +354,7 @@ metadata:
321354 name: docker-test-worker-0
322355 namespace: default
323356spec:
324- version: v1.27.1
357+ version: v1.33.2
325358 clusterName: docker-test-cluster
326359 bootstrap:
327360 configRef:
@@ -340,7 +373,7 @@ metadata:
340373 namespace: default
341374spec:
342375 # version is deliberately different to be able to verify we actually pick it up :)
343- version: v1.27.1 +k0s.0
376+ version: v1.33.2 +k0s.0
344377 args:
345378 - --labels=k0sproject.io/foo=bar
346379 preStartCommands:
0 commit comments