opsiconfd docker

SirTux
Beiträge: 567
Registriert: 05 Feb 2011, 18:37

Re: opsiconfd docker

Beitrag von SirTux »

Hi,

hat schon mal jemand versucht die Container in einer Gitlab-CI als Services zu verwenden? Bei mir findet der opsiconfd sein Redis nicht.

Viele Grüße,
Stefan
SirTux
Beiträge: 567
Registriert: 05 Feb 2011, 18:37

Re: opsiconfd docker

Beitrag von SirTux »

Die Services waren falsch bzw. doppelt definiert. Ich bin jetzt weiter :)

Leider meckert der opsiconfd nun über den Hostnamen. Hat jemand eine Idee wie man das fixen kann?

Code: Alles auswählen

2022-08-23T10:05:42.411656711Z ValueError: Bad fqdn: 'ea40334064cc'
2022-08-23T10:05:42.484364737Z * Set default configs
2022-08-23T10:05:42.994959256Z [3] [2022-08-23 12:05:42.994] [               ] Error during execution: Bad fqdn: 'ea40334064cc'   (opsiadmin.py:1748)
2022-08-23T10:05:42.994997626Z Traceback (most recent call last):
Benutzeravatar
fkalweit
uib-Team
Beiträge: 182
Registriert: 23 Okt 2020, 16:14

Re: opsiconfd docker

Beitrag von fkalweit »

Hallo,

So was kann man machen. Da muss natürlich OPSI_HOSTNAME belegt sein.

Code: Alles auswählen

#!/bin/sh
echo "*** Setup /etc/hosts ***"

echo "127.0.0.1       ${OPSI_HOSTNAME} $(hostname) mysql redis grafana localhost" > /tmp/hosts
grep -v "127.0.0.1" /etc/hosts | grep -v ${OPSI_HOSTNAME} >> /tmp/hosts
sudo cp /tmp/hosts /etc/hosts
rm /tmp/hosts
Auszug aus unserem opsiconfd devcontainer. Da ist halt alles in einem Container.

Viele Grüße
Fabian
SirTux
Beiträge: 567
Registriert: 05 Feb 2011, 18:37

Re: opsiconfd docker

Beitrag von SirTux »

Hi,

Hier ist ein Patch für den Docker-Container von der opsiconf:

Code: Alles auswählen

diff --git a/files/entrypoint.sh b/files/entrypoint.sh
index 16ab368..a8dae2b 100644
--- a/files/entrypoint.sh
+++ b/files/entrypoint.sh
@@ -24,6 +24,13 @@ function set_timezone {
        echo "${TZ}" > /etc/timezone
 }
 
+function set_hostname {
+       echo "* Set hostname" 1>&2
+       if [[ ! -z $OPSI_FQDN ]]; then
+               echo "hostname = $OPSI_FQDN" > /etc/opsi/global.conf
+               echo "$(hostname -i)        $OPSI_FQDN" >> /etc/hosts
+       fi
+}
 
 function backend_config_configserver {
        echo "* Configure backend for configserver" 1>&2
@@ -199,6 +206,7 @@ function wait_for_redis {
 function entrypoint {
        set_environment_vars
        set_timezone
+       set_hostname
        wait_for_redis
        if [ "${OPSI_HOST_ROLE}" = "configserver" ]; then
                wait_for_mysql

Antworten