Commit Graph

37 Commits

Author SHA1 Message Date
Ole Markus With 2659a30280 Make get instances respect needs-update annotation
Make it possible for addons to set needs-update annotation

Use onDelete update strategy for cilium and set needs-update annotation

Rename node roles
2020-11-16 08:26:17 +01:00
Ole Markus With aa66c4f6d8 Add rolling upgrade to openstack 2020-10-01 20:07:44 +02:00
Ole Markus With 63f13322d5 Don't pass ctx and cluster everywhere 2020-09-23 08:30:24 +02:00
Ole Markus With 0ec71686b9 Refactor cloudinstancegroupmember in a more independent cloud instance representation
Apply suggestions from code review

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2020-08-30 21:37:03 +02:00
Ole Markus With ff6c04938d Add kops delete instance command
Add support for deleting instance by k8s node name

Add yes flag
2020-08-28 08:43:30 +02:00
Peter Rifel 4d9f0128a3
Upgrade to klog2
This splits up the kubernetes 1.19 PR to make it easier to keep up to date until we get it sorted out.
2020-08-16 20:56:48 -05:00
John Gardiner Myers 494209884a Rolling update instance groups in consistent order 2020-06-20 10:58:06 -07:00
Justin Santa Barbara ffb6cd61aa Rolling-update validation harmonization
This is a follow-on to #8868; I believe the intent of that was to
expose the option to do more (or fewer) retries.

We previously had a single retry to prevent flapping; this basically
unifies the previous behaviour with the idea of making it
configurable.

* validate-count=0 effectively turns off validation.

* validate-count=1 will do a single validation, without flapping
  detection.

* validate-count>=2 will require N succesful validations in a row,
waiting ValidateSuccessDuration in between.

A nice side-effect of this is that the tests now explicitly specify
ValidateCount=1 instead of setting ValidateSuccessDuration=0, which
had the side effect of doing the equivalent to ValidateCount=1.
2020-04-17 01:40:02 -04:00
Justin Santa Barbara 31bb16d4d1 Add context.Context to most signatures
The client-go signature for most methods adds a context.Context
object, and also makes Options mandatory.  Feed through a
context.Context through many of our methods (but use context.TODO to
stop it getting totally out of hand!)
2020-04-11 14:44:17 -04:00
Jesse Haka 11eaacd53e validationtimes -> validationcount 2020-04-08 13:55:29 +03:00
Jesse Haka e1e79790ef validate cluster n times in rolling update 2020-04-08 13:55:24 +03:00
John Gardiner Myers 33e23166e4 Support the kops.k8s.io/needs-update annotation on nodes 2020-03-09 22:43:09 -07:00
John Gardiner Myers 03eb8246c7 Refactor/simplify rolling update 2020-03-09 11:05:58 -07:00
Kubernetes Prow Robot 121d9f461f
Merge pull request #7909 from johngmyers/remove-drain-feature-flag
Remove DrainAndValidateRollingUpdate feature flag
2020-01-05 11:15:40 -08:00
John Gardiner Myers 0cbd76ecfb Simplify code for rolling updates of nodes 2019-12-31 10:25:55 -08:00
Jesse Haka 44183aef7f validate cluster twice 2019-12-12 08:48:15 +02:00
John Gardiner Myers 2e36124f77 Expose ValidateTickDuration for use by unit tests 2019-12-09 18:43:20 -08:00
Kashif Saadat fcf6f0098c Canal Typha spec and apimachinery 2019-12-06 15:36:48 +00:00
John Gardiner Myers 4eccd3d53f Remove DrainAndValidateRollingUpdate feature flag 2019-12-05 22:50:04 -08:00
Peter Rifel 3dc06afa12 Fix goimports errors
It turns out we werent running verify-goimports in our CI jobs.

While we work to get that enabled, we can at least unblock the releases by doing a one-time fix of the failing goimports
2019-11-19 05:05:02 -08:00
John Gardiner Myers 63e0c5e726 Add tests for cluster validation during rolling update 2019-11-04 16:26:39 -08:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -04:00
Justin SB 96aa37d03d
Remove unused ClientGetter from Drain code
This is no longer needed now we are using the k8s drain code.
2019-09-03 07:04:37 -07:00
Justin SB 3e33ac7682
Change code from glog to klog
We don't call klog.InitFlags yet, because that will cause a flag
redefinition error until we get everyone to stop using glog.  That
will happen when we update to k8s 1.13.
2019-05-06 12:54:51 -04:00
Rodrigo Menezes 2b9243ff8c Getting things ready for when we are ready for 1.12 2018-12-04 18:50:17 -08:00
mikeweiwei 027d324aaf If don't use formatted output,fix logging calls 2018-10-10 19:19:09 +08:00
Justin Santa Barbara 62e8e17077 Code fixes for k8s 1.11 API changes 2018-09-28 20:14:45 -04:00
Justin Santa Barbara 3a1ce236d1 Simplify logic around master rolling-update
We were using a waitgroup, but we weren't actually running in parallel.
2018-07-21 23:04:22 -04:00
Deniz Zoeteman 2a69901d52 Add message to error for stopping rolling update after failure 2018-07-17 18:56:31 +02:00
Deniz Zoeteman b06e3efa4d Stop with rolling update if bastions or masters failed to update 2018-07-16 16:56:47 +02:00
Justin Santa Barbara 55e3a5f212 Validation: Take a cluster object, not just the name 2018-03-20 01:12:07 -04:00
Todd Lyons 40eed60dd8 Interactive cli arg framework
Just builds, haven't tested yet.
2017-12-28 10:54:17 -08:00
Justin Santa Barbara eec1141a41 Rationalize timeouts for rolling-update
The intervals remain the minimum time between instances; drain &
validate time is additional.
2017-10-17 11:44:46 -04:00
chrislovecnm a431eb3e43 refactoring to use cloud based GetGroups 2017-09-29 12:29:07 -06:00
chrislovecnm 8dabeecd3b tweaking ux printing rolled cluster name 2017-09-23 19:41:36 -06:00
chrislovecnm ec2f0dfdf3 reusing the node and master duration for validation periods 2017-09-23 18:11:48 -06:00
andrewsykim e8c99ee72e removes cluster delete code in upup/pkg/kutil duplicated in pkg/resources and puts instancegroup and rollingupdate code into its own packges 2017-06-10 15:21:06 -04:00