Even though box is a rootless podman container, there are some
capabilities that are need like SYS_ADMIN, NET_ADMIN and SYS_TIME.
In rootless podman chronyd is not capabable of using adjtimex syscall
so we had to add -x flag to chronyd entrypoint which states it will
not try to call that function.
To test run `./box.py -v cluster start`.
To fix: There are some problems with /dev permissions so osds cannot be
deployed still. `./box.py cluster start --expanded` won't fully work.
Details:
- Dockerfile:
- Fedora image instead of centos.
- Tons of basic packages aren't installed, therefore, those are
explicitly installed.
- Some container folders are created. It isn't clear/tested whether
those are needed.
- .box_container is an empty file to identify if a command is ran on
containers (see box.py for usage).
- box.py
- podman-compose is missing some features but it compensates with args
as --podman-run-args so you can add some extra commands whenever
podman-compose calls podman run.
- sudo ./box.py cluster start will exit since it can be dangerous.
- Added some sed trickeroo to modify chronyd options. (I don't know
how can I pass OPTIONS to it :P)
- host.py
- setup_ssh now is need on every box container.
- util.py
- rice command printing :3.
- run multiple commands with a multiline string.
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>