Update parseNodeSelectors (renamed parseNodeSelectorsInto) to mutate map in place.

Update init json output to use buffers instead of slice append.
reviewable/pr2557/r7
Justin Scott 8 years ago
parent 2cb6af64e4
commit c1ddde94bb

@ -203,9 +203,11 @@ func (i *initCmd) run() error {
if err != nil {
return err
}
tm := []byte("{\"apiVersion\":\"extensions/v1beta1\",\"kind\":\"Deployment\",")
j := append(tm, jsonb[1:]...)
if err := json.Indent(&out, j, "", " "); err != nil {
const tm = `{"apiVersion":"extensions/v1beta1","kind":"Deployment",`
buf := bytes.NewBuffer(make([]byte, 0, len(tm)+len(jsonb)-1))
buf.WriteString(tm)
buf.Write(jsonb[1:])
if err := json.Indent(&out, buf.Bytes(), "", " "); err != nil {
return err
}
if _, err = i.out.Write(out.Bytes()); err != nil {

@ -128,24 +128,28 @@ func generateLabels(labels map[string]string) map[string]string {
return labels
}
// parseNodeSelectors takes a comma delimited list of key=values pairs and returns a map
func parseNodeSelectors(labels string, m map[string]string) map[string]string {
// parseNodeSelectors parses a comma delimited list of key=values pairs into a map
func parseNodeSelectorsInto(labels string, m map[string]string) error {
kv := strings.Split(labels, ",")
for _, v := range kv {
el := strings.Split(v, "=")
if len(el) == 2 {
m[el[0]] = el[1]
} else {
return fmt.Errorf("Invalid nodeSelector label: %s", kv)
}
}
return m
return nil
}
func generateDeployment(opts *Options) (*v1beta1.Deployment, error) {
labels := generateLabels(map[string]string{"name": "tiller"})
nodeSelectors := map[string]string{}
nodeSelectors["beta.kubernetes.io/os"] = "linux"
if len(opts.NodeSelectors) > 0 {
nodeSelectors = parseNodeSelectors(opts.NodeSelectors, nodeSelectors)
err := parseNodeSelectorsInto(opts.NodeSelectors, nodeSelectors)
if err != nil {
return nil, err
}
}
d := &v1beta1.Deployment{
ObjectMeta: metav1.ObjectMeta{

Loading…
Cancel
Save