From 40e731711e5da4edaac137478e4e0b6abda60cc2 Mon Sep 17 00:00:00 2001 From: Kartik Joshi Date: Tue, 14 Nov 2023 14:13:50 +0530 Subject: [PATCH] Provisioner: Add support to fetch kbs service ip Fixes: #1471 Signed-off-by: Kartik Joshi --- test/provisioner/provision.go | 40 +++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/test/provisioner/provision.go b/test/provisioner/provision.go index cc27d24b3..13459dcda 100644 --- a/test/provisioner/provision.go +++ b/test/provisioner/provision.go @@ -103,7 +103,7 @@ func NewKeyBrokerService(clusterName string) (*KeyBrokerService, error) { // Create secret content := []byte("This is my cluster name: " + clusterName) - filePath := "kbs/config/kubernetes/overlays/key.bin" + filePath := "kbs/kbs/config/kubernetes/overlays/key.bin" // Create the file. file, err := os.Create(filePath) if err != nil { @@ -129,16 +129,16 @@ func NewKeyBrokerService(clusterName string) (*KeyBrokerService, error) { } fmt.Println(k8sCnfDir) - keyFile := filepath.Join(k8sCnfDir, "kbs/config/kubernetes/overlays/key.bin") + keyFile := filepath.Join(k8sCnfDir, "kbs/kbs/config/kubernetes/overlays/key.bin") if _, err := os.Stat(keyFile); os.IsNotExist(err) { err = fmt.Errorf("key.bin file does not exist") log.Errorf("%v", err) return nil, err } - kbsCert := filepath.Join(k8sCnfDir, "kbs/config/kubernetes/base/kbs.pem") + kbsCert := filepath.Join(k8sCnfDir, "kbs/kbs/config/kubernetes/base/kbs.pem") if _, err := os.Stat(kbsCert); os.IsNotExist(err) { - kbsKey := filepath.Join(k8sCnfDir, "kbs/config/kubernetes/base/kbs.key") + kbsKey := filepath.Join(k8sCnfDir, "kbs/kbs/config/kubernetes/base/kbs.key") keyOutputFile, err := os.Create(kbsKey) if err != nil { err = fmt.Errorf("Error creating key file: %w\n", err) @@ -219,7 +219,7 @@ func GetInstallOverlay(provider string, installDir string) (InstallOverlay, erro func NewKbsInstallOverlay(installDir string) (InstallOverlay, error) { log.Info("Creating kbs install overlay") - overlay, err := NewKustomizeOverlay(filepath.Join(installDir, "config/kubernetes/base")) + overlay, err := NewKustomizeOverlay(filepath.Join(installDir, "kbs/config/kubernetes/base")) if err != nil { return nil, err } @@ -270,6 +270,31 @@ func (p *KeyBrokerService) GetKbsPodIP(ctx context.Context, cfg *envconf.Config) resources := client.Resources(namespace) + // Get the service associated with the deployment + serviceList := &corev1.ServiceList{} + err = resources.List(context.TODO(), serviceList) + if err != nil { + err = fmt.Errorf("Error listing services: %w\n", err) + log.Errorf("%v", err) + return "", err + } + + var matchingService *corev1.Service + for i := range serviceList.Items { + service := &serviceList.Items[i] + if service.Name == deploymentName { + matchingService = service + break + } + } + + if matchingService == nil { + return "", fmt.Errorf("No service with label selector found") + } + + fmt.Printf("Service IP: %s\n", matchingService.Spec.ClusterIP) + return matchingService.Spec.ClusterIP, nil + /* podList := &corev1.PodList{} err = resources.List(context.TODO(), podList) if err != nil { @@ -293,6 +318,7 @@ func (p *KeyBrokerService) GetKbsPodIP(ctx context.Context, cfg *envconf.Config) fmt.Printf("Pod IP: %s\n", matchingPod.Status.PodIP) return matchingPod.Status.PodIP, nil + */ } func (p *KeyBrokerService) Deploy(ctx context.Context, cfg *envconf.Config, props map[string]string) error { @@ -308,7 +334,7 @@ func (p *KeyBrokerService) Deploy(ctx context.Context, cfg *envconf.Config, prop return err } - newDirectory := "kbs/config/kubernetes/overlays" + newDirectory := "kbs/kbs/config/kubernetes/overlays" err = os.Chdir(newDirectory) if err != nil { err = fmt.Errorf("Error changing the working directory: %w\n", err) @@ -342,7 +368,7 @@ func (p *KeyBrokerService) Delete(ctx context.Context, cfg *envconf.Config) erro } // Remove kbs deployment - newDirectory := "kbs/config/kubernetes/overlays" + newDirectory := "kbs/kbs/config/kubernetes/overlays" err = os.Chdir(newDirectory) if err != nil { err = fmt.Errorf("Error changing the working directory: %w\n", err)