Skip to content
This repository was archived by the owner on Sep 24, 2021. It is now read-only.

Commit 966948d

Browse files
committed
remove kind the binary as a dependnecy
Bump the kind library dep to v0.4.0 Signed-off-by: Chuck Ha <[email protected]>
1 parent 5c831e9 commit 966948d

File tree

9 files changed

+83
-213
lines changed

9 files changed

+83
-213
lines changed

Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.12.5
15+
FROM golang:1.12.6
1616
WORKDIR /cluster-api-provider-docker
1717
ADD go.mod .
1818
ADD go.sum .
@@ -25,12 +25,10 @@ ADD execer execer
2525
ADD third_party third_party
2626

2727
RUN go install -v ./cmd/capd-manager
28-
RUN GO111MODULE="on" go get sigs.k8s.io/[email protected]
2928
RUN curl https://get.docker.com | sh
3029

3130
FROM golang:1.12.5
3231
COPY --from=0 /cluster-api-provider-docker/kubernetes/client/bin/kubectl /usr/local/bin
3332
COPY --from=0 /go/bin/capd-manager /usr/local/bin
34-
COPY --from=0 /go/bin/kind /usr/local/bin
3533
COPY --from=0 /usr/bin/docker /usr/local/bin
3634
ENTRYPOINT ["capd-manager"]

actuators/machine.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,12 @@ func (m *Machine) Create(ctx context.Context, c *clusterv1.Cluster, machine *clu
103103
fmt.Printf("%+v\n", err)
104104
return err
105105
}
106-
lbip, err := elb.IP()
106+
lbipv4, _, err := elb.IP()
107107
if err != nil {
108108
fmt.Printf("%+v\n", err)
109109
return err
110110
}
111-
controlPlaneNode, err := actions.CreateControlPlane(c.Name, machine.GetName(), lbip, machine.Spec.Versions.ControlPlane)
111+
controlPlaneNode, err := actions.CreateControlPlane(c.Name, machine.GetName(), lbipv4, machine.Spec.Versions.ControlPlane, nil)
112112
if err != nil {
113113
fmt.Printf("%+v\n", err)
114114
return err

cmd/capdctl/main.go

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ package main
1818

1919
import (
2020
"encoding/json"
21+
"errors"
2122
"flag"
2223
"fmt"
2324
"io/ioutil"
2425
"os"
26+
"sigs.k8s.io/cluster-api-provider-docker/kind/actions"
27+
"sigs.k8s.io/kind/pkg/cluster/nodes"
28+
"sigs.k8s.io/kind/pkg/container/cri"
29+
"sigs.k8s.io/kind/pkg/exec"
30+
"time"
2531

2632
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27-
"sigs.k8s.io/cluster-api-provider-docker/execer"
2833
"sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1"
2934
)
3035

@@ -62,7 +67,7 @@ func (mo *machineDeyploymentOptions) initFlags(fs *flag.FlagSet) {
6267

6368
func main() {
6469
setup := flag.NewFlagSet("setup", flag.ExitOnError)
65-
managementClusterName := setup.String("cluster-name", "kind", "The name of the management cluster")
70+
managementClusterName := setup.String("cluster-name", "management", "The name of the management cluster")
6671

6772
// crds takes no args
6873

@@ -91,6 +96,7 @@ func main() {
9196
if len(os.Args) < 2 {
9297
fmt.Println("At least one subcommand is requied.")
9398
fmt.Println(usage())
99+
os.Exit(1)
94100
}
95101

96102
switch os.Args[1] {
@@ -242,37 +248,43 @@ func machineYAML(opts *machineOptions) string {
242248
}
243249

244250
func makeManagementCluster(clusterName string) {
245-
kind := execer.NewClient("kind")
246-
// start kind with docker mount
247-
kindConfig, err := kindConfigFile()
251+
fmt.Println("Creating a brand new cluster")
252+
elb, err := actions.SetUpLoadBalancer(clusterName)
248253
if err != nil {
249254
panic(err)
250255
}
251-
if err := kind.RunCommand("create", "cluster", "--name", clusterName, "--config", kindConfig); err != nil {
256+
lbipv4, _, err := elb.IP()
257+
if err != nil {
252258
panic(err)
253259
}
254-
}
255-
256-
// TODO if possible, use the kind library instead of the command line tool
257-
func kindConfigFile() (string, error) {
258-
kfg := `kind: Cluster
259-
apiVersion: kind.sigs.k8s.io/v1alpha3
260-
nodes:
261-
- role: control-plane
262-
extraMounts:
263-
- containerPath: /var/run/docker.sock
264-
hostPath: /var/run/docker.sock
265-
`
266-
267-
f, err := ioutil.TempFile("", "*-kind-config.yaml")
260+
cpMounts := []cri.Mount{
261+
{
262+
ContainerPath: "/var/run/docker.sock",
263+
HostPath: "/var/run/docker.sock",
264+
},
265+
}
266+
cp, err := actions.CreateControlPlane(clusterName, "management-control-plane", lbipv4, "v1.14.2", cpMounts)
268267
if err != nil {
269-
return "", err
268+
panic(err)
269+
}
270+
if !nodes.WaitForReady(cp, time.Now().Add(5*time.Minute)) {
271+
panic(errors.New("control plane was not ready in 5 minutes"))
270272
}
271-
defer f.Close()
272-
if _, err := f.WriteString(kfg); err != nil {
273-
return "", err
273+
f, err := ioutil.TempFile("", "crds")
274+
if err != nil {
275+
panic(err)
276+
}
277+
defer os.Remove(f.Name())
278+
fmt.Fprintln(f, crds)
279+
fmt.Fprintln(f, "---")
280+
fmt.Fprintln(f, getCAPDPlane("gcr.io/kubernetes1-226021/capd-manager:latest", "gcr.io/k8s-cluster-api/cluster-api-controller:0.1.3"))
281+
cmd := exec.Command("kubectl", "apply", "-f", f.Name())
282+
cmd.SetEnv(fmt.Sprintf("KUBECONFIG=%s/.kube/kind-config-%s", os.Getenv("HOME"), clusterName))
283+
cmd.SetStdout(os.Stdout)
284+
cmd.SetStderr(os.Stderr)
285+
if err := cmd.Run(); err != nil {
286+
panic(err)
274287
}
275-
return f.Name(), nil
276288
}
277289

278290
func printCRDs() {
@@ -376,6 +388,17 @@ spec:
376388
- /manager
377389
image: %s
378390
name: manager
391+
tolerations:
392+
- effect: NoSchedule
393+
key: node-role.kubernetes.io/master
394+
- key: CriticalAddonsOnly
395+
operator: Exists
396+
- effect: NoExecute
397+
key: node.alpha.kubernetes.io/notReady
398+
operator: Exists
399+
- effect: NoExecute
400+
key: node.alpha.kubernetes.io/unreachable
401+
operator: Exists
379402
`
380403

381404
// TODO generate the CRDs

cmd/kind-test/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ func main() {
4444
if err != nil {
4545
panic(fmt.Sprintf("%+v", err))
4646
}
47-
ip, err := lb.IP()
47+
lbipv4, _, err := lb.IP()
4848
if err != nil {
4949
panic(fmt.Sprintf("%+v", err))
5050
}
51-
if _, err := actions.CreateControlPlane(clusterName, inputs[1], ip, version); err != nil {
51+
if _, err := actions.CreateControlPlane(clusterName, inputs[1], lbipv4, version, nil); err != nil {
5252
panic(fmt.Sprintf("%+v", err))
5353
}
5454
case "add-worker":

execer/client.go

Lines changed: 0 additions & 165 deletions
This file was deleted.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ require (
2828
k8s.io/kubernetes v1.13.1
2929
sigs.k8s.io/cluster-api v0.0.0-20190607141803-aacb0c613ffb
3030
sigs.k8s.io/controller-runtime v0.1.10
31-
sigs.k8s.io/kind v0.3.0
31+
sigs.k8s.io/kind v0.4.0
3232
sigs.k8s.io/testing_frameworks v0.1.1 // indirect
3333
)
3434

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ sigs.k8s.io/controller-runtime v0.1.10 h1:amLOmcekVdnsD1uIpmgRqfTbQWJ2qxvQkcdeFh
195195
sigs.k8s.io/controller-runtime v0.1.10/go.mod h1:HFAYoOh6XMV+jKF1UjFwrknPbowfyHEHHRdJMf2jMX8=
196196
sigs.k8s.io/kind v0.3.0 h1:TUIRsJZy123ejyWECuYOU2XzSsIsauoqaeoUGsfdj6k=
197197
sigs.k8s.io/kind v0.3.0/go.mod h1:bgGo2cWxKGQ7esVxtGp9H17Ttlexju92CTMjCg08HNQ=
198+
sigs.k8s.io/kind v0.4.0 h1:C/QMxmF5Sp3yyKkTJ5+VJPcclZyu/JV8wLyihZbsHaI=
199+
sigs.k8s.io/kind v0.4.0/go.mod h1:bgGo2cWxKGQ7esVxtGp9H17Ttlexju92CTMjCg08HNQ=
198200
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
199201
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
200202
sigs.k8s.io/structured-merge-diff v0.0.0-20190426204423-ea680f03cc65/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=

0 commit comments

Comments
 (0)