web-dev-qa-db-fra.com

Passage du pont Juju lxc

J'ai configuré Juju sous LXC et j'essaie de l'exposer au réseau interne. Je suis généralement la suite de this question qui pointe lxc vers mon pont existant (eth-br0).

J'ai édité /etc/default/lxc et /etc/lxc/default.conf conformément au message, mais lorsque j'essaie de bootstrap, je reçois:

2013-09-26 19:47:05 INFO juju.provider.local environprovider.go:32 opening environment "local"
2013-09-26 19:47:05 ERROR juju.utils network.go:37 cannot find network interface "lxcbr0": net: no such interface
2013-09-26 19:47:05 ERROR juju.provider.local environprovider.go:48 failure setting config: net: no such interface
2013-09-26 19:47:05 ERROR juju supercommand.go:282 command failed: net: no such interface
error: net: no such interface

De toute évidence, quelque chose tente encore de pointer sur lxcbr0 plutôt que sur le pont existant. Si je veux juste exposer un lxc juju au réseau, est-ce la meilleure façon de le faire et comment dois-je le configurer correctement.

Je peux joindre mon ifconfig si nécessaire.

5
user187595

Vous avez raison, quelque chose essaie de pointer lxcbr.

Utilisez lxcbr dans ces fichiers

  1. / etc/default/lxc
  2. /etc/lxc/default.conf
  3. / etc/network/interfaces

J'ai essayé br cela me donne la même erreur. Après avoir changé le pont existant en lxcbr, cela a bien fonctionné.

3
jkraj

Voir quelle interface avez-vous par:

ifconfig

mon résultat est comme ça:

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:12 errors:0 dropped:0 overruns:0 frame:0
      TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:600 (600.0 B)  TX bytes:600 (600.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
      RX packets:7239 errors:0 dropped:0 overruns:0 frame:0
      TX packets:8727 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:931464 (931.4 KB)  TX bytes:1701016 (1.7 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:198.46.159.94  P-t-P:198.46.159.94  Bcast:198.46.159.94  Mask:255.255.255.255
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Donc, mon interface réseau est venet. J'édite mon . Juju/environnements.yaml comme ci-dessous:

local:
    type: local
    network-bridge: venet0

et après l'avoir sauvegardé, lancez:

juju bootstrap

Vous pouvez voir s'il fonctionne ou non en:

statut de juju

Ceci est mon résultat:

environment: local
machines:
  "0":
    agent-state: started
    agent-version: 1.20.14.1
    dns-name: localhost
    instance-id: localhost
    series: trusty
    state-server-member-status: has-vote
services: {}
1
Danial Behzadi

La dernière version de juju inclut une option dans les environnements yaml pour spécifier le pont réseau:

# network-bridge holds the name of the LXC network bridge to use.
# Override if the default LXC network bridge is different.
#
#
network-bridge: br0

J'espère que cela t'aides?

1
MattyW

L'option de pont réseau n'est implémentée que pour le fournisseur local.

On dirait que vous utilisez peut-être le fournisseur manuel.

Malheureusement, pour le fournisseur manuel, le seul périphérique de pont réseau lxc qui fonctionne est lxcbr0. C'est une valeur codée en dur.

J'ai commencé une branche pour ajouter le support réseau-pont au fournisseur manuel ici: https://github.com/jrwren/juju/commit/3ee84a3881e43181b16099d8649f879fc68f089c

Mais je ne connais pas suffisamment le fonctionnement interne de juju. Par conséquent, le serveur d’État arrête d’écouter sur son port 17070 et le système tout entier est inutilisable.