Hi Erik,
Thank you for reading through the proposal. My responses are in-line.
                                                        Thank you,
                                                        Clay

On Wed, 31 Mar 2010, Erik Nordmark wrote:

On 03/30/10 11:21 PM, [email protected] wrote:
Hi all,
I've been thinking over the approach to take for supporting a multihomed
AI server, as now, one faces the bugs below. Please let me know by
Wednesday April 7th, 2010 if you see any issues.

Thank you,
Clay

Problem:
--------
Today, the OpenSolaris Automated Installer makes many assumptions which
prevent widespread or simple use of a server running multihomed.

Bugs:
6182 - installadm tools doesn't support install servers which have
mutiple subnets
6922 - installadm create-service should have option to specify ip address
passed to dhcp config
7115 - Custom wanboot.conf files are ignored in AI servers with multiple
NIC cards
7148 - installadm should give correct dhcp macro for the subnet being
configured on the server
7149 - installadm should allow user to choose which subnets to use

Requirements:
-------------
There are a number of desires for multihomed support in the Automated
Installer, however, the requirements picked are based on perceived
technical capabilities and customer site needs:
* The solution must be automatic
* The solution must support one to all subnets served by the server
* The solution must not depend on routing between subnets (i.e. subnets
are otherwise isolated)

Areas of impact:
---------------
* DHCP
Unable to automatically determine the router for an
arbitrary interface for initial DHCP setup (i.e. installadm -i and
-c options will be unsupported on a multihomed system):

I don't understand why this issue is specific for a multihomed server.

In general, either the DHCP server is explicitly configured with the default router options to return, or it has to infer/guess them from the kernel routing table on the DHCP server. In the former case, the configuration would have to be per interface. Are you concerned about the latter case?

On a single-homed server how do you infer/guess the router?
I can see using something functionally equivalent to
        netstat -rn -f inet | grep UG
and looking at the gateway field, or
        route get default

Such a technique can be extended to handle multiple interfaces. If the DHCP server is configured with source-based routing (See the recent putback to onnv - 4173841 Packet goes out with source IP address of another interface) then the above becomes
        netstat -rn -f inet | grep UG | grep $ifname
and looking at the gateway field, or
        route get default -ifp $ifname

If it isn't configured to do source-based routing then you'd need to resolve the gateway address (e.g., using the equivalent of route get) to find the interface.

I didn't realize we could do source-based routing, that's very cool for helping Solaris grow as a router platform, I'd imagine. Unfortunately, I see many systems being configured much more simply, however, so that they have one default route to the broader world and then simply use the local interfaces to talk to a particular subnet and are not themselves configured to forward or route traffic. As such, I don't think we can depend on the Solaris host to know all necessary default routes.

Currently, for a single network, we assume the machine has the subnet's desired default route and simply populate the result of parsing
netstat -rn.

SPARC:
Will provide an AI macro for each subnet
with differentiated BootFile location to provide the
correct IP for that subnet.

X86:
Will provide an AI macro for each service with a BootFile
location, however, it will be desired that an
administrator configure the BootSvrA location on a
per-subnet basis (i.e. in the network macro or some other
macro which is included for the clients' use)

(We will provide a template of Solaris DHCP commands as we do now,
however, IP addresses will need to be filled in by the admin as
it doesn't makes sense for us to become a multi-subnet DHCP
manager)

Is there a use case where the system will not be statically configured (but configured with DHCP) where the admin doesn't want to specify the interface. In such a case wouldn't the admin just want to say "this MAC address (or client ID)" and have that apply to all interfaces on the DHCP server?

I'm not quite sure if I'm understanding your question correctly. I think you're asking for a client configured via DHCP but where a DHCP administrator does not want to specify what interface the client will request on?

If so, that is envisioned to be handled by a nifty feature of the Solaris DHCP server. The administrator will be advised to create a macro on the server keyed off the client ID (MAC address). However, macros are served off any interface the server is configured for. Lastly, the server will overlay macros, so the client will get data such as router and boot server from the particular network macro and then get the boot file info it needs out of its client specific macro.

* mDNS
Will have a separate mDNS responder listening on each interface to
respond with the correct IP address to advertise for the AI
webserver and interface.

Possible solutions for this are to use the PyZeroConf[1] library
or writing a Python CTypes bridge to libdns_sd.so.

I think IPS will use pybonjour, thus it makes sense to look at it as well.

Ah very cool to hear they've come to use pybonjour. It seems to be a good implementation taking advantage of the libdns_sd library opposed to providing its own mDNS bits. Thank you for the pointer.

  Erik

* GRUB
Will extend the install_media and install_svc_address fallback
mechanisms in slim_source's
usr/src/cmd/auto-install/svc/manifest-locator as delivered by GRUB
to flag for using dhcpinfo(1) instead to locate which machine
provided the boot server via DHCP and use that IP address.

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to