diff options
author | Rajamohan Raj <rajamohan.raj@intel.com> | 2020-04-03 07:43:11 +0000 |
---|---|---|
committer | Ritu Sood <Ritu.Sood@intel.com> | 2020-04-13 16:46:10 +0000 |
commit | c8ba8f21b68b64b4068f188614dd7c891edf035f (patch) | |
tree | bf7b48d32552a60b6635204c49fd2a3f7665e310 /src/orchestrator/utils/profile_yaml.go | |
parent | 502b61039dbdc9089768a49b87163e654d8cbfb7 (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/profile_yaml.go')
-rw-r--r-- | src/orchestrator/utils/profile_yaml.go | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/src/orchestrator/utils/profile_yaml.go b/src/orchestrator/utils/profile_yaml.go deleted file mode 100644 index 91687c0a..00000000 --- a/src/orchestrator/utils/profile_yaml.go +++ /dev/null @@ -1,109 +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 ( - "io/ioutil" - "log" - "path/filepath" - - "github.com/ghodss/yaml" - pkgerrors "github.com/pkg/errors" -) - -/* -#Sample Yaml format for profile manifest.yaml ---- -version: v1 -type: - values: "values_override.yaml" - configresource: - - filepath: config.yaml - chartpath: chart/config/resources/config.yaml - - filepath: config2.yaml - chartpath: chart/config/resources/config2.yaml -*/ - -type overrideFiles struct { - FilePath string `yaml:"filepath"` - ChartPath string `yaml:"chartpath"` -} - -type supportedOverrides struct { - ConfigResource []overrideFiles `yaml:"configresource"` - Values string `yaml:"values"` -} - -type profileOverride struct { - Version string `yaml:"version"` - Type supportedOverrides `yaml:"type"` -} - -type ProfileYamlClient struct { - path string - override profileOverride -} - -func (p ProfileYamlClient) Print() { - log.Println(p.override) -} - -//GetValues returns a path to the override values.yam -//that was part of the profile -func (p ProfileYamlClient) GetValues() string { - return filepath.Join(p.path, p.override.Type.Values) -} - -//CopyConfigurationOverrides copies the various files that are -//provided as overrides to their corresponding locations within -//the destination chart. -func (p ProfileYamlClient) CopyConfigurationOverrides(chartPath string) error { - - //Iterate over each configresource and copy that file into - //the respective path in the chart. - for _, v := range p.override.Type.ConfigResource { - data, err := ioutil.ReadFile(filepath.Join(p.path, v.FilePath)) - if err != nil { - return pkgerrors.Wrap(err, "Reading configuration file") - } - err = ioutil.WriteFile(filepath.Join(chartPath, v.ChartPath), data, 0644) - if err != nil { - return pkgerrors.Wrap(err, "Writing configuration file into chartpath") - } - } - - return nil -} - -//ProcessProfileYaml parses the manifest.yaml file that is part of the profile -//package and creates the appropriate structures out of it. -func ProcessProfileYaml(fpath string, manifestFileName string) (ProfileYamlClient, error) { - - p := filepath.Join(fpath, manifestFileName) - data, err := ioutil.ReadFile(p) - if err != nil { - return ProfileYamlClient{}, pkgerrors.Wrap(err, "Reading manifest file") - } - - out := profileOverride{} - err = yaml.Unmarshal(data, &out) - if err != nil { - return ProfileYamlClient{}, pkgerrors.Wrap(err, "Marshaling manifest yaml file") - } - - return ProfileYamlClient{path: fpath, override: out}, nil -} |