summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/utils/util-functions.go
diff options
context:
space:
mode:
authorRajamohan Raj <rajamohan.raj@intel.com>2020-04-03 07:43:11 +0000
committerRitu Sood <Ritu.Sood@intel.com>2020-04-13 16:46:10 +0000
commitc8ba8f21b68b64b4068f188614dd7c891edf035f (patch)
treebf7b48d32552a60b6635204c49fd2a3f7665e310 /src/orchestrator/utils/util-functions.go
parent502b61039dbdc9089768a49b87163e654d8cbfb7 (diff)
Test cases for resolving the helm templates
Added test cases for overriding values and resolving the helm charts. Also addressed the merge conflicts and review comments Issue-ID: MULTICLOUD-1041 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I511e8e2e71c60e878df434370fc053f09cda1f66
Diffstat (limited to 'src/orchestrator/utils/util-functions.go')
-rw-r--r--src/orchestrator/utils/util-functions.go116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/orchestrator/utils/util-functions.go b/src/orchestrator/utils/util-functions.go
deleted file mode 100644
index 13c78ba4..00000000
--- a/src/orchestrator/utils/util-functions.go
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright 2020 Intel Corporation, Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package utils
-
-import (
- "archive/tar"
- "compress/gzip"
- "io"
- "io/ioutil"
- "os"
- "path"
- "path/filepath"
-
- pkgerrors "github.com/pkg/errors"
-)
-
-//ExtractTarBall provides functionality to extract a tar.gz file
-//into a temporary location for later use.
-//It returns the path to the new location
-func ExtractTarBall(r io.Reader) (string, error) {
- //Check if it is a valid gz
- gzf, err := gzip.NewReader(r)
- if err != nil {
- return "", pkgerrors.Wrap(err, "Invalid gzip format")
- }
-
- //Check if it is a valid tar file
- //Unfortunately this can only be done by inspecting all the tar contents
- tarR := tar.NewReader(gzf)
- first := true
-
- outDir, _ := ioutil.TempDir("", "k8s-ext-")
-
- for true {
- header, err := tarR.Next()
-
- if err == io.EOF {
- //Check if we have just a gzip file without a tar archive inside
- if first {
- return "", pkgerrors.New("Empty or non-existant Tar file found")
- }
- //End of archive
- break
- }
-
- if err != nil {
- return "", pkgerrors.Wrap(err, "Error reading tar file")
- }
-
- target := filepath.Join(outDir, header.Name)
-
- switch header.Typeflag {
- case tar.TypeDir:
- if _, err := os.Stat(target); err != nil {
- // Using 755 read, write, execute for owner
- // groups and others get read and execute permissions
- // on the folder.
- if err := os.MkdirAll(target, 0755); err != nil {
- return "", pkgerrors.Wrap(err, "Creating directory")
- }
- }
- case tar.TypeReg:
- if target == outDir { // Handle '.' substituted to '' entry
- continue
- }
-
- err = EnsureDirectory(target)
- if err != nil {
- return "", pkgerrors.Wrap(err, "Creating Directory")
- }
-
- f, err := os.OpenFile(target, os.O_CREATE|os.O_RDWR, os.FileMode(header.Mode))
- if err != nil {
- return "", pkgerrors.Wrap(err, "Creating file")
- }
-
- // copy over contents
- if _, err := io.Copy(f, tarR); err != nil {
- return "", pkgerrors.Wrap(err, "Copying file content")
- }
-
- // close for each file instead of a defer for all
- // at the end of the function
- f.Close()
- }
-
- first = false
- }
-
- return outDir, nil
-}
-
-//EnsureDirectory makes sure that the directories specified in the path exist
-//If not, it will create them, if possible.
-func EnsureDirectory(f string) error {
- base := path.Dir(f)
- _, err := os.Stat(base)
- if err != nil && !os.IsNotExist(err) {
- return err
- }
- return os.MkdirAll(base, 0755)
-}