Skip to content

Support for foremanctl #4189

@pmoravec

Description

@pmoravec

sos report should collect data from foremanctl, a foreman deployment using Podman and Ansible. I am planning to implement a sos plugin for it, but I have a dilema.

My original plan was to follow same approach we did with aap_containerized plugin, where one plugin replaces several other aap_* plugins. But foremanctl puts into containers stuff being collected by quite different plugins foreman (but NOT foreman-proxy), candlepin and pulpcore, plus "supporting" plugins for redis and postgresql. Having one foremanctl plugin might hunt too many different tails, plus the plugin run time might be quite big (pulpcore and foreman plugins are usually lengthy to run).

An alternative is to enhance the current plugins to support their containerised deployments. But that is not great either: it would add complexity to the current plugins' code (esp. foreman one).

As a reference, here is the list of containers under a freshly installed foremanctl:

# podman ps --sort names
CONTAINER ID  IMAGE                                    COMMAND               CREATED      STATUS                PORTS                   NAMES
2e17744d9934  quay.io/foreman/candlepin:foreman-3.16   /usr/libexec/tomc...  3 hours ago  Up 3 hours (healthy)                          candlepin
df7671bdd6e3  quay.io/foreman/foreman:3.16             /usr/libexec/fore...  4 hours ago  Up 4 hours            3000/tcp                dynflow-sidekiq-orchestrator
58593d0ad109  quay.io/foreman/foreman:3.16             /usr/libexec/fore...  4 hours ago  Up 4 hours            3000/tcp                dynflow-sidekiq-worker
2053b0d7021e  quay.io/foreman/foreman:3.16             /usr/libexec/fore...  4 hours ago  Up 4 hours            3000/tcp                dynflow-sidekiq-worker-hosts-queue
3ed6c8b24505  quay.io/foreman/foreman:3.16             /bin/sh -c /usr/s...  2 hours ago  Up 2 hours            3000/tcp                foreman
5106a2355af9  quay.io/sclorg/postgresql-13-c9s:latest  run-postgresql        2 hours ago  Up 2 hours (healthy)  5432/tcp                postgresql
ebc5ed7e3176  quay.io/foreman/pulp:foreman-3.16        pulp-api              4 hours ago  Up 4 hours                                    pulp-api
ce3878f734b7  quay.io/foreman/pulp:foreman-3.16        pulp-content          4 hours ago  Up 4 hours                                    pulp-content
aecede324836  quay.io/foreman/pulp:foreman-3.16        pulp-worker           4 hours ago  Up 4 hours                                    pulp-worker-1
e104ec9d6a89  quay.io/foreman/pulp:foreman-3.16        pulp-worker           4 hours ago  Up 4 hours                                    pulp-worker-2
89ebf7c5fd41  quay.io/foreman/pulp:foreman-3.16        pulp-worker           4 hours ago  Up 4 hours                                    pulp-worker-3
5ac75d438c59  quay.io/foreman/pulp:foreman-3.16        pulp-worker           4 hours ago  Up 4 hours                                    pulp-worker-4
12873df25ffa  quay.io/sclorg/redis-6-c9s:latest        run-redis --super...  2 hours ago  Up 2 hours            0.0.0.0:6379->6379/tcp  redis
#

(plus httpd service running on the host)

What are your thoughts: have a new foremanctl plugin or enhance the current ones?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions