7 Replies Latest reply on May 28, 2013 3:53 PM by Jared Murrell

    BSA on RHEL 6 - Provisioning OS Components

    Jared Murrell

      Howdie! I've been working on a build of BSA for provisioning but I'm running into a weird issue. Here's what I'm working with:



      Sun SunFire X4100

      4x quad-core CPU

      32GB RAM

      4x 279GB HDD



      Red Hat Enterprise Linux 6.1 (64bit)

      BladeLogic Server Automation 8.3 (8.3.00)

      Oracle Database 11gR2 patch-set 3 (


      I've installed Linux with a minimal install and added the required packages after. I installed Oracle Database and ran all of the necessary scripts to populate the tablespace. Then I install BSA and everything appears to work properly. Here's where there's a problem:


      1) When I click on Configuration->Provisioning Configurations and add a new OS type it works fine, but using that to create a System Package produces no OS components.


      If I use the default SLES 11 provisioning configuration then I get OS components, like below, but this does not allow me to maintain multiple versions of the same OS (SLES 11.1, SLES 11.2, 32bit, 64bit, etc...). This issue proves true for all OS types that I try to create.



      2) My second issue is that when I customize this system package, the ??DATA_STORE_IP?? value is never added to the autoyast or kickstart files that get passed to the client. The result is that I get an entry like "http:///redhat6/rhel61-x86_64" instead of "", and the systems won't provision unless I write a script to modify the file before it serves it to the client (which is a window of about 30 seconds when using Skip-Linux).


      I have tried re-installing all components from the OS to the database to the application server over 20 times and I can't get it working right. Conversely, I have installed this in a VM under ESXi (running on Dell servers) and I can't get the VM to behave this way... the VM's work perfectly without flaw, but this system doesn't work. My VM's are running the same software versions and patch levels. Has anyone ever seen this sort of issue before?


      3) The last issue with this server is that the Application Server fails to start when the system starts. If I disable blprocserv and blpxe then the appserv service will start automatically, but it fails when all services are enabled because one of the other services opens port 9750 before the Application Server finishes starting up. I don't have this issue when installed on the Dell or VM instances either

        • 1. Re: BSA on RHEL 6 - Provisioning OS Components
          Bill Robinson

          1 - known 'issue'.  you must use the 'use script for os component selection' here and put in the yast xml that describes the packages you want to install.  this is due to creating a custom os type.


          2 - did you populate the 'LOCATION' property in the datastore PSI you are using w/ this system package/job ?  can you show a screenshot of the datastore psi values you are using here?  when you said you installed 'this' in a VM that seems to work, are you referring to the entire bsa infra including the db or what?


          3 - what other service binds to 9750 ?  i would bet that _pxe or _spawner have the 'minport' and 'maxport' set in blasadmin to conflict w/ the appserver deployment.  you should be able to change this ports each instance uses to not conflict. 

          1 of 1 people found this helpful
          • 2. Re: BSA on RHEL 6 - Provisioning OS Components
            Jared Murrell

            1) Thanks... I don't remember that being the case when I built it the first time, but I may have just used the default and not paid that close attention that time around.

            2) Attached. When I refer to having done "this" in a VM, I mean the entire setup. From Linux install, to DB install, to BSA install. I did the OS, DB and BSA install on all of these systems, in production and in the lab.


            3) I'll double-check that. Thanks. Again, that's something that doesn't happen in the lab, and I installed them side-by-side typing the same thing. Thanks for the tips and info

            • 3. Re: BSA on RHEL 6 - Provisioning OS Components
              Bill Robinson

              that's weird for #2 - on the provisioning job you could try setting the 'DEBUG_MODE_ENABLED' property to true, and re-running the job that has this behavior.  then post the log.  that may show why it's not able to resolve the property value.

              • 4. Re: Re: BSA on RHEL 6 - Provisioning OS Components
                Jared Murrell

                I've attached the debug. The job never fails because the timeout is set to 0, so it just keeps checking the database for updates. Also, I've attached a kickstart that it generates for my RHEL provisioning job, so you can see the missing Data Store info

                • 5. Re: Re: BSA on RHEL 6 - Provisioning OS Components
                  Jared Murrell

                  I only ran the debug on the RHEL package, but I have this problem on all provisioning jobs. I was able to edit the 00-11-22-33-44-55 file before it was delivered to the client and it properly installed the OS, so everything else appears fine with the App Server

                  • 6. Re: Re: BSA on RHEL 6 - Provisioning OS Components
                    Jared Murrell

                    I found this in the debug log:


                    [28 May 2013 14:36:05,683] [Job-Execution-0] [DEBUG] [BLAdmin:BLAdmins:] [Provisioning] [] Unable to find String resource: property_set_class.-2000300.name in com.bladelogic.om.infra.model.util.CoreDatamessages

                    java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key property_set_class.-2000300.name

                        at java.util.ResourceBundle.getObject(ResourceBundle.java:374)

                        at java.util.ResourceBundle.getString(ResourceBundle.java:334)

                        at com.bladelogic.om.infra.model.util.CoreDataMessages.getString(CoreDataMessages.java:154)

                        at com.bladelogic.om.infra.model.primitive.typedef.SStringResource.getLocalizedValue(SStringResource.java:78)

                        at com.bladelogic.om.infra.model.primitive.typedef.SStringResource.getValue(SStringResource.java:131)

                        at com.bladelogic.om.infra.model.base.SPropertySetClass.getName(SPropertySetClass.java:330)

                        at com.bladelogic.om.infra.model.property.LazyPropertySetClassImpl.getName(LazyPropertySetClassImpl.java:1561)

                        at com.bladelogic.om.infra.model.property.LazyPropertySetClassImpl.<init>(LazyPropertySetClassImpl.java:1474)

                        at com.bladelogic.om.infra.model.property.LazyPropertySetClassImpl.clone(LazyPropertySetClassImpl.java:1557)

                        at com.bladelogic.om.infra.model.depot.DepotObjectImpl.<init>(DepotObjectImpl.java:230)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageImpl.<init>(SystemPackageImpl.java:223)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageImpl.<init>(SystemPackageImpl.java:256)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.LinuxSystemPackageImpl.<init>(LinuxSystemPackageImpl.java:47)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.RedHatSystemPackageImpl.<init>(RedHatSystemPackageImpl.java:35)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageFactory.generateSystemPackageType(SystemPackageFactory.java:1572)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageFactory.getSystemPackage(SystemPackageFactory.java:1333)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageFactory.createCopyForProvisioning(SystemPackageFactory.java:605)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageFactory.createCopyForProvisioning(SystemPackageFactory.java:600)

                        at com.bladelogic.om.provisioning.model.provision.systempackage.SystemPackageFactory.createAndInitializeJobRunSpecificCopy(SystemPackageFactory.java:632)

                        at com.bladelogic.om.provisioning.model.job.provision.ProvisionJobExecutor$1.doDBOperation(ProvisionJobExecutor.java:535)

                        at com.bladelogic.om.infra.app.db.TransactionalOperation.manageTransaction(TransactionalOperation.java:174)

                        at com.bladelogic.om.infra.app.db.TransactionalOperation.execute(TransactionalOperation.java:136)

                        at com.bladelogic.om.provisioning.model.job.provision.ProvisionJobExecutor.sendOutWorkItems(ProvisionJobExecutor.java:864)

                        at com.bladelogic.om.provisioning.model.job.provision.ProvisionJobExecutor.startJobExecution(ProvisionJobExecutor.java:1052)

                        at com.bladelogic.om.infra.app.service.job.JobExecutor.processEvent(JobExecutor.java:437)

                        at com.bladelogic.om.infra.app.service.job.JobExecutor.processEvents(JobExecutor.java:291)

                        at com.bladelogic.om.provisioning.model.job.provision.ProvisionJobExecutor.processEvents(ProvisionJobExecutor.java:1019)

                        at com.bladelogic.om.infra.app.service.job.execution.JobExecutionThread.execute(JobExecutionThread.java:116)

                        at com.bladelogic.om.infra.app.service.job.execution.JobExecutionThread.execute(JobExecutionThread.java:25)

                        at com.bladelogic.om.infra.app.service.thread.BlBlockingThread.run(BlBlockingThread.java:95)

                    • 7. Re: Re: BSA on RHEL 6 - Provisioning OS Components
                      Jared Murrell

                      I found the answer. When I tried to add the DATA_STORE value directly to the System Package (I had previously been adding it when I created the job) I got the error that's attached. local_datastore.png

                      I then looked at my Data Store configuration and found that I had configured all of the Instances under LocalDataStore Instance and it gave me no errors. After configuring it under the main PXE DataStore Instance it populates the field during the job execution. I checked my servers in the lab and they work because I had them under PXE DataStore, but somewhere along the line I put them under the LocalDataStore for our production servers. I guess I've just been staring at the screen for too long. Thanks for the assistance