Merge pull request #101600 from KofClubs/fix-cri-socket-kubeadm

kubeadm: disallow the mixture of --cri-socket and --config
This commit is contained in:
Kubernetes Prow Robot 2021-06-11 00:04:58 -07:00 committed by GitHub
commit e52b7be7d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 21 deletions

View File

@ -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-")

View File

@ -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

View File

@ -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")
}

View File

@ -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")
}