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.

Reply via email to