mirror of https://github.com/k3s-io/k3s
kubefed: make --dns-provider mandatory
parent
7f626cf836
commit
d1b6192f10
|
@ -35,6 +35,7 @@ source "${KUBE_ROOT}/cluster/common.sh"
|
|||
source "${KUBE_ROOT}/federation/cluster/common.sh"
|
||||
|
||||
DNS_ZONE_NAME="${FEDERATION_DNS_ZONE_NAME:-}"
|
||||
DNS_PROVIDER="${FEDERATION_DNS_PROVIDER:-google-clouddns}"
|
||||
FEDERATIONS_DOMAIN_MAP="${FEDERATIONS_DOMAIN_MAP:-}"
|
||||
|
||||
# get_version returns the version in KUBERNETES_RELEASE or defaults to the
|
||||
|
@ -82,6 +83,7 @@ function init() {
|
|||
"${FEDERATION_NAME}" \
|
||||
--host-cluster-context="${HOST_CLUSTER_CONTEXT}" \
|
||||
--dns-zone-name="${DNS_ZONE_NAME}" \
|
||||
--dns-provider="${DNS_PROVIDER}" \
|
||||
--image="${kube_registry}/hyperkube-amd64:${kube_version}"
|
||||
}
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ func (o *initFederationOptions) Bind(flags *pflag.FlagSet) {
|
|||
|
||||
flags.StringVar(&o.dnsZoneName, "dns-zone-name", "", "DNS suffix for this federation. Federated Service DNS names are published with this suffix.")
|
||||
flags.StringVar(&o.image, "image", defaultImage, "Image to use for federation API server and controller manager binaries.")
|
||||
flags.StringVar(&o.dnsProvider, "dns-provider", "google-clouddns", "Dns provider to be used for this deployment.")
|
||||
flags.StringVar(&o.dnsProvider, "dns-provider", "", "Dns provider to be used for this deployment.")
|
||||
flags.StringVar(&o.dnsProviderConfig, "dns-provider-config", "", "Config file path on local file system for configuring DNS provider.")
|
||||
flags.StringVar(&o.etcdPVCapacity, "etcd-pv-capacity", "10Gi", "Size of persistent volume claim to be used for etcd.")
|
||||
flags.BoolVar(&o.etcdPersistentStorage, "etcd-persistent-storage", true, "Use persistent volume for etcd. Defaults to 'true'.")
|
||||
|
@ -200,6 +200,10 @@ type entityKeyPairs struct {
|
|||
|
||||
// Complete ensures that options are valid and marshals them if necessary.
|
||||
func (i *initFederation) Complete(cmd *cobra.Command, args []string) error {
|
||||
if len(i.options.dnsProvider) == 0 {
|
||||
return fmt.Errorf("--dns-provider is mandatory")
|
||||
}
|
||||
|
||||
err := i.commonOptions.SetName(cmd, args)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -67,7 +67,7 @@ const (
|
|||
|
||||
func TestInitFederation(t *testing.T) {
|
||||
cmdErrMsg := ""
|
||||
dnsProvider := ""
|
||||
dnsProvider := "google-clouddns"
|
||||
cmdutil.BehaviorOnFatal(func(str string, code int) {
|
||||
cmdErrMsg = str
|
||||
})
|
||||
|
@ -90,7 +90,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity string
|
||||
etcdPersistence string
|
||||
expectedErr string
|
||||
dnsProvider string
|
||||
dnsProviderConfig string
|
||||
storageBackend string
|
||||
dryRun string
|
||||
|
@ -108,7 +107,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "5Gi",
|
||||
etcdPersistence: "true",
|
||||
expectedErr: "",
|
||||
dnsProvider: "test-dns-provider",
|
||||
dnsProviderConfig: "dns-provider.conf",
|
||||
storageBackend: "etcd2",
|
||||
dryRun: "",
|
||||
|
@ -126,7 +124,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "", //test for default value of pvc-size
|
||||
etcdPersistence: "true",
|
||||
expectedErr: "",
|
||||
dnsProvider: "", //test for default value of dns provider
|
||||
storageBackend: "etcd2",
|
||||
dryRun: "",
|
||||
},
|
||||
|
@ -141,7 +138,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "",
|
||||
etcdPersistence: "true",
|
||||
expectedErr: "",
|
||||
dnsProvider: "test-dns-provider",
|
||||
storageBackend: "etcd2",
|
||||
dryRun: "valid-run",
|
||||
},
|
||||
|
@ -156,7 +152,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "5Gi",
|
||||
etcdPersistence: "false",
|
||||
expectedErr: "",
|
||||
dnsProvider: "test-dns-provider",
|
||||
storageBackend: "etcd3",
|
||||
dryRun: "",
|
||||
},
|
||||
|
@ -170,7 +165,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "5Gi",
|
||||
etcdPersistence: "true",
|
||||
expectedErr: "",
|
||||
dnsProvider: "test-dns-provider",
|
||||
storageBackend: "etcd3",
|
||||
dryRun: "",
|
||||
},
|
||||
|
@ -185,7 +179,6 @@ func TestInitFederation(t *testing.T) {
|
|||
etcdPVCapacity: "5Gi",
|
||||
etcdPersistence: "true",
|
||||
expectedErr: "",
|
||||
dnsProvider: "test-dns-provider",
|
||||
storageBackend: "etcd3",
|
||||
dryRun: "",
|
||||
},
|
||||
|
@ -195,14 +188,8 @@ func TestInitFederation(t *testing.T) {
|
|||
|
||||
for i, tc := range testCases {
|
||||
cmdErrMsg = ""
|
||||
dnsProvider = ""
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
|
||||
if "" != tc.dnsProvider {
|
||||
dnsProvider = tc.dnsProvider
|
||||
} else {
|
||||
dnsProvider = "google-clouddns" //default value of dns-provider
|
||||
}
|
||||
if tc.dnsProviderConfig != "" {
|
||||
tmpfile, err := ioutil.TempFile("", tc.dnsProviderConfig)
|
||||
if err != nil {
|
||||
|
@ -227,15 +214,13 @@ func TestInitFederation(t *testing.T) {
|
|||
cmd.Flags().Set("host-cluster-context", "substrate")
|
||||
cmd.Flags().Set("dns-zone-name", tc.dnsZoneName)
|
||||
cmd.Flags().Set("image", tc.image)
|
||||
cmd.Flags().Set("dns-provider", dnsProvider)
|
||||
cmd.Flags().Set("apiserver-arg-overrides", tc.apiserverArgOverrides)
|
||||
cmd.Flags().Set("controllermanager-arg-overrides", tc.cmArgOverrides)
|
||||
|
||||
if tc.storageBackend != "" {
|
||||
cmd.Flags().Set("storage-backend", tc.storageBackend)
|
||||
}
|
||||
if tc.dnsProvider != "" {
|
||||
cmd.Flags().Set("dns-provider", tc.dnsProvider)
|
||||
}
|
||||
if tc.dnsProviderConfig != "" {
|
||||
cmd.Flags().Set("dns-provider-config", tc.dnsProviderConfig)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue