-
Notifications
You must be signed in to change notification settings - Fork 716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release v1beta4 #2890
Comments
@neolit123 @SataQiu @pacoxu would like to hear your feedback on this. Is this list enough for v1beta4? |
/assign |
please include all labeled issues |
i've added this to .29. i think if this api code work is to happen it should be at the start of a release cycle. but perhaps we can get all the planning done in .28. what do people think? |
I hope I haven't miss anything, the list is updated.
Haven't got the chance to go through each of them, but I will evaluate each of them in the near future. |
+1. |
i was thinking that if we want to work on an api for multiple releases, we could try this:
the tricky part would be getting kubeadm to agree on this wip status. in this approach, a single release note must be used listing all changes when we are ready - i.e. all api changes must go without release notes. reminder - we should not iterate new features over a released api, because it causes pain for consumers like capi. ideally, an api should be a released, locked feature set. |
+1, I believe we can start this in .28 release, and part of features could be added in .28 as well, otherwise, it would be a little rush for .29 release. |
Should we include the CAPI team and other consumers in this topic to get more feedback? |
we could email the sig mailing list. |
@neolit123 @pacoxu I am currently triage all those requirements, will send a summarization to the mailing list or join the sig community meeting for the head-ups and ask for review comments. |
/cc |
We can introduce the |
that's indeed a good suggestion, thanks @SataQiu ! |
FYI. in yesterday's Sig meeting we discussed kubeadm's v1beta4 plan. @fabriziopandini requested that we tag in the above list what is a https://docs.google.com/document/d/1Gmc7LyCIL_148a9Tft7pdhdee0NBHdOfHS1SAF0duI4/edit?usp=drivesdk we also discussed whether this should be a v1 or a v1beta4. my vote was to gather motivation from the kubelet which is moving to v1. perhaps v1beta4 should be our last beta. ideally, this means we should do all the planned breaking changes in this beta4. otherwise we need to plan v2 after the v1. |
@neolit123 thanks for bringing this to the sig meeting!
sure, will do. |
thanks for adding [breaking]; it will echo yesterday discussion today at the CAPI office hours and report back feedback/ask people to provide feedback directly here |
i can try sending the boilerplate pr for v1beta4 later today. copy v3 -> v4, essentially.
i was thinking about this. it can work partially as long as we make the right changes in the internal api. but it will not work for breaking changes e.g. removing the ecdsa FG. we may have to add the api changes first, keep the api out of the scheme, think when to add business logic, once ready for release add the api in the scheme, but drop api changes without business logic. |
SGTM, we can have the boilerplate as the first commit and the api change as an incremental commit. |
boilerplate PR |
Too many tasks are tracked here. Should we use a simple GitHub board to track v1beta4-related things? |
thanks @pacoxu for the info! I am +1 to create the board. Most important features which need some attention now is:
Anything else should not hard to address, e.g. enable the v1beta4 in code base, ignore the errors should be align with other flag/config etc. |
kubernetes/kubernetes#125029 is merged for v1.31. |
closing this one. thanks everyone. |
(edited by neolit123)
general action items:
Add v1beta4 boilerplate:
kubeadm: add v1beta4 API boilerplate kubernetes#118762
Add v1beta4 to kubeadm scheme but prevent the --config codepath from using it?
Add --experimental flag for API migration/validate CLI commands:
see kubeadm: add v1beta4 API boilerplate kubernetes#118762 (comment)
kubeadm: add v1beta4 to scheme; add --allow-experimental-api flag kubernetes#118866
restore TestMigrateOldConfigFromFile in common_test.go once v1beta4 is added. See how we can make this test optional if only one API version is available (e.g. in the future only v1beta4 is avaiable and v1beta3 is removed)
kubeadm: restore and generalize the TestMigrateOldConfig test kubernetes#118941
Make
dryRun
a config item in the config file in v1beta4 for reset/init/join/upgrade.kubeadm: Make dry-run is configurable in initConfiguration and joinConfiguration kubernetes#119279 - initConfiguration
Loose the limitation to skip all in the init/join/... config file
kubeadm: implementation of
ResetConfiguration
API types kubernetes#113583 (comment)kubeadm: remove the limitation that the 'ignorePreflightErrors' field can not be set to 'all' in kubeadm config file kubernetes#119351
Deprecate
dryRun
,ignorePreflightErrors
flags and others when they are supported by the all the configuration (reset, upgrade...)- kubeadm: Make dry-run is configurable in initConfiguration and joinConfiguration kubernetes#119279
merge the flag set with the configuration ignorePreflightErrors set or just override the config when flag is used // to be decided.
kubeadm: implementation of
ResetConfiguration
API types kubernetes#113583 (comment)Support the
kubeadm config validation/migrate/print
for the kubeamd reset config file, see: kubeadm: implementation ofResetConfiguration
API types kubernetes#113583 (comment)kubeadm: add
kubeadm config print reset-defaults
command for ResetConfiguration kubernetes#119345kubeadm: Support
kubeadm config validate
for ResetConfiguration kubernetes#119319kubeadm: Support
kubeadm config migrate
for ResetConfiguration kubernetes#119313list of features:
Support skipping addons image pull - need review / owner: @ruquanzhao
skip image pull for addons that are skipped #2603
kubeadm: Support skipping addons image pull kubernetes#114534
Implementation of UpgradeConfiguration API types - **need review / owner: @calvin0327 **
add UpgradeConfiguration/ResetConfiguration API types #2489
kubeadm: implementation of
UpgradeConfiguration
API types kubernetes#114062kubeadm: implementation of UpgradeConfiguration API types kubernetes#123068
Implementation of ResetConfiguration API types - need review / owner: @chendave
add UpgradeConfiguration/ResetConfiguration API types #2489
kubeadm: implementation of
ResetConfiguration
API types kubernetes#113583Support custom env in kubeadm ControlPlaneComponent - implementable / owner: @chendave
Support custom env in kubeadm
ControlPlaneComponent
#2845kubeadm: Support custom env in control plane component kubernetes#118867
add API support for controlling various timeouts during init / join - implementable
add API support for controlling various timeouts #2463
[WIP][don't review] kubeadm: add Timeout structure and move TimeoutForControlPlane from APIServer into it kubernetes#103226
kubeadm: add API support for controlling various timeouts during init / join kubernetes#119015
kubeadm: add a Timeouts struct to v1beta4 kubernetes#122529
implementable / owner: @neolit123
handling of extraArgs which are allowed multiple times handling of extraArgs which are allowed multiple times #1601 - status: implementable / BREAKING change. / owner: @neolit123
kubeadm add support for structured ExtraArgs kubernetes#119156
kubeadm: enable the v1beta4 API kubernetes#125029 adds support for non-duplicate --*extra-args flags, but also deprecates them
Allow overwrite KubeletRunDirectory when init/join Allow overwrite KubeletRunDirectory when init/join #2104 - status: implementable / low priority / owner: @ruquanzhaograduate kubeadm patch support to GA graduate kubeadm patch support to GA #2046 - status: waiting for feedbackDROPPEDAllow usage of KubeletConfiguration next to JoinConfiguration on kubeadm join Allow usage of KubeletConfiguration next to JoinConfiguration on kubeadm join #1682 - status: waiting for feedback
Switch to generating ECDSA keys Switch to generating ECDSA keys #1535 - status: implementable / need agreement on the approach / BREAKING change. / owner: @neolit123
Switch to generating ECDSA keys #1535
kubeadm: add v1beta4.ClusterConfiguration.EncryptionAlgorithm kubernetes#120417
Provide options to use at least 3072-bits RSA to meet German federal BSI Technical Guideline TR-02102-2 #3003
kubeadm: enhance encryption algorithm support in v1beta4 kubernetes#123054
support parallel image pulls
kubeadm add flag to enable parallel image pulling by default #2780 implementable / owner: @neolit123
join
andinit
There are already PR ready for the first three, others either need the further discussion or need someone's commitment to own.
BREAKING change
handling of extraArgs which are allowed multiple times handling of extraArgs which are allowed multiple times #1601
extraArgs in the ControlPlaneComponent is expected to be updated, it is currently
map[string]string
, it's going to be replaced by a more flexible type to allow duplicated key.Switch to generating ECDSA keys Switch to generating ECDSA keys #1535
FG:
PublicKeysECDSA
will be dropped but a cluster level field (config item inClusterConfiguration
?) will be used to support the ECDSA keyNOTE: this will just change the way how to support the ECDSA key, the API or the functionality will be same as before.
some timeout fields are planned to be moved in v1beta4:
add API support for controlling various timeouts #2463
Design is not clear at the moment
Allow overwrite KubeletRunDirectory when init/join Allow overwrite KubeletRunDirectory when init/join #2104DROPPEDThis is not clear by far, @ruquanzhao is working on a POC and provide a design if necessary.
The text was updated successfully, but these errors were encountered: