pull/1908/head
sauman 9 years ago
parent c3f5d4f501
commit 2f3ffb9cbc

@ -18,6 +18,7 @@ package helm // import "k8s.io/helm/pkg/helm"
import (
"fmt"
"github.com/golang/protobuf/ptypes"
"golang.org/x/net/context"
"google.golang.org/grpc"
"gopkg.in/square/go-jose.v1/json"
@ -138,7 +139,7 @@ func (h *Client) DeleteRelease(rlsName string, namespace string, opts ...DeleteO
}
// UpdateRelease updates a release to a new/different chart
func (h *Client) UpdateRelease(rlsName string, chstr string,namespace string, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error) {
func (h *Client) UpdateRelease(rlsName string, chstr string, namespace string, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error) {
// load the chart to update
chart, err := chartutil.Load(chstr)
if err != nil {
@ -182,7 +183,7 @@ func (h *Client) GetVersion(opts ...VersionOption) (*rls.GetVersionResponse, err
}
// RollbackRelease rolls back a release to the previous version
func (h *Client) RollbackRelease(rlsName string,namespace string, opts ...RollbackOption) (*rls.RollbackReleaseResponse, error) {
func (h *Client) RollbackRelease(rlsName string, namespace string, opts ...RollbackOption) (*rls.RollbackReleaseResponse, error) {
for _, opt := range opts {
opt(&h.opts)
}
@ -300,6 +301,16 @@ func (h *Client) install(ctx context.Context, req *rls.InstallReleaseRequest) (*
resp.Release.Manifest = release.Spec.Manifest
resp.Release.Info = new(rs.Info)
resp.Release.Info.Status = release.Status.Status
firstDeployed, err := ptypes.TimestampProto(release.Status.FirstDeployed.Time)
if err != nil {
return resp, err
}
resp.Release.Info.FirstDeployed = firstDeployed
lastDeployed, err := ptypes.TimestampProto(release.Status.LastDeployed.Time)
if err != nil {
return resp, err
}
resp.Release.Info.FirstDeployed = lastDeployed
return resp, nil
}
@ -325,7 +336,7 @@ func (h *Client) delete(ctx context.Context, namespace string, req *rls.Uninstal
}
// Executes tiller.UpdateRelease RPC.
func (h *Client) update(ctx context.Context,namespace string, req *rls.UpdateReleaseRequest) (*rls.UpdateReleaseResponse, error) {
func (h *Client) update(ctx context.Context, namespace string, req *rls.UpdateReleaseRequest) (*rls.UpdateReleaseResponse, error) {
/* c, err := grpc.Dial(h.opts.host, grpc.WithInsecure())
if err != nil {
return nil, err
@ -348,7 +359,7 @@ func (h *Client) update(ctx context.Context,namespace string, req *rls.UpdateRel
release.Spec.Recreate = req.Recreate
release.Spec.Timeout = req.Timeout
release.Spec.Chart.Inline = req.Chart
release.Spec.Version = release.Spec.Version
release.Spec.Version = release.Spec.Version + 1
// update the release
updatedRelease := new(hapi.Release)
err = client.RESTClient().Put().Namespace(namespace).Resource("releases").Name(release.Name).Body(release).Do().Into(updatedRelease)
@ -439,9 +450,21 @@ func (h *Client) status(ctx context.Context, namespace string, req *rls.GetRelea
resp.Namespace = release.Namespace
resp.Info = new(rs.Info)
resp.Info.Status = releaseVersion.Status.Status
/* *resp.Info.FirstDeployed = releaseVersion.Status.FirstDeployed //TODO
*resp.Info.LastDeployed = releaseVersion.Status.LastDeployed
*resp.Info.Deleted = releaseVersion.Status.Deleted*/
f, err := ptypes.TimestampProto(releaseVersion.Status.FirstDeployed.Time)
if err != nil {
return resp, err
}
resp.Info.FirstDeployed = f
l, err := ptypes.TimestampProto(releaseVersion.Status.LastDeployed.Time)
if err != nil {
return resp, err
}
resp.Info.LastDeployed = l
d, err := ptypes.TimestampProto(releaseVersion.Status.LastDeployed.Time)
if err != nil {
return resp, err
}
resp.Info.Deleted = d
return resp, nil
}
@ -552,7 +575,7 @@ func makeEventForRollBack(req *rls.RollbackReleaseRequest) (*api.Event, error) {
}
event := &api.Event{
InvolvedObject: api.ObjectReference{
Kind: "release",
Kind: "release",
},
Reason: "releaseRollback",
Message: string(message),

Loading…
Cancel
Save