From 04933fbc04e410cfbaed0423f094922d5c5d5ac2 Mon Sep 17 00:00:00 2001 From: Eslam-Nawara Date: Sun, 22 Sep 2024 14:25:32 +0300 Subject: [PATCH] add entrypoint to k8s cluster workload --- grid-client/deployer/k8s_deployer.go | 11 ++++++++--- grid-client/deployer/k8s_deployer_test.go | 2 +- grid-client/workloads/k8s.go | 1 + grid-client/workloads/k8s_test.go | 1 + 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/grid-client/deployer/k8s_deployer.go b/grid-client/deployer/k8s_deployer.go index be93f773..9db71671 100644 --- a/grid-client/deployer/k8s_deployer.go +++ b/grid-client/deployer/k8s_deployer.go @@ -98,7 +98,7 @@ func (d *K8sDeployer) Deploy(ctx context.Context, k8sCluster *workloads.K8sClust return err } - assignNodesFlists(k8sCluster) + assignNodesFlistsAndEntryPoints(k8sCluster) if err := d.Validate(ctx, k8sCluster); err != nil { return err @@ -141,7 +141,7 @@ func (d *K8sDeployer) BatchDeploy(ctx context.Context, k8sClusters []*workloads. return err } - assignNodesFlists(k8sCluster) + assignNodesFlistsAndEntryPoints(k8sCluster) if err := d.Validate(ctx, k8sCluster); err != nil { return err @@ -471,13 +471,18 @@ func (d *K8sDeployer) assignNodesIPs(k8sCluster *workloads.K8sCluster) error { return nil } -func assignNodesFlists(k *workloads.K8sCluster) { +func assignNodesFlistsAndEntryPoints(k *workloads.K8sCluster) { if k.Flist == "" { k.Flist = k.Master.Flist } + if k.Entrypoint == "" { + k.Entrypoint = k.Master.Entrypoint + } k.Master.Flist = k.Flist + k.Master.Entrypoint = k.Entrypoint for i := range k.Workers { k.Workers[i].Flist = k.Flist + k.Workers[i].Entrypoint = k.Entrypoint } } diff --git a/grid-client/deployer/k8s_deployer_test.go b/grid-client/deployer/k8s_deployer_test.go index 5845f59a..1d33f4bb 100644 --- a/grid-client/deployer/k8s_deployer_test.go +++ b/grid-client/deployer/k8s_deployer_test.go @@ -153,7 +153,7 @@ func TestK8sDeployer(t *testing.T) { t.Run("test validate master reachable", func(t *testing.T) { k8sMockValidation(d.tfPluginClient.Identity, cl, sub, ncPool, proxyCl, d) - assignNodesFlists(&k8sCluster) + assignNodesFlistsAndEntryPoints(&k8sCluster) err = d.Validate(context.Background(), &k8sCluster) assert.NoError(t, err) }) diff --git a/grid-client/workloads/k8s.go b/grid-client/workloads/k8s.go index 136a1020..b9eb8fba 100644 --- a/grid-client/workloads/k8s.go +++ b/grid-client/workloads/k8s.go @@ -30,6 +30,7 @@ type K8sCluster struct { Flist string `json:"flist"` FlistChecksum string `json:"flist_checksum"` + Entrypoint string `json:"entry_point"` // optional SolutionType string diff --git a/grid-client/workloads/k8s_test.go b/grid-client/workloads/k8s_test.go index 746bd864..ac25f0a7 100644 --- a/grid-client/workloads/k8s_test.go +++ b/grid-client/workloads/k8s_test.go @@ -54,6 +54,7 @@ func TestK8sNodeData(t *testing.T) { NetworkName: "network", Flist: flist, FlistChecksum: "e71ee7421f45392fbbb92309182e3006", + Entrypoint: "/sbin/zinit init", } })