Commit Graph

24 Commits

Author SHA1 Message Date
Mosher, Jaymes (jm616v) 502a74064c Add optional pre/post install commands to divingbell-apt
Change-Id: I3fdee4b128bfba80bd827fb6a64b800652cdee2f
2023-11-30 10:59:46 -07:00
Ruslan Aliev 234248c272 Add readiness probe to divingbell-exec
Also add dist-upgrade verification.

Change-Id: I0716ee878e9a2fa9a557debe543996691c0540ce
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2023-04-30 23:03:17 -05:00
SPEARS, DUSTIN (ds443n) 7d533d65c3 Adding readiness/liveness probes to apt
This adds readiness and liveness probes to set daemonset to a non-ready status during dpkg usage

Change-Id: I5b9d029f1f8f696b4132a27ea29a77465babc29c
2022-10-19 15:09:04 -04:00
Walter Wahlstedt 229bbe75b0 Create option to turn on verbose logging.
Change-Id: I1ad71a603a92e44ee93e0663c7b2db216a1811ff
2022-01-19 16:34:26 -05:00
Phil Sphicas 1858d0ef37 perm: Optionally ignore missing files
The default behavior of divingbell-perm is to fail when trying to assign
permissions to non-existent files.

This change adds an option to values.yaml to skip any missing files and
proceed with the rest of the assignments.

    conf:
      perm:
        ignore_missing: true   # default is false

This may be useful in cases where files will never exist on a node, or
cases where the file does not exist yet, but will exist later. Note that
with this option enabled, a run in which files are skipped is considered
successful, so the rerun_policy and rerun_interval will determine if and
when another attempt will be made.

Change-Id: I15505d6292dda66942c66eea5a4d0666bd6bdfa7
2021-09-07 20:32:12 +00:00
Phil Sphicas 55ba4cb61c Allow node selector configuration per module
This change adds the ability to configure node selectors per module. The
default node selector is 'kubernetes.io/os=linux'. For example:

    labels:
      apt:
        node_selector_key=divingbell-apt
        node_selector_value=enabled

Will result in a node selector of 'divingbell-apt=enabled'.

Change-Id: I7150c5f998afa30dce22f505be4d0d164254214f
2020-10-03 01:30:56 +00:00
KAVVA, JAGAN MOHAN REDDY (jk330k) f9de95a6cc Update divingbell to use Ubuntu 18.04
Updated divingbell to use Ubuntu 18.04.

Change-Id: I721ffddbe8d8939303a1d38266462e751feca2f0
2020-09-23 08:57:02 -05:00
Prateek Dodda 30200a54d9 Implement Security Context for Divingbell
Change-Id: Ibc93ccac6d6015faff3491211f5f8cb752a0328f
2020-03-30 23:04:50 +00:00
Anderson, Craig (ca846m) 32da2fbd4b Add ability to disable package uninstalls
Allow users to disable auto-uninstall functionality for packages.

Change-Id: Ib59ff175fc474a592118374c23974c6a9439cd72
2020-03-23 10:23:20 -07:00
KAVVA, JAGAN MOHAN REDDY (jk330k) 37594c8d16 Add Docker default AppArmor profile to divingbell
This adds default AppArmor profile to divingbell.

Also, update to gate script to install ethtool if it is not present.

Change-Id: I7abb13a533b596f4db5fe65fdae5eb7fc57ec00a
2020-02-13 14:43:44 -08:00
Crank, Daniel 44525162a5 Add "strict" mode for apt package removal
Currently, divingbell-apt will only remove packages that aren't
on the current requested package list when they were previously
installed by divingbell-apt. This patchset adds a "strict" mode
which causes it to remove packages not on the requested package
list regardless of whether divingbell installed them (i.e., it
can remove unwanted packages that were part of the host's base
image).

Change-Id: Ie2ba5d47646bfaaf030cb54673e644ab0e917fd4
2020-01-24 12:19:22 -06:00
Evgeny L 9be717e860 Allow to configure service network policy
The patch introduces network policy configuration similar
to openstack-helm services. It allows users to configure
policies depending on the environment.

* Network policies are disabled by default.
* When enabled default policies allow all ingress and
  egress traffic (i.e. policy set to {}), this may be
  changed in future patch-sets.

Change-Id: I2adb5e652c1da0a1982ab18c498f033910a47cd8
2019-09-27 20:48:09 +00:00
Drew Walters 2e5ffaccca apt: Add full-system upgrade feature
Currently, the APT daemonset allows the installation of new packages or
upgrade of existing packages to a newer version. Sometimes, it may be
desirable to trigger an update for all packages. This change introduces
the ability to trigger a full-system upgrade using the .conf.apt.upgrade
chart value. The new option is disabled by default.

Change-Id: I611422c2093b9dbbae4e2d7cc05ebd726e895c88
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-08-21 16:07:54 +00:00
anthony.bellino f4c8228ff6 Add rerun support for perm module
- Adds the ability to rerun divingbell-perm at specified interval.

- Adds the ability to specify a rerun policy of
  'always', 'never', 'once_successfully'. Default value is 'always'.

Demo: https://asciinema.org/a/220289

Change-Id: I3909b4d92f8e2bdb0d826ca1cfbd62f937c2532d
2019-01-10 17:39:32 +00:00
Nikita Koshikov 606cf35bda Add new apparmor daemonset
Implemented daemonset that will manage host apparmor profiles.
Tests and documentation added.

demo: https://asciinema.org/a/uQjlWgC4bjI3WkfontmThf8t0

Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Change-Id: I13f7357c15b5c4386a61bba50f097eb434d7f211
2018-12-14 19:02:00 -08:00
Craig Anderson 012800d854 Add new divingbell-exec module
Stopgap module to provide generic node exec capability until shift
to [0] and [1].

[0] https://github.com/GoogleCloudPlatform/metacontroller
[1] https://github.com/argoproj/argo

Change-Id: I278548e1e09ed31dcc4212142f1e6465ee8d9792
2018-12-04 18:22:51 +00:00
skovaleff 0731ac5d3a Add ability to control owner:group and permissions
via new module 'perm'

1) DaemonSet
2) Secret (instead of old ConfigMap)
3) Include module /bin/_perm.sh.tpl
4) Commented example in values.yaml
5) Demo: https://asciinema.org/a/209509
6) Increased # of expected DaemonSets
7) Rebased after a few merges
8) Addressing comments
9) Migrated from ConfigMap to Secret
10) Got rid of 'eval'
11) Test
12) Demo for host targeting: https://asciinema.org/a/213125

Change-Id: Ia3181dcb7fc1ccc7422c635b010000f6d3fbcf4d
2018-11-27 09:08:11 -08:00
Aaron Sheffield 3524908910 Blacklist Packages as an Extention of Apt
- Extends apt daemonset to remove packages.
  - Uses a list of packages in remove and automove, so if a
    package gets installed that should not be it will be
    uninstalled when Divingbell runs again.

Change-Id: Id5c7ccead399a8c78621a0e593033e55412ff315
2018-11-12 22:11:34 +00:00
Vladyslav Drok 0f5567dc58 Add the ability to install packages via divingbell
This change adds a possibility to install or upgrade to packages
with a specific version. The daemonset also tracks the packages
installed, and will be removing the packages that were deleted
from the chart but were previously installed by divingbell.

Change-Id: Ia6066679e549190054eb2cf71589065177447447
2018-11-12 13:34:58 -08:00
skovaleff 7ed8c29f99 Add ability to control pam_limits via new module 'limits'
1) 'Values' configures limit settings to be persisted.
2) Previous DivingBell controlled limits those were set
but now are gone are cleared.
3) Previous values of newly set limits are backed up
to /var/divingbell/limits
4) New limit is applied via adding a separate conf file
to /etc/security/limits.d
5) The Doc is updated with appropriate details.
6) Dev env with Vagrant
7) Increase number of expected DaemonSets in 020-test
8) Demo: https://asciinema.org/a/209619

Change-Id: I5efb39c498c2b666b4ba97271b59757f4a0c1ca7
2018-11-01 09:09:48 -07:00
Craig Anderson 7755b665b1 Allow enabling/disabling of each daemonset
Change-Id: I5520c0a86fd53160fd9c8a071f9ee1547dce41f4
2018-08-30 18:34:57 +00:00
Scott Hussey f1fbfa1d5e [398399] Support resource limits
- Add resource limit support to each daemon set

Change-Id: I4680f70338627144e7b3ffa1625eba2ce3a33f25
2018-03-28 16:59:29 -05:00
Scott Hussey 651cb8f816 [390506] support update strategy
- Update Makefile to more closely resemble UCP standards
- Add tools for downloading helm-toolkit
- Support update strategy

Change-Id: I21d50ade416552eeb6be9bbebbfc1effd1ae7f15
2018-03-23 22:56:44 +00:00
Craig Anderson 6d2f967ce4 Initial commit.
Change-Id: I30007d1dd1248f32f7adf9a350853791e029b774
2017-11-16 05:59:36 +00:00