diff --git a/Makefile b/Makefile index 9069ef5c73..6a2f0b2614 100755 --- a/Makefile +++ b/Makefile @@ -591,6 +591,12 @@ out/mkcmp: out/performance-monitor: GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $@ cmd/performance/monitor/monitor.go + +.PHONY: build-kic-image +build-kic-image: + docker rmi -f medyagh/kicbase:v0.0.1-snapshot || true + docker build -f ./hack/kic.Dockerfile -t medyagh/kicbase:v0.0.1-snapshot --build-arg COMMIT_SHA=${VERSION}-$(COMMIT) . + .PHONY: help help: @printf "\033[1mAvailable targets for minikube ${VERSION}\033[21m\n" diff --git a/hack/kic.Dockerfile b/hack/kic.Dockerfile new file mode 100644 index 0000000000..a03e8a1051 --- /dev/null +++ b/hack/kic.Dockerfile @@ -0,0 +1,7 @@ +ARG COMMIT_SHA +FROM kindest/node:v1.16.2 +RUN apt-get update && apt-get install -y \ + sudo \ + dnsutils \ + && rm -rf /var/lib/apt/lists/* +RUN echo "kic! ${TRAVIS_COMMIT}-${KUBE_VER}" > "/kic.txt" diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index f706c76b12..62d5df1dbe 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -259,31 +259,8 @@ func (d *Driver) nodeID(nameOrID string) (string, error) { return string(id), err } -func ImageForVersion(ver string) (string, error) { - switch ver { - case "v1.11.10": - return "medyagh/kic:v1.11.10@sha256:23bb7f5e8dd2232ec829132172e87f7b9d8de65269630989e7dac1e0fe993b74", nil - case "v1.12.8": - return "medyagh/kic:v1.12.8@sha256:c74bc5f3efe3539f6e1ad7f11bf7c09f3091c0547cb28071f4e43067053e5898", nil - case "v1.12.9": - return "medyagh/kic:v1.12.9@sha256:ff82f58e18dcb22174e8eb09dae14f7edd82d91a83c7ef19e33298d0eba6a0e3", nil - case "v1.12.10": - return "medyagh/kic:v1.12.10@sha256:2d174bae7c20698e59791e7cca9b6db234053d1a92a009d5bb124e482540c70b", nil - case "v1.13.6": - return "medyagh/kic:v1.13.6@sha256:cf63e50f824fe17b90374d38d64c5964eb9fe6b3692669e1201fcf4b29af4964", nil - case "v1.13.7": - return "medyagh/kic:v1.13.7@sha256:1a6a5e1c7534cf3012655e99df680496df9bcf0791a304adb00617d5061233fa", nil - case "v1.14.3": - return "medyagh/kic:v1.14.3@sha256:cebec21f6af23d5dfa3465b88ddf4a1acb94c2c20a0a6ff8cc1c027b0a4e2cec", nil - case "v1.15.0": - return "medyagh/kic:v1.15.0@sha256:40d433d00a2837c8be829bd3cb0576988e377472062490bce0b18281c7f85303", nil - case "v1.15.3": - return "medyagh/kic:v1.15.3@sha256:f05ce52776a86c6ead806942d424de7076af3f115b0999332981a446329e6cf1", nil - case "v1.16.1": - return "medyagh/kic:v1.16.1@sha256:e74530d22e6a04442a97a09bdbba885ad693fcc813a0d1244da32666410d1ad1", nil - case "v1.16.2": - return "medyagh/kic:v1.16.2@sha256:3374a30971bf5b0011441a227fa56ef990b76125b36ca0ab8316a3c7e4f137a3", nil - default: - return "medyagh/kic:v1.16.2@sha256:3374a30971bf5b0011441a227fa56ef990b76125b36ca0ab8316a3c7e4f137a3", nil - } +// BaseImage returns the image used to spin up containers. in the future might pin down nodes per version +func BaseImage() (string, error) { + return "medyagh/kicbase:v0.0.1-snapshot", nil + // return "medyagh/kicbase:v0.0.1-snapshot@sha256:fdd103eae33f92673fb13da81104b67576b43ab2affc7855deda596878215a61", nil } diff --git a/pkg/drivers/kic/oci/oci.go b/pkg/drivers/kic/oci/oci.go index 5054e63cc8..37859917cf 100644 --- a/pkg/drivers/kic/oci/oci.go +++ b/pkg/drivers/kic/oci/oci.go @@ -358,7 +358,7 @@ func CreateContainer(ociBinary string, image string, opts ...CreateOpt) ([]strin // 125 if err != nil { - return output, errors.Wrapf(err, "CreateContainer %v ", args) + return output, errors.Wrapf(err, "args: %v output: %s ", args, output) } return output, nil } diff --git a/pkg/minikube/bootstrapper/kicbs/kicbs.go b/pkg/minikube/bootstrapper/kicbs/kicbs.go index 6423ae2c70..75b193193b 100644 --- a/pkg/minikube/bootstrapper/kicbs/kicbs.go +++ b/pkg/minikube/bootstrapper/kicbs/kicbs.go @@ -203,7 +203,6 @@ func (k *Bootstrapper) StartCluster(k8s config.KubernetesConfig) error { glog.Infof("Older Kubernetes release detected (%s), disabling SystemVerification check.", version) ignore = append(ignore, "SystemVerification") } - // TODO:medyagh delete this temp work arround rr, err := k.c.RunCmd(exec.Command("rm", "-f", "/usr/bin/kubeadm")) fmt.Printf("Deleting kics kubeadm %s %v \n ", rr.Output(), err) @@ -211,6 +210,7 @@ func (k *Bootstrapper) StartCluster(k8s config.KubernetesConfig) error { fmt.Printf("Deleting kics kubelet %s %v \n", rr.Output(), err) c := exec.Command("/bin/bash", "-c", fmt.Sprintf("%s init --config %s %s --ignore-preflight-errors=%s", bsutil.InvokeKubeadm(k8s.KubernetesVersion), bsutil.KubeadmYamlPath, extraFlags, strings.Join(ignore, ","))) + glog.Infof("starting kubeadm init") if rr, err := k.c.RunCmd(c); err != nil { return errors.Wrapf(err, "init failed. cmd: %q output: %q", rr.Command(), rr.Output()) } @@ -353,7 +353,6 @@ func (k *Bootstrapper) GetAPIServerStatus(net.IP, int) (string, error) { return "", fmt.Errorf("the GetAPIServerStatus is not implemented in kicbs yet") } -// TODO:medyagh use the kapi package for this // client sets and returns a Kubernetes client to use to speak to a kubeadm launched apiserver func (k *Bootstrapper) client(k8s config.KubernetesConfig) (*kubernetes.Clientset, error) { if k.k8sClient != nil { @@ -365,7 +364,6 @@ func (k *Bootstrapper) client(k8s config.KubernetesConfig) (*kubernetes.Clientse return nil, errors.Wrap(err, "client config") } - // TODO:medyagh maybe for liux machines we could use container ip endpoint := fmt.Sprintf("https://%s", net.JoinHostPort("127.0.0.1", fmt.Sprint(k8s.HostBindPort))) if config.Host != endpoint { glog.Errorf("Overriding stale ClientConfig host %s with %s", config.Host, endpoint) diff --git a/pkg/minikube/registry/drvs/docker/docker.go b/pkg/minikube/registry/drvs/docker/docker.go index b6d4e6ef0d..8dfaa0ec56 100644 --- a/pkg/minikube/registry/drvs/docker/docker.go +++ b/pkg/minikube/registry/drvs/docker/docker.go @@ -43,7 +43,7 @@ func init() { } func configure(mc config.MachineConfig) interface{} { - img, err := kic.ImageForVersion(mc.KubernetesConfig.KubernetesVersion) + img, err := kic.BaseImage() if err != nil { glog.Errorf("err to getting kic image for %s: imgesha:%s", img, mc.KubernetesConfig.KubernetesVersion) }