Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker images should be built with version numbers built into image metadata #758

Open
kojustin opened this issue Feb 12, 2018 · 4 comments
Open

Comments

@kojustin
Copy link
Contributor

@kojustin kojustin commented Feb 12, 2018

I used fn-helm to run fnserver inside of a minikube. I'm trying to diagnose an issue with the fnserver, but the helm chart specifies the image as just fnproject/fnserver:latest. The docker image itself doesn't have the project version or tag numbers built into it so it's hard to tell what commit the image was built from.

It's possible to pull other tagged version from Docker hub and compare the image hashes, but it would be much easier if the the Docker image itself had the commit or tag version number built in to it so that it could be found via docker inspect or docker history.

@rdallman
Copy link
Member

@rdallman rdallman commented Feb 12, 2018

/version against fn will spit back version, we're also bumping and tagging every version on every commit that lands to master https://github.com/fnproject/fn/blob/master/release.sh#L42 - this should be sufficient?

@kojustin
Copy link
Contributor Author

@kojustin kojustin commented Feb 12, 2018

I think in my case that won't be enough. What I'm seeing is

NAME                                READY     STATUS             RESTARTS   AGE
jko-fn-api-nf6vw                    0/1       CrashLoopBackOff   32         2h
jko-fn-flow-depl-66786fd96d-zrnl7   0/1       CrashLoopBackOff   33         2h
jko-fn-fnlb-depl-77f98887b7-rq8kh   1/1       Running            0          2h

And the fnlb says

time="2018-02-12T22:50:16Z" level=error msg="Unable to check API version" error="Get http://172.17.0.5:80/version: dial tcp 172.17.0.5:80: getsockopt: connection refused" node="172.17.0.5:80"
time="2018-02-12T22:50:19Z" level=error msg="Unable to check API version" error="Get http://172.17.0.5:80/version: dial tcp 172.17.0.5:80: getsockopt: connection refused" node="172.17.0.5:80"
time="2018-02-12T22:50:22Z" level=error msg="Unable to check API version" error="Get http://172.17.0.5:80/version: dial tcp 172.17.0.5:80: getsockopt: connection refused" node="172.17.0.5:80"
time="2018-02-12T22:50:25Z" level=error msg="Unable to check API version" error="Get http://172.17.0.5:80/version: dial tcp 172.17.0.5:80: getsockopt: connection refused" node="172.17.0.5:80"
time="2018-02-12T22:50:28Z" level=error msg="Unable to check API version" error="Get http://172.17.0.5:80/version: dial tcp 172.17.0.5:80: getsockopt: connection refused" node="172.17.0.5:80"

I didn't know about /version. I think this would still be nice so I don't need to run the container just to figure out what version of software it was built with but I don't need this.

@rdallman
Copy link
Member

@rdallman rdallman commented Feb 12, 2018

hmm, that one looks like a k8s issue.

I think this would still be nice so I don't need to run the container just to figure out what version of software it was built with but I don't need this.

pulling the sha should pull all the associated tags for that image from the registry (which has version affixed), at least from fn perspective it seems like we've done enough to make it pretty easy to triangulate version. as for helm, i don't think it's worth maintaining a certain version for that in OSS, for any reasonable production installation they will fix a version, but the helm chart we expose is most definitely not that (it's a template, at best).

@rdallman
Copy link
Member

@rdallman rdallman commented Jun 26, 2018

all the cool kids are doing this, can try again on #760

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.