I can't speak to the technical aspects here, but I don't have a problem with the grouping you showed in the PR for the dropdown. That said, you mentioned potentially listing by Hostname or Name attribute, I would ask - what method would a user be most familiar with? I took a look in the demo environment a do have to see if there is currently any grouping patterns for URLs (when they are in a dropdown) and I didn't discover any (that were grouped).
On Wednesday, March 29, 2017 at 6:57:57 AM UTC-4, Sean O'Keeffe wrote: > > > > On Mon, Mar 27, 2017 at 3:10 PM, Ewoud Kohl van Wijngaarden < > ew...@kohlvanwijngaarden.nl <javascript:>> wrote: > >> On Wed, Mar 22, 2017 at 04:44:51PM +0000, Sean O'Keeffe wrote: >> > On Wed, Mar 22, 2017 at 1:40 PM, Ewoud Kohl van Wijngaarden < >> > ew...@kohlvanwijngaarden.nl <javascript:>> wrote: >> > >> > > On Mon, Mar 20, 2017 at 03:50:30PM +0000, Sean O'Keeffe wrote: >> > > > On Mon, Mar 20, 2017 at 2:25 PM, Lukas Zapletal <lz...@redhat.com >> <javascript:>> wrote: >> > > > > Can you elaborate more on motivation? Multi-homed proxy is still >> one >> > > > > instance, why would >> > > > > Foreman need to reach to it in two different ways? >> > > > >> > > > This is for clients to reach a proxy in the different ways, NOT >> foreman. >> > > > >> > > > >> > > > > Isn't the result always the same (a change on the same instance)? >> How >> > > > > about relaxing >> > > > > the constraing when each individual proxy must have unique URL? >> Just >> > > > > checking before introducing another table (more SQL joins and >> query >> > > > > complexity). >> > > > > >> > > > If a Host / HostGroups can be assigned a URL/Hostname instead of a >> proxy >> > > > its useful for Multi-homing, loadbalancing & NAT'ed environments, >> maybe >> > > > others? >> > > > What does relaxing the unique URL constrain actually give us? I >> think if >> > > > you have 2 proxies with the same URL that's just effectively >> duplicating >> > > > the object? >> > > > >> > > > Or if you mean creating 2 proxies with different URLs (an external >> & and >> > > > another internal one) I think would be problematic when Foreman >> needs to >> > > > talk to the Proxy. E.g Host needs to talk to >> proxy1-external.example.com >> > > > but foreman must talk to the proxy via proxy1-internal.example.com. >> If >> > > we >> > > > have 2 proxies in foreman ( proxy1-internal & proxy1-external ) and >> you >> > > > assign a host proxy1-external foreman would try to connect to >> > > > proxy1-external.example.com to create a DHCP or DNS or something >> else >> > > with >> > > > would not work. >> > > >> > > I think a different URL for clients and Foreman itself makes a lot of >> > > sense. Now I have some trouble reading the design from the code. Could >> > > you describe how this would be used by a user? Maybe a screenshot from >> > > the new configuration page. >> > > >> > >> > Sure, >> > >> > I've added another tab to the Smart Proxies form, where you can add >> > "Secondary URLs". On the Host/Hostgroup from the user can then select a >> URL >> > for attributes like Puppet Master, Puppet CA (and Openscap and content >> > source for those plugins). I've uploaded some pictures to the PR as well >> > which should explain it much better. >> > >> > https://github.com/theforeman/foreman/pull/4346#issuecomment-288461410 >> > >> > One thing Stephen mentioned on the PR was if URLs could have many >> proxies >> > as well as proxies have many URLs. That would go someway to better load >> > balanced proxies. Which I think would be great, though I personally >> don't >> > like the idea of another form & menu item just to create URLs, I think >> we >> > have lots of forms and menu items already.. >> >> As a user it feels very complex and overwhelming. This is a perfect >> example where a use case for a complex deployment makes it harder for >> simple deployments. >> >> I'm not against it, but just some thinking out loud to see if we both >> get what the impact is. >> >> How often do you have multiple URLs? My feeling is that there are the >> following use cases: >> >> # A proxy has 1 URL >> >> This is the current situation. Speaks for itself. Question here is how >> you display a proxy with only 1 URL. Do you simplify it so it matches >> the current UI or keep it consistent with multiple URLs? >> > > I would say keeping the UI consistent with multiple URLs would be better, > as it would look funny IMO if you have grouped options listing > URLs/hostname and ungrouped options listing proxies names. > maybe Roxanna or someone else has some input on this? > > Maybe we could: > Just listing the Hostname? > or if the URL has a Name attribute they could select a Name? Something > like "Atlanta - Dev Network". @stbenjam suggested that on the PR. > > >> # A proxy has 2 URLs >> >> Here we have a separate network for Foreman and its proxies. Then the >> clients talk to their proxies on another network for other services >> (puppet, DHCP etc). >> That means we have a URL for the internal network and a URL for the >> client network. >> >> # A proxy has multiple URLs for multiple clients >> >> A proxy could live in multiple client networks and serve them with >> different names. I'm wondering how common this is and it's really an >> added benefit. If you're separating anyway, maybe we should just >> recommend deploying multiple proxies. >> > > That's the currently way, but when you have lots of networks you end up > having to have lots of unnecessary Proxies on small networks that otherwise > wouldn't need it. > > >> >> Regarding the use case where a URL has multiple proxies: this is a proxy >> cluster. You could reason the other way around. Let me explain that. >> Currently a proxy has multiple features. Each feature is reachable under >> the same URL as a proxy. What you could consider is that you have the >> proxy feature class. >> >> ProxyFeature >> * name (puppet, tftp) >> * URL >> * foreman proxies (1 or more) >> >> Now you do need some logic to know if Foreman needs to talk to 1 of the >> proxies or all. In the case of importing puppet classes you just need 1, >> but in case of tftp all need to download. Some features might not allow >> multiple proxies. >> >> One complexity might be that not everything is a URL. tftp is just an IP >> or hostname. >> >> Does that make sense? >> > > Kind of, but I don't really like it to be honest. Storing a URL N times > for every feature seems unnecessary to me? If we need the IP then we could > get that from a lookup using the hostname, which I think is how its done > currently. Though yes, it is a valid point some features wouldn't be able > to make use of all URLs, I would consider these edge cases (as most would > 'JustWork'™) and we can document which features work and don't work with > multiple interfaces. DHCP for example - I think the installer only > currently supports 1 interface, but not everyone uses DHCP. > > > *It'd be really nice to get other people input on this as well! Even a > simple +1 or -1 with a short sentence would be appreciated :-) * > Especially guys from OpenSCAP, Katello & Remote EX plugins... > > >> > > >> > > > > On Wed, Mar 15, 2017 at 11:18 AM, Sean O'Keeffe < >> soke...@redhat.com <javascript:>> >> > > > > 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...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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.