Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Commit

Permalink
Kubernetes 1.16.9
Browse files Browse the repository at this point in the history
  • Loading branch information
Fred78290 committed May 13, 2020
1 parent f1d5b74 commit fce6150
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 224 deletions.
7 changes: 3 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@ all: build
VERSION_MAJOR ?= 1
VERSION_MINOR ?= 18
VERSION_BUILD ?= 2
VERSION ?= v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
DEB_VERSION ?= $(VERSION_MAJOR).$(VERSION_MINOR)-$(VERSION_BUILD)
TAG?=v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
TAG ?= v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
FLAGS=
ENVVAR=
GOOS?=linux
GOARCH?=amd64
REGISTRY?=fred78290
BASEIMAGE?=k8s.gcr.io/debian-base-amd64:v1.0.0
BUILD_DATE?=`date +%Y-%m-%dT%H:%M:%SZ`
VERSION_LDFLAGS=-X main.phVersion=$(VERSION)
VERSION_LDFLAGS=-X main.phVersion=$(TAG)

ifdef BUILD_TAGS
TAGS_FLAG=--tags ${BUILD_TAGS}
Expand All @@ -28,7 +27,7 @@ deps:
go mod vendor

build:
$(ENVVAR) GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags="-X main.phVersion=$(VERSION) -X main.phBuildDate=$(BUILD_DATE)" -a -o out/kubernetes-svc-dependencies-$(GOOS)-$(GOARCH) ${TAGS_FLAG}
$(ENVVAR) GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags="-X main.phVersion=$(TAG) -X main.phBuildDate=$(BUILD_DATE)" -a -o out/kubernetes-svc-dependencies-$(GOOS)-$(GOARCH) ${TAGS_FLAG}

make-image:
docker build --pull --build-arg BASEIMAGE=${BASEIMAGE} \
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

make -e REGISTRY=fred78290 -e TAG=v1.18.2 container
make -e REGISTRY=fred78290 -e TAG=v1.16.9 container
147 changes: 0 additions & 147 deletions context.go

This file was deleted.

51 changes: 25 additions & 26 deletions dependency.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ limitations under the License.
package main

import (
"context"
"fmt"
"strings"

Expand Down Expand Up @@ -72,7 +71,7 @@ func (t *Dependency) String() string {
return t._kind + "/" + t._namespace + ":" + t._name
}

func (t *Dependency) isValid(ctx context.Context, client *clientset.Clientset) {
func (t *Dependency) isValid(client *clientset.Clientset) {

switch t._kind {
case "po", "deploy", "ds", "rc", "rs", "sts", "svc":
Expand All @@ -84,7 +83,7 @@ func (t *Dependency) isValid(ctx context.Context, client *clientset.Clientset) {
klog.Fatalf("Namespace not defined for dependency %v", t._name)
}

namespace, err := client.CoreV1().Namespaces().Get(ctx, t._namespace, metav1.GetOptions{})
namespace, err := client.CoreV1().Namespaces().Get(t._namespace, metav1.GetOptions{})

if err != nil || namespace == nil {
klog.Fatalf("Namespace %v doesn't exists", t._namespace)
Expand All @@ -108,8 +107,8 @@ func (t *Dependency) podReady(pod *core.Pod, verbose bool) (bool, error) {
return numOfContainer == numOfReady && ready, nil
}

func (t *Dependency) isPodReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if pod, err := client.CoreV1().Pods(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isPodReady(client *clientset.Clientset, verbose bool) (bool, error) {
if pod, err := client.CoreV1().Pods(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if pod == nil {
return false, fmt.Errorf("The pod %v doesn't exists", t)
Expand All @@ -118,8 +117,8 @@ func (t *Dependency) isPodReady(ctx context.Context, client *clientset.Clientset
}
}

func (t *Dependency) isDeploymentReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if deployment, err := client.AppsV1().Deployments(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isDeploymentReady(client *clientset.Clientset, verbose bool) (bool, error) {
if deployment, err := client.AppsV1().Deployments(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if deployment == nil {
return false, fmt.Errorf("The deployment %v doesn't exists", t)
Expand All @@ -128,8 +127,8 @@ func (t *Dependency) isDeploymentReady(ctx context.Context, client *clientset.Cl
}
}

func (t *Dependency) isDaemonSetReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if daemonset, err := client.AppsV1().DaemonSets(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isDaemonSetReady(client *clientset.Clientset, verbose bool) (bool, error) {
if daemonset, err := client.AppsV1().DaemonSets(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if daemonset == nil {
return false, fmt.Errorf("The daemonset %v doesn't exists", t)
Expand All @@ -138,8 +137,8 @@ func (t *Dependency) isDaemonSetReady(ctx context.Context, client *clientset.Cli
}
}

func (t *Dependency) isReplicaSetReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if replicaset, err := client.AppsV1().ReplicaSets(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isReplicaSetReady(client *clientset.Clientset, verbose bool) (bool, error) {
if replicaset, err := client.AppsV1().ReplicaSets(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if replicaset == nil {
return false, fmt.Errorf("The replicaset %v doesn't exists", t)
Expand All @@ -148,8 +147,8 @@ func (t *Dependency) isReplicaSetReady(ctx context.Context, client *clientset.Cl
}
}

func (t *Dependency) isReplicationControllerReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if replicationcontroller, err := client.CoreV1().ReplicationControllers(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isReplicationControllerReady(client *clientset.Clientset, verbose bool) (bool, error) {
if replicationcontroller, err := client.CoreV1().ReplicationControllers(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if replicationcontroller == nil {
return false, fmt.Errorf("The replicationcontroller %v doesn't exists", t)
Expand All @@ -158,8 +157,8 @@ func (t *Dependency) isReplicationControllerReady(ctx context.Context, client *c
}
}

func (t *Dependency) isStatefulSetsReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
if stateful, err := client.AppsV1().StatefulSets(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
func (t *Dependency) isStatefulSetsReady(client *clientset.Clientset, verbose bool) (bool, error) {
if stateful, err := client.AppsV1().StatefulSets(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
} else if stateful == nil {
return false, fmt.Errorf("The stateful %v doesn't exists", t)
Expand All @@ -168,14 +167,14 @@ func (t *Dependency) isStatefulSetsReady(ctx context.Context, client *clientset.
}
}

func (t *Dependency) isServiceReady(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
func (t *Dependency) isServiceReady(client *clientset.Clientset, verbose bool) (bool, error) {
var service *core.Service
var pods *core.PodList
var err error
var ready bool
var numOfReady int

if service, err = client.CoreV1().Services(t._namespace).Get(ctx, t._name, metav1.GetOptions{}); err != nil {
if service, err = client.CoreV1().Services(t._namespace).Get(t._name, metav1.GetOptions{}); err != nil {
return false, err
}

Expand All @@ -185,7 +184,7 @@ func (t *Dependency) isServiceReady(ctx context.Context, client *clientset.Clien

set := labels.Set(service.Spec.Selector)

if pods, err = client.CoreV1().Pods(t._namespace).List(ctx, metav1.ListOptions{LabelSelector: set.String()}); err != nil {
if pods, err = client.CoreV1().Pods(t._namespace).List(metav1.ListOptions{LabelSelector: set.String()}); err != nil {
return false, err
}

Expand All @@ -212,7 +211,7 @@ func (t *Dependency) isServiceReady(ctx context.Context, client *clientset.Clien
return numOfReady == len(pods.Items), nil
}

func (t *Dependency) ready(ctx context.Context, client *clientset.Clientset, verbose bool) (bool, error) {
func (t *Dependency) ready(client *clientset.Clientset, verbose bool) (bool, error) {

if verbose {
klog.Infof("Check if %v dependency is ready, retry:%d", t.String(), t._retry)
Expand All @@ -225,19 +224,19 @@ func (t *Dependency) ready(ctx context.Context, client *clientset.Clientset, ver
if t._retry > 0 {
switch t._kind {
case "po":
return t.isPodReady(ctx, client, verbose)
return t.isPodReady(client, verbose)
case "deploy":
return t.isDeploymentReady(ctx, client, verbose)
return t.isDeploymentReady(client, verbose)
case "ds":
return t.isDaemonSetReady(ctx, client, verbose)
return t.isDaemonSetReady(client, verbose)
case "rs":
return t.isReplicaSetReady(ctx, client, verbose)
return t.isReplicaSetReady(client, verbose)
case "rc":
return t.isReplicationControllerReady(ctx, client, verbose)
return t.isReplicationControllerReady(client, verbose)
case "sts":
return t.isStatefulSetsReady(ctx, client, verbose)
return t.isStatefulSetsReady(client, verbose)
case "svc":
return t.isServiceReady(ctx, client, verbose)
return t.isServiceReady(client, verbose)
}
}

Expand Down
9 changes: 4 additions & 5 deletions dependencylist.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ limitations under the License.
package main

import (
"context"
"strings"

clientset "k8s.io/client-go/kubernetes"
Expand Down Expand Up @@ -50,13 +49,13 @@ func (t *DependencyList) set(maxRetry int, depends []string, ignoreError bool) {
}
}

func (t *DependencyList) isValid(ctx context.Context, client *clientset.Clientset) {
func (t *DependencyList) isValid(client *clientset.Clientset) {
for _, depend := range t.dependencies {
depend.isValid(ctx, client)
depend.isValid(client)
}
}

func (t *DependencyList) ready(ctx context.Context, client *clientset.Clientset, ignoreError bool, keepOnerror bool, verbose bool) (bool, error) {
func (t *DependencyList) ready(client *clientset.Clientset, ignoreError bool, keepOnerror bool, verbose bool) (bool, error) {
dependencies := make([]*Dependency, len(t.dependencies))

copy(dependencies, t.dependencies)
Expand All @@ -65,7 +64,7 @@ func (t *DependencyList) ready(ctx context.Context, client *clientset.Clientset,
t.dependencies = []*Dependency{}

for _, depend := range dependencies {
ready, err := depend.ready(ctx, client, verbose)
ready, err := depend.ready(client, verbose)

if err != nil {
// Insure...
Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ require (
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 // indirect
google.golang.org/appengine v1.6.6 // indirect
gopkg.in/yaml.v2 v2.3.0 // indirect
k8s.io/api v0.18.2
k8s.io/apimachinery v0.18.2
k8s.io/client-go v0.18.2
k8s.io/api v0.16.9
k8s.io/apimachinery v0.16.9
k8s.io/client-go v0.16.9
k8s.io/klog v1.0.0
k8s.io/utils v0.0.0-20200414100711-2df71ebbae66 // indirect
)
Loading

0 comments on commit fce6150

Please sign in to comment.