1 2 Previous Next 24 Replies Latest reply on Nov 4, 2011 12:00 PM by Bill Robinson

    provisioning solaris 10 x86

    Basilio Urrutia

      Hi,

       

      I'm trying to provision a machine with solaris 10 x86 but the provision job hung up in the step 6/7.

       

      The machine when reboots show me the next error:

       

      ProxyDHCP service did not reply to request on port 4011.

       

      I configured the DHCP server on the Jumpstart server followind the oracle's bigadmin.

       

      The provision job show me the following:

       

      Info Feb 21, 2011 11:29:47 AM Running provisioning job with data store: solaris
      Info Feb 21, 2011 11:29:48 AM Preparing jumpstart sysidcfg file
      Info Feb 21, 2011 11:29:48 AM Preparing jumpstart profile file
      Info Feb 21, 2011 11:29:48 AM Preparing jumpstart begin script file
      Info Feb 21, 2011 11:29:48 AM Preparing BladeLogic finish script file
      Info Feb 21, 2011 11:29:48 AM Preparing user finish script file
      Info Feb 21, 2011 11:29:48 AM Preparing jumpstart finish script file
      Info Feb 21, 2011 11:29:48 AM Preparing jumpstart reboot script file
      Info Feb 21, 2011 11:29:48 AM copying sysidcfg file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/sysidcfg
      Info Feb 21, 2011 11:29:48 AM copying profile file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/profile
      Info Feb 21, 2011 11:29:48 AM copying begin script file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/begin.sh
      Info Feb 21, 2011 11:29:48 AM copying BladeLogic finish script file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/blfinish.sh
      Info Feb 21, 2011 11:29:48 AM copying user finish script file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/userfinish.sh
      Info Feb 21, 2011 11:29:48 AM copying finish script file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/finish.sh
      Info Feb 21, 2011 11:29:48 AM copying reboot script file to //SOL10u9-ZFS/jumpstart/BladeLogic/00-50-56-BA-00-1C/reboot.sh
      Info Feb 21, 2011 11:29:48 AM copying agent installer
      Info Feb 21, 2011 11:29:48 AM copying agent installer defaults file
      Info Feb 21, 2011 11:29:48 AM copying bmisolaris callback agent
      Info Feb 21, 2011 11:29:48 AM creating new rules file
      Info Feb 21, 2011 11:29:48 AM will add a new rule entry for in file //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/rules
      Info Feb 21, 2011 11:29:48 AM copying new rules file to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/rules
      Info Feb 21, 2011 11:29:48 AM copying rule checker script to //SOL10u9-ZFS/export/config/BladeLogic/00-50-56-BA-00-1C/checkRule.sh
      Info Feb 21, 2011 11:29:48 AM executing rule checker script
      Info Feb 21, 2011 11:29:48 AM Validating rules...

      Info Feb 21, 2011 11:29:49 AM The custom JumpStart configuration is ok.

      Info Feb 21, 2011 11:29:50 AM rule checker succeeded
      Info Feb 21, 2011 11:29:50 AM copying add install client script to //SOL10u9-ZFS/jumpstart/BladeLogic/00-50-56-BA-00-1C/addInstall.sh
      Info Feb 21, 2011 11:29:50 AM executing add install client script
      Info Feb 21, 2011 11:29:51 AM If not already configured, enable PXE boot by creating

      Info Feb 21, 2011 11:29:51 AM a macro named 01005056BA001C with:

      Info Feb 21, 2011 11:29:51 AM   Boot server IP (BootSrvA) : 192.168.60.76

      Info Feb 21, 2011 11:29:51 AM   Boot file      (BootFile) : 01005056BA001C

      Info Feb 21, 2011 11:29:52 AM add install client succeeded
      Info Feb 21, 2011 11:29:52 AM executing reboot script
      Info Feb 21, 2011 11:29:53 AM reboot script succeeded
      Info Feb 21, 2011 11:37:14 AM copying remove install client script to //SOL10u9-ZFS/jumpstart/BladeLogic/00-50-56-BA-00-1C/rmInstall.sh
      Info Feb 21, 2011 11:37:14 AM executing remove install client script
      Info Feb 21, 2011 11:37:14 AM To disable 00:50:56:ba:00:1c in the DHCP server,

      Info Feb 21, 2011 11:37:14 AM   remove the entry with Client ID 01005056BA001C

      Info Feb 21, 2011 11:37:15 AM remove install client succeeded
      Info Feb 21, 2011 11:37:15 AM Restoring device to imported state due to failed provisioning job
      Info Feb 21, 2011 11:37:16 AM decomissioning server that was being enrolled

       

      What is wrong?

       

      Thanks for help,

        • 1. Re: provisioning solaris 10 x86
          Bill Robinson

          Do you have bladelogic pxe provisioning running in the same subnet?  What happened on the target system?

          • 2. provisioning solaris 10 x86
            Basilio Urrutia

            Hi, Bill

             

            Yes, the bladelogic pxe provisioning running is in the same subnet.

             

            In the target machine when I reboot it manually, it gets the IP that I want and show me the next error:

            ProxyDHCP service did not reply to request on port 4011.

             

            And the target machine don't install the OS.

            • 3. Re: provisioning solaris 10 x86
              Bill Robinson

              solaris pxe and bladelogic pxe cannot exist on the same subnet.

              • 4. provisioning solaris 10 x86
                Basilio Urrutia

                Thanks, Bill!

                Another question..Do I Have to necessarily configure a Dhcp server on the jumpstart server? or Can I provision the target machine adding its MAC address in etc/ethers without DHCP server?

                • 5. provisioning solaris 10 x86
                  Paul Seager-Smith

                  You don't need a DHCP server on the Jumpstart server. We use the normal DHCP to start things up and then direct the target server to the Jumpstart server to do the install. You need to add a number of special DHCP entries into the dhcpd.conf file though to get this to work.

                   

                  If you don't use DHCP, then I think you will have to use BOOTP and this is normally done on the Jumpstart server.

                   

                  Regards,

                   

                  Paul

                  • 6. provisioning solaris 10 x86
                    Bill Robinson

                    For x86 though you can't use bootp afaik.

                     

                    I wrote a few notes on x86 a while ago - here are some relevant snippets:

                     

                    Coexistence Considerations for x86 Solaris

                    Because the Solaris x86 Jumpstart uses PXE to boot the systems (as opposed to BOOTP for SPARC) you must ensure the network is not running any other PXE services. This may include RIS (Microsoft's provisioning tool), Altiris, or even BladeLogic. It may be possible to get these tools to coexist. Alternatively, the different operating systems could be provisioned on different VLANs.

                    auto_discover_disabled

                    For the BladeLogic tool, there is an option in the pxe.conf named auto_discover_disabled. This can be set to '1' to disable the auto discovery function. This will ensure the BladeLogic PXE server responds to only MAC addresses that it has pre-registered for Linux or Windows provisioning. This may have implications for the Linux/Windows build process so this should be discussed. A similar option may be available for other PXE-based provisioning tools.

                     

                    You will also have to pass the 'next-server' and 'filename' options to only the x86 solaris targets, which you could do in the dhcp configuration.  but it may be eaiser to have your bladelogic pxe and jumpstart pxe on different networks.

                     

                    Fix the add_install_client script for x86 Solaris

                    The add_install_client (in /jumpstart/sol_10_1009_x86/Solaris_10/Tools) that ships with jumpstart may incorrectly generate the required files. See the following examples for pointers on how to fix the script.

                    From the 10/09 Release of Solaris 10 x86 we see a section in the file:

                                   printf "\tkernel\$ /${BootLofs}/multiboot " >> $Menufile
                                    printf "kernel/\$ISADIR/unix -B ${BARGLIST}" >> $Menufile
                                    if [ "${CONFIG_SERVER}" ]; then
                                            HOST_ADDR=""
                                            get_hostaddr ${CONFIG_SERVER}
                                            printf "install_config=" >> $Menufile
                                            printf "${HOST_ADDR:-${CONFIG_SERVER}}" >> $Menufile
                                            printf ":${CONFIG_PATH}," >> $Menufile
                                    fi

                    There seem to be a number of issues here. the $ISADIR variable does not exist, and extra $ are appended to the 'kernel' option. Additionally, this will never generate a valid boot file, because we need to add the 'install' and 'nowin' to run the install and not show the X-windows environment. A good file looks like:

                                 printf "\tkernel /${BootLofs}/multiboot " >> $Menufile
                                    printf "kernel/unix - install nowin -B ${BARGLIST}" >> $Menufile
                                    if [ "${CONFIG_SERVER}" ]; then
                                            HOST_ADDR=""
                                            get_hostaddr ${CONFIG_SERVER}
                                            printf "install_config=" >> $Menufile
                                            printf "${HOST_ADDR:-${CONFIG_SERVER}}" >> $Menufile
                                            printf ":${CONFIG_PATH}," >> $Menufile
                                    fi

                    Note the removal of $ at the end of the 'kernel' and, removal of $ISADIR and the addition of install and nowin.

                    The 10/08 release was slightly different, but did have similar issues:

                    The original file contains a section like:

                                   if [ "${CONFIG_SERVER}" ]; then
                                            printf "\tkernel /${BootLofs}/multiboot " >> $Menufile
                                            printf "kernel/unix -B ${BARGLIST}" >> $Menufile
                                            HOST_ADDR=""
                                            get_hostaddr ${CONFIG_SERVER}
                                            printf "install_config=" >> $Menufile
                                            printf "${HOST_ADDR:-${CONFIG_SERVER}}" >> $Menufile
                                            printf ":${CONFIG_PATH}," >> $Menufile
                                    else
                                            printf "\tkernel /${BootLofs}/multiboot " >> $Menufile
                                            printf "kernel/unix -B ${BARGLIST}" >> $Menufile
                                    fi

                    This version needs only the addition of the 'nowin' and 'install' options:

                                   if [ "${CONFIG_SERVER}" ]; then
                                            printf "\tkernel /${BootLofs}/multiboot " >> $Menufile
                                            printf "kernel/unix - install nowin -B ${BARGLIST}" >> $Menufile
                                            HOST_ADDR=""
                                            get_hostaddr ${CONFIG_SERVER}
                                            printf "install_config=" >> $Menufile
                                            printf "${HOST_ADDR:-${CONFIG_SERVER}}" >> $Menufile
                                            printf ":${CONFIG_PATH}," >> $Menufile
                                    else
                                            printf "\tkernel /${BootLofs}/multiboot " >> $Menufile
                                            printf "kernel/unix - install nowin -B ${BARGLIST}" >> $Menufile
                                    fi


                    Obviously future versions may have different errors.

                     

                     

                    Setup DHCP for x86 Solaris
                    [edit] ISC and Windows DHCP

                    For a non-Solaris DHCP, a couple of DHCP options must be defined and then set in the scope servicing the provisioning network[1].

                        * For x86 Solaris you should define the following options:

                      option space SUNW;
                      option SUNW.JumpStart-server code 14 = text;

                        * In the DHCP Scope the following options should be defined:

                      next-server     192.168.65.42;
                      filename "pxegrub.I86PC.Solaris_10-1";
                      vendor-option-space SUNW;
                      option SUNW.JumpStart-server "192.168.65.42:/jumpstart";

                        * The 'next-server' option is the IP of the Jumpstart Boot Server (has the tftp images/server)
                        * The 'SUNW.JumpStart-server option is the 'IP' of the Jumpstart Install Server and the NFS share path to the root of the Solaris media
                        * The 'filename' option is the name of the tftp image to boot from, located under the /tftpboot directory on the Jumpstart Boot Server. Note that this file is copied and removed by the add_install_client/rm_install_client scripts and may not always be present in the directory.

                    1 of 1 people found this helpful
                    • 7. provisioning solaris 10 x86
                      Basilio Urrutia

                      Thanks for the help!

                      • 8. provisioning solaris 10 x86
                        Basilio Urrutia

                        Hi, again

                         

                        I can provision the target machine with solaris, but in the provision job always hangs up in the step 6/7 and never finish althoug the target machine is provisioned.

                         

                        Is that normal?

                        • 9. Re: provisioning solaris 10 x86
                          Bill Robinson

                          No.  did you put the bmisolarisx86 file up on the jumpstart directory as noted in the install doc?

                          • 10. Re: provisioning solaris 10 x86

                            Is the agent installed on the provisioned server? Can you run agentinfo against that server?

                            • 11. Re: provisioning solaris 10 x86
                              Basilio Urrutia

                              Yes, I have the bmisolarisx86 file in the config server:

                               

                                   /export/config/BladeLogic/rscd/bmisolaris-x86.tar    nsh-install-defaults  rscd-sol-x86.sh

                               

                              Yes, The agent was installed in the target machine.

                               

                              And the last of provision job show me is the following:

                               

                              Info Feb 24, 2011 3:20:45 PM executing add install client script
                              Info Feb 24, 2011 3:20:46 PM copying boot file to /tftpboot/pxegrub.I86PC.Solaris_10-1

                              Info Feb 24, 2011 3:20:47 PM If not already configured, enable PXE boot by creating

                              Info Feb 24, 2011 3:20:47 PM a macro named 01005056BA0020 with:

                              Info Feb 24, 2011 3:20:47 PM   Boot server IP (BootSrvA) : 192.168.60.76

                              Info Feb 24, 2011 3:20:47 PM   Boot file      (BootFile) : 01005056BA0020

                              Info Feb 24, 2011 3:20:48 PM add install client succeeded
                              Info Feb 24, 2011 3:20:48 PM executing reboot script
                              Info Feb 24, 2011 3:20:49 PM reboot script succeeded

                               

                              Why the provision job hang up in step 6/7 and it never  finish?

                              • 12. Re: provisioning solaris 10 x86
                                Bill Robinson

                                are there any logs on the target server in / related to provisiong - something like blprov.log or similar? 

                                 

                                looking for output of the bmi run.

                                • 13. provisioning solaris 10 x86
                                  Hemal Shah

                                  Check for bmisolaris.log on the target machine. Check for the validity of the IP address of the application server. Also check if the application server has SSL port 9831 opened.

                                  • 14. Re: provisioning solaris 10 x86

                                    So, did anyone manage to solve this issue?

                                    My bmisolaris.log says this:

                                     

                                    ld.so.1: bmisolaris-x86: fatal: relocation error: file /etc/rc3.d/bmisolaris-x86

                                    : symbol _register_forkhandler: referenced symbol not found

                                     

                                    What could it be?

                                     

                                    By the way, por 9831 is open.

                                    1 2 Previous Next