feat(cmd/helm/installer): add support for upgrading service account

pull/2438/head
vdice 8 years ago
parent 5ed1c42463
commit 0d3f14f041
No known key found for this signature in database
GPG Key ID: 4B4330BDC5C5B095

@ -58,6 +58,7 @@ func Upgrade(client internalclientset.Interface, opts *Options) error {
} }
obj.Spec.Template.Spec.Containers[0].Image = opts.selectImage() obj.Spec.Template.Spec.Containers[0].Image = opts.selectImage()
obj.Spec.Template.Spec.Containers[0].ImagePullPolicy = opts.pullPolicy() obj.Spec.Template.Spec.Containers[0].ImagePullPolicy = opts.pullPolicy()
obj.Spec.Template.Spec.ServiceAccountName = opts.ServiceAccount
if _, err := client.Extensions().Deployments(opts.Namespace).Update(obj); err != nil { if _, err := client.Extensions().Deployments(opts.Namespace).Update(obj); err != nil {
return err return err
} }

@ -329,11 +329,12 @@ func TestInstall_canary(t *testing.T) {
func TestUpgrade(t *testing.T) { func TestUpgrade(t *testing.T) {
image := "gcr.io/kubernetes-helm/tiller:v2.0.0" image := "gcr.io/kubernetes-helm/tiller:v2.0.0"
serviceAccount := "newServiceAccount"
existingDeployment := deployment(&Options{ existingDeployment := deployment(&Options{
Namespace: api.NamespaceDefault, Namespace: api.NamespaceDefault,
ImageSpec: "imageToReplace", ImageSpec: "imageToReplace",
UseCanary: false, ServiceAccount: "serviceAccountToReplace",
UseCanary: false,
}) })
existingService := service(api.NamespaceDefault) existingService := service(api.NamespaceDefault)
@ -347,13 +348,17 @@ func TestUpgrade(t *testing.T) {
if i != image { if i != image {
t.Errorf("expected image = '%s', got '%s'", image, i) t.Errorf("expected image = '%s', got '%s'", image, i)
} }
sa := obj.Spec.Template.Spec.ServiceAccountName
if sa != serviceAccount {
t.Errorf("expected serviceAccountName = '%s', got '%s'", serviceAccount, sa)
}
return true, obj, nil return true, obj, nil
}) })
fc.AddReactor("get", "services", func(action testcore.Action) (bool, runtime.Object, error) { fc.AddReactor("get", "services", func(action testcore.Action) (bool, runtime.Object, error) {
return true, existingService, nil return true, existingService, nil
}) })
opts := &Options{Namespace: api.NamespaceDefault, ImageSpec: image} opts := &Options{Namespace: api.NamespaceDefault, ImageSpec: image, ServiceAccount: serviceAccount}
if err := Upgrade(fc, opts); err != nil { if err := Upgrade(fc, opts); err != nil {
t.Errorf("unexpected error: %#+v", err) t.Errorf("unexpected error: %#+v", err)
} }

Loading…
Cancel
Save