Server Hardware Patches

(imported topic written by SystemAdmin)

Has anyone (including BigFix) considered trying to implement Server patching into the BigFix application? What we are really looking at is DELL Openmanage IT Assistant like functionality. I.E. the ability to push out DELL hardware / firmware / device drivers. All the packages are .exe or /msi based.

Dell informed us they are willing to work with any vendor to enabled automatic downloading and caching of the Dell content. And the creation of the relevance to target the systems. So my question is, is it possible to get that level of information from the BES agents (Bios versions, Firmware levels, etc.)? And is this something someone has done or is it on the BigFix radar?

(imported comment written by BenKus)

Hi jspanitz,

We don’t offer BigFix-provided Fixlet sites for computer manufacturers like Dell today, but since the updates take a standard form like you mentioned, you should be able to write relatively straight-forward Fixlets to do the updates. Usually the information about the hardware can be found in WMI for Windows systems.

If you would like, post a specific update you are looking for and we can assist you with the relevance to create the Fixlet.

Ben

(imported comment written by SystemAdmin)

Sorry to bring this thread back from the dead but…

We are trying to deploy the DELL Openmanage Agents to Linux servers. The package is in .tar format. Inside the package is a shell script called setup.sh. We are trying to use the RPM deployment wizard to install and run the package.

Here is the action script:

download http://servernamehere:52311/Uploads/ad1c57c08327c277a364c642cf42e1ee9a10d5de/big101.tmp

continue if { (size of it = 83940049 and sha1 of it = “ad1c57c08327c277a364c642cf42e1ee9a10d5de”) of file “big101.tmp” of folder “__Download”}

extract big101.tmp

wait bash -c “if ; then mv -f '__Download/OM_5.4.0_ManNode_A01.tar ’ ‘__Download/OM_5.4.0_ManNode_A01.tar’; fi”

download http://software.bigfix.com/download/bes/util/RPMDeploy-1_0.sh

continue if {(size of it = 5614 AND sha1 of it = “16dbbff71ff2b300a299069aca16ca0c263e9627”) of file “__Download/RPMDeploy-1_0.sh”}

wait bash __Download/RPMDeploy-1_0.sh “{pathname of client folder of site “rhelpatches”}” {id of action} “__Download/OM_5.4.0_ManNode_A01.tar”

wait sh setup.sh -x -a

The wait sh srvadmin-install.sh -x -a was added by us, taken from the few examples we could find for linux and does not seem to be working.

The second question is how does one go about detecting Linux servers on DELL hardware with either old versions of Openmanage Server Agents or no agents at all?

We have this working in it’s entirety on Windows. Linux is stopping us cold.

(imported comment written by BenKus)

What is the failure you get when you run this? Does it give a failed message on a specific line?

Ben

(imported comment written by Doug_Coburn)

If I’m looking at this correctly it looks like you used the RPM Deploy Wizard. If so you can remove the wait line for the RPMDeploy.sh which is provided by the RPM Deploy wizard.

Also I would change the wait command for setup.sh to be:

wait sh __Download/setup.sh -x -a

When you use the extract command the files should get extracted to the __Download folder in the current site. What happens when you just do “wait sh setup.sh” is that the sh is looking for the .sh file in CWD instead of the __Download folder. Also is the script interactive or silent?

Thanks,

Doug

(imported comment written by SystemAdmin)

So here is what we did to get it to work:

download http://pabigfix01.rodale.com:52311/Uploads/ad1c57c08327c277a364c642cf42e1ee9a10d5de/big101.tmp

continue if { (size of it = 83940049 and sha1 of it = “ad1c57c08327c277a364c642cf42e1ee9a10d5de”) of file “big101.tmp” of folder “__Download”}

extract big101.tmp

wait bash -c “if ; then mv -f '__Download/OM_5.4.0_ManNode_A01.tar ’ ‘__Download/OM_5.4.0_ManNode_A01.tar’; fi”

wait bash -c “cd __Download; tar xvf OM_5.4.0_ManNode_A01.tar”

wait bash -c “__Download/linux/supportscripts/srvadmin-install.sh --express”

wait bash -c “__Download/linux/supportscripts/srvadmin-services.sh start”

Ok, last question, is there a way to distinguish between versions of RHEL? For instance, RHEL3 vs RHEL4 or RHEL 5? Like on windows:

EX: name of operating system = “Win2000” or name of operating system = “Win2003” or name of operating system = “WinXP” or name of operating system = “WinNT”).

Thanks!

(imported comment written by jessewk)

We use these relevance clauses to distinguish between RHEL versions:

RHEL 3:

exists file “/etc/redhat-release” whose (exists line whose (exists match (regex “Red Hat Enterprise Linux (AS|ES|WS) release 3”) of it) of it)

RHEL 4:

exists file “/etc/redhat-release” whose (exists line whose (exists match (regex “Red Hat Enterprise Linux (AS|ES|WS) release 4”) of it) of it)

RHEL 5:

exists file “/etc/redhat-release” whose (exists line whose (exists match (regex “Red Hat Enterprise Linux (Client|Desktop|Server) release 5”) of it) of it)

(imported comment written by SystemAdmin)

jessewk,

Thanks, that should help. I really need to learn regex I guess.

And does anyone know if there is a way to tell what version (like a windows version 5.4.0.260 or similar) of the software is installed under linux? I am such a novice when it comes to Linux. Thanks everyone for all the help!

(imported comment written by jessewk)

Do you have the ‘Patches for RedHat’ Fixlet site? There will be lots of examples in there.

Typically you query the rpm database. Here’s an example from one of the patch Fixlets:

Q: version of package “libxml2” of rpm

A: 2.6.26-2.1.2.1

Jesse