mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +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 {
|
func isAllowedFlag(flagName string) bool {
|
||||||
knownFlags := sets.NewString(kubeadmcmdoptions.CfgPath,
|
allowedFlags := sets.NewString(kubeadmcmdoptions.CfgPath,
|
||||||
kubeadmcmdoptions.IgnorePreflightErrors,
|
kubeadmcmdoptions.IgnorePreflightErrors,
|
||||||
kubeadmcmdoptions.DryRun,
|
kubeadmcmdoptions.DryRun,
|
||||||
kubeadmcmdoptions.KubeconfigPath,
|
kubeadmcmdoptions.KubeconfigPath,
|
||||||
kubeadmcmdoptions.NodeName,
|
kubeadmcmdoptions.NodeName,
|
||||||
kubeadmcmdoptions.NodeCRISocket,
|
|
||||||
kubeadmcmdoptions.KubeconfigDir,
|
kubeadmcmdoptions.KubeconfigDir,
|
||||||
kubeadmcmdoptions.UploadCerts,
|
kubeadmcmdoptions.UploadCerts,
|
||||||
kubeadmcmdoptions.Patches,
|
kubeadmcmdoptions.Patches,
|
||||||
"print-join-command", "rootfs", "v")
|
"print-join-command", "rootfs", "v")
|
||||||
if knownFlags.Has(flagName) {
|
if allowedFlags.Has(flagName) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return strings.HasPrefix(flagName, "skip-")
|
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:
|
// Also set the union of pre-flight errors to InitConfiguration, to provide a consistent view of the runtime configuration:
|
||||||
cfg.NodeRegistration.IgnorePreflightErrors = ignorePreflightErrorsSet.List()
|
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 != "" {
|
if options.externalInitCfg.NodeRegistration.Name != "" {
|
||||||
cfg.NodeRegistration.Name = 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 {
|
if err := configutil.VerifyAPIServerBindAddress(cfg.LocalAPIEndpoint.AdvertiseAddress); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -103,14 +103,10 @@ func TestNewInitData(t *testing.T) {
|
|||||||
name: "--cri-socket and --node-name flags override config from file",
|
name: "--cri-socket and --node-name flags override config from file",
|
||||||
flags: map[string]string{
|
flags: map[string]string{
|
||||||
options.CfgPath: configFilePath,
|
options.CfgPath: configFilePath,
|
||||||
options.NodeCRISocket: "/var/run/crio/crio.sock",
|
|
||||||
options.NodeName: "anotherName",
|
options.NodeName: "anotherName",
|
||||||
},
|
},
|
||||||
validate: func(t *testing.T, data *initData) {
|
validate: func(t *testing.T, data *initData) {
|
||||||
// validate that cri-socket and node-name are overwritten
|
// validate that node-name is overwritten
|
||||||
if data.cfg.NodeRegistration.CRISocket != "/var/run/crio/crio.sock" {
|
|
||||||
t.Errorf("Invalid NodeRegistration.CRISocket")
|
|
||||||
}
|
|
||||||
if data.cfg.NodeRegistration.Name != "anotherName" {
|
if data.cfg.NodeRegistration.Name != "anotherName" {
|
||||||
t.Errorf("Invalid NodeRegistration.Name")
|
t.Errorf("Invalid NodeRegistration.Name")
|
||||||
}
|
}
|
||||||
|
@ -204,14 +204,10 @@ func TestNewJoinData(t *testing.T) {
|
|||||||
name: "--cri-socket and --node-name flags override config from file",
|
name: "--cri-socket and --node-name flags override config from file",
|
||||||
flags: map[string]string{
|
flags: map[string]string{
|
||||||
options.CfgPath: configFilePath,
|
options.CfgPath: configFilePath,
|
||||||
options.NodeCRISocket: "/var/run/crio/crio.sock",
|
|
||||||
options.NodeName: "anotherName",
|
options.NodeName: "anotherName",
|
||||||
},
|
},
|
||||||
validate: func(t *testing.T, data *joinData) {
|
validate: func(t *testing.T, data *joinData) {
|
||||||
// validate that cri-socket and node-name are overwritten
|
// validate that node-name is overwritten
|
||||||
if data.cfg.NodeRegistration.CRISocket != "/var/run/crio/crio.sock" {
|
|
||||||
t.Errorf("Invalid NodeRegistration.CRISocket")
|
|
||||||
}
|
|
||||||
if data.cfg.NodeRegistration.Name != "anotherName" {
|
if data.cfg.NodeRegistration.Name != "anotherName" {
|
||||||
t.Errorf("Invalid NodeRegistration.Name")
|
t.Errorf("Invalid NodeRegistration.Name")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user