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

Removes yakkety support, removes old raspbian repo #39

Merged
merged 1 commit into from
Oct 13, 2017

Conversation

seemethere
Copy link
Contributor

Rasbpian repo has been updated to 17.09.0-ce which includes a fix for
docker service calls on arm architecture, hence the removal of the old
apt repo for raspbian.

Also yakkety is no longer supported in the Docker CE releases so it is
effectively removed from the install script support

Signed-off-by: Eli Uriegas eli.uriegas@docker.com

Rasbpian repo has been updated to 17.09.0-ce which includes a fix for
docker service calls on arm architecture, hence the removal of the old
apt repo for raspbian.

Also yakkety is no longer supported in the Docker CE releases so it is
effectively removed from the install script support

Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
@seemethere
Copy link
Contributor Author

cc @alexellis @StefanScherer

@seemethere
Copy link
Contributor Author

NOTE: Currently investigating the issue with raspbian/stretch, it may require a change more upstream.

@StefanScherer
Copy link
Member

@seemethere Thank you. 💯 It works on Raspbian Jessie (HypriotOS).

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks (and thanks for testing @StefanScherer )

@StefanScherer
Copy link
Member

Successfully tested an update from 17.05.0-ce (installed with current get.docker.com script) to 17.09.0-ce with this script.

@thaJeztah
Copy link
Member

ping @andrewhsu

@alexellis
Copy link

I would want to know this works fully with existing images built prior to the requirements for multi-arch only. There was discussion with @StefanScherer on Slack about this.

I'd worry that we'd upgrade and suddenly none of the containers which worked on 17.05 would be able to be scheduled on 17.x in a Swarm.

@StefanScherer
Copy link
Member

StefanScherer commented Oct 4, 2017

I've updated our PiCloud cluster to 17.09.0-ce today and I'm able to create services that are spread over three platforms (RPi with 32bit HypriotOS, RPi with 64bit HypriotOS, UP Board amd64).
But I'm always using multi-arch images stored in a private registry ("on-prem" on one of the nodes) for the demos.

The update went fine with this script from 17.05.0-ce (from a previous get.docker.com installation) to 17.09.0-ce.

For the 64bit ARM running a Debian Stretch I had to choose the Ubuntu Xenial DEB package as there is no Debian for arm64 at download.docker.com. Seems like I need docker/docker-ce-packaging#35 😄

@andrewhsu
Copy link
Contributor

If this is working for you @StefanScherer then we'll schedule to bring the changes for this PR to test.docker.com for 17.10.0 ce rc2. And when 17.10.0 GA then the changes of this PR will be brought to get.docker.com.

@StefanScherer
Copy link
Member

@andrewhsu I did some further tests and I think we should go further as it looks good to me:

Creating a service in swarm mode works for images that are built on ARM machines.

works:

$ docker service create --name whoami -p 8080:8080 stefanscherer/whoami:rpi
$ docker manifest inspect -v stefanscherer/whoami:rpi | jq .Platform
{
  "architecture": "arm",
  "os": "linux"
}

doesn't work:

docker service create --name whoami -p 8080:8080 stefanscherer/whoami:linux-arm-1.4.1
$ docker manifest inspect -v stefanscherer/whoami:linux-arm-1.4.1 | jq .Platform
{
  "architecture": "amd64",
  "os": "linux"
}

This image is built on Travis (amd64) with a "FROM scratch -> COPY static go binary" docker build.
So this image has "amd64" as architecture.
I'm fine with this behaviour.
If you annotate such an image in a manifest list to be an "arm" image which is done for

works (as normal container):

$ docker run -d -p 8080:8080  stefanscherer/whoami:linux-arm-1.4.1

These cross compiled images can be used for normal docker-compose purposes and docker run.

also works (with a manifest list):

$ docker service create --name whoami -p 8080:8080 stefanscherer/whoami
$ docker manifest inspect -v stefanscherer/whoami | jq '.[].Platform'
{
  "architecture": "amd64",
  "os": "linux"
}
{
  "architecture": "arm",
  "os": "linux"
}
{
  "architecture": "arm64",
  "os": "linux"
}
{
  "architecture": "amd64",
  "os": "windows"
}

@alexellis WDYT?

@seemethere
Copy link
Contributor Author

The issues experienced in the tests here should be remedied when 17.10.0-ce-rc2 drops with the inclusion of this commit: docker-archive/docker-ce#263

@seemethere seemethere merged commit 01c3179 into docker:master Oct 13, 2017
@seemethere
Copy link
Contributor Author

Updating test.docker.com with these updates

@seemethere seemethere deleted the remove_deprecations branch October 13, 2017 20:39
@justincormack
Copy link
Member

This PR removed the GPG key checking, how did this not get reviewed?

@seemethere
Copy link
Contributor Author

@justincormack the gpg key is actually hosted on download.docker.com so it wasn't necessary to have it in the script anymore.

@justincormack
Copy link
Member

You do not remove security features with no comment in an unrelated commit. It is more secure to have the key in this file, in case you mirror it, or mirror the distro, and then have more assurance. Otherwise anyone who can compromise the repo can just swap out the key.

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

Successfully merging this pull request may close these issues.

6 participants