Thursday, August 19, 2010

Service auto discovery in future Solaris

While looking at changes for the future packaging system in Solaris I stumbled on a putback that included pybonjour in the pkg(5) gate. Apparently Solaris of the future is going to be using zeroconf for auto discovery of packages repositories. Looking through other OpenSolaris project it seems like this and NWAM also will be using auto discovery. OpenSolaris have had support for mDNS discovery since build 72 but the pkg use-case is what got me interested.

This will allow clients on the same network to discover mirrors of the repository and use them to ease the load on the primary repository. The mirroring service is easily enabled:

# svcadm enable application/pkg/dynamic-mirror

From pkg.depotd(1M):

"The pkg depot is also able to act as a mirror server for local client images from pkg(5). This allows clients that share a subnet on a LAN to mirror their file caches. Clients may download files from one another, thereby reducing load on the package depot server. This functionality is available as an alternate depot service configured by smf(5). It uses mDNS and dns-sd for service discovery."

From pkg(1):

"mirror-discovery
(boolean) Mirror-discovery tells the client to discover
link-local content mirrors using mDNS and DNS-SD. If this is
set to True, the client will attempt to download package content
from mirrors it dynamically discovers. To run a mirror that
advertises its content via mDNS, see pkg.mdnsd(1m)."


# pkg set-property mirror-discovery True

Network Auto Magic (NWAM) will include service auto discovery of DNS and naming services:
http://hub.opensolaris.org/bin/view/Project+nwam/service-discovery

No comments: