Feat: vela kube apply --cluster (#3931)

Signed-off-by: Somefive <yd219913@alibaba-inc.com>
This commit is contained in:
Somefive
2022-05-20 12:11:58 +08:00
committed by GitHub
parent 1657326c38
commit 0cd1ae155c
10 changed files with 458 additions and 16 deletions
@@ -27,11 +27,14 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gexec"
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
apitypes "k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/yaml"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/apis/types"
)
var _ = Describe("Test multicluster CLI commands", func() {
@@ -118,3 +121,40 @@ var _ = Describe("Test multicluster CLI commands", func() {
})
})
var _ = Describe("Test kube commands", func() {
Context("Test apply command", func() {
var namespace string
var hubCtx context.Context
var workerCtx context.Context
BeforeEach(func() {
hubCtx, workerCtx, namespace = initializeContextAndNamespace()
})
AfterEach(func() {
cleanUpNamespace(hubCtx, workerCtx, namespace)
})
It("Test vela kube apply", func() {
_, err := execCommand("kube", "apply",
"--cluster", types.ClusterLocalName, "--cluster", WorkerClusterName, "-n", namespace,
"-f", "./testdata/kube",
"-f", "https://gist.githubusercontent.com/Somefive/b189219a9222eaa70b8908cf4379402b/raw/e603987b3e0989e01e50f69ebb1e8bb436461326/example-busybox-deployment.yaml",
)
Expect(err).Should(Succeed())
Expect(k8sClient.Get(hubCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox"}, &appsv1.Deployment{})).Should(Succeed())
Expect(k8sClient.Get(workerCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox"}, &appsv1.Deployment{})).Should(Succeed())
Expect(k8sClient.Get(hubCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox"}, &v1.Service{})).Should(Succeed())
Expect(k8sClient.Get(workerCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox"}, &v1.Service{})).Should(Succeed())
Expect(k8sClient.Get(hubCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox-1"}, &v1.ConfigMap{})).Should(Succeed())
Expect(k8sClient.Get(workerCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox-1"}, &v1.ConfigMap{})).Should(Succeed())
Expect(k8sClient.Get(hubCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox-2"}, &v1.ConfigMap{})).Should(Succeed())
Expect(k8sClient.Get(workerCtx, apitypes.NamespacedName{Namespace: namespace, Name: "busybox-2"}, &v1.ConfigMap{})).Should(Succeed())
})
})
})
@@ -0,0 +1,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: busybox-1
data:
key: value-1
---
apiVersion: v1
kind: ConfigMap
metadata:
name: busybox-2
data:
key: value-2
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: busybox
spec:
selector:
app: busybox
ports:
- protocol: TCP
port: 80
targetPort: 80