| Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
| World Community Grid Forums
|
| No member browsing this thread |
|
Thread Status: Active Total posts in this thread: 2
|
|
| Author |
|
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
I'm running WCG inside Docker in a Debian based container that I've built myself. This has been working fine for months. It's something I play around with every now and then.
I have just hit an odd situation where I'd get colliding hostids that cause the results from one machine being detached by the other. In the past I've often used the --suppress_net_info flag (along with --fetch_minimal_work and --exit_when_idle) but this caused the creation of many device ids even when I ran it all on the same node. So eventually, I moved away from it. I ended up running boinc without --suppress_net_info but setting the same host name through docker (even when running multiple containers in parallel) running in multiple parallel containers. While this would work it would still give me a handful of devices; all with the same name. Sometimes ids would get reused but I never really saw a pattern. Today, I began creating these containers on multiple machines (one container each). That was when I hit the problem mentioned above. When one boinc talked to WCG again it would invalidate the results of the others etc. I did a little research and found this article on Host identification and merging. Eventually, I found that I had colliding hostids when looking at the client_state.xml. I started using different host names on different machines. It would still give me colliding hostids but WCG would update(!) the hostname depending on which container called home the last time. The article left me confused though: WCG uses a different method to recognize existing devices to prevent duplicate registrations. The server compares the following host information: user name (network name of host) domain_name (The default on Windows is "WORKGROUP") ip_addr (the ip of the client on the local network) operating system name processor vendor memory
Here's my guess: user name (?) and domain_name are largely ignored. In the past, running on a single host I probably didn't see problems because ip_addr is different for every container. Running a single container on three different nodes gave me the same IP on all of them. I'll try forcing docker into using different IPs to see if that makes a difference to WCG. However, I already found that I managed to start one container that has the same IP as another (on another machine) but somehow got a different hostid. How does WCG actually compute hostids? |
||
|
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Well, forcing another IP address inside the container gave me another host id.
I'm still puzzled by the role of "user name" and "domain_name" which should also have done the trick (but didn't). |
||
|
|
|