HELICS icon indicating copy to clipboard operation
HELICS copied to clipboard

Need a way to regularly test multimachine configurations

Open phlptp opened this issue 7 years ago • 8 comments

Not sure what this looks like but somewhere we need to have regular automated test runs with multiple machines using the different communication protocols in different configurations.

phlptp avatar Jan 20 '18 01:01 phlptp

This will require some additional thought

phlptp avatar Apr 11 '18 23:04 phlptp

I think this will need to be addressed in the example repo, in the tests we run in that repository, since I think it will be easier to test through there.

phlptp avatar Jun 02 '18 21:06 phlptp

moving to 1.3 since it likely will require the example repo being operational and some other considerations

phlptp avatar Jun 09 '18 13:06 phlptp

This is on hold until the examples Repo is ready then we can discuss again.

phlptp avatar Jul 17 '18 00:07 phlptp

This issue will get moved to the HELICS-Examples repo

phlptp avatar Jul 31 '18 15:07 phlptp

@kdheepak, @nightlark I was working with some folks at UTK today. They showed me some stuff on mininet. It looks like a tool that allows you to create a virtual network on a pc or laptop. We talked about it in the context of using it as part of HELICS, but I don't think that will work very well, it isn't a simulator per se. But one thing it might be very useful for us is as a platform for testing the multimachine configurations for HELICS. I can imagine setting up a couple dockers or VM's with Mininet, then maybe HELICS-Runner or something else can kick off a series of test simulations using the multimachine configurations inside the mininet processes, and maybe we can run this on travis or one of the other services, without actually needing multiple machines. @kdheepak, @nightlark can you take a look and see what you think? I do think we are at the point where we need to be more extensively testing the multimachine stuff and this could be a way to do it.

phlptp avatar Sep 27 '18 01:09 phlptp

It looks like the mininet cli (and api?) can be used to run commands in the context of a host on the virtual network. That could work on Travis to test setting up a multi-machine Helics simulation (command line options/config files and using different network interface).

nightlark avatar Sep 27 '18 03:09 nightlark

It looks like Docker Compose is included in Travis build environments. Assuming you're OK with not having Windows as part of your multi-machine testing, couldn't you just use multiple Docker containers orchestrated by Docker Compose in Travis? Each container gets its own IP address and is ran in its own network namespace (unless you configure it for host networking), effectively making each container look like a separate machine from a HELICS application perspective.

Just my two cents, and I know I'm likely missing something obvious given my infant familiarity with HELICS.

activeshadow avatar Sep 27 '18 11:09 activeshadow