Hi Jason,
On 03/16/09 04:06, Jason Zhao wrote: > Hi, Sundar and Jan, > > I am preparing the the test of AI DNS discovery > solutions. From the AI design documents and > discussion of caiman-disuss mail list, I know for > 2009.06 release, multicast and config file solution > will work together for DNS discovery. > > Here are some possible cases in order to test > DNS solutions, please tell me your idea. Thanks! > > On AI server side: > ---------------------------------------------- > 1. After "create-service", the DNS message will be > registered on AI server, which enable AI client > make DNS multicast query on the same subnet. So > that, it requires to check if dns-sd register > value right or not. > E.G., > After > # installadm create-server -s <iso> </image/path> > just a nit: installadm create-server -> installadm create-service > it register the following process: > "dns-sd -R <service> <type> <domain> <port> <key=val>" > > To test, on server side, run > "dns-sd -L <service> <type> <domain>" > command to get AI server and socket information, > then verify its correctness. > That sounds good - you also need to verify that TXT record reported by 'dns-sd -L' points to the right location (your AI server under test), since 'dns-sd -L' looks up given service on whole local subnet. Also, the same check you describe below (setting install_svc_address) should be done here, since when install service is created, menu.lst (for x86) and install.conf (for Sparc) are populated with install_svc_address option as well. In this case, you need to take a look at following files x86: /tftpboot/menu.lst.<install_service> Sparc: </image/path>/install.conf > 2. For individual AI client, when it is not in > the same subnet with AI server. Let me clarify a bit - install_svc_address option is set in all cases, as there is no check if AI client is on the same subnet as AI server. > It requires to > check "menu.lst(X86)" and "install.conf(SPARC)" > after "installadm create-client" for individual > AI client. > E.G., > > # installadm create-client -e <mac> -n <service> > As far as I am aware of, <image_path> is also mandatory, so you will need to invoke installadm command in following way: # installadm create-client -e <mac> -n <service> -t <image_path> > check if menu.lst(X86) or install.conf(SPARC) > contains "install_svc_address" item with correct > AI Server IP address and socket information. > Yes, those files can be found at following locations: x86: /tftpboot/menu.lst.01<mac> sparc: <image_path>/install.conf > For above 2 cases, To verify correct AI server > and socket, it requires to access http://AI_Server:Socket > to make sure its correctness. > Correct. > > > On AI client side: > ---------------------------------------------- > On AI client side, to make sure AI clients are > able to find correct AI server and its socket, > the following verifications will do on AI client > after it boots up from AI image. > > 1. Run DNS multicast to find: > "dns-sd -L <service> <type> <domain>" > > 2. In case that DNS multicast fails, download > menu.lst.<mac> file or install.conf from AI server > to verify if AI client receive correct value. > > Frankly, at first, I thought it was necessary to do > above 2 verifications on AI client side, but now, I > find it may not be required, because item 1# has > already been verified during AI installation. As for > item 2#, if client receives wrong menu.lst or install.conf, > it is always network issue or configuration error on server > side and could be covered by AI server test cases. The > situation that AI client receives correct menu.lst > but intepretes it into wrong value is impossible, because > it means the devfs on kernel space is ruined. > Thinking about this, as far as this part of service discovery is concerned, what you might need to take a look at is if correct service name and correct service location was provided to AI client. For this check, it could be sufficient to take a look at install_service and install_svc_address options applying the same mechanism AI client uses: x86: # /usr/sbin/prtconf -v /devices | /usr/bin/sed -n '/install_service/{;n;p;}' | /usr/bin/cut -f 2 -d \' # /usr/sbin/prtconf -v /devices | /usr/bin/sed -n '/install_svc_address/{;n;p;}' | /usr/bin/cut -f 2 -d \' Sparc: # /usr/bin/grep "^install_service" /tmp/install.conf | /usr/bin/cut -d'=' -f2 # /usr/bin/grep "^install_svc_address" /tmp/install.conf | /usr/bin/cut -d'=' -f2` If you would like to verify if service discovery itself works, you could use either 'dns-sd -L' command you mention above or /usr/bin/ai_sd Python script available in AI image (please see usr/src/cmd/auto-install/README.test file for details). Thank you, Jan > Due to my limited understanding about AI, it would be > very appreciated if you can provide your comments about > cases. > > Great Thanks > Jason >
