Project

General

Profile

Actions

Bug #16930

closed

Don't push arvbox latest, fix jenkins to not depend on latest

Added by Peter Amstutz about 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
-
Release relationship:
Auto

Description

Only latest stable of "arvbox-demo" should be latest.

Actions #1

Updated by Peter Amstutz about 4 years ago

  • Description updated (diff)
Actions #2

Updated by Ward Vandewege about 4 years ago

  • Assigned To set to Ward Vandewege
Actions #3

Updated by Ward Vandewege about 4 years ago

  • Status changed from New to In Progress

1. These are the CI jobs in play, and the changes I've made:

  • docker-arvbox: was configured to push the ${git_hash} and 'latest' tags. I removed the 'latest' tag from the push list.
  • arvados-cwl-conformance-tests: was already configured to use the ${git_hash} parameter passed through the build pipeline
  • arvados-federation-migrate-test: was using the 'latest' tag, I converted it to use ${git_hash} instead

2. Docker hub:

  • I have deleted the 'latest' tag on the arvados/arvbox-demo docker image
  • Since we are not in the habit of running the 'docker-arvbox' jenkins job as part of the release pipeline, there is no arvados/arvbox-demo docker image for git commit 95594ca8821d6c8f7e13fa788b4dc160fc3bbb53 (that's the 2.0.4 release). I've kicked off a build to push that version to dockerhub: docker-arvbox: #3758

And... apparently that build is simply broken, cf. docker-arvbox: #3758 /console:

++ flock /var/lib/gopath/gopath.lock go install git.arvados.org/arvados.git/cmd/arvados-server
# git.arvados.org/arvados.git/sdk/go/arvados
sdk/go/arvados/keep_service.go:155:14: undefined: http.NewRequestWithContext
note: module requires Go 1.13
# github.com/Azure/go-autorest/autorest/adal
/var/lib/gopath/pkg/mod/github.com/!azure/go-autorest/autorest/adal@v0.9.2/token.go:1193:12: undefined: http.NewRequestWithContext
# github.com/msteinert/pam
/var/lib/gopath/pkg/mod/github.com/msteinert/pam@v0.0.0-20190215180659-f29b9f28d6f9/transaction.go:4:31: fatal error: security/pam_appl.h: No such file or directory
 //#include <security/pam_appl.h>
                               ^
compilation terminated.
The command '/bin/sh -c sudo -u arvbox /var/lib/arvbox/service/keep-web/run-service --only-deps' returned a non-zero code: 2

********** !!!!!! docker BUILD FAILED !!!!!! **********

That's probably because 'tools/arvbox/lib/arvbox/docker/go-setup.sh' does this:

flock /var/lib/gopath/gopath.lock go install git.arvados.org/arvados.git/cmd/arvados-server

which means it always pulls master, not the desired git version. That's not good.

The correct syntax here would be (this works with go get; need to verify that it also works with go install):

flock /var/lib/gopath/gopath.lock go install git.arvados.org/arvados.git/cmd/arvados-server@$GIT_COMMIT

but afaict we don't have the desired git commit exposed inside the build step.

Actions #4

Updated by Ward Vandewege about 4 years ago

  • Target version changed from 2020-10-07 Sprint to 2020-10-21 Sprint
Actions #5

Updated by Ward Vandewege about 4 years ago

Okay, now that 2.1 is out, the plan is to add a job to the release pipeline to build and push arvbox docker images with the release tag. We can then also make it tag those as latest.

Actions #6

Updated by Ward Vandewege about 4 years ago

  • Target version changed from 2020-10-21 Sprint to 2020-11-04 Sprint
Actions #7

Updated by Ward Vandewege about 4 years ago

  • Status changed from In Progress to Resolved

I pushed a small change to the build/run-build-docker-images.sh script so that it can build and push only the 'localdemo' image.

I added a new Jenkins job to the 'Release Pipeline' view: https://ci.arvados.org/view/Release%20Pipeline/job/build-and-release-arvbox-image/. This job builds and pushes the 'arvbox/localdemo' docker image for a specific commit, and will tag that image as the git commit, the 'latest' tag, and the release version number.

I ran it on the 2.1-dev branch here: build-and-release-arvbox-image: #3

We now have an 'arvados/arvbox-demo' image published on dockerhub with the 'latest' and '2.1.0' tags.

Actions #8

Updated by Peter Amstutz about 4 years ago

  • Status changed from Resolved to Feedback
Actions #9

Updated by Peter Amstutz about 4 years ago

Looking at https://hub.docker.com/r/arvados/arvbox-demo/tags the 'latest' is a development release and not the 2.1.0 release so the fix didn't stick.

Actions #10

Updated by Ward Vandewege about 4 years ago

Peter Amstutz wrote:

Looking at https://hub.docker.com/r/arvados/arvbox-demo/tags the 'latest' is a development release and not the 2.1.0 release so the fix didn't stick.

The 'latest' tag was pushed by this job

docker-arvbox: #3813 /consoleFull

and it shouldn't have done that.

Actions #11

Updated by Ward Vandewege about 4 years ago

  • % Done changed from 0 to 100
  • Status changed from Feedback to Resolved
Actions #12

Updated by Peter Amstutz about 4 years ago

  • Release set to 36
Actions

Also available in: Atom PDF