Forum Programmation.autre Playbook Ansible pour installer RabbitMQ 3.7 sur Debian 9

Posté par . Licence CC by-sa
0
28
mai
2018

Bonjour,

J'essaie d'installer la version 3.7.4-1 de RabbitMQ sur une Debian 9 toute fraîche, mon playbook a fonctionné il y a un mois et j'ai pu l'installer mais aujourd'hui il ne fonctionne plus. Les repos ont dû chnager mais je ne m'explique pas comment. Il bloque sur la task "install rabbitmq-server" à cause des dépendances non satisfaites. Est-ce que quelqu'un aurait une solution pour me débloquer svp ?

J'ai simplifié le playbook au host "debian9" que vous pouvez ajouter dans votre fichiers /etc/ansible/hosts.

Je voudrais garder erlang-base-hipe. Il s'agit d'une version de erlang permettant de compiler le code et d'améliorer les performances de rabbitmq 20 à 80% (selon cloudamqp).
En contrepartie, l'utilisation de cette feature (hipe) implique un démarrage de rabbitmq beaucoup plus long que la normal (plusieurs minutes).

--- 
# need python, openssh-server, ca-certificates
- name: rabbitmq
  hosts:
    - debian9

  tasks:
    - name: desactivation de conntrack (prerouting)
      iptables:
        table: raw
        chain: PREROUTING
        jump: NOTRACK

    - name: desactivation de conntrack (postrouting)
      iptables:
        table: raw
        chain: OUTPUT
        jump: NOTRACK

    - name: disable ipv6
      sysctl:
        name: net.ipv6.conf.all.disable_ipv6
        value: 1

    - name: start systemd-timesyncd
      systemd:
        name: systemd-timesyncd
        enabled: true
        state: started

    - name: install apt-transport-https and dirmngr
      apt:
        name:
          - apt-transport-https
          - dirmngr
        update_cache: true

    # don't use https://packages.erlang-solutions.com/erlang/#tabs-debian
    # the erlang packages are fully compatible (epmd.socket isn't present)
    - name: set 'buster' repo priority
      copy:
        content: |
          Package: *
          Pin: release n=buster
          # default to 500
          Pin-Priority: 400
        dest: /etc/apt/preferences.d/buster.pref

    - name: add 'buster' repository
      apt_repository:
        repo: deb http://ftp2.fr.debian.org/debian buster main

    - name: set erlang* priority
      copy:
        content: |
          Package: erlang*
          Pin: version 1:20.3.3+dfsg-1
          # default to 500
          Pin-Priority: 1000
        dest: /etc/apt/preferences.d/erlang.pref

    - name: install erlang-base-hipe
      apt:
        name: erlang-base-hipe
        update_cache: true

    - name: add 'rabbitmq' packagecloud repo key
      apt_key:
        url: https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey

    - name: add 'rabbitmq' packagecloud repository
      apt_repository:
        repo: deb https://packagecloud.io/rabbitmq/rabbitmq-server/debian/ stretch main

    - name: disable rabbitmq installation start
      lineinfile:
        path: /usr/sbin/policy-rc.d
        line: if [ $1 = rabbitmq-server -a $2 = start ]; then exit 101; fi # ansible: disable rabbitmq start
        create: true
        mode: 0700

    - name: install rabbitmq-server
      apt:
        name: rabbitmq-server=3.7.4-1

Voici l'erreur que j'ai (mon target host est RABBIT-TEST) :

TASK [install rabbitmq-server] *********************************
fatal: [RABBIT-TEST]: FAILED! => {"cache_update_time": 1527496185, "cache_updated": false, "changed": false, "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\"     install 'rabbitmq-server=3.7.4-1'' failed: E: Unable to correct problems, you have held broken packages.\n", "rc": 100, "stderr": "E: Unable to correct problems, you have held broken packages.\n", "stderr_lines": ["E: Unable to correct problems, you have held broken packages."], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n rabbitmq-server : Depends: erlang-nox (>= 1:19.3) but 1:19.2.1+dfsg-2+deb9u1 is to be installed or\n                            esl-erlang (>= 1:19.3) but it is not installable\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Some packages could not be installed. This may mean that you have", "requested an impossible situation or if you are using the unstable", "distribution that some required packages have not yet been created", "or been moved out of Incoming.", "The following information may help to resolve the situation:", "", "The following packages have unmet dependencies:", " rabbitmq-server : Depends: erlang-nox (>= 1:19.3) but 1:19.2.1+dfsg-2+deb9u1 is to be installed or", "                            esl-erlang (>= 1:19.3) but it is not installable"]}

Sur le serveur RABBIT-TEST j'ai cette erreur lorsque j'essaie d'installer rabbit :

root@RABBIT-TEST:~# apt-get install rabbitmq-server
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
 rabbitmq-server : Dépend: erlang-nox (>= 1:19.3) mais 1:19.2.1+dfsg-2+deb9u1 devra être installé ou
                            esl-erlang (>= 1:19.3) mais il n'est pas installable
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
  • # mix

    Posté par (page perso) . Évalué à 2 (+1/-0).

    En même temps ton playbook mix du repo buster et stretch donc tu as des dépendances qui partent en kawet. Une raison de faire ça ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.