"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"
// 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")
}
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"`
}
EtcdCert: "etcd.cert",
EtcdKey: "etcd.key",
EtcdCAFile: "etcd-ca.cert",
- KubeConfigDir: cwd,
OVNCentralAddress: "127.0.0.1",
ServicePort: "9015",
}
"encoding/base64"
"encoding/json"
"io/ioutil"
- "log"
- "path/filepath"
"github.com/onap/multicloud-k8s/src/k8splugin/internal/db"
}
for _, value := range conn.OtherConnectivityList.ConnectivityRecords {
- log.Println(value)
if connectivityRecordName == value["connectivity-record-name"] {
return value, nil
}
// 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 {
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
}