I see. This makes things even better. -Jan
----- Original Message ----- From: Sangeeta Misra <sangeeta.mi...@sun.com> Date: Monday, March 23, 2009 6 Subject: Re: [ilb-dev] writeup for the SCF thing To: Zhenghui.Xie at Sun.COM Cc: ilb-dev at opensolaris.org, Michael Schuster <Michael.Schuster at Sun.COM> > Jan > I think we voted against the -t option. Other than that the rest of > the notes are as I remember it. > > Sangeeta > 1. ilb will have one single instance in SMF framework: > svc:/network/loadbalancer/ilb:default > 2. persistent configuration of ilb is saved in SCF. > 3. rules, servergroups and healthcheck objects will be property groups > for the > ilb instance. When user use ilbadm to create them, a new property > group will > be created in SCF. When user destroy them, the property group will > be deleted > from SCF. > 4. When user ilbadm uses to change the configuration, the change saves > to SCF > implicitly, unless user uses '-t' to state the configuration is temporary. > 5. 'ilbadm import' reads from a file and override what is in SCF, > meaning that > all existing property groups will be deleted, and new property > groups will be > created based on the content of the file. > 6. 'ilbadm export' reads from SCF and output all property groups of > ilb instance > to a file in certain format. This format is readable to 'ilbadm import'. > 7. user can use svcprop(1) to get ilb configuration. But should NOT use > svccfg(1M) to change ilb configuration. > 8. use 'svccfg import/export' is not equivalent to 'ilbadm > import/export' and > cannot be used exchangeable. If user wants to import/export ilb > configuration, 'ilbadm import/export' should be used. 'ilbadm > import' cannot > read output from 'svccfg export', vice versa. > 9. When daemon starts up, it reads from SCF to get configuration. > There will be > empty configuration when the first time daemon starts. > > Below is a sample layout of the ilb property groups/properties: > > prop-group name | property name | property type | property value > ------------------------------------------------------------------------- > rule123 status boolean disabled/enabled > vip net-v4-addr v4 IP address > vip6 net-v6-addr v6 IP address > port astring port range > ipversion int 4/6 > protocol astring TCP/UDP... > interface astring interface name > ilb-alg astring round-robin... > ilb-type astring NAT/DSR... > healthcheck astring healthcheck name > servergroup astring servergroup name > servergroup123 status boolean disabled/enabled > server1 astring IP-addr:port > server2 astring IP-addr:port > [ .... more servers....] > healthcheck123 hc-test astring test program > hc-timeout int timeout value in sec > hc-interval int interval val in sec > hc-count int test repeatition > > sample output from svcprop: > # svcprop svc:/network/loadbalancer/ilb:default > [ ..... skipped instance meta data .....] > rule123/status boolean enabled > rule123/vip net-v4 1.2.3.4 > rule123/vip6 net-v6 > rule123/port astring 100-200 > rule123/interface astring bge0 > rule123/ilb-alg astring round-robin > rule123/ilb-type astring NAT > rule123/healthcheck astring healthcheck123 > rule123/servergroup astring servergroup123 > [.... omitted more rules ....] > servergroup123/status boolean enabled > servergroup123/server1 astring 1.1.1.1:80 > servergroup123/server2 astring 1.1.1.2:80 > [.... omitted more servergroups....] > healthcheck123/hc-test astring TCP > healthcheck123/hc-timeout int 3 > healthcheck123/hc-interval int 60 > healthcheck123/hc-count int 2 > [.... omitted more healthchecks....] >