Skip to content

Commit

Permalink
Merge pull request #307 from kadel/golint
Browse files Browse the repository at this point in the history
add golint check to travis-ci
  • Loading branch information
surajssd committed Jan 6, 2017
2 parents d926cff + 4f176b8 commit 4b3094d
Show file tree
Hide file tree
Showing 21 changed files with 162 additions and 115 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ before_install:
- go get github.com/modocache/gover
- go get github.com/Masterminds/glide
- go get github.com/sgotti/glide-vc
- go get github.com/golang/lint/golint


install:
- true
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ test-cmd:
test-unit-cover:
./script/make.sh test-unit-cover

validate: gofmt vet
validate: gofmt vet lint

vet:
./script/make.sh validate-vet
Expand Down
30 changes: 21 additions & 9 deletions cmd/convert.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,28 @@ import (
"github.com/spf13/viper"
)

// TODO: comment
var (
ConvertSource, ConvertOut, ConvertBuildRepo, ConvertBuildBranch string
ConvertChart, ConvertDeployment, ConvertDaemonSet bool
ConvertReplicationController, ConvertYaml, ConvertStdout, ConvertJson bool
ConvertEmptyVols, ConvertDeploymentConfig, ConvertBuildConfig bool
ConvertReplicas int
ConvertOpt kobject.ConvertOptions
ConvertSource string
ConvertOut string
ConvertBuildRepo string
ConvertBuildBranch string
ConvertChart bool
ConvertDeployment bool
ConvertDaemonSet bool
ConvertReplicationController bool
ConvertYaml bool
ConvertJSON bool
ConvertStdout bool
ConvertEmptyVols bool
ConvertDeploymentConfig bool
ConvertBuildConfig bool
ConvertReplicas int
ConvertOpt kobject.ConvertOptions
)

var ConvertProvider string = GlobalProvider
// ConvertProvider TODO: comment
var ConvertProvider = GlobalProvider

var convertCmd = &cobra.Command{
Use: "convert [file]",
Expand All @@ -46,7 +58,7 @@ var convertCmd = &cobra.Command{
ToStdout: ConvertStdout,
CreateChart: ConvertChart,
GenerateYaml: ConvertYaml,
GenerateJson: ConvertJson,
GenerateJSON: ConvertJSON,
Replicas: ConvertReplicas,
InputFiles: GlobalFiles,
OutFile: ConvertOut,
Expand Down Expand Up @@ -96,7 +108,7 @@ func init() {
convertCmd.Flags().BoolVarP(&ConvertYaml, "yaml", "y", false, "Generate resource files into YAML format")
convertCmd.Flags().MarkDeprecated("yaml", "YAML is the default format now.")
convertCmd.Flags().MarkShorthandDeprecated("y", "YAML is the default format now.")
convertCmd.Flags().BoolVarP(&ConvertJson, "json", "j", false, "Generate resource files into JSON format")
convertCmd.Flags().BoolVarP(&ConvertJSON, "json", "j", false, "Generate resource files into JSON format")
convertCmd.Flags().BoolVar(&ConvertStdout, "stdout", false, "Print converted objects to stdout")
convertCmd.Flags().BoolVar(&ConvertEmptyVols, "emptyvols", false, "Use Empty Volumes. Do not generate PVCs")
convertCmd.Flags().StringVarP(&ConvertOut, "out", "o", "", "Specify a file name to save objects to")
Expand Down
1 change: 1 addition & 0 deletions cmd/down.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/spf13/cobra"
)

// TODO: comment
var (
DownReplicas int
DownEmptyVols bool
Expand Down
12 changes: 9 additions & 3 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,17 @@ func (errorOnWarningHook) Fire(entry *logrus.Entry) error {
return nil
}

// TODO: comment
var (
GlobalBundle, GlobalProvider string
GlobalVerbose, GlobalSuppressWarnings, GlobalErrorOnWarning bool
GlobalFiles []string
GlobalBundle string
GlobalProvider string
GlobalVerbose bool
GlobalSuppressWarnings bool
GlobalErrorOnWarning bool
GlobalFiles []string
)

// RootCmd root level flags and commands
var RootCmd = &cobra.Command{
Use: "kompose",
Short: "A tool helping Docker Compose users move to Kubernetes",
Expand Down Expand Up @@ -76,6 +81,7 @@ var RootCmd = &cobra.Command{
},
}

// Execute TODO: comment
func Execute() {
if err := RootCmd.Execute(); err != nil {
fmt.Println(err)
Expand Down
1 change: 1 addition & 0 deletions cmd/up.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/spf13/cobra"
)

// TODO: comment
var (
UpReplicas int
UpEmptyVols bool
Expand Down
4 changes: 3 additions & 1 deletion cmd/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ import (
)

var (
VERSION = "0.1.2"
// VERSION is version number that wil be displayed when running ./kompose version
VERSION = "0.1.2"
// GITCOMMIT is hash of the commit that wil be displayed when running ./kompose version
GITCOMMIT = "HEAD"
)

Expand Down
7 changes: 5 additions & 2 deletions pkg/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,15 @@ import (
)

const (
// DefaultComposeFile name of the file that kompose will use if no file is explicitly set
DefaultComposeFile = "docker-compose.yml"
DefaultProvider = "kubernetes"
// DefaultProvider - provider that will be used if there is no provider was explicitly set
DefaultProvider = "kubernetes"
)

var inputFormat = "compose"

// ValidateFlags validates all command line flags
func ValidateFlags(bundle string, args []string, cmd *cobra.Command, opt *kobject.ConvertOptions) {

// Check to see if the "file" has changed from the default flag value
Expand Down Expand Up @@ -125,7 +128,7 @@ func ValidateFlags(bundle string, args []string, cmd *cobra.Command, opt *kobjec
logrus.Fatal("Unknown Argument(s): ", strings.Join(args, ","))
}

if opt.GenerateJson && opt.GenerateYaml {
if opt.GenerateJSON && opt.GenerateYaml {
logrus.Fatalf("YAML and JSON format cannot be provided at the same time")
}
}
Expand Down
3 changes: 2 additions & 1 deletion pkg/kobject/kobject.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type KomposeObject struct {
LoadedFrom string
}

// ConvertOptions holds all options that controls transformation process
type ConvertOptions struct {
ToStdout bool
CreateD bool
Expand All @@ -37,7 +38,7 @@ type ConvertOptions struct {
BuildBranch string
CreateChart bool
GenerateYaml bool
GenerateJson bool
GenerateJSON bool
EmptyVols bool
Replicas int
InputFiles []string
Expand Down
5 changes: 3 additions & 2 deletions pkg/loader/bundle/bundle.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import (
"github.com/kubernetes-incubator/kompose/pkg/kobject"
)

// Bundle is docker bundle file loader, implements Loader interface
type Bundle struct {
}

Expand Down Expand Up @@ -172,7 +173,7 @@ func loadPorts(service Service) ([]kobject.Ports, string) {
return ports, ""
}

// load dab file into KomposeObject
// LoadFile loads dab file into KomposeObject
func (b *Bundle) LoadFile(files []string) kobject.KomposeObject {
komposeObject := kobject.KomposeObject{
ServiceConfigs: make(map[string]kobject.ServiceConfig),
Expand Down Expand Up @@ -244,7 +245,7 @@ func loadFile(reader io.Reader) (*Bundlefile, error) {
jsonErr.Error())
case *json.UnmarshalTypeError:
return nil, fmt.Errorf(
"Unexpected type at byte %v. Expected %s but received %s.",
"unexpected type at byte %v. expected %s but received %s",
jsonErr.Offset,
jsonErr.Type,
jsonErr.Value)
Expand Down
3 changes: 2 additions & 1 deletion pkg/loader/compose/compose.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import (
"github.com/kubernetes-incubator/kompose/pkg/kobject"
)

// Compose is docker compose file loader, implements Loader interface
type Compose struct {
}

Expand Down Expand Up @@ -220,7 +221,7 @@ func loadPorts(composePorts []string) ([]kobject.Ports, error) {
return ports, nil
}

// load compose file into KomposeObject
// LoadFile loads compose file into KomposeObject
func (c *Compose) LoadFile(files []string) kobject.KomposeObject {
komposeObject := kobject.KomposeObject{
ServiceConfigs: make(map[string]kobject.ServiceConfig),
Expand Down
4 changes: 2 additions & 2 deletions pkg/loader/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ limitations under the License.
package loader

import (
"errors"
"fmt"

"github.com/kubernetes-incubator/kompose/pkg/kobject"
"github.com/kubernetes-incubator/kompose/pkg/loader/bundle"
"github.com/kubernetes-incubator/kompose/pkg/loader/compose"
)

// Loader interface defines loader that loads files and converts it to kobject representation
type Loader interface {
LoadFile(files []string) kobject.KomposeObject
///Name() string
Expand All @@ -40,7 +40,7 @@ func GetLoader(format string) (Loader, error) {
case "compose":
l = new(compose.Compose)
default:
return nil, errors.New(fmt.Sprintf("Input file format %s is not supported", format))
return nil, fmt.Errorf("Input file format %s is not supported", format)
}

return l, nil
Expand Down
10 changes: 8 additions & 2 deletions pkg/testutils/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ import (
"testing"
)

// NewCommand TODO: comment
func NewCommand(cmd string) *exec.Cmd {
return exec.Command("sh", "-c", cmd)
}

// CreateLocalDirectory TODO: comment
func CreateLocalDirectory(t *testing.T) string {
dir, err := ioutil.TempDir(os.TempDir(), "kompose-test-")
if err != nil {
Expand All @@ -20,6 +22,7 @@ func CreateLocalDirectory(t *testing.T) string {
return dir
}

// CreateLocalGitDirectory TODO: comment
func CreateLocalGitDirectory(t *testing.T) string {
dir := CreateLocalDirectory(t)
cmd := NewCommand(
Expand All @@ -35,8 +38,9 @@ func CreateLocalGitDirectory(t *testing.T) string {
return dir
}

func SetGitRemote(t *testing.T, dir string, remote string, remoteUrl string) {
cmd := NewCommand(fmt.Sprintf("git remote add %s %s", remote, remoteUrl))
// SetGitRemote TODO: comment
func SetGitRemote(t *testing.T, dir string, remote string, remoteURL string) {
cmd := NewCommand(fmt.Sprintf("git remote add %s %s", remote, remoteURL))
cmd.Dir = dir
_, err := cmd.Output()
if err != nil {
Expand All @@ -45,6 +49,7 @@ func SetGitRemote(t *testing.T, dir string, remote string, remoteUrl string) {
}
}

// CreateGitRemoteBranch TODO: comment
func CreateGitRemoteBranch(t *testing.T, dir string, branch string, remote string) {
cmd := NewCommand(
fmt.Sprintf(`git checkout -b %s &&
Expand All @@ -60,6 +65,7 @@ func CreateGitRemoteBranch(t *testing.T, dir string, branch string, remote strin
}
}

// CreateSubdir TODO: comment
func CreateSubdir(t *testing.T, dir string, subdir string) {
cmd := NewCommand(fmt.Sprintf("mkdir -p %s", subdir))
cmd.Dir = dir
Expand Down
41 changes: 21 additions & 20 deletions pkg/transformer/kubernetes/k8sutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,11 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
if err != nil {
return err
}
data, err := marshal(convertedList, opt.GenerateJson)
data, err := marshal(convertedList, opt.GenerateJSON)
if err != nil {
return fmt.Errorf("Error in marshalling the List: %v", err)
}
files = append(files, transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateJson, f))
files = append(files, transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateJSON, f))
} else {
var file string
// create a separate file for each provider
Expand All @@ -199,33 +199,33 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
if err != nil {
return err
}
data, err := marshal(versionedObject, opt.GenerateJson)
data, err := marshal(versionedObject, opt.GenerateJSON)
if err != nil {
return err
}
switch t := v.(type) {
case *api.ReplicationController:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *extensions.Deployment:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *extensions.DaemonSet:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *deployapi.DeploymentConfig:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *buildapi.BuildConfig:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *imageapi.ImageStream:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *api.Service:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *api.PersistentVolumeClaim:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *api.Pod:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *routeapi.Route:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
case *extensions.Ingress:
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f)
file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJSON, f)

}
files = append(files, file)
Expand Down Expand Up @@ -270,16 +270,17 @@ func convertToVersion(obj runtime.Object, groupVersion unversioned.GroupVersion)
return convertedObject, nil
}

// PortsExist checks if service has ports defined
func (k *Kubernetes) PortsExist(name string, service kobject.ServiceConfig) bool {
if len(service.Port) == 0 {
logrus.Warningf("[%s] Service cannot be created because of missing port.", name)
return false
} else {
return true
}
return true

}

// create a k8s service
// CreateService creates a k8s service
func (k *Kubernetes) CreateService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service {
svc := k.InitSvc(name, service)

Expand All @@ -296,7 +297,7 @@ func (k *Kubernetes) CreateService(name string, service kobject.ServiceConfig, o
return svc
}

// load configurations to k8s objects
// UpdateKubernetesObjects loads configurations to k8s objects
func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.ServiceConfig, objects *[]runtime.Object) {
// Configure the environment variables.
envs := k.ConfigEnvs(name, service)
Expand Down Expand Up @@ -376,7 +377,7 @@ func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.Servic
}
}

// the objects that we get can be in any order this keeps services first
// SortServicesFirst - the objects that we get can be in any order this keeps services first
// according to best practice kubernetes services should be created first
// http://kubernetes.io/docs/user-guide/config-best-practices/
func (k *Kubernetes) SortServicesFirst(objs *[]runtime.Object) {
Expand Down Expand Up @@ -408,8 +409,8 @@ func (k *Kubernetes) findDependentVolumes(svcname string, komposeObject kobject.
return
}

// VolumesFrom creates volums and volumeMounts for volumes_from
func (k *Kubernetes) VolumesFrom(objects *[]runtime.Object, komposeObject kobject.KomposeObject) {

for _, obj := range *objects {
switch t := obj.(type) {
case *api.ReplicationController:
Expand Down
Loading

0 comments on commit 4b3094d

Please sign in to comment.