func readRancherCompose(relativePath string, newTemplate *model.Template) {

	composeBytes := readFile(catalogRoot+relativePath, "rancher-compose.yml")
	newTemplate.RancherCompose = string(*composeBytes)

	//read the questions section
	RC := make(map[string]model.RancherCompose)
	err := yaml.Unmarshal(*composeBytes, &RC)
	if err != nil {
		log.Errorf("Error unmarshalling %s under template: %s, error: %v", "rancher-compose.yml", relativePath, err)
	} else {
		newTemplate.Questions = RC[".catalog"].Questions
		newTemplate.Name = RC[".catalog"].Name
		newTemplate.UUID = RC[".catalog"].UUID
		newTemplate.Description = RC[".catalog"].Description
		newTemplate.Version = RC[".catalog"].Version

		if newTemplate.UUID != "" {
			//store uuid -> path map
			UUIDToPath[newTemplate.UUID] = relativePath
			log.Debugf("UUIDToPath map: %v", UUIDToPath)
		}
	}

}
func readTemplateConfig(relativePath string, template *model.Template) {
	filename, err := filepath.Abs(relativePath + "/config.yml")
	if err != nil {
		log.Errorf("Error forming path to config file at path: %s, error: %v", relativePath, err)
	}

	yamlFile, err := ioutil.ReadFile(filename)
	if err != nil {
		log.Errorf("Error reading config file under template: %s, error: %v", relativePath, err)
	} else {
		config := make(map[string]string)

		//Read the config.yml file
		err = yaml.Unmarshal(yamlFile, &config)
		if err != nil {
			log.Errorf("Error unmarshalling config.yml under template: %s, error: %v", relativePath, err)
		} else {
			template.Name = config["name"]
			template.Category = config["category"]
			template.Description = config["description"]
			template.Version = config["version"]
			if config["uuid"] != "" {
				template.UUID = config["uuid"]
			}
		}
	}
}