[Beaker-devel] Tool for Inventory gathering
Amit Saha
asaha at redhat.com
Mon Jul 8 06:53:59 UTC 2013
Hi all,
I spent some time on Friday to see how the lshw based inventory task is doing by running on one of our test systems - both in terms of what it gets
and how does it compare to the existing smolt based task.
I didn't go far with the comparison. Why? Because, lshw's parsing script broke due to the XML being different for the particular CPU I was running on
and what the parsing script was expecting. I could fix it (like I have done earlier) to accommodate for this formatting change..and do the same for
similar errors when I come across one.
But, here is what I am thinking:
Why don't we just get rid of the smolt and lshw tasks and instead query directly from the /proc and /sys (procfs and sysfs)?
I have done some exploration in this area [1] and [2]. In [1], I am reading directly off /proc and using Python's in built text
processing methods to get the information I want. Today I explored using pyudev (Python interface to libudev for accessing the device
attributes from /sys) which you can see in [2].
>From what I can see these are the information we usually look to get from our inventory task and how
we could get them using one/both of the approaches (/proc and/or /sys):
- CPU details (easily done by reading /proc/cpuinfo)
- Memory details (easily done by reading /proc/memenfo)
- Disk details (we could continue using libparted - we will need to deal with the shared library version choices that we currently have).
The total size is easily gettable from /sys/block, but I don't see a way to get the geometry details.
- Devices (Gettable from /sys/devices)
What do you all think?
Here are the links:
[1] http://amitsaha.github.io/site/notes/articles/python_linux/article.html
[2] http://nbviewer.ipython.org/5946601
Best, Amit.
--
Amit Saha <http://echorand.me>
Infrastructure Engineering and Development
Red Hat, Inc.
More information about the Beaker-devel
mailing list