Merge pull request #166 from kadel/multiprovider-up

Prepare up/down for other providers
This commit is contained in:
Tomas Kral
2016-09-28 15:32:06 +02:00
committed by GitHub
5 changed files with 133 additions and 82 deletions
+29 -57
View File
@@ -25,8 +25,6 @@ import (
// install kubernetes api
_ "k8s.io/kubernetes/pkg/api/install"
_ "k8s.io/kubernetes/pkg/apis/extensions/install"
client "k8s.io/kubernetes/pkg/client/unversioned"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
// install OpenShift api
_ "github.com/openshift/origin/pkg/deploy/api/install"
@@ -34,8 +32,6 @@ import (
"github.com/skippbox/kompose/pkg/kobject"
"github.com/skippbox/kompose/pkg/loader"
"github.com/skippbox/kompose/pkg/loader/bundle"
"github.com/skippbox/kompose/pkg/loader/compose"
"github.com/skippbox/kompose/pkg/transformer"
"github.com/skippbox/kompose/pkg/transformer/kubernetes"
"github.com/skippbox/kompose/pkg/transformer/openshift"
@@ -157,14 +153,9 @@ func Convert(c *cli.Context) {
validateFlags(opt, singleOutput, dabFile, inputFile)
// loader parses input from file into komposeObject.
var l loader.Loader
switch inputFormat {
case "bundle":
l = new(bundle.Bundle)
case "compose":
l = new(compose.Compose)
default:
logrus.Fatalf("Input file format is not supported")
l, err := loader.GetLoader(inputFormat)
if err != nil {
logrus.Fatal(err)
}
komposeObject = l.LoadFile(file)
@@ -185,20 +176,6 @@ func Convert(c *cli.Context) {
// Up brings up deployment, svc.
func Up(c *cli.Context) {
fmt.Println("We are going to create Kubernetes deployments and services for your Dockerized application. \n" +
"If you need different kind of resources, use the 'kompose convert' and 'kubectl create -f' commands instead. \n")
factory := cmdutil.NewFactory(nil)
clientConfig, err := factory.ClientConfig()
if err != nil {
logrus.Fatalf("Failed to access the Kubernetes cluster. Make sure you have a Kubernetes cluster running: %v", err)
}
namespace, _, err := factory.DefaultNamespace()
if err != nil {
logrus.Fatalf("Failed to get Namespace")
}
client := client.NewOrDie(clientConfig)
inputFile := c.GlobalString("file")
dabFile := c.GlobalString("bundle")
@@ -220,35 +197,25 @@ func Up(c *cli.Context) {
validateFlags(opt, false, dabFile, inputFile)
// loader parses input from file into komposeObject.
var l loader.Loader
switch inputFormat {
case "bundle":
l = new(bundle.Bundle)
case "compose":
l = new(compose.Compose)
default:
logrus.Fatalf("Input file format is not supported")
l, err := loader.GetLoader(inputFormat)
if err != nil {
logrus.Fatal(err)
}
komposeObject = l.LoadFile(file)
//get transfomer
t := new(kubernetes.Kubernetes)
//Convert komposeObject to K8S controllers
objects := t.Transform(komposeObject, opt)
//Submit objects to K8s endpoint
kubernetes.CreateObjects(client, namespace, objects)
//Submit objects provider
errDeploy := t.Deploy(komposeObject, opt)
if errDeploy != nil {
logrus.Fatalf("Error while deploying application: %s", err)
}
}
// Down deletes all deployment, svc.
func Down(c *cli.Context) {
factory := cmdutil.NewFactory(nil)
clientConfig, err := factory.ClientConfig()
if err != nil {
logrus.Fatalf("Failed to access the Kubernetes cluster. Make sure you have a Kubernetes running: %v", err)
}
client := client.NewOrDie(clientConfig)
inputFile := c.GlobalString("file")
dabFile := c.GlobalString("bundle")
@@ -262,25 +229,30 @@ func Down(c *cli.Context) {
file = dabFile
}
opt := kobject.ConvertOptions{}
opt := kobject.ConvertOptions{
Replicas: 1,
CreateD: true,
}
validateFlags(opt, false, dabFile, inputFile)
// loader parses input from file into komposeObject.
var l loader.Loader
switch inputFormat {
case "bundle":
l = new(bundle.Bundle)
case "compose":
l = new(compose.Compose)
default:
logrus.Fatalf("Input file format is not supported")
l, err := loader.GetLoader(inputFormat)
if err != nil {
logrus.Fatal(err)
}
komposeObject = l.LoadFile(file)
for k := range komposeObject.ServiceConfigs {
kubernetes.DeleteObjects(client, k)
// get transformer
t := new(kubernetes.Kubernetes)
//Remove deployed application
errUndeploy := t.Undeploy(komposeObject, opt)
if errUndeploy != nil {
logrus.Fatalf("Error while deleting application: %s", err)
}
}
func askForConfirmation() bool {