<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Mike/Yadu,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks for these suggestions. I am successfully starting the coaster-service, making the connection and running jobs on the docker containers with the below commands:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>On the coaster-service host:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                                coaster-service -p 50200 -localport 50100 -nosec -passive &> /var/log/coaster-service.logs<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>On each container I start this command:<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-indent:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>./worker.pl http://172.20.24.20:50100 172.20.24.101 ~/swiftwork<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal style='margin-bottom:14.0pt;line-height:13.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#EF2B2D'>MATTHEW SHAXTED<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:14.0pt;line-height:13.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:gray'>SKIDMORE, OWINGS & MERRILL LLP<br>224 SOUTH MICHIGAN AVENUE<br>CHICAGO, IL 60604<br>T  (312) 360-4368<br></span><a href="mailto:MATTHEW.SHAXTED@SOM.COM"><span style='font-size:9.0pt;font-family:"Arial","sans-serif"'>MATTHEW.SHAXTED@SOM.COM</span></a><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:gray'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:14.0pt;line-height:13.0pt'><span style='font-size:11.0pt;font-family:"Arial","sans-serif";color:gray'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:14.0pt'><a href="http://www.som.com/"><span style='font-size:11.0pt;font-family:"Arial","sans-serif";color:black;text-decoration:none'><img border=0 width=123 height=45 id="Picture_x0020_1" src="cid:image004.png@01CFC69B.09BB3CD0" alt="cid:image001.png@01CF9071.6FB46030"></span></a><a name="_GoBack"></a><span style='font-size:11.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p><p class=MsoNormal style='line-height:12.0pt'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:gray'>The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited and may be unlawful. If you have received this communication in error, please return it to the sen­­­der immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.</span><span style='font-size:11.0pt;font-family:"Arial","sans-serif";color:gray'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Verdana","sans-serif";color:black'><img border=0 width=393 height=19 id="Picture_x0020_2" src="cid:image003.gif@01CFC696.B5E21380" alt="http://intranet.som.com/common/admin/file.cfm?f=%2Fresources%2Fcontent%2F5%2F0%2F4%2F4%2F6%2F4%2F0%2F3%2Fdocuments%2Fimagea560bf%2Egif%406e10073b%2E30854c37"></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> Matthew Shaxted <br><b>Sent:</b> Saturday, August 30, 2014 8:40 AM<br><b>To:</b> Yadu Nand<br><b>Cc:</b> Michael Wilde; Swift User<br><b>Subject:</b> Re: [Swift-user] Swift Coaster Service & Docker Containers<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Thanks Mike and Yadu,<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Yes it would be great if there is a published config for this use case, and I am willing to help in whatever capacity I can. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The docker containers can reach out to external IP addresses, so as you both mention the best way may be to run the worker.pl in each container and have it connect back to the coaster service. I start the coaster service on a known ip/port host using the command you specify. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I think I conceptually understand how this could work and will try to test something. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I have an ubuntu docker container configured to start ssh services at the command below. It sounds like, however, if I can run the worker.pl on each container and connect to the coaster service, ssh is not even required. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>docker run -i -p 22 -t mattshax/precise_ep_node sh -c '/usr/sbin/sshd -D'<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br>On Aug 29, 2014, at 9:33 PM, "Yadu Nand" <<a href="mailto:yadudoc1729@gmail.com">yadudoc1729@gmail.com</a>> wrote:<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt;-webkit-text-size-adjust: auto'><div><div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Hi Matthew,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>You can use the coaster-service directly with the following arguments :<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>coaster-service -p $SERVICEPORT -localport $WORKERPORT -nosec -passive &> /var/log/coaster-service.logs</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>The workers running under docker should be connecting to the WORKERPORT and the swift client would use the SERVICEPORT.</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Another thing to remember is to make sure that you use the the coaster-service and </span><a href="http://worker.pl"><span style='font-family:"Arial","sans-serif"'>worker.pl</span></a><span style='font-family:"Arial","sans-serif"'> from the same swift release. </span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>The start-coaster-service command is a wrapper over coaster-service which in addition to starting the coaster service, also </span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>tries to ssh the </span><a href="http://worker.pl"><span style='font-family:"Arial","sans-serif"'>worker.pl</span></a><span style='font-family:"Arial","sans-serif"'> to the WORKER_HOSTS. In the situation that you describe, I think it makes sense to have the workers</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>just connect back to the coaster-service which is listening on a known IP / port.</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal>Yadu<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Fri, Aug 29, 2014 at 8:34 PM, Michael Wilde <<a href="mailto:wilde@anl.gov" target="_blank">wilde@anl.gov</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p class=MsoNormal>Matthew,<br><br>I would treat this case similar to the configuration you'd use for a set of virtual machines.<br><br>Start one coaster service for each pool of identical docker containers that you want to run.<br><br>For each pool of containers, run a Swift worker (<a href="http://worker.pl" target="_blank">worker.pl</a>) in the container and have it connect back to the coaster service you designate to manage that pool.<br><br>I'm assuming that from a docker contained you can connect out to any reachable IP address. <br><br>Another approach is to treat the containers like a set of ad-hoc compute nodes, and ssh into them with automatic coasters using the ssh:local jobmanager setting.<br><br>We'll try to test and publish a config for such cases. We'd welcome your help with that.<br><br>- Mike<o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><o:p></o:p></p><div><p class=MsoNormal>On 8/29/14, 7:48 PM, Matthew Shaxted wrote:<o:p></o:p></p></div></div></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hi All,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I’m trying to find a way to run Swift workflows on multi-host docker containers, and wondering if anybody has had success with this. <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>When I start a docker container and define specific ports to open on the container, they mapped to random ports on the host machine. So for example, I can start a container with an ssh port open from a host “10.1.1.1”, and can then access this container across hosts with “ssh <a href="mailto:compute@10.1.1.1" target="_blank">compute@10.1.1.1</a> –p 49160”.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Now I’m hoping to link these docker containers to Swift’s start-coaster-service. I think it would be possible and relatively easy if I can say, start the coasters on a series of IP addresses AND ports. So a host’s file perhaps would look something like below, and coasters would be started on the correct docker container:<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in'><a href="http://10.1.1.1" target="_blank">10.1.1.1</a>: 49160<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in'><a href="http://10.1.1.2" target="_blank">10.1.1.2</a>: 34155<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in'><a href="http://10.1.1.2" target="_blank">10.1.1.2</a>: 34156   …<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Does this make sense? Is it possible to start coasters by specifying an IP address and port number?<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Any thoughts are greatly appreciated.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Matthew<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:14.0pt;line-height:13.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#EF2B2D'>MATTHEW SHAXTED</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:14.0pt;line-height:13.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:gray'>SKIDMORE, OWINGS & MERRILL LLP<br>224 SOUTH MICHIGAN AVENUE<br>CHICAGO, IL 60604<br>T  </span><a href="tel:%28312%29%20360-4368" target="_blank"><span style='font-size:9.0pt;font-family:"Arial","sans-serif"'>(312) 360-4368</span></a><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:gray'><br></span><a href="mailto:MATTHEW.SHAXTED@SOM.COM" target="_blank"><span style='font-size:9.0pt;font-family:"Arial","sans-serif"'>MATTHEW.SHAXTED@SOM.COM</span></a><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:14.0pt;line-height:13.0pt'><span style='font-family:"Arial","sans-serif";color:gray'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:14.0pt'><a href="http://www.som.com/" target="_blank"><span style='font-family:"Arial","sans-serif";color:black;text-decoration:none'><ATT00002.png></span></a><a name="148248c4c32ac371__GoBack"></a><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:gray'>The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited and may be unlawful. If you have received this communication in error, please return it to the sen­­­der immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-family:"Verdana","sans-serif";color:black'><ATT00001.gif></span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><p class=MsoNormal><br><br><o:p></o:p></p></div></div><pre>_______________________________________________<o:p></o:p></pre><pre>Swift-user mailing list<o:p></o:p></pre><pre><a href="mailto:Swift-user@ci.uchicago.edu" target="_blank">Swift-user@ci.uchicago.edu</a><o:p></o:p></pre><pre><a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><o:p></o:p></pre></blockquote><p class=MsoNormal><span style='color:#888888'><br><br><span class=hoenzb><o:p></o:p></span></span></p><pre><span style='color:#888888'>-- </span><o:p></o:p></pre><pre><span style='color:#888888'>Michael Wilde<o:p></o:p></span></pre><pre><span style='color:#888888'>Mathematics and Computer Science          Computation Institute<o:p></o:p></span></pre><pre><span style='color:#888888'>Argonne National Laboratory               The University of Chicago<o:p></o:p></span></pre></div><p class=MsoNormal><br>_______________________________________________<br>Swift-user mailing list<br><a href="mailto:Swift-user@ci.uchicago.edu">Swift-user@ci.uchicago.edu</a><br><a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><o:p></o:p></p></blockquote></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <o:p></o:p></p><div><p class=MsoNormal>Yadu Nand B<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></blockquote><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt;-webkit-text-size-adjust: auto'><div><p class=MsoNormal>_______________________________________________<br>Swift-user mailing list<br><a href="mailto:Swift-user@ci.uchicago.edu">Swift-user@ci.uchicago.edu</a><br><a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><o:p></o:p></p></div></blockquote></div></div></body></html>