mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
Merge pull request #101600 from KofClubs/fix-cri-socket-kubeadm
kubeadm: disallow the mixture of --cri-socket and --config
This commit is contained in:
commit
e52b7be7d7
@ -560,17 +560,16 @@ func ValidateMixedArguments(flag *pflag.FlagSet) error {
|
||||
}
|
||||
|
||||
func isAllowedFlag(flagName string) bool {
|
||||
knownFlags := sets.NewString(kubeadmcmdoptions.CfgPath,
|
||||
allowedFlags := sets.NewString(kubeadmcmdoptions.CfgPath,
|
||||
kubeadmcmdoptions.IgnorePreflightErrors,
|
||||
kubeadmcmdoptions.DryRun,
|
||||
kubeadmcmdoptions.KubeconfigPath,
|
||||
kubeadmcmdoptions.NodeName,
|
||||
kubeadmcmdoptions.NodeCRISocket,
|
||||
kubeadmcmdoptions.KubeconfigDir,
|
||||
kubeadmcmdoptions.UploadCerts,
|
||||
kubeadmcmdoptions.Patches,
|
||||
"print-join-command", "rootfs", "v")
|
||||
if knownFlags.Has(flagName) {
|
||||
if allowedFlags.Has(flagName) {
|
||||
return true
|
||||
}
|
||||
return strings.HasPrefix(flagName, "skip-")
|
||||
|
@ -351,13 +351,10 @@ func newInitData(cmd *cobra.Command, args []string, options *initOptions, out io
|
||||
// Also set the union of pre-flight errors to InitConfiguration, to provide a consistent view of the runtime configuration:
|
||||
cfg.NodeRegistration.IgnorePreflightErrors = ignorePreflightErrorsSet.List()
|
||||
|
||||
// override node name and CRI socket from the command line options
|
||||
// override node name from the command line option
|
||||
if options.externalInitCfg.NodeRegistration.Name != "" {
|
||||
cfg.NodeRegistration.Name = options.externalInitCfg.NodeRegistration.Name
|
||||
}
|
||||
if options.externalInitCfg.NodeRegistration.CRISocket != "" {
|
||||
cfg.NodeRegistration.CRISocket = options.externalInitCfg.NodeRegistration.CRISocket
|
||||
}
|
||||
|
||||
if err := configutil.VerifyAPIServerBindAddress(cfg.LocalAPIEndpoint.AdvertiseAddress); err != nil {
|
||||
return nil, err
|
||||
|
@ -102,15 +102,11 @@ func TestNewInitData(t *testing.T) {
|
||||
{
|
||||
name: "--cri-socket and --node-name flags override config from file",
|
||||
flags: map[string]string{
|
||||
options.CfgPath: configFilePath,
|
||||
options.NodeCRISocket: "/var/run/crio/crio.sock",
|
||||
options.NodeName: "anotherName",
|
||||
options.CfgPath: configFilePath,
|
||||
options.NodeName: "anotherName",
|
||||
},
|
||||
validate: func(t *testing.T, data *initData) {
|
||||
// validate that cri-socket and node-name are overwritten
|
||||
if data.cfg.NodeRegistration.CRISocket != "/var/run/crio/crio.sock" {
|
||||
t.Errorf("Invalid NodeRegistration.CRISocket")
|
||||
}
|
||||
// validate that node-name is overwritten
|
||||
if data.cfg.NodeRegistration.Name != "anotherName" {
|
||||
t.Errorf("Invalid NodeRegistration.Name")
|
||||
}
|
||||
|
@ -203,15 +203,11 @@ func TestNewJoinData(t *testing.T) {
|
||||
{
|
||||
name: "--cri-socket and --node-name flags override config from file",
|
||||
flags: map[string]string{
|
||||
options.CfgPath: configFilePath,
|
||||
options.NodeCRISocket: "/var/run/crio/crio.sock",
|
||||
options.NodeName: "anotherName",
|
||||
options.CfgPath: configFilePath,
|
||||
options.NodeName: "anotherName",
|
||||
},
|
||||
validate: func(t *testing.T, data *joinData) {
|
||||
// validate that cri-socket and node-name are overwritten
|
||||
if data.cfg.NodeRegistration.CRISocket != "/var/run/crio/crio.sock" {
|
||||
t.Errorf("Invalid NodeRegistration.CRISocket")
|
||||
}
|
||||
// validate that node-name is overwritten
|
||||
if data.cfg.NodeRegistration.Name != "anotherName" {
|
||||
t.Errorf("Invalid NodeRegistration.Name")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user