Closed jamezpolley closed 5 years ago
I'm running this on Ubuntu 18.10 Cosmic with go version go1.12.7 linux/amd64
installed from the PPA.
I'm running into an error with make deps
:
[james@blister:/srv/oaf/herokuish] [default] only_copy_to_app_path_on_build ± make deps
docker pull heroku/heroku:18-build
18-build: Pulling from heroku/heroku
Digest: sha256:5161da7713dafaaa2a1d2e5cc22f5a2f833c22f6b894bfd9598e8526fb4c0f84
Status: Image is up to date for heroku/heroku:18-build
go get -u github.com/jteeuwen/go-bindata/...
go: finding github.com/jteeuwen/go-bindata/... latest
go get github.com/jteeuwen/go-bindata/...: no matching versions for query "latest"
make: *** [Makefile:53: deps] Error 1
I tried to push on and see if Skaffold needed this, but I'm getting an error I don't understand:
[james@blister:/srv/oaf/morph-ng] [default] master* ± skaffold dev --cache-artifacts=true
FATA[0012] watching files for artifact openaustralia/clay-scraper: listing files: listing files: expanding ONBUILD instructions: parsing ONBUILD instructions: processing base image (herokuish:dev) for ONBUILD triggers: getting remote config: getting image: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/herokuish Type:repository]]
@jamezpolley that error looks to me like the herokuish image herokuish:dev
hasn't been built and isn't available locally.
@jamezpolley the error with the herokuish build is something that I experienced yesterday and other people are having the same problem. I happened to have go-bindata already installed so it wasn't an issue for me. Is there any other way to install it for you?
@jamezpolley the error with the herokuish build is something that I experienced yesterday and other people are having the same problem. I happened to have go-bindata already installed so it wasn't an issue for me. Is there any other way to install it for you?
It looks like this is a broader issue with Go and the introduction of modules in 1.11; it looks like a fix is going to land in 1.13. I've updated the readme with a suggested workaround from https://github.com/golang/go/issues/27215
[james@blister:/srv/oaf/herokuish] [default] only_copy_to_app_path_on_build(+9/-0) ± make deps
docker pull heroku/heroku:18-build
18-build: Pulling from heroku/heroku
Digest: sha256:5161da7713dafaaa2a1d2e5cc22f5a2f833c22f6b894bfd9598e8526fb4c0f84
Status: Image is up to date for heroku/heroku:18-build
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/progrium/gh-release/...
go get -u github.com/progrium/basht/...
go get || true
go: downloading gopkg.in/yaml.v2 v2.2.2
go: extracting gopkg.in/yaml.v2 v2.2.2
# herokuish
./herokuish.go:71:16: undefined: Asset
./herokuish.go:96:38: undefined: Asset
./herokuish.go:98:46: undefined: Asset
Okay; added notes to the docs about needing to make sure the path go is installing binaries to is in $PATH; and needing to run go-bindata include/
by hand once before the first make deps
@jamezpolley that error looks to me like the herokuish image
herokuish:dev
hasn't been built and isn't available locally.
@mlandauer I've got herokuish:dev
now:
[
{
"Id": "sha256:d16204195ba3fc2b275578a2d08dcece12e818d059661202d50be1dbcaa539ff",
"RepoTags": [
"herokuish:dev"
],
"RepoDigests": [],
"Parent": "sha256:ee595a529d24e5dcfb378f185debe8e663113c65f9b00ff9df01374c6885949f",
"Comment": "",
"Created": "2019-08-15T06:22:15.185209729Z",
But I'm still getting the same error:
1d [james@blister:/srv/oaf/morph-ng] [default] master(-4)* ± skaffold dev --cache-artifacts=true
FATA[0009] watching files for artifact openaustralia/clay-scraper: listing files: listing files: expanding ONBUILD instructions: parsing ONBUILD instructions: processing base image (herokuish:dev) for ONBUILD triggers: getting remote config: getting image: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/herokuish Type:repository]]
1d [james@blister:/srv/oaf/morph-ng] [default] master(-4)* 9s 1 ±
Will take another look at this tomorrow.
Okay, asking skaffold for more detail, it looks like I need to build openaustralia/clay-scraper:
1d [james@blister:/srv/oaf/morph-ng] [default] master(-4)* ± skaffold debug --cache-artifacts=true
Generating tags...
- openaustralia/clay-server -> openaustralia/clay-server:v1
- openaustralia/clay-scraper -> openaustralia/clay-scraper:v1
Tags generated in 331.096µs
Checking cache...
- openaustralia/clay-server: Not found. Building
- openaustralia/clay-scraper: FATA[0007] exiting dev mode because first build failed: checking cache: getting hash for artifact openaustralia/clay-scraper: getting dependencies for openaustralia/clay-scraper: expanding ONBUILD instructions: parsing ONBUILD instructions: processing base image (herokuish:dev) for ONBUILD triggers: getting
remote config: getting image: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/herokuish Type:repository]]
@matthew I'm not sure how I build the clay-server/clay-scraper images
d [james@blister:/srv/oaf/morph-ng] [default] master(-20)* 1 ± skaffold dev --verbosity=debug --cache-artifacts=true
INFO[0000] starting gRPC server on port 50051
INFO[0000] starting gRPC HTTP server on port 50052
INFO[0000] Skaffold &{Version:v0.35.0 ConfigVersion:skaffold/v1beta13 GitVersion: GitCommit:1da7608f9eb21ebe722bc054584e591e4223a3dc GitTreeState:clean BuildDate:2019-08-02T20:55:11Z GoVersion:go1.12.7 Compiler:gc Platform:linux/amd64}
DEBU[0000] Defaulting build type to local build
DEBU[0000] validating yamltags of struct SkaffoldConfig
DEBU[0000] validating yamltags of struct Metadata
DEBU[0000] validating yamltags of struct Pipeline
DEBU[0000] validating yamltags of struct BuildConfig
DEBU[0000] validating yamltags of struct Artifact
DEBU[0000] validating yamltags of struct ArtifactType
DEBU[0000] validating yamltags of struct DockerArtifact
DEBU[0000] validating yamltags of struct Artifact
DEBU[0000] validating yamltags of struct ArtifactType
DEBU[0000] validating yamltags of struct DockerArtifact
DEBU[0000] validating yamltags of struct TagPolicy
DEBU[0000] validating yamltags of struct EnvTemplateTagger
DEBU[0000] validating yamltags of struct BuildType
DEBU[0000] validating yamltags of struct LocalBuild
DEBU[0000] validating yamltags of struct DeployConfig
DEBU[0000] validating yamltags of struct DeployType
DEBU[0000] validating yamltags of struct KubectlDeploy
DEBU[0000] validating yamltags of struct KubectlFlags
INFO[0000] Using kubectl context: minikube
INFO[0000] no config entry found for kube-context minikube
INFO[0000] no config entry found for kube-context minikube
DEBU[0000] Using builder: local
DEBU[0000] Running command: [minikube docker-env --shell none]
DEBU[0000] Command output: [DOCKER_TLS_VERIFY=1
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_CERT_PATH=/home/james/.minikube/certs
]
DEBU[0000] setting Docker user agent to skaffold-v0.35.0
INFO[0000] no config entry found for kube-context minikube
DEBU[0000] push value not present, defaulting to false because localCluster is true
DEBU[0005] Found dependencies for dockerfile: [{go.mod /go/src/app true} {go.sum /go/src/app true} {empty/empty.go /go/src/app true} {main.go /go/src/app true}]
FATA[0008] watching files for artifact openaustralia/clay-scraper: listing files: listing files: expanding ONBUILD instructions: parsing ONBUILD instructions: processing
base image (herokuish:dev) for ONBUILD triggers: getting remote config: getting image: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/herokuish Type:repository]]
Oh there they are, under images/ - let me see if manually building them the first time is needed.
Nope.
[james@blister:/srv/oaf/morph-ng] [default] master(-20)* 8s 1 ± docker image list | grep clay
openaustralia/clay-server latest df2c6e18e841 10 minutes ago 1.19GB
openaustralia/clay-scraper latest a4e3378d0b21 13 minutes ago 1.23GB
Currently I'm seeing two problems:
@jamezpolley thanks so much for going through this!
I'm going to merge this PR as is. Two things seem clear to me after seeing this.
The biggest hurdle at the moment is building the image of our "special" version of herokuish. I don't see that changing much (other than the PR I made getting merged into the main project fingers crossed). So, it would be worthwhile pushing a pre-build image to the docker hub registry to save that hassle.
I think rejigging the instructions totally around assuming a local minikube would hopefully simplify things. Assuming minikube is more platform independent.
After merging this PR I'll work on addressing those two points.