From 2313ea3cc0730e076bdbc822991534c904570857 Mon Sep 17 00:00:00 2001 From: Kiran Kamineni Date: Mon, 24 Jun 2019 14:54:29 -0700 Subject: Remove kubeconfigdir. Use a tempfile instead Kubeconfigdir does not need to be a configurable parameter. We just create a local file and use that to create the config after which it is not needed. Issue-ID: MULTICLOUD-614 Change-Id: I2df561d50b620e24c5ae5266b7200210e0c11caf Signed-off-by: Kiran Kamineni --- src/k8splugin/internal/app/client.go | 4 ++-- src/k8splugin/internal/config/config.go | 2 -- src/k8splugin/internal/connection/connection.go | 17 ++++++++++------- 3 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/k8splugin/internal/app/client.go b/src/k8splugin/internal/app/client.go index 4fdce599..8d2af297 100644 --- a/src/k8splugin/internal/app/client.go +++ b/src/k8splugin/internal/app/client.go @@ -18,7 +18,6 @@ import ( "os" "time" - "github.com/onap/multicloud-k8s/src/k8splugin/internal/config" "github.com/onap/multicloud-k8s/src/k8splugin/internal/connection" "github.com/onap/multicloud-k8s/src/k8splugin/internal/helm" "github.com/onap/multicloud-k8s/src/k8splugin/internal/plugin" @@ -45,8 +44,9 @@ type KubernetesClient struct { // getKubeConfig uses the connectivity client to get the kubeconfig based on the name // of the cloudregion. This is written out to a file. func (k *KubernetesClient) getKubeConfig(cloudregion string) (string, error) { + conn := connection.NewConnectionClient() - kubeConfigPath, err := conn.Download(cloudregion, config.GetConfiguration().KubeConfigDir) + kubeConfigPath, err := conn.Download(cloudregion) if err != nil { return "", pkgerrors.Wrap(err, "Downloading kubeconfig") } diff --git a/src/k8splugin/internal/config/config.go b/src/k8splugin/internal/config/config.go index dc3f7a11..90204c99 100644 --- a/src/k8splugin/internal/config/config.go +++ b/src/k8splugin/internal/config/config.go @@ -37,7 +37,6 @@ type Configuration struct { EtcdCert string `json:"etcd-cert"` EtcdKey string `json:"etcd-key"` EtcdCAFile string `json:"etcd-ca-file"` - KubeConfigDir string `json:"kube-config-dir"` OVNCentralAddress string `json:"ovn-central-address"` ServicePort string `json:"service-port"` } @@ -86,7 +85,6 @@ func defaultConfiguration() *Configuration { EtcdCert: "etcd.cert", EtcdKey: "etcd.key", EtcdCAFile: "etcd-ca.cert", - KubeConfigDir: cwd, OVNCentralAddress: "127.0.0.1", ServicePort: "9015", } diff --git a/src/k8splugin/internal/connection/connection.go b/src/k8splugin/internal/connection/connection.go index adb1e992..df1400b5 100644 --- a/src/k8splugin/internal/connection/connection.go +++ b/src/k8splugin/internal/connection/connection.go @@ -20,8 +20,6 @@ import ( "encoding/base64" "encoding/json" "io/ioutil" - "log" - "path/filepath" "github.com/onap/multicloud-k8s/src/k8splugin/internal/db" @@ -149,7 +147,6 @@ func (v *ConnectionClient) GetConnectivityRecordByName(connectionName string, } for _, value := range conn.OtherConnectivityList.ConnectivityRecords { - log.Println(value) if connectivityRecordName == value["connectivity-record-name"] { return value, nil } @@ -173,7 +170,7 @@ func (v *ConnectionClient) Delete(name string) error { // Download the connection information onto a kubeconfig file // The file is named after the name of the connection and will // be placed in the provided parent directory -func (v *ConnectionClient) Download(name string, parentdir string) (string, error) { +func (v *ConnectionClient) Download(name string) (string, error) { conn, err := v.Get(name) if err != nil { @@ -186,11 +183,17 @@ func (v *ConnectionClient) Download(name string, parentdir string) (string, erro return "", pkgerrors.Wrap(err, "Converting from base64") } - target := filepath.Join(parentdir, conn.CloudRegion) - err = ioutil.WriteFile(target, kubeContent, 0644) + //Create temp file to write kubeconfig + //Assume this file will be deleted after usage by the consumer + tempF, err := ioutil.TempFile("", "kube-config-temp-") + if err != nil { + return "", pkgerrors.Wrap(err, "Creating temp file") + } + + _, err = tempF.Write(kubeContent) if err != nil { return "", pkgerrors.Wrap(err, "Writing kubeconfig to file") } - return target, nil + return tempF.Name(), nil } -- cgit 1.2.3-korg