-
Notifications
You must be signed in to change notification settings - Fork 615
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
Support for Windows named pipes mounts #2691
Conversation
i'm not sure how, but the proto messages have gotten messed up. you'll need to re-run |
@dperny issue looks to be 3.0 version of protobuf which comes using apt-get install protobuf-compiler Dockerfile which creates build/test environment with correct versions of tools would be nice. There looks to be still some other issues too. I will investigate more them on tomorrow/next week. |
Signed-off-by: Olli Janatuinen <[email protected]>
8fee694
to
502d108
Compare
Codecov Report
@@ Coverage Diff @@
## master #2691 +/- ##
==========================================
- Coverage 61.84% 61.83% -0.02%
==========================================
Files 134 134
Lines 21764 21766 +2
==========================================
- Hits 13461 13460 -1
- Misses 6853 6862 +9
+ Partials 1450 1444 -6 |
container := spec.Task.GetContainer() | ||
|
||
for _, npipe := range npipes { | ||
if strings.Contains(npipe, ":") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thaJeztah good question, there looks to be quite a lot validations on engine side already. Is there is any point to duplicate them to here?
3ece1d6
to
580483a
Compare
Signed-off-by: Olli Janatuinen <[email protected]>
580483a
to
990bcf3
Compare
This looked to be much bigger task than I expected so it can take while before I'm sure that PR is OK (even from my point of view). Anyway, after my second commit it is now possible to build and run swarmd on Windows. Main functionality was added on a1c8923 but default settings was incorrect. Build on Windows can be done using following commands:
And after that you can just start swarmd without any extra parameters:
Maybe we should also add Windows CI builds to here? |
Signed-off-by: Olli Janatuinen <[email protected]>
OK. I got it working on my env now and updated testing information to first post. Please, review. |
@thaJeztah I changed that one test which you picked up and now this looks working correctly. First post contains all info how to test. Can you review or ask someone else do so? |
This looks OK. |
Please sign your commits following these rules: $ git clone -b "34795-npipe-mount-type" [email protected]:olljanat/swarmkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354049336
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f Amending updates the existing PR. You DO NOT need to open a new one. |
Signed-off-by: Olli Janatuinen <[email protected]>
29b5f76
to
85277de
Compare
@anshulpundir @cyli I can see that you have been active here on lately. Can I ask you review this one too or ping someone who can? Portainer.io recently introduced Windows containers support using named pipe and it would be very nice to be able do deployment without extra tweaking (step 4 on this). I will be also offline next three weeks starting from weekend so if this need changes I would like handle them still during this week. |
The code LGTM - I'm not super familiar with the mount types and the docker PR itself - cc @johnstep possibly? |
Maybe @jhowardmsft also knows this stuff? |
@thaJeztah @dperny can you review this one? |
LGTM now. I believe you will also need to update the executor in moby/moby to have this work all the way through. |
@dperny This worked fine with moby/moby without executor changes when I tested it on July but I will of course test it again after this on is merged and updated to there. Who can do merging? |
Any update on this? I would really love to get service discovery going by reading the default npipe so that i don't have to map docker to a TCP port. |
@thaJeztah @cyli @dperny @anshulpundir there is two "LGTM" comments here already so can someone merge this one? |
I don't have permissions to merge. @anshulpundir @dperny ok to merge this one? |
This also brings in these PRs from swarmkit: - moby/swarmkit#2691 - moby/swarmkit#2744 - moby/swarmkit#2732 - moby/swarmkit#2729 - moby/swarmkit#2748 Signed-off-by: Tibor Vass <[email protected]>
This also brings in these PRs from swarmkit: - moby/swarmkit#2691 - moby/swarmkit#2744 - moby/swarmkit#2732 - moby/swarmkit#2729 - moby/swarmkit#2748 Signed-off-by: Tibor Vass <[email protected]> Upstream-commit: cce1763d57b5c8fc446b0863517bb5313e7e53be Component: engine
When will this feature be available in Docker-ee for windows? |
@ggruber4711 as far I have understood this will be available for Docker CE on 19.03 and hopefully quite soon after that also Docker EE version will be released. Docker EE 18.03.1 was released three months after Docker CE 18.03.0 so I guess that it will be some where on next June. @thaJeztah any comments? |
Yes, this didn't make it for the 18.09 release, so will be in the release after that (19.03).
Going forward, Docker CE and Docker EE will be released in sync again, so they should be released at the same time |
@thaJeztah Is there a short and long syntax for this? or is it only allowed in short syntax for Stacks? Volumes aren't described very in-depth in the Stack File documentation (as compared to the Compose File documentation). |
@Vacant0mens only long syntax works. Look example on moby/moby#37400 (comment) Both CE and EE will have same features on 19.03 so this will be included to both of them. |
Thanks @olljanat . Is there a scheduled release date for 19.03 for EE? I saw earlier that CE was already released, just wanted to know what to expect. I'd like to get off the |
@olljanat Also, I'm not sure if this is a bug or not, but it seems that the npipe volume mapping is incompatible when used along side other volumes or volume types.
If I |
@Vacant0mens are you sure that folder Docs update PR is open on docker/docs#7427 |
Yes, I'm sure because this works:
I'll open a new issue as you said. |
Support for Windows named pipes mounts
- What I did
Added support for mount type npipe same way than it is added for engine on: moby/moby#33852
- How I did it
Added protocol NPIPE and command line switch --npipe
- How to test it
Build on Windows:
Deploy my test version of Portainer using command:
Check using docker ps which port container actually is running (some reason source port is randomly selected), connect it from another machine (because on Windows limit of network connections) and test that Portainer can connect to local docker (environment type local and Windows containers which on).
Pre-requirement for moby/moby#37400 to be able to fix moby/moby#34795
- Description for the changelog