This gist captures the results of a couple sprints of R&D on information sharing and hooks.
We discussed two models of how gears are linked:
| I1002 20:21:21.069649 27510 config_controller.go:159] Received deploymentConfig watch for ID hello-deployment-config | |
| I1002 20:21:21.072743 27510 trigger_controller.go:353] Received deploymentConfig watch for ID hello-deployment-config | |
| I1002 20:21:21.072799 27510 trigger_controller.go:382] Refreshing image repo triggers for deploymentConfig hello-deployment-config | |
| panic: runtime error: invalid memory address or nil pointer dereference | |
| [signal 0xb code=0x1 addr=0x0 pc=0x522568] | |
| goroutine 173 [running]: | |
| runtime.panic(0x9dfd80, 0x14c1d68) | |
| /usr/lib/golang/src/pkg/runtime/panic.c:266 +0xb6 | |
| github.com/openshift/origin/pkg/client.(*Client).UpdateDeploymentConfig(0xc21015ae10, 0x0, 0xc21047a600, 0x0, 0x0) |
| [vagrant@openshiftdev vagrant]$ KUBE_COVER="" KUBE_RACE="" hack/test-integration.sh -v | |
| etcd: {"action":"get","node":{"key":"/","dir":true}} | |
| Integration test cases ... | |
| # github.com/openshift/origin/test/integration | |
| src/github.com/openshift/origin/test/integration/deploy_trigger_test.go:372: cannot use openshift.server.URL (type string) as type *"github.com/GoogleCloudPlatform/kubernetes/pkg/client".Config in function argument | |
| src/github.com/openshift/origin/test/integration/deploy_trigger_test.go:372: too many arguments in call to "github.com/GoogleCloudPlatform/kubernetes/pkg/client".NewOrDie | |
| src/github.com/openshift/origin/test/integration/deploy_trigger_test.go:373: cannot use openshift.server.URL (type string) as type *"github.com/GoogleCloudPlatform/kubernetes/pkg/client".Config in function argument | |
| src/github.com/openshift/origin/test/integration/deploy_trigger_test.go:373: too many arguments in call to "github.com/openshift/origin/pkg/client".New |
| [vagrant@openshiftdev vagrant]$ KUBE_COVER="" KUBE_RACE="" hack/test-integration.sh -v -test.run TestSuccessfulManualDeployment | |
| etcd: {"action":"get","node":{"key":"/","dir":true}} | |
| Integration test cases ... | |
| === RUN TestSuccessfulManualDeployment | |
| I1007 16:15:43.485763 05989 deploy_trigger_test.go:371] Starting test openshift | |
| I1007 16:15:43.498735 05989 config_generator.go:38] Generating new deployment config from deploymentConfig manual-deploy-config | |
| I1007 16:15:43.499744 05989 config_controller.go:36] Bootstrapping deploymentConfig controller | |
| I1007 16:15:43.508170 05989 config_controller.go:44] Determine whether to deploy deploymentConfigs |
| $ sudo GOPATH=$GOPATH go get -v code.google.com/p/go.tools/cmd/gofmt | |
| [sudo] password for pmorie: | |
| code.google.com/p/go.tools (download) | |
| package code.google.com/p/go.tools/cmd/gofmt | |
| imports code.google.com/p/go.tools/cmd/gofmt | |
| imports code.google.com/p/go.tools/cmd/gofmt: cannot find package "code.google.com/p/go.tools/cmd/gofmt" in any of: | |
| /usr/lib/golang/src/pkg/code.google.com/p/go.tools/cmd/gofmt (from $GOROOT) | |
| /home/pmorie/go/src/code.google.com/p/go.tools/cmd/gofmt (from $GOPATH) |
| Nov 26 13:33:41 ip-10-181-109-43 docker[281]: [c43733ca] -job build() = OK (0) | |
| Nov 26 13:33:41 ip-10-181-109-43 docker[281]: [info] POST /v1.15/build?rm=1&t=openshift%2Forigin-haproxy-router | |
| Nov 26 13:33:41 ip-10-181-109-43 docker[281]: [c43733ca] +job build() | |
| -- Reboot -- | |
| Nov 26 13:34:15 ip-10-181-109-43.ec2.internal systemd[1]: Starting Docker Application Container Engine... | |
| Nov 26 13:34:16 ip-10-181-109-43.ec2.internal docker[281]: 2014/11/26 13:34:16 docker daemon: 1.3.1 4e9bbfa/1.3.1; execdriver: native; graphdriver: | |
| Nov 26 13:34:16 ip-10-181-109-43.ec2.internal docker[281]: [1c1e9739] +job serveapi(fd://) | |
| Nov 26 13:34:16 ip-10-181-109-43.ec2.internal docker[281]: [info] Listening for HTTP on fd () | |
| Nov 26 13:34:16 ip-10-181-109-43.ec2.internal docker[281]: [1c1e9739] +job init_networkdriver() |
| --- a/docs/router_sharding.md | |
| +++ b/docs/router_sharding.md | |
| @@ -125,10 +125,10 @@ The `RouteScheduler` processes `Route` resources as follows: | |
| 1. The `RouteScheduler` watches for newly created (and thus unscheduled) `Route`s and | |
| periodically list the unscheduled `Route`s to retry | |
| 2. The scheduler passes unscheduled `Route` records to the `RouteSchedulerStrategy` interface | |
| -3. The scheduler creates a `RouteBinding` for the route and router if the route binding is | |
| - successful | |
| -4. The `RouteBinding` REST API applies the route binding to the `Route`'s status field, setting the | |
| - `DNS` and `Phase` fields |
| $ _output/dockerized/bin/linux/amd64/kubectl --auth-path=/home/pmorie/.kubernetes_vagrant_auth get minions -o template -t {{range.items}}{{.id}}:{{end}} | |
| F0113 14:43:37.934744 18437 get.go:131] Get http://localhost:8080/api/v1beta1/minions?namespace=default: dial tcp 127.0.0.1:8080: connection refused |
| +++ Building tarball: full | |
| 2015/01/13 14:55:35 Running: up | |
| Vagrant doesn't need special preparations for e2e tests | |
| Starting cluster using provider: vagrant | |
| ... calling verify-prereqs | |
| ... calling kube-up | |
| Using credentials: vagrant:vagrant | |
| Bringing machine 'master' up with 'virtualbox' provider... | |
| Bringing machine 'minion-1' up with 'virtualbox' provider... | |
| ==> master: VirtualBox VM is already running. |
| $ go run hack/e2e.go -down -v | |
| 2015/01/14 11:48:22 Running: teardown | |
| Traceback (most recent call last): | |
| File "/home/pmorie/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 164, in <module> | |
| _cli = CreateCLI() | |
| File "/home/pmorie/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 162, in CreateCLI | |
| return loader.Generate() | |
| File "/home/pmorie/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 194, in Generate | |
| return self.__LoadCLIFromGroups() | |
| File "/home/pmorie/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 231, in __LoadCLIFromGroups |