Rename 'restart' to 'recreate'

pull/1648/head
Nikolay Mahotkin 9 years ago
parent 44d9274df3
commit 1eaec045b2

@ -189,7 +189,7 @@ message UpdateReleaseRequest {
// DisableHooks causes the server to skip running any hooks for the upgrade. // DisableHooks causes the server to skip running any hooks for the upgrade.
bool disable_hooks = 5; bool disable_hooks = 5;
// Performs pods restart for resources if applicable // Performs pods restart for resources if applicable
bool restart = 6; bool recreate = 6;
} }
// UpdateReleaseResponse is the response to an update request. // UpdateReleaseResponse is the response to an update request.
@ -207,7 +207,7 @@ message RollbackReleaseRequest {
// Version is the version of the release to deploy. // Version is the version of the release to deploy.
int32 version = 4; int32 version = 4;
// Performs pods restart for resources if applicable // Performs pods restart for resources if applicable
bool restart = 5; bool recreate = 5;
} }
// RollbackReleaseResponse is the response to an update request. // RollbackReleaseResponse is the response to an update request.

@ -82,7 +82,7 @@ func (r *rollbackCmd) run() error {
_, err := r.client.RollbackRelease( _, err := r.client.RollbackRelease(
r.name, r.name,
helm.RollbackDryRun(r.dryRun), helm.RollbackDryRun(r.dryRun),
helm.RollbackRestart(r.restart), helm.RollbackRecreate(r.restart),
helm.RollbackDisableHooks(r.disableHooks), helm.RollbackDisableHooks(r.disableHooks),
helm.RollbackVersion(r.revision), helm.RollbackVersion(r.revision),
) )

@ -151,7 +151,7 @@ func (u *upgradeCmd) run() error {
chartPath, chartPath,
helm.UpdateValueOverrides(rawVals), helm.UpdateValueOverrides(rawVals),
helm.UpgradeDryRun(u.dryRun), helm.UpgradeDryRun(u.dryRun),
helm.UpgradeRestart(u.restart), helm.UpgradeRecreate(u.restart),
helm.UpgradeDisableHooks(u.disableHooks)) helm.UpgradeDisableHooks(u.disableHooks))
if err != nil { if err != nil {
return fmt.Errorf("UPGRADE FAILED: %v", prettyError(err)) return fmt.Errorf("UPGRADE FAILED: %v", prettyError(err))

@ -133,7 +133,7 @@ func (h *Client) UpdateRelease(rlsName string, chstr string, opts ...UpdateOptio
req.DryRun = h.opts.dryRun req.DryRun = h.opts.dryRun
req.Name = rlsName req.Name = rlsName
req.DisableHooks = h.opts.disableHooks req.DisableHooks = h.opts.disableHooks
req.Restart = h.opts.restart req.Restart = h.opts.recreate
ctx := NewContext() ctx := NewContext()
if h.opts.before != nil { if h.opts.before != nil {

@ -41,7 +41,7 @@ type options struct {
// if set, re-use an existing name // if set, re-use an existing name
reuseName bool reuseName bool
// if set, performs pod restart during upgrade/rollback // if set, performs pod restart during upgrade/rollback
restart bool recreate bool
// if set, skip running hooks // if set, skip running hooks
disableHooks bool disableHooks bool
// name of release // name of release
@ -214,10 +214,10 @@ func RollbackDryRun(dry bool) RollbackOption {
} }
} }
// RollbackDryRun will (if true) execute a rollback as a dry run. // RollbackRecreate will (if true) recreate pods after rollback.
func RollbackRestart(restart bool) RollbackOption { func RollbackRecreate(recreate bool) RollbackOption {
return func(opts *options) { return func(opts *options) {
opts.restart = restart opts.recreate = recreate
} }
} }
@ -242,10 +242,10 @@ func UpgradeDryRun(dry bool) UpdateOption {
} }
} }
// UpgradeDryRun will (if true) execute an upgrade as a dry run. // UpgradeRecreate will (if true) recreate pods after upgrade.
func UpgradeRestart(restart bool) UpdateOption { func UpgradeRecreate(recreate bool) UpdateOption {
return func(opts *options) { return func(opts *options) {
opts.restart = restart opts.recreate = recreate
} }
} }

@ -164,7 +164,7 @@ func (c *Client) Get(namespace string, reader io.Reader) (string, error) {
// not present in the target configuration // not present in the target configuration
// //
// Namespace will set the namespaces // Namespace will set the namespaces
func (c *Client) Update(namespace string, currentReader, targetReader io.Reader, restart bool) error { func (c *Client) Update(namespace string, currentReader, targetReader io.Reader, recreate bool) error {
currentInfos, err := c.newBuilder(namespace, currentReader).Do().Infos() currentInfos, err := c.newBuilder(namespace, currentReader).Do().Infos()
if err != nil { if err != nil {
return fmt.Errorf("failed decoding reader into objects: %s", err) return fmt.Errorf("failed decoding reader into objects: %s", err)
@ -205,7 +205,7 @@ func (c *Client) Update(namespace string, currentReader, targetReader io.Reader,
return err return err
} }
if err := updateResource(c, info, currentObj, restart); err != nil { if err := updateResource(c, info, currentObj, recreate); err != nil {
if alreadyExistErr, ok := err.(ErrAlreadyExists); ok { if alreadyExistErr, ok := err.(ErrAlreadyExists); ok {
log.Printf(alreadyExistErr.errorMsg) log.Printf(alreadyExistErr.errorMsg)
} else { } else {
@ -301,7 +301,7 @@ func deleteResource(info *resource.Info) error {
return resource.NewHelper(info.Client, info.Mapping).Delete(info.Namespace, info.Name) return resource.NewHelper(info.Client, info.Mapping).Delete(info.Namespace, info.Name)
} }
func updateResource(c *Client, target *resource.Info, currentObj runtime.Object, restart bool) error { func updateResource(c *Client, target *resource.Info, currentObj runtime.Object, recreate bool) error {
encoder := api.Codecs.LegacyCodec(registered.EnabledVersions()...) encoder := api.Codecs.LegacyCodec(registered.EnabledVersions()...)
original, err := runtime.Encode(encoder, currentObj) original, err := runtime.Encode(encoder, currentObj)
if err != nil { if err != nil {
@ -330,30 +330,30 @@ func updateResource(c *Client, target *resource.Info, currentObj runtime.Object,
return err return err
} }
if restart { if recreate {
kind := target.Mapping.GroupVersionKind.Kind kind := target.Mapping.GroupVersionKind.Kind
client, _ := c.ClientSet() client, _ := c.ClientSet()
switch kind { switch kind {
case "ReplicationController": case "ReplicationController":
rc := currentObj.(*v1.ReplicationController) rc := currentObj.(*v1.ReplicationController)
err = restartPods(client, target.Namespace, rc.Spec.Selector) err = recreatePods(client, target.Namespace, rc.Spec.Selector)
case "DaemonSet": case "DaemonSet":
daemonSet := currentObj.(*v1beta1.DaemonSet) daemonSet := currentObj.(*v1beta1.DaemonSet)
err = restartPods(client, target.Namespace, daemonSet.Spec.Selector.MatchLabels) err = recreatePods(client, target.Namespace, daemonSet.Spec.Selector.MatchLabels)
case "StatefulSet": case "StatefulSet":
petSet := currentObj.(*apps.StatefulSet) petSet := currentObj.(*apps.StatefulSet)
err = restartPods(client, target.Namespace, petSet.Spec.Selector.MatchLabels) err = recreatePods(client, target.Namespace, petSet.Spec.Selector.MatchLabels)
case "ReplicaSet": case "ReplicaSet":
replicaSet := currentObj.(*v1beta1.ReplicaSet) replicaSet := currentObj.(*v1beta1.ReplicaSet)
err = restartPods(client, target.Namespace, replicaSet.Spec.Selector.MatchLabels) err = recreatePods(client, target.Namespace, replicaSet.Spec.Selector.MatchLabels)
} }
} }
return err return err
} }
func restartPods(client *internalclientset.Clientset, namespace string, selector map[string]string) error { func recreatePods(client *internalclientset.Clientset, namespace string, selector map[string]string) error {
pods, err := client.Pods(namespace).List(api.ListOptions{ pods, err := client.Pods(namespace).List(api.ListOptions{
FieldSelector: fields.Everything(), FieldSelector: fields.Everything(),
LabelSelector: labels.Set(selector).AsSelector(), LabelSelector: labels.Set(selector).AsSelector(),

@ -131,7 +131,7 @@ type KubeClient interface {
// //
// reader must contain a YAML stream (one or more YAML documents separated // reader must contain a YAML stream (one or more YAML documents separated
// by "\n---\n"). // by "\n---\n").
Update(namespace string, originalReader, modifiedReader io.Reader, restart bool) error Update(namespace string, originalReader, modifiedReader io.Reader, recreate bool) error
} }
// PrintingKubeClient implements KubeClient, but simply prints the reader to // PrintingKubeClient implements KubeClient, but simply prints the reader to
@ -167,7 +167,7 @@ func (p *PrintingKubeClient) WatchUntilReady(ns string, r io.Reader) error {
} }
// Update implements KubeClient Update. // Update implements KubeClient Update.
func (p *PrintingKubeClient) Update(ns string, currentReader, modifiedReader io.Reader, restart bool) error { func (p *PrintingKubeClient) Update(ns string, currentReader, modifiedReader io.Reader, recreate bool) error {
_, err := io.Copy(p.Out, modifiedReader) _, err := io.Copy(p.Out, modifiedReader)
return err return err
} }

@ -44,7 +44,7 @@ func (k *mockKubeClient) Get(ns string, r io.Reader) (string, error) {
func (k *mockKubeClient) Delete(ns string, r io.Reader) error { func (k *mockKubeClient) Delete(ns string, r io.Reader) error {
return nil return nil
} }
func (k *mockKubeClient) Update(ns string, currentReader, modifiedReader io.Reader, restart bool) error { func (k *mockKubeClient) Update(ns string, currentReader, modifiedReader io.Reader, recreate bool) error {
return nil return nil
} }
func (k *mockKubeClient) WatchUntilReady(ns string, r io.Reader) error { func (k *mockKubeClient) WatchUntilReady(ns string, r io.Reader) error {

@ -496,11 +496,11 @@ func (s *ReleaseServer) performRollback(currentRelease, targetRelease *release.R
return res, nil return res, nil
} }
func (s *ReleaseServer) performKubeUpdate(currentRelease, targetRelease *release.Release, restart bool) error { func (s *ReleaseServer) performKubeUpdate(currentRelease, targetRelease *release.Release, recreate bool) error {
kubeCli := s.env.KubeClient kubeCli := s.env.KubeClient
current := bytes.NewBufferString(currentRelease.Manifest) current := bytes.NewBufferString(currentRelease.Manifest)
target := bytes.NewBufferString(targetRelease.Manifest) target := bytes.NewBufferString(targetRelease.Manifest)
return kubeCli.Update(targetRelease.Namespace, current, target, restart) return kubeCli.Update(targetRelease.Namespace, current, target, recreate)
} }
// prepareRollback finds the previous release and prepares a new release object with // prepareRollback finds the previous release and prepares a new release object with

@ -1361,7 +1361,7 @@ type updateFailingKubeClient struct {
environment.PrintingKubeClient environment.PrintingKubeClient
} }
func (u *updateFailingKubeClient) Update(namespace string, originalReader, modifiedReader io.Reader, restart bool) error { func (u *updateFailingKubeClient) Update(namespace string, originalReader, modifiedReader io.Reader, recreate bool) error {
return errors.New("Failed update in kube client") return errors.New("Failed update in kube client")
} }

Loading…
Cancel
Save