Skip to content
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

Even with forced interface binding, discovery fails #37

Closed
justparking opened this issue Oct 14, 2015 · 7 comments
Closed

Even with forced interface binding, discovery fails #37

justparking opened this issue Oct 14, 2015 · 7 comments
Assignees

Comments

@justparking
Copy link
Contributor

In some rare cases e.g. in a mobile environment, or where a VPN, firewall or virtual server software interferes with network operation, multicasting discovery stubbornly fails.

@justparking
Copy link
Contributor Author

hardLinksAddresses can now be configured in the bootstrap.json. These are simply a list of host which to directly obtain discovery information from.

Feature is present in latest development release nodelhost-dev-2.1.1-rev140.jar (see releases section).

bootstrap.json example:

  ... "hardLinksAddresses": [ "127.0.0.1", "192.168.1.203"] ...

bootstrap.schema reads:

"hardLinksAddresses" : {
    "type" : "array",
    "required" : false,
    "order" : 1300,
    "title" : "Hard links",
    "desc" : "If IGMP multicasting is inconvenient or unreliable, these addresses can be used to 
              assist advertisement and discovery. Examples might be '127.0.0.1' when locally 
              hosted nodes do not appear or '192.168.1.203' if a particular hosts' nodes do not 
              appear or even '192.168.1.255' to use UDP broadcast across an entire subnet.",
    "items" : {
        "type" : "string"
    }
}

@justparking
Copy link
Contributor Author

Hopefully this helps you out on your laptop, @DannyMurphy. If you get to try it again, let me know if it works.

@scienceworld
Copy link

Can we multihome a nodel agent, mainly our main one with all schedules?
We will be migrating our exhibits from one subnet to another, but not all at the same time. we will need to have nodel work on two distinctly separate subnets, but both physically connected to the nodel host. eg, will have a 10.0.10.x and 10.0.20.x network interface connected. both should multicast/broadcast to find nodel agents.

Please advise.

@justparking
Copy link
Contributor Author

That should be possible using hard-link but I need to understand your topology a bit better.

So will there be two network interfaces in one host? Also, will there be full (routed) IP connectivity between both subnets during the transition?

@scienceworld
Copy link

Yes, the nodel host will have two network interfaces. one to 10.0.10.x (old exhibit subnet) and one to 10.0.20.x new exhibit subnet.

10.0.10.x has layer 3 routability to 10.0.20.x

@justparking
Copy link
Contributor Author

I might have a solution you can try soon (see below) but as a fallback, you should be able to use the hardlinks feature (click for wiki article). With full layer 3 routability, you can force probing and discovery by adding a list of addresses to the hardlinks section of the bootstrap file on each of the main nodel hosts. You can add as many as you like / need.

Otherwise, given hardlinks might be tedious or impractical to implement across a big network, I have some code I shelved a while back related to multiple interface binding. It's obviously very hard to replicate your exact network setup (OS, network intf hardware, firewall rules, etc.) so I will likely require your help to test that code.

I will put out a separate development release within the next day or so, but you can try hardlinks in the mean time.

@scienceworld
Copy link

Hardlinks is a bit impractical as it would require a known running nodel node on that alternate subnet and WOL nodes would have to be distributed across each subnet. In this particular example it would be easier to have a multi-homed Nodel master that can house the WOL nodes and have discoverability to each connected subnet. It would then be able to issue the WOL commands across each interface in turn allowing for computers to wake up regardless of which subnet they are on.

Thanks for dishing out the older code. this could prove helpful.

J

On Jun 13, 2016, at 9:42 PM, Justin Parker <notifications@github.commailto:notifications@github.com> wrote:

I might have a solution you can try soon (see below) but as a fallback, you should be able to use the hardlinks feature (click for wiki article)https://github.com/museumvictoria/nodel/wiki/hardLinksAddresses-in-bootstrap.json. With full layer 3 routability, you can force probing and discovery by adding a list of addresses to the hardlinks section of the bootstrap file on each of the main nodel hosts. You can add as many as you like / need.

Otherwise, given hardlinks might be tedious or impractical to implement across a big network, I have some code I shelved a while back related to multiple interface binding. It's obviously very hard to replicate your exact network setup (OS, network intf hardware, firewall rules, etc.) so I will likely require your help to test that code.

I will put out a separate development release within the next day or so, but you can try hardlinks in the mean time.


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/37#issuecomment-225778568, or mute the threadhttps://github.com/notifications/unsubscribe/AD0A3OSbhlBJ3v0p3sL2sxpBcq1-zXY9ks5qLjFMgaJpZM4GOYN8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants