web-dev-qa-db-fra.com

Juju ne peut pas déployer de services avec MAAS

Je souhaite déployer un ou plusieurs charms avec juju sur des environnements MAAS (sans OpenStack). L’environnement du contrôleur MAAS est Ubuntu 12.10 avec 2 cartes réseau. L'un des NIC est connecté à un serveur DHCP externe et l'autre est maintenu par le MAAS-dhcp et est connecté à un commutateur avec 2 serveurs clients (Ubuntu 12.04 LTS). Les paramètres sont les suivants

$ Sudo vim/etc/network/interfaces

auto em1

iface em1 inet statique

adresse [out-ip]

netmask [out-netmask]

passerelle [passerelle]

dNS-serveurs de noms [out-dns]

auto em2

iface em2 inet statique

adresse [ip interne]

réseau [réseau interne]

masque de réseau [masque de réseau interne]

broadcast [adresse de diffusion interne]

$ Sudo vim /etc/sysctl.conf

retirer le commentaire net.ipv4.ip_forward = 1

$ Sudo vim /etc/rc.local

/ sbin/iptables -P FORWARD ACCEPT

/ sbin/iptables -t nat -A-POSTROUTING -o eth0 -j MASQUERADE

$ Sudo iptables -P FORWARD ACCEPT

$ Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ Sudo /etc/init.d/networking restart

$ Sudo dpkg-reconfigure maas-region-controller

[ip interne]

$ Sudo dpkg-reconfigure maas-cluster-controller

http: // [ip interne]: 80/MAAS

$ Sudo vim/etc/maas/ephmeralss

set ARCHES = "AMD64"

$ Sudo crée un utilisateur

$ Sudo maas-impoart-pxe-files

ouvrir l'interface utilisateur Web (http: // [ip interne]/MAAS) et appuyer sur le bouton de réglage et configurer les contrôleurs de cluster

$ Sudo vim/var/share/preseeds/preseed-master…

ordinateur ouvert pour permettre aux clients de passer à l'état Prêt (NE PAS APPUYER SUR LE BOUTON 'START NODE')

vérifie si tous les nœuds sont dans l'état READY

Les clients MAAS sont tous prêts

réglage de juju environnements.yaml

juju bootstrap (vérifie si l'un des nœuds -> est alloué à * )

ouvrez le serveur alloué au démarrage PXE et configurez Ubuntu

après l'installation

statut de juju

machines:
  0:
    agent-state: running
    dns-name: node-4487fc70b037
    instance-id: /MAAS/api/1.0/nodes/node-xxx
    instance-state: unknown
service{}

Lorsque j'essaie de déployer un charme (par exemple, mysql), l'autre client est démarré et installé Ubuntu. Cependant, après l'installation, le charme n'a toujours pas été déployé. et j'essaye:

statut de juju

machines:
  0:
    agent-state: running
    dns-name: node-4487fc70b037
    instance-id: /MAAS/api/1.0/nodes/node-64248652-6a9b-11e2-9347-842b2b6a17a3/
    instance-state: unknown
  1:
    agent-state: not-started
    dns-name: node-0025b31884f5
    instance-id: /MAAS/api/1.0/nodes/node-011c5b14-6a9d-11e2-9c04-842b2b6a17a3/
    instance-state: unknown
services:
  mysql:
    charm: cs:precise/mysql-15
    relations: {}
    units:
      mysql/0:
        agent-state: pending
        machine: 1
        public-address: null

J'ai aussi vérifié /var/log/juju/machine-agent.log de la machine 1 (la machine non démarrée) et cela montre que

2013-01-30 01:19:58,444: twisted@ERROR: Unhandled error in Deferred:
2013-01-30 01:19:58,454: twisted@ERROR: Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1181, in unwindGenerator
    return _inlineCallbacks(None, gen, Deferred())
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in _inlineCallbacks
    result = g.send(result)
  File "/usr/lib/python2.7/dist-packages/juju/agents/base.py", line 238, in startService
    yield self.connect()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1181, in unwindGenerator
    return _inlineCallbacks(None, gen, Deferred())
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in _inlineCallbacks
    result = g.send(result)
  File "/usr/lib/python2.7/dist-packages/juju/agents/base.py", line 208, in connect
    self.config["zookeeper_servers"])
  File "/usr/lib/python2.7/dist-packages/txzookeeper/retry.py", line 302, in connect
    return self.client.connect(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/txzookeeper/client.py", line 468, in connect
    self._servers, callback, self._session_timeout)
zookeeper.ZooKeeperException: Could not internally obtain zookeeper handle

J'attends un jour et ça continue en attente. La machine 1 reste également sur non démarrée. J'ai également vérifié auprès de deux clients ssh qu'ils allaient bien. Cependant, je ne peux pas utiliser juju ssh 1 pour me connecter au client. Je ne sais vraiment pas quoi faire. Aidez-moi, s'il vous plaît.

4
Arbit

la machine 1 ne peut pas se connecter au processus ZK sur la machine 0. Cela peut être dû à de nombreuses raisons. Problèmes DNS, problèmes de pare-feu, etc.

Je voudrais SSH dans la machine 1 et essayez de vous connecter manuellement au Zookeeper fonctionnant sur la machine 0 (avec telnet) pour voir si vous pouvez déterminer le problème exact.

1
bigjools

Je pense que cela peut avoir à faire avec mDNS. Je rencontre aussi le même problème.

Avec mDNS activé par défaut, je ne peux pas résoudre le nom d’hôte machine-0/zk! Mon DNS fonctionne cependant bien, en utilisant Dig.

Ce n’est que lorsqu’il passe par la couche mdns qu’il provoque des dépassements de délai/des blocages. Cela semble fonctionner si vous n'utilisez pas de nom de domaine complet, si vous utilisez un nom de domaine complet, même un conn, pour une raison quelconque, il cherche d'abord avahi? Besoin de creuser plus profondément.

Edit: J'ai trouvé le problème est que avahi a la priorité sur le domaine .local, même ses sous-domaines. Je cherche un moyen de faire d'Avahi une liste noire d'un domaine. Nous devrons peut-être proposer un correctif pour une option de domaine de liste noire.

Essayez de changer /etc/nsswitch.conf pour ne pas utiliser mDNS avec NOTFOUND = return, c’est-à-dire, configurez les hôtes: ligne: hôtes: fichiers dns mdns4

Ou bien éditez le pré-libellé générique de MaaS et supprimez avahi-daemon de la liste d'installation automatique.

1
trevorjay

Après avoir ajouté manuellement le nom d'hôte (/etc/hosts) dans chacune des machines, juju a correctement déployé le service sur la machine 1.

1
Arbit