Skip to content

Commit

Permalink
(CDAP-17721) Added support for extra Hadoop configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
chtyim committed Mar 5, 2021
1 parent c02e1e9 commit dfef9d6
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
18 changes: 13 additions & 5 deletions controllers/cdapmaster_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,15 @@ limitations under the License.
package controllers

import (
"cdap.io/cdap-operator/controllers/cdapmaster"
"fmt"
batchv1 "k8s.io/api/batch/v1"
"sigs.k8s.io/controller-reconciler/pkg/finalizer"
"strconv"
"strings"
"text/template"

"cdap.io/cdap-operator/controllers/cdapmaster"
batchv1 "k8s.io/api/batch/v1"
"sigs.k8s.io/controller-reconciler/pkg/finalizer"

"github.com/go-logr/logr"
"k8s.io/apimachinery/pkg/runtime"
gr "sigs.k8s.io/controller-reconciler/pkg/genericreconciler"
Expand Down Expand Up @@ -165,12 +166,19 @@ func (h *ConfigMapHandler) Objects(rsrc interface{}, rsrclabels map[string]strin
}

fillTemplate := func(templateFile string) (string, error) {
template, err := template.New(templateFile).ParseFiles(templateDir + templateFile)
tmpl, err := template.New(templateFile).Funcs(template.FuncMap{
"hasPrefix": func(str, prefix string) bool {
return strings.HasPrefix(str, prefix)
},
"trimPrefix": func(str, prefix string) string {
return strings.TrimPrefix(str, prefix)
},
}).ParseFiles(templateDir + templateFile)
if err != nil {
return "", err
}
var output strings.Builder
if err := template.Execute(&output, templateData); err != nil {
if err := tmpl.Execute(&output, templateData); err != nil {
return "", err
}
return output.String(), nil
Expand Down
6 changes: 4 additions & 2 deletions templates/cdap-site.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
the License.
-->
<configuration>
{{range $k,$v := .Master.Spec.Config}}
{{range $k,$v := .Master.Spec.Config -}}
{{if not (hasPrefix $k "hadoop:")}}
<property>
<name>{{html $k}}</name>
<value>{{html $v}}</value>
</property>
{{end}}
{{end}}
{{- end}}
</configuration>
8 changes: 8 additions & 0 deletions templates/core-site.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,12 @@
<name>fs.defaultFS</name>
<value>{{html .Master.Spec.LocationURI}}</value>
</property>
{{range $k,$v := .Master.Spec.Config -}}
{{if hasPrefix $k "hadoop:"}}
<property>
<name>{{html (trimPrefix $k "hadoop:")}}</name>
<value>{{html $v}}</value>
</property>
{{end}}
{{- end}}
</configuration>

0 comments on commit dfef9d6

Please sign in to comment.