Devuan deployment of britney2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
4.1 KiB

  1. How to setup britney
  2. ====================
  3. This document describes how to install, configure and run britney in
  4. your infrastructure.
  5. Installing britney
  6. ------------------
  7. At the moment, the preferred way to install britney is to clone the
  8. source repo and run britney directly from the git checkout.
  9. Configuring britney
  10. -------------------
  11. This is a very brief intro to the steps required to setup a Britney
  12. instance.
  13. * Copy ``britney.conf.template`` and edit it to suit your purpose
  14. - If you want Britney to bootstrap your target suite, you
  15. probably want to add all architectures to ``NEW_ARCHES`` and
  16. ``BREAK_ARCHES`` for a few runs
  17. * Create the following files (they can be empty):
  18. * ``$STATE_DIR/age-policy-dates``
  19. * ``$STATE_DIR/age-policy-urgencies``
  20. * ``$STATE_DIR/rc-bugs-unstable``
  21. * ``$STATE_DIR/rc-bugs-testing``
  22. * ``$STATE_DIR/piuparts-summary-testing.json``
  23. * ``$STATE_DIR/piuparts-summary-unstable.json``
  24. * Run ``./ -c $BRITNEY_CONF -v [--dry-run]`` to test the run
  25. * Setup a cron-/batch-job that:
  26. * (Optionally) Updates the rc-bugs files
  27. * (Optionally) Updates the $STATE_DIR/age-policy-urgencies
  28. * (Optionally) Updates the piuparts summary files
  29. * Runs Britney
  30. * Consume the results from Britney (See
  31. :ref:`using-the-results-from-britney` for more information)
  32. hints - Configuring who can provide which hints
  33. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  34. Britney reads all hints from a set of `hints` files. These files must
  35. be placed in the directory denoted by the `HINTSDIR` configuration.
  36. This is complimented with the `HINTS_<NAME>` configurations that
  37. defines a "hint file" and the related hint permissions for it.
  38. For each `HINTS_<NAME>` configuration, britney will attempt to read
  39. `<HINTSDIR>/<name>`. Note that it lowercases `<NAME>` when looking
  40. for the file.
  41. Configuration example::
  42. HINTSDIR = /etc/britney2/hints
  45. HINTS_FREEZE = block block-all block-udeb
  46. HINTS_AUTO-REMOVALS = remove
  47. In the above example, we have defined 4 hints files named `anna`,
  48. `john`, `freeze` and `auto-removals`. These must be placed in
  49. `/etc/britney2/hints` and be readable by britney. Furthermore, they
  50. must be writable by (only) the people that are allowed to use the
  51. particular hints file (apply `chown`, `chmod` and `setfacl` as
  52. neccesary).
  53. The values on the right hand side of the `=` decides which hints are
  54. permitted in the files. With the above definitions:
  55. * The file `anna` may use any known hint (including potentially
  56. dangerous ones like `force` and `force-hint`)
  57. * The file `john` may use most of the known hints. The set called STANDARD
  58. includes a lot of hints for overriding most policies when it
  59. can be done without (additional) side-effects. However, it
  60. excludes `force` and `force-hint` as they can cause unintentional
  61. results.
  62. * The file `freeze` can use any of the hints `block`, `block-all`
  63. and `block-udeb`.
  64. * The file `auto-removals` can only use the hint called `remove`.
  65. There are no fixed rules for how to use hints files. Though usually,
  66. each person with permissions to give hints to britney will have their
  67. own hint file along with write permissions for that file. It can also
  68. make sense to create hint files for "roles". Like in the above
  69. example there are two human hinters (`anna` and `john`) plus two
  70. non-human hinters (`freeze` and `auto-removals`).
  71. Please see :doc:`hints` for which hints are available and what they
  72. can do.
  73. .. _using-the-results-from-britney:
  74. Using the results from Britney
  75. ------------------------------
  76. Britney optionally generates a number of files that may be useful for
  77. further processing.
  78. * ``HEIDI_OUTPUT`` can be used with ``dak control-suite``. Example::
  79. cut -d" " -f1-3 < ${HEIDI_OUTPUT} | dak control-suite --set ${TARGET_SUITE} [--britney]
  80. * ``HEIDI_DELTA_OUTPUT`` is a variant of ``HEIDI_OUTPUT`` that
  81. represent the result as a delta rather than a full selection.
  82. * ``EXCUSES_YAML_OUTPUT`` provides a machine-readable output about
  83. which packages comply with the active policies and which does not.