aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran Kamineni <kiran.k.kamineni@intel.com>2019-06-24 14:54:29 -0700
committerKiran Kamineni <kiran.k.kamineni@intel.com>2019-07-16 11:16:44 -0700
commit2313ea3cc0730e076bdbc822991534c904570857 (patch)
treea43bd979a259cda723db7bac5f22426890cab7fc
parentba4a7991e10172a31cec65ae5c9ad11cbb1b806b (diff)
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 <kiran.k.kamineni@intel.com>
-rw-r--r--src/k8splugin/internal/app/client.go4
-rw-r--r--src/k8splugin/internal/config/config.go2
-rw-r--r--src/k8splugin/internal/connection/connection.go17
3 files changed, 12 insertions, 11 deletions
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
}