Welcome to oam!

Operations/Admin/Management for gentoo

oam can reduce some of the repetition of normal regular maintainance tasks on a gentoo server.

The philosophy is to:

  • automate tasks where it is safe to do so (e.g. merge blockers must be still resolved manually)
  • log all actions and outputs (to aid postmortum analysis and followup manual intervention)
  • provide a dashboard view of the progress of actions and results (to spot issues early)
  • provide an editor preloaded with logs and portage config files (“vim -p” tabs)
  • provide a quick glance summary of merges, blockers and new news items

See Changelog for changes in this version.

See Configuration for an overview of how to configure oam.

Workflows

Workflows are a sequence of tasks which are executed in sequence, stopping at the first failure. A task must complete successfully before the next task starts.

A task can consist of one or more invoke tasks.

For example the weekly workflow will run these tasks:

Task Name Commands
sync
  • emaint --auto sync
  • layman --sync=ALL
  • eix-update/eix-remote
glsa
  • glsa-check
fetch
  • emerge --fetchonly --update world
update
  • emerge --update world
  • perl-cleaner
  • emerge @preserved-rebuild
clean
  • eclean distfiles
kernel
  • build a new kernel if necessary
qcheck
  • qcheck --all

Tasks can be added/skipped by configuration.

Manual Operations

You must still manually:

  • resolve keyword or use flag blockers (see the blocks.log file for a starting point)
  • run dispatch-conf when prompted
  • remove obsolete packages manually with: emerge –depclean

Features

  • simple workflow configuration on a per-server basis - new workflows can be added - built on invoke.
  • dashboard display of currently running oam processes built on multitail.
  • overall _summary_ of a merge (what merged succesfully, what didn’t, glsa’s, blockers, qcheck differences, unread news items… etc)
  • logs all operations, errors, process output… etc
  • multi-server support for starting and monitoring operations
  • install via ebuild from the lmiphay overlay.
  • pulls in many useful dependencies as part of the install (genlop, multitail, logrotate, ranger)
  • bash shell completion support with app-shells/bash-completion.
oam-watch sample

Why should you not use oam?

  • it is not a way to become familar with gentoo (learn emerge… etc first)
  • you are happy with your current workflow (stick with your own scripts)