-
Notifications
You must be signed in to change notification settings - Fork 2k
Adding new SystemD provisioner for VMware Photon OS. #2344
Conversation
I see that the systemd provisioner was reverted, will do as well. |
Yeah, keep an eye out on that one. I've submitted a PR to fix the issue why it was reverted. |
We should be good with this, when the SystemD provisioner is added again I will revert to it. |
@frapposelli It's merged now! |
Signed-off-by: Fabio Rapposelli <fabio@vmware.com>
you guys move too fast :-) reverted back to the systemd based provisioner |
@dgageot is there a chance we can get this in for the |
@frapposelli what's the best way for me to test this? |
@dgageot grab a mac and a copy of AppCatalyst ( The plugin will use the embedded version of Photon OS that we ship with AppCatalyst. |
Btw, when it works, you might want to add your driver here |
@frapposelli I've just tried and failed. See vmware-archive/docker-machine-driver-vmwareappcatalyst#1 |
Nice @frapposelli it works. I managed to provision a photon-based machine! LGTM |
|
We're interested, but need to ensure the version of Docker distributed with Photon matches with the officially distributed version. On the release of Photon I've gotten, the checksums don't seem to match like they do with boot2docker. I've created a 1.8.1 boot2docker VM to verify this since that's the version in the Photon VM I got after a According to https://get.docker.com/builds/Linux/x86_64/docker-1.8.1.sha256, the SHA256 for the statically compiled and officially distributed Docker binary is:
The $ docker-machine ssh 1.8.1 openssl dgst -sha256 /usr/local/bin/docker
SHA256(/usr/local/bin/docker)= 843f90f5001e87d639df82441342e6d4c53886c65f72a5cc4765a7ba3ad4fc57
$ docker-machine ssh photon openssl dgst -sha256 /usr/bin/docker-1.8.1
SHA256(/usr/bin/docker-1.8.1)= 45859761a5d34f9aeb425549b6a0ef7ab86f3343f733e766d27bd360e5068666 |
Understand the requirement, I'm pretty sure we just repackage the official binary from get.docker.com and the SPEC file we use for the docker package seems to confirm this https://github.com/vmware/photon/blob/release-1.0TP2/SPECS/docker/docker.spec I'll take a look later today to see what's wrong with it. |
@nathanleclaire I found the inconsistency, the build is exactly the same, the difference is that the binary we ship is stripped (most likely automatically done by the rpmbuild process):
The build version shows the same version and build timestamp though (server is the engine shipped with photon):
We also updated the spec for 1.9.0, the package will probably be up in the repo quickly. |
@nathanleclaire did you take a look at this? we're definitely sourcing the binary from get.docker.com and not building our own version. |
|
@frapposelli Let's remove my LGTM for the moment. |
@dgageot docker is already installed in the base photon install, the provisioner can upgrade the package via If you look at the SPEC file I linked above, we download from get.docker.com and package the binary in an RPM, at the end of the packaging process |
@dgageot @nathanleclaire can we agree on next steps? I can't change what we already shipped in this version of AppCatalyst but I can change future versions, still it's nothing that is strictly related to |
@frapposelli We are working with a variety of folks internally and externally to define what the expectations should be out of the provisioners (and Machine in general) and will be following up with some clearly defined and officially documented rules. They will be applied equally to all provisioners, including existing ones which were merged before they were defined (they will be removed if found to be in violation). Until we get some clear rules out, we're going to have to hold on merging this. Sorry for the delay. In terms of installation of Docker, we do know that we will be requiring all provisioners to ship officially distributed binaries and/or packages. Therefore, if you're going to install via RPM, we ask that you please use the officially distributed RPMs instead of packaging your own. The script at get.docker.com is probably the most canonical, definitive example of how to do this today. Take a look, for instance, at this section: https://github.com/docker/docker/blob/master/hack/install.sh#L383-L404 Thanks!
|
@nathanleclaire thanks, really appreciate the clear response, will work with the photon guys to see if there are any challenges in using your RPM repo. |
@frapposelli I tried your code and after I'm hitting into an issue when created vmwareappcatalyst driver based machine. I'm getting:
Do you have any advice? |
@GalGavu Your Docker client is a newer version than the Docker daemon available. You should be able to use Docker by SSHing into the machine. |
@frapposelli @nathanleclaire I think we agree that we cannot merge this PR given that Docker should be installed by Machine, from official packages. Boot2docker being an exception that we fully control also. |
I am OK with this -- maybe @frapposelli can give us an update on the progress. I would like to get some unambiguous documented guidelines in our repository as well. |
Cool with it, quick update on the progress: I'm working on a PR for docker/docker to enable official builds for photon, once that is done I'll rework the PR to reflect. |
@frapposelli any update on the docker/docker PR? |
@dgageot the PR (moby/moby#20108) was temporarily rejected until Photon reaches GA. |
@frapposelli thank you for the feedback! Since the underlying PR (moby/moby#20108) is closed, I'm going to close this PR too. |
This change adds a
libmachine
provisioner Photon OS and introduces an enhancement inutils.go
for distros that have replacednetstat
withss
(like Photon).