I have an alternative, although I am not sure it's better: We can introduce "reachability" concept to our subnets. Something that would say "You can get from subnet X to subnet Y". Once this information is available to foreman, we can assign proxies (and foreman itself) to a subnet. When a host requests a proxy, the subnets would be compared, and used if they are reachable. The same will go for Foreman -> proxy interactions, like in REX.
Advantages: Adds more knowledge of the real world into foreman, a fact that could be used later. Does not introduce new objects, the users are already familiar with subnets concept. Disadvantages: More input from the user required. The same proxy would be registered more than once - for each subnet it is reachable from. If we go with the original solution, I would suggest duplicating records in the current table, but adding a field that would indicate which proxies are duplicates. The UI then would be able to group the records by that additional field, and show a single object for each group. Advantages: Amount of joins stays the same, the UI for simple cases stays the same. Disadvantages: Less intuitive implementation. On Wednesday, March 15, 2017 at 12:18:50 PM UTC+2, Sean O'Keeffe wrote: > > Hey! > > So lzap suggested this.. lets see how it goes :-) > > *I'm looking to solve the following issues* > - I would like to have a multi-homed proxy. > - I would like clients to connect to a Proxy when there is a NAT between. > > My approach has been for proxies to have multiple URLs and during > provisioning the user would then select a URL instead of the current method > of selecting a Proxy, This would be then mean all communication between the > Client -> Proxy would be via the selected URL. Each proxy would also have a > 'primary' URL which Foreman would always use to connect to it via. > > Does this approach make sense? > Any feedback to greatly appreciated > > *Changes required:* > Foreman: https://github.com/theforeman/foreman/pull/4346 > - Adds Proxy URL concept > - Puppet CA & Puppet Master selection are now URLS > > Katello: PR to be raised > Content Source selection need to list URLS. > Bootstrap RPM will need to create one for each URL > > Let me know what you think or any questions you have! > Sean > -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.