From 9cef38c70558a714c1e79d982ef6090aff3fd799 Mon Sep 17 00:00:00 2001 From: Irfan Ur Rehman Date: Sat, 5 Nov 2016 22:48:55 +0530 Subject: [PATCH] [Federation] Make federation etcd PVC size configurable --- federation/pkg/kubefed/init/init.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index 8aea0c96fcc..a6b4c4b9ca1 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -119,6 +119,7 @@ func NewCmdInit(cmdOut io.Writer, config util.AdminConfig) *cobra.Command { cmd.Flags().String("dns-zone-name", "", "DNS suffix for this federation. Federated Service DNS names are published with this suffix.") cmd.Flags().String("image", defaultImage, "Image to use for federation API server and controller manager binaries.") cmd.Flags().String("dns-provider", "google-clouddns", "Dns provider to be used for this deployment.") + cmd.Flags().String("etcd-pv-capacity", "10Gi", "Size of persistent volume claim to be used for etcd.") return cmd } @@ -140,6 +141,7 @@ func initFederation(cmdOut io.Writer, config util.AdminConfig, cmd *cobra.Comman dnsZoneName := cmdutil.GetFlagString(cmd, "dns-zone-name") image := cmdutil.GetFlagString(cmd, "image") dnsProvider := cmdutil.GetFlagString(cmd, "dns-provider") + etcdPVCapacity := cmdutil.GetFlagString(cmd, "etcd-pv-capacity") hostFactory := config.HostFactory(initFlags.Host, initFlags.Kubeconfig) hostClientset, err := hostFactory.ClientSet() @@ -188,7 +190,7 @@ func initFederation(cmdOut io.Writer, config util.AdminConfig, cmd *cobra.Comman // 5. Create a persistent volume and a claim to store the federation // API server's state. This is where federation API server's etcd // stores its data. - pvc, err := createPVC(hostClientset, initFlags.FederationSystemNamespace, svc.Name) + pvc, err := createPVC(hostClientset, initFlags.FederationSystemNamespace, svc.Name, etcdPVCapacity) if err != nil { return err } @@ -353,8 +355,9 @@ func createControllerManagerKubeconfigSecret(clientset *client.Clientset, namesp return util.CreateKubeconfigSecret(clientset, config, namespace, kubeconfigName, false) } -func createPVC(clientset *client.Clientset, namespace, svcName string) (*api.PersistentVolumeClaim, error) { - capacity, err := resource.ParseQuantity("10Gi") +func createPVC(clientset *client.Clientset, namespace, svcName, etcdPVCapacity string) (*api.PersistentVolumeClaim, error) { + + capacity, err := resource.ParseQuantity(etcdPVCapacity) if err != nil { return nil, err }