From a2ae1c3990737dddeed6e7e8d83f94d752f22086 Mon Sep 17 00:00:00 2001 From: ngtuna Date: Thu, 14 Jul 2016 02:10:00 +0700 Subject: [PATCH] adding replicas to --rc, it's going to be kompose convert --rc . Close #15 --- cli/app/app.go | 16 ++++++++-------- cli/app/k8sutils.go | 4 ++-- cli/command/command.go | 5 +++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/cli/app/app.go b/cli/app/app.go index 5ffcde45..0b7650b1 100644 --- a/cli/app/app.go +++ b/cli/app/app.go @@ -259,7 +259,7 @@ func createOutFile(out string) *os.File { } // Init RC object -func initRC(name string, service *project.ServiceConfig) *api.ReplicationController { +func initRC(name string, service *project.ServiceConfig, replicas int) *api.ReplicationController { rc := &api.ReplicationController{ TypeMeta: unversioned.TypeMeta{ Kind: "ReplicationController", @@ -270,7 +270,7 @@ func initRC(name string, service *project.ServiceConfig) *api.ReplicationControl //Labels: map[string]string{"service": name}, }, Spec: api.ReplicationControllerSpec{ - Replicas: 1, + Replicas: int32(replicas), Selector: map[string]string{"service": name}, Template: &api.PodTemplateSpec{ ObjectMeta: api.ObjectMeta{ @@ -563,11 +563,11 @@ func ProjectKuberConvert(p *project.Project, c *cli.Context) { createDS := c.BoolT("daemonset") createRS := c.BoolT("replicaset") createChart := c.BoolT("chart") - createRC := c.BoolT("replicationcontroller") + replicas := c.Int("replicationcontroller") singleOutput := len(outFile) != 0 || toStdout // Create Deployment by default if no controller has be set - if !createD && !createDS && !createRS && !createRC { + if !createD && !createDS && !createRS && replicas == 0 { createD = true } @@ -589,7 +589,7 @@ func ProjectKuberConvert(p *project.Project, c *cli.Context) { if createRS { count++ } - if createRC { + if (replicas != 0) { count++ } if count > 1 { @@ -625,7 +625,7 @@ func ProjectKuberConvert(p *project.Project, c *cli.Context) { checkUnsupportedKey(*service) - rc := initRC(name, service) + rc := initRC(name, service, replicas) sc := initSC(name, service) dc := initDC(name, service) ds := initDS(name, service) @@ -820,7 +820,7 @@ func ProjectKuberConvert(p *project.Project, c *cli.Context) { } } - if createRC { + if (replicas != 0) { for k, v := range mReplicationControllers { print(k, "rc", v, toStdout, generateYaml, f) } @@ -831,7 +831,7 @@ func ProjectKuberConvert(p *project.Project, c *cli.Context) { } if createChart { - err := generateHelm(composeFile, svcnames, generateYaml, createD, createDS, createRS, createRC) + err := generateHelm(composeFile, svcnames, generateYaml, createD, createDS, createRS, replicas) if err != nil { logrus.Fatalf("Failed to create Chart data: %s\n", err) } diff --git a/cli/app/k8sutils.go b/cli/app/k8sutils.go index 610b451b..e656e7b1 100644 --- a/cli/app/k8sutils.go +++ b/cli/app/k8sutils.go @@ -32,7 +32,7 @@ import ( /** * Generate Helm Chart configuration */ -func generateHelm(filename string, svcnames []string, generateYaml, createD, createDS, createRS, createRC bool) error { +func generateHelm(filename string, svcnames []string, generateYaml, createD, createDS, createRS bool, replicas int) error { type ChartDetails struct { Name string } @@ -105,7 +105,7 @@ home: return err } } - if createRC { + if (replicas != 0) { if err = cpToChart(manifestDir, svcname, "replicationcontroller", extension); err != nil { return err } diff --git a/cli/command/command.go b/cli/command/command.go index dad7d89e..ab900dca 100644 --- a/cli/command/command.go +++ b/cli/command/command.go @@ -48,9 +48,10 @@ func ConvertCommand(factory app.ProjectFactory) cli.Command { Name: "daemonset,ds", Usage: "Generate a daemonset resource file", }, - cli.BoolFlag{ + cli.IntFlag{ Name: "replicationcontroller,rc", - Usage: "Generate a replicationcontroller file", + Value: 0, + Usage: "Specify replicas in order to generate a replication controller resource file", }, cli.BoolFlag{ Name: "replicaset,rs",