4c6ac4712d
Previously _uamlite.sh.tpl would fail to render if any user data had an empty user_sshkeys array. This is because the template would check to see if the key existed, but not actually make sure that the array contained within that key had any elements. "first" would be called against the empty array, which would return nil, and then the outer eq function call would fail (as it can't be used to compare nil values). This patch set adds a default statement after the "first" function, so that if the array is empty and first returns nil, a default of "Unmanaged" will be returned, which will end up making the eq statement evaluate to false, and the code inside the if statement to not be run. Change-Id: I52713795284cd1d0961bd430858061f9df9c5f78 |
||
---|---|---|
divingbell | ||
doc | ||
tools | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
LICENSE | ||
Makefile | ||
README.rst | ||
TODO | ||
Vagrantfile | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Divingbell
Introduction
Divingbell is a lightweight solution for:
1. Bare metal configuration management for a few very targeted use cases via the following modules:
- apparmor
- ethtool
- exec (run arbitrary scripts)
- system limits
- mounts
- permissions (perm)
- sysctl values
- basic user account management (uamlite)
- Bare metal package manager orchestration using apt module
What problems does it solve?
The needs identified for Divingbell were:
- To plug gaps in day 1 tools (e.g., Drydock) for node configuration
- To provide a day 2 solution for managing these configurations going forward
- [Future] To provide a day 2 solution for system level host patching
Documentation
Find more documentation for Divingbell on Read the Docs.