Portál AbcLinuxu, 6. května 2024 02:57


Dotaz: Ansible debconf jak debugovat na Ubuntu 18 LTS

22.5.2019 21:34 majales | skóre: 29 | blog: Majales
Ansible debconf jak debugovat na Ubuntu 18 LTS
Přečteno: 236×
Odpovědět | Admin
Zdravím,

Snažím se pomoci debconf nakonfigurovat balíček při instalaci pomocí ansible. Bohužel se balíček nenakonfiguruje správně (nevytvoří se db a uživatel v db). Jak debugovat co se při debconf děje? Stejná konfigurace mi funguje, když použiji mysql. Při použití mariadb se to ovšem nevykoná.

Balíček je icinga2-ido-mysql Pomocí ansible modulu debconf nakonfiguruji heslo, jměno db, heslo pro administraci:
conf-get-selections |grep icinga2 
icinga2-ido-mysql	icinga2-ido-mysql/mysql/app-pass	password	hesloheslo
icinga2-ido-mysql	icinga2-ido-mysql/mysql/app-password-confirm	password hesloheslo
icinga2-ido-mysql	icinga2-ido-mysql/mysql/admin-pass	password	jineheslo
Pak proběhne instalace balíčku pomocí apt a nic se nestane...
tail /var/log/apt/history.log

Start-Date: 2019-05-22  20:44:52
Commandline: /usr/bin/apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install icinga2-ido-mysql
Requested-By: ansible (1004)
Install: icinga2-ido-mysql:amd64 (2.10.4-1.bionic)
End-Date: 2019-05-22  20:44:52
Nevíte někdo jak zjistit co se tam přesně děje a proč to nevytvoří db a uživatele jak má?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.5.2019 21:47 kolega
Rozbalit Rozbalit vše Re: Ansible debconf jak debugovat na Ubuntu 18 LTS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Spustit ten prikaz, co ti to ukazuje? Pripadne si otevri tu roli a mrkni se, co to presne dela, jakymi prikazy moduly a manualne to projdi.

Taky muzes pouzit verbose vystup 'ansible -vvv(vv)'
22.5.2019 21:57 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Ansible debconf jak debugovat na Ubuntu 18 LTS
Ansible -vvvv nic zajímavého neukáže.. respektive tam není ani slovo o debconf .. prostě jen OK při instalaci balíčků..
ok: [icinga-02] => {
    "attempts": 1, 
    "cache_update_time": 1558535182, 
    "cache_updated": true, 
    "changed": false, 
    "invocation": {
        "module_args": {
            "allow_unauthenticated": false, 
            "autoclean": false, 
            "autoremove": false, 
            "cache_valid_time": 0, 
            "deb": null, 
            "default_release": null, 
            "dpkg_options": "force-confdef,force-confold", 
            "force": false, 
            "force_apt_get": false, 
            "install_recommends": null, 
            "name": [
                "icinga2", 
                "icinga2-ido-mysql", 
                "git", 
                "icingaweb2"
            ], 
            "only_upgrade": false, 
            "package": [
                "icinga2", 
                "icinga2-ido-mysql", 
                "git", 
                "icingaweb2"
            ], 
            "purge": false, 
            "state": "present", 
            "update_cache": true, 
            "upgrade": null
        }
    }
}
22.5.2019 23:08 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Ansible debconf jak debugovat na Ubuntu 18 LTS
A debconf mas kde? Resp. ako vyzera playbook?
22.5.2019 23:48 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Ansible debconf jak debugovat na Ubuntu 18 LTS
Je to role,

tohle je task file kde se konfiguruje debconf.
- name: Debian | server | set debconf configuration
  debconf:
    name: "{{ item.name }}"
    question: "{{ item.question }}"
    value: "{{ item.value }}"
    vtype: "{{ item.vtype }}"
  with_items:
    - { name: 'mysql-server-5.5',
        question: 'mysql-server/root_password',
        value: "{{ icinga2_mysqlrootpw }}",
        vtype: 'password'
      }
    - { name: 'mysql-server-5.5',
        question: 'mysql-server/root_password_again',
        value: "{{ icinga2_mysqlrootpw }}",
        vtype: 'password'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/mysql/admin-pass',
        value: "{{ icinga2_mysqlrootpw }}",
        vtype: 'password'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/db/dbname',
        value: "{{ icinga2_mysqlidodb }}",
        vtype: 'string'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/mysql/app-pass',
        value: "{{ icinga2_mysqlidopass }}",
        vtype: 'password'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/mysql/app-password-confirm',
        value: "{{ icinga2_mysqlidopass }}",
        vtype: 'password'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/enable',
        value: "true",
        vtype: 'boolean'
      }
    - { name: 'icinga2-ido-mysql',
        question: 'icinga2-ido-mysql/mysql/admin-user',
        value: "root",
        vtype: 'string'
      }
Mariadb je nainstalována s debconf
- name: Set MariaDB root password before installing
  debconf: name='mariadb-server' question='mysql-server/root_password' value='{{ icinga2_mysqlrootpw }}' vtype='password'

- name: Confirm MariaDB root password before installing
  debconf: name='mariadb-server' question='mysql-server/root_password_again' value='{{ icinga2_mysqlrootpw }}' vtype='password'
a pak je tam
- name: Debian | Extra packages install
  apt:
    name:
      - icinga2
      - icinga2-ido-mysql
      - git
      - icingaweb2
    state: present
    update_cache: yes
  #  dpkg_options: force-confold
  when: ansible_distribution == 'Ubuntu' and (ansible_architecture == 'i386' or ansible_architecture == 'x86_64')
  register: pkg_result
  until: pkg_result is success
Řešení 1× (majales (tazatel))
23.5.2019 11:01 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Ansible debconf jak debugovat na Ubuntu 18 LTS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem se vykašlal na debconf a vytvořil DB a uživatele "ručně" pomocí ansible..

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.