50 Commits

Author SHA1 Message Date
Matt McEuen
a7205d4b66 Make README.rst
The previous README file for Divingbell did not render correctly
as a md.  This change converts it to a small RST file.

Change-Id: Iabfc3eb6ed763ddf306d85f85399f2f3f99069ae
2019-01-07 18:09:24 -06: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
4ed467e512 Add retry/rerun support for exec module
Add support for retries and reruns at specified intervals for
divingbell-exec scripts. Also adds support for timeouts.

Also update osh-infra-upgrade-host to allow gate to run.

Change-Id: I5f4cd43b13a467d94f67b358f3190f515256ae66
2018-12-14 19:45:38 +00: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
Zuul
97bcc9760f Merge "Create Makefile target to install Helm binary" 2018-11-27 15:31:05 +00:00
Dimitrios Markou
63230b9f6b Create Makefile target to install Helm binary
In Makefile there is no target which actually installs
Helm binary.

Change-Id: Idca3ed4d0c6d8734b7b6bcfc9d8a1ba9e50693ee
Signed-off-by: Dimitrios Markou <dm844v@att.com>
2018-11-26 16:34:45 -06:00
Anderson, Craig (ca846m)
072249dc5f Allow override test to be run in helm-toolkit gate
Change-Id: Ieaa2e3c66c8855eec6c97796f175f769b268dccc
2018-11-19 23:10:53 -08:00
Zuul
9c2ca30001 Merge "Add options to apt-get install call" 2018-11-15 23:09:50 +00:00
Vladyslav Drok
da532c32aa Add options to apt-get install call
This change also adds an apt-get update call and a possibility to
provide debconf options that might be needed for some packages.
In case of dpkg interruptions dpkg --configure -a is added to
try to handle the failures.

Change-Id: Ib1f9a412bc544b4f7754634740fb04569bae6d34
2018-11-15 14:27:07 -08:00
Craig Anderson
f3a9306404 Resolve illegal base64 data errors
For some versions of Tiller, the newline in Secrets were causing
Tiller to error with illegal base64 data error messages.

Change-Id: Ibd005c9b81e620590b0025bd32da4d589eba91ae
2018-11-15 19:08:49 +00:00
Zuul
04745a1f88 Merge "Blacklist Packages as an Extention of Apt" 2018-11-13 14:16:15 +00:00
Zuul
96e2b073f3 Merge "Add the ability to install packages via divingbell" 2018-11-13 14:09:22 +00:00
Zuul
1dcb2de9e1 Merge "Change all ConfigMap to Secret" 2018-11-12 23:46:20 +00: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
Anderson, Craig (ca846m)
461f4e93d5 Change all ConfigMap to Secret
Change configmaps to secrets to maintain compatibility with [0].

[0] https://review.openstack.org/#/c/617039

Change-Id: Ie95aee1a4104008ca93c23ac9d19245a87fade20
2018-11-12 13:28:58 -08:00
skovaleff
eebedea5f2 Make specific module internal filenames for limits
Avoid filename collision between limits and sysctl module.

Bugfix for sysctl to print reverted setting before it's deleted.

Change-Id: I31269c413f884a25ecf3588b52677ca427b4c082
2018-11-02 12:37:29 -07: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
Andrey Volkov
a648dcb2db Improve docs formatting
- Make numerated list look properly.
- Fix hierarchy of headers.

Change-Id: I18d50221aa7bdd6b85d19f8d55b42439aa292a2f
2018-10-10 09:16:20 -07:00
Zuul
623779b66c Merge "Set up publishing of docs" 2018-10-04 20:16:24 +00:00
Zuul
b2250bddbe Merge "Improve test stability" 2018-10-04 17:57:30 +00:00
Roman Gorshunov
c53ab7e423 Set up publishing of docs
Set up publishing of docs to the readthedocs.

Change-Id: Id3ceba960d6b1cf441b13bfc875b17fb0b09de2c
2018-10-04 16:38:36 +00:00
Zuul
66de9440d1 Merge "Improve gate NIC HW compatibility/portability" 2018-10-02 18:04:43 +00:00
Andrey Volkov
38634f1aa6 Improve test stability
See false positive in I234a50e9b2e46d5c92a89eb8073771043b4eaf56.
This patch makes the following changes to improve gate stability:

- Increase timeout while waiting for container logs from 30 to 60.
- Exclude terminating containers and get container name on each iteration.

NAME                               READY  STATUS             RESTARTS  AGE
divingbell-apparmor-default-984mc  0/1    Terminating        0         26s
divingbell-apparmor-default-splhc  0/1    ContainerCreating  0         8s
divingbell-ethtool-default-62dlt   0/1    ContainerCreating  0         8s
divingbell-ethtool-default-v975n   0/1    Terminating        0         26s
divingbell-mounts-default-2xhv5    0/1    ContainerCreating  0         8s
divingbell-sysctl-default-c8nhn    0/1    Pending            0         8s
divingbell-sysctl-default-mlsnp    0/1    Terminating        0         26s
divingbell-uamlite-default-dv9cv   0/1    Pending            0         8s

Change-Id: I35ba6844d41c92bf9f581a97218275363e9ee0bd
2018-10-02 09:23:45 -07:00
Roman Gorshunov
d734925bb6 Fix: various documentation and URL fixes
1) UCP -> Airship
2) readthedocs.org -> readthedocs.io (there is redirect)
3) http -> https
4) attcomdev -> airshipit (repo on quay.io)
5) att-comdev -> openstack/airship-* (repo on github/openstack git)
6) many URLs have been verified and adjusted to be current
7) no need for 'en/latest/' path in URL of the RTD
8) added more info to some setup.cfg and setup.py files
9) ucp-integration docs are now in airship-in-a-bottle
10) airship-divingbell-ubuntu gate repo split fix (tools/helm_tk.sh)
11) various other minor fixes

Change-Id: I1b7956e77fdd2f01368df1b81b44fdd51ee8443c
2018-09-25 11:44:57 +02:00
Craig Anderson
d8570fe8ad Improve gate NIC HW compatibility/portability
Change-Id: I5d878b664f552fe04cd2e672293c27578560dab4
2018-09-20 22:01:14 +00:00
Anderson, Craig (ca846m)
73880a9973 fix divingbell gate scripts
Change-Id: I3b1f472b9e78436672c67ce73cdd92d24e2e21ac
2018-09-17 22:45:55 -07:00
Matt McEuen
0927b6a61c Add release uuid to pods and rc objects (dbell)
This PS adds the ability to attach a release uuid to pods and rc
objects as desired.  This can be used, for example, to force an
artificial manifest change in CICD scenarios, for upgradability
testing purposes.

Change-Id: I2f5279c6983f43288e4ef3cb48898d5a36b33833
2018-09-14 17:45:47 -05:00
Craig Anderson
7755b665b1 Allow enabling/disabling of each daemonset
Change-Id: I5520c0a86fd53160fd9c8a071f9ee1547dce41f4
2018-08-30 18:34:57 +00:00
Andreas Jaeger
0ac90c40a0 Add venv tox environment
Some OpenStack CI jobs need the venv tox environment to run, add it.

Change-Id: I66c374ce27fa1a2af1317671f7d290e560818068
2018-08-24 21:28:39 +02:00
Tin Lam
4e074ec0c2 docs(tox): Add tox target to generate docs
This patch set:
(a) renamed the docs folder to doc
(b) add in a basic tox.ini to generate the doc via ``tox -edocs``
(c) add in necessary /docs/requirements.txt dependencies

Change-Id: Id45db34fdc8860047047a4e6069483dfb4a56d7f
Signed-off-by: Tin Lam <tin@irrational.io>
2018-05-22 14:26:20 -05:00
Zuul
1f6f6c98c3 Merge "Update .gitreview for openstack infra" 2018-05-17 21:15:15 +00:00
Mark Burnett
88b48a90d8 Update .gitreview for openstack infra
Change-Id: I56ba3e5c84b20141a17cdeee3b80c60aec74c60a
2018-05-17 20:03:32 +00:00
Felipe Monteiro
58c4f0c907 Drop AT&T copyright from README
This patchset simply drops the AT&T copyright from the Divingbell
README as it renders quite strangely on Github [0]. And besides
that copyrights aren't usually included in README files.

[0] https://github.com/openstack/airship-divingbell

Change-Id: I8484b31f35d67d400c71d2da7a1cda20ec509be7
2018-05-17 20:03:08 +00:00
Pete Birley
00927b2383 Zuul: Initial Airship-Divingbell checks
This PS adds the skeleton for a set of zuul checks and gates for
Airship, using the framework from OpenStack-Helm.

Change-Id: I757aef16f023248ab37e87d47e36fc1eae1e23c4
Signed-off-by: Pete Birley <pete@port.direct>
2018-05-17 12:37:14 -05:00
Craig Anderson
fcd97ef51c Merge "Add ability to set user password in uamlite" 2018-05-10 16:34:44 +00:00
Craig Anderson
77be3585ba Add ability to set user password in uamlite
Change-Id: I4ecc556f02f973289a9dc019e2b73552f5d966fc
2018-05-07 19:11:43 +00:00
Bryan Strassner
ebdfa49291 Add tests makefile target to Divingbell
Note that the tests are a simple build of the helm charts for now.
Left a TODO in place to get the existing test scripts updated to a
current environment.

Change-Id: Icc95ef88c86ab92069e2ed2470a140ef959f7040
2018-05-04 14:23:50 -05:00
Craig Anderson
e9d71dedb0 [Bug 404183] Add user purge option to uamlite
purge_expired_users option was added to uamlite chart to allow purging of old
user accounts and the data in their home directories.

Addressed a corner case where the user could lose system access by specifying
ssh key(s) only for the built-in account.

Change-Id: Iccfc914eea219521a290c2b5949ccc2d40d8dbb6
2018-04-17 16:36:13 +00:00
Craig Anderson
73e7437b9b [Bug 402389] Script should work without users
Change-Id: I7af070f71ed940be5869f38f02c5b44d8795f14b
2018-04-04 20:39:04 +00:00
Scott Hussey
4f141f2c22 [Fix] Makefile default target failed
- Fix the default target

Change-Id: I2d3d19f8cce0ca1b729ff74d34a05a412dabb6bc
2018-03-29 16:32:45 -05: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
9e7028416e [US367408] Add support for user & ssh key mgmt
Change-Id: I0ef68dfd80194e6da289fbf86f5cd2ee5c7edad8
2018-03-16 23:30:27 +00:00
Craig Anderson
b4c7160aa6 [US394832] Convert to sphinx docs
Change-Id: I6ff0ce53ccdac3083d458b7f366f5c97b3af6bb5
2018-03-15 21:24:23 +00:00
Craig Anderson
82254b99e1 Refactor with helm-toolkit template functions
Change-Id: I32e59d6e9bb1833f2d143f545a06ed0c29092934
2017-12-06 18:40:54 +00:00
Craig Anderson
ae819b9a3b Add label prioritization
Altered daemonset scheduling to determonistically ensure one and
only one daemonset is schedule to each node. This is done via
implicit label override prioritization. If nodes contain multiple
labels, a given daemonset will always schedule to whichever label
was the last to be defined in overrides yaml.

Change-Id: Ib90f36f27e3bcd50d017262c07317aa3a64464bb
2017-11-22 23:02:12 +00:00
Craig Anderson
6d2f967ce4 Initial commit.
Change-Id: I30007d1dd1248f32f7adf9a350853791e029b774
2017-11-16 05:59:36 +00:00
Jenkins
1eb962eed4 Initial commit 2017-10-17 13:25:54 -05:00