// startNode installs and boots a node. func (environ *maasEnviron) startNode(node gomaasapi.MAASObject, series string, userdata []byte) error { userDataParam := base64.StdEncoding.EncodeToString(userdata) params := url.Values{ "distro_series": {series}, "user_data": {userDataParam}, } // Initialize err to a non-nil value as a sentinel for the following // loop. err := fmt.Errorf("(no error)") for a := shortAttempt.Start(); a.Next() && err != nil; { _, err = node.CallPost("start", params) } return err }