diff --git a/cmd/helm/status.go b/cmd/helm/status.go index ca0dab23f..a1cea897b 100644 --- a/cmd/helm/status.go +++ b/cmd/helm/status.go @@ -30,7 +30,6 @@ import ( "github.com/spf13/cobra" "k8s.io/helm/cmd/helm/require" - "k8s.io/helm/pkg/hapi" "k8s.io/helm/pkg/hapi/release" "k8s.io/helm/pkg/helm" ) @@ -75,7 +74,7 @@ func newStatusCmd(client helm.Interface, out io.Writer) *cobra.Command { } func (o *statusOptions) run(out io.Writer) error { - res, err := o.client.ReleaseStatus(o.release, o.version) + res, err := o.client.ReleaseContent(o.release, o.version) if err != nil { return err } @@ -105,7 +104,7 @@ func (o *statusOptions) run(out io.Writer) error { // PrintStatus prints out the status of a release. Shared because also used by // install / upgrade -func PrintStatus(out io.Writer, res *hapi.GetReleaseStatusResponse) { +func PrintStatus(out io.Writer, res *release.Release) { if !res.Info.LastDeployed.IsZero() { fmt.Fprintf(out, "LAST DEPLOYED: %s\n", res.Info.LastDeployed) } diff --git a/cmd/helm/upgrade.go b/cmd/helm/upgrade.go index 144c536db..975bc8d99 100644 --- a/cmd/helm/upgrade.go +++ b/cmd/helm/upgrade.go @@ -181,13 +181,6 @@ func (o *upgradeOptions) run(out io.Writer) error { } fmt.Fprintf(out, "Release %q has been upgraded. Happy Helming!\n", o.release) - - // Print the status like status command does - status, err := o.client.ReleaseStatus(o.release, 0) - if err != nil { - return err - } - PrintStatus(out, status) - + PrintStatus(out, resp) return nil } diff --git a/pkg/helm/client.go b/pkg/helm/client.go index 4ed3da2d0..645a48f0e 100644 --- a/pkg/helm/client.go +++ b/pkg/helm/client.go @@ -169,19 +169,6 @@ func (c *Client) RollbackRelease(rlsName string, opts ...RollbackOption) (*relea return c.tiller.RollbackRelease(req) } -// ReleaseStatus returns the given release's status. -func (c *Client) ReleaseStatus(rlsName string, version int) (*hapi.GetReleaseStatusResponse, error) { - reqOpts := c.opts - req := &reqOpts.statusReq - req.Name = rlsName - req.Version = version - - if err := reqOpts.runBefore(req); err != nil { - return nil, err - } - return c.tiller.GetReleaseStatus(req) -} - // ReleaseContent returns the configuration for a given release. func (c *Client) ReleaseContent(name string, version int) (*release.Release, error) { reqOpts := c.opts diff --git a/pkg/helm/fake.go b/pkg/helm/fake.go index a7fbe9e87..31e1db9ce 100644 --- a/pkg/helm/fake.go +++ b/pkg/helm/fake.go @@ -62,7 +62,7 @@ func (c *FakeClient) InstallReleaseFromChart(chart *chart.Chart, ns string, opts releaseName := c.Opts.instReq.Name // Check to see if the release already exists. - rel, err := c.ReleaseStatus(releaseName, 0) + rel, err := c.ReleaseContent(releaseName, 0) if err == nil && rel != nil { return nil, errors.New("cannot re-use a name that is still in use") } diff --git a/pkg/helm/fake_test.go b/pkg/helm/fake_test.go index 66a8f01f4..230ae01c2 100644 --- a/pkg/helm/fake_test.go +++ b/pkg/helm/fake_test.go @@ -25,93 +25,6 @@ import ( "k8s.io/helm/pkg/hapi/release" ) -func TestFakeClient_ReleaseStatus(t *testing.T) { - releasePresent := ReleaseMock(&MockReleaseOptions{Name: "release-present"}) - releaseNotPresent := ReleaseMock(&MockReleaseOptions{Name: "release-not-present"}) - - type fields struct { - Rels []*release.Release - } - type args struct { - rlsName string - } - tests := []struct { - name string - fields fields - args args - want *hapi.GetReleaseStatusResponse - wantErr bool - }{ - { - name: "Get a single release that exists", - fields: fields{ - Rels: []*release.Release{ - releasePresent, - }, - }, - args: args{ - rlsName: releasePresent.Name, - }, - want: &hapi.GetReleaseStatusResponse{ - Name: releasePresent.Name, - Info: releasePresent.Info, - Namespace: releasePresent.Namespace, - }, - - wantErr: false, - }, - { - name: "Get a release that does not exist", - fields: fields{ - Rels: []*release.Release{ - releasePresent, - }, - }, - args: args{ - rlsName: releaseNotPresent.Name, - }, - want: nil, - wantErr: true, - }, - { - name: "Get a single release that exists from list", - fields: fields{ - Rels: []*release.Release{ - ReleaseMock(&MockReleaseOptions{Name: "angry-dolphin", Namespace: "default"}), - ReleaseMock(&MockReleaseOptions{Name: "trepid-tapir", Namespace: "default"}), - releasePresent, - }, - }, - args: args{ - rlsName: releasePresent.Name, - }, - want: &hapi.GetReleaseStatusResponse{ - Name: releasePresent.Name, - Info: releasePresent.Info, - Namespace: releasePresent.Namespace, - }, - - wantErr: false, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - c := &FakeClient{ - Rels: tt.fields.Rels, - } - got, err := c.ReleaseStatus(tt.args.rlsName, 0) - if (err != nil) != tt.wantErr { - t.Errorf("FakeClient.ReleaseStatus() error = %v, wantErr %v", err, tt.wantErr) - return - } - if !reflect.DeepEqual(got, tt.want) { - t.Errorf("FakeClient.ReleaseStatus() = %v, want %v", got, tt.want) - } - }) - } -} - func TestFakeClient_InstallReleaseFromChart(t *testing.T) { installChart := &chart.Chart{} type fields struct { diff --git a/pkg/helm/helm_test.go b/pkg/helm/helm_test.go index 7bbf9701a..63fc76674 100644 --- a/pkg/helm/helm_test.go +++ b/pkg/helm/helm_test.go @@ -213,39 +213,6 @@ func TestRollbackRelease_VerifyOptions(t *testing.T) { assert(t, "", client.opts.rollbackReq.Name) } -// Verify each StatusOption is applied to a GetReleaseStatusRequest correctly. -func TestReleaseStatus_VerifyOptions(t *testing.T) { - // Options testdata - var releaseName = "test" - var revision = 2 - - // Expected GetReleaseStatusRequest message - exp := &hapi.GetReleaseStatusRequest{ - Name: releaseName, - Version: revision, - } - - // BeforeCall option to intercept Helm client GetReleaseStatusRequest - b4c := BeforeCall(func(msg interface{}) error { - switch act := msg.(type) { - case *hapi.GetReleaseStatusRequest: - t.Logf("GetReleaseStatusRequest: %#+v\n", act) - assert(t, exp, act) - default: - t.Fatalf("expected message of type GetReleaseStatusRequest, got %T\n", act) - } - return errSkip - }) - - client := NewClient(b4c) - if _, err := client.ReleaseStatus(releaseName, revision); err != errSkip { - t.Fatalf("did not expect error but got (%v)\n``", err) - } - - // ensure options for call are not saved to client - assert(t, "", client.opts.statusReq.Name) -} - // Verify each ContentOption is applied to a GetReleaseContentRequest correctly. func TestReleaseContent_VerifyOptions(t *testing.T) { t.Skip("refactoring out") diff --git a/pkg/helm/interface.go b/pkg/helm/interface.go index 96db762b0..8fa8d9f2c 100644 --- a/pkg/helm/interface.go +++ b/pkg/helm/interface.go @@ -27,7 +27,6 @@ type Interface interface { InstallRelease(chStr, namespace string, opts ...InstallOption) (*release.Release, error) InstallReleaseFromChart(chart *chart.Chart, namespace string, opts ...InstallOption) (*release.Release, error) UninstallRelease(rlsName string, opts ...UninstallOption) (*hapi.UninstallReleaseResponse, error) - ReleaseStatus(rlsName string, version int) (*hapi.GetReleaseStatusResponse, error) UpdateRelease(rlsName, chStr string, opts ...UpdateOption) (*release.Release, error) UpdateReleaseFromChart(rlsName string, chart *chart.Chart, opts ...UpdateOption) (*release.Release, error) RollbackRelease(rlsName string, opts ...RollbackOption) (*release.Release, error)