MPU Meeting Thursday 31st March 2016


Regular automated email reports from some suppliers are now being automatically processed and the data incorporated into the inventory database. Incoming email is transferred by krb5curl to a spool directory on the inventory server, where a script uses the message's source address it pass it on to one of a number of parsing modules. The parsing module extracts the data and uses it to update the Supplier table. The data extracted covers purchase order numbers, MAC addresses, serial numbers and descriptions.

Old supplier reports in old formats will not be accessible using this system so Alastair has made a one-off snapshot of them.

The new database server is syncing across order files and running ordersync. Ultimately the orders rfe service will move to the new server and rfe will trigger ordersync.

Order processing needs to be made into a transaction. This is expected to be easy using DBIx. Other upcoming tasks include centralising logging in one event log which will log facility, log level, message and date/time. Next, the code will be documented and made ready for review.

Chris is going to start looking at writing modules which gather firmware data, with the aim of eventually replacing the firmwarereport script.

LCFG Client refactoring

Stephen has added support for reading and writing Berkeley DB files. This can be done with a whole profile or just with particular components. Profiles can be translated straight from XHTML to Berkeley DB. It makes it easy to compare old and new profiles, or bits of them. The keys used in LCFG status files have been changed to be the same as those in the DB files.

Stephen has put some effort into serialisation, increasing efficiency. Instead of lots of allocation and freeing of memory, the same memory is re-used many times, which is a lot faster.

He's also been generally tidying up:

  • The code headers have been reorganised to make them more understandable.
  • Some minor compiler warnings have been eliminated.
  • There's now a lot more error checking - for example, the code no longer attempts to do anything with a null return value.
  • Where it's necessary for the software to fail, it's done neatly rather than messily.
  • The code should no longer attempt to free the same bit of memory twice.
  • Status values should now be consistent throughout the code.

In perl-LCFG-Utils 1.11.0, untrusted characters (for example newlines) are now HTML encoded in the status file and decoded again when read back out.

SL7 Server Base

Neil has ported and tested and is happy with lcfg-rsync, lcfg-rmirror and lcfg-rmirrorclient on SL7.


In sl7rt, Chris has moved MPU-related tickets to the mp-unit queue. Complete-looking tasks have been given to those who worked on them and left with status "Open".

Alastair has found the SL7 NX test service to be usable on Mac and Linux, using the "custom" session type, with the command mate-session running in a virtual desktop. The Mac client used was NoMachine and the Linux client was opennx, which Alastair will make available on CO desktops. Chris found the KDE session type to be working out of the box. Other session types still do not work; Chris will talk to EE about how they restrict the choice of session types.

One thing which is holding back our SL7 work is the unreliability of local DNS. Alastair will raise this at CEG and/or make an sl7rt ticket for options/dns.h.

Miscellaneous Development

Chris fixed two problems in firmwarereport.
  1. It was incorporating warnings in some dmidecode output into its data.
  2. It was not fully gathering data about Toshiba disks.


Stephen and Carol upgraded one of the Podium machines to SL7 (the machine in room 1.15). On this machine SL7 seemed to be an improvement on SL6 - the projector's screen resolution didn't need to be hard-wired. At the same time Carol is "upgrading" the podium machines to retired small format HP 7900s, as these fit very nicely into the podiums with room to spare.

OpenAFS has been updated to 1.6.17. Servers especially should be upgraded to this sooner rather than later.

A postgresql security update broke Package Forge builders. Updating the client libraries and changing the authentication type (from "krb5" to "gss") fixed them. The packageforge master should get a matching postgresql update in the next few weeks. and have moved from porto to otter, purely to eliminate another 32 bit SL6 installation.

Chris has updated firmware and packages on the KVM servers waterloo, azul and vermelha and has scheduled the upgrade of hammersmith. He'll carry on with the final two, jubilee and oyster. Chris and Ian will look at waterloo's dead serial console on Monday.

An updated Virtual DICE was released. The documentation site has a list of software differences compared to the previous release.

Carol has fixed the KVM guest lists on the wiki.

The last remaining overdue MPU page reviews have now been done.

This Week

  • Alastair
    • Inventory project
      • continue working through TartarusWorkFlow
      • consider what next can be integrated into existing system, if anything
      • Document clientreport (eg how to add modules)
      • Document order sync code
      • Polish off and document hpreport processing script
      • Consider milestones for inventory project
    • Remove default pool if ops meeting agrees
    • Dump 'atom'
    • Deploy encrypted /tmp and swap conversion script
      • Deploy on office desktops and labs in week commencing 11th April - deployed on labs (19th April)
      • Need to warn users that Gnome3 may pop up a window about /tmp being full (when script is run)
    • Schedule MPU meeting to discuss systemd ordering
    • Continue building honeypot
    • package up ILW stuff and document process
    • Read through SL7.2 release notes
    • Add 'opennx' client to CO desktops
    • submit polkit bug to redhat - with Stephen
    • Work on RT tickets - only 1 !
    • MPU SL7
      • Look at tickets and mark done where appropriate
      • Start work on KVM stuff
    • Look at producing gnome3 extension to add a lock screen button - now shipped for CO testing

  • Chris
    • Inventory project
      • continue working through TartarusWorkFlow
      • Look at clientreport modules for replacing firmwarereport
    • pkgsearch for SL7
      • reimplement as a yum web front end (yum search for keyword produce an html file of links to cgi to do yum info)
      • Need support multiple platforms
    • Liaise with George over iDRAC documentation (look through ops reports to remind)
    • Firmware update jubilee and oyster
    • Investigate waterloo IPMI problems
    • Mark up with servers
    • MPU SL7
      • Identify what could be done once lcfg-dns is ready
    • Ask SEE how they tie down the window manager under NX.

  • Stephen
    • LCFG client refactor stage 1
      • schedule debrief meeting
    • LCFG client refactor stage 2
      • polishing
      • blog article (once documentation complete)
    • apacheconf
      • produce some recipes
      • talk at devel meeting
    • Think about PD - Interested in ZeroMQ
    • Investigate kernel component pipe moan by using shell commands instead of RPM module => waiting on 7.2 => activities list
    • LCFG server symlink to exam branches - produce reporting script and discuss with Graham
    • Circulate dmesg proposal
    • Apply firmware patches - circle
    • submit polkit bug to redhat - with Alastair
    • SL7 MPU
      • put SL7 ssh service onto stable and open up firewall hole (ensure restrict to sysmans)
      • Identify what could be done once lcfg-dns is ready
    • Work on RT tickets
    • Check MPU server ether bonding
    • Announce 11th April for 7.2 for office machines
    • Announce that we're dropping i686 support as from 6.7 onwards
    • Mark up with servers

-- AlastairScobie - 31 Mar 2016

Topic revision: r13 - 23 Sep 2019 - 13:33:38 - AlastairScobie
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies