Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Error while deploying Openstack-Ansible (OSA)

Hello everyone,

I'm trying to follow the OSA test environment deployment ( https://docs.openstack.org/project-deploy-guide/openstack-ansible/newton/app-config-test.html ).

I'm using 3 physical machines (exactly the way the Appendix A guide suggests)

  • 1 as infrastructure + deployment host (hostname : localhost),
  • 1 as storage (hostname : OSA-NODE-1)
  • and 1 as compute (hostname :OSA-NODE-2).

I have used the same subnets for management, XVLAN (tunneling) and storage as the Appendix A with fully network connectivity on the management (172.29.236.0/22) and storage (172.29.244.0/22) networks. Additionally, all 3 machines are connected to the same switch so they are on the same L2 network.

I am also going to attach the /etc/network/interface configuration for each node plus the final openstack_user_config.yml file configuration. (Note: Each node has 2 physical interfaces configured, but the second interfaces are configured with public iP's for remote access so their values are therefore omitted for safety reasons).

Finally I'm going to attach the 2 last errors that occurred while I was executing the command

openstack-ansible setup-hosts.yml

I cannot understand what the errors are saying so any help you could land would be greatly appreciated!!

Thank you in advance.

localhost

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enx0080c838b4d9
iface enx0080c838b4d9 inet static
    address 19x.xxx.xxx.12
    netmask 255.255.255.192
    network 19x.xxx.xxx.0
    broadcast 19x.xxx.xxx.63
    gateway 19x.xxx.xxx.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 19x.xxx.xxx.106

# This is a single-NIC configuration to implement the required bridges
# for OpenStack-Ansible. This illustrates the configuration of the first
# Infrastructure host and the IP addresses assigned should be adapted
# for implementation on the other hosts.
#
# After implementing this configuration, the host will need to be
# rebooted.

# Physical interface
auto eno1
iface eno1 inet manual

# Container/Host management VLAN interface
auto eno1.10
iface eno1.10 inet manual
    vlan-raw-device eno1

# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
auto eno1.30
iface eno1.30 inet manual
    vlan-raw-device eno1

# Storage network VLAN interface (optional)
auto eno1.20
iface eno1.20 inet manual
    vlan-raw-device eno1

# Container/Host management bridge
auto br-mgmt
iface br-mgmt inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports eno1.10
    address 172.29.236.11
    netmask 255.255.252.0
    gateway 172.29.236.1
    dns-nameservers 8.8.8.8 8.8.4.4

# OpenStack Networking VXLAN (tunnel/overlay) bridge
#
# Only the COMPUTE and NETWORK nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
auto br-vxlan
iface br-vxlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports eno1.30

# compute1 VXLAN (tunnel/overlay) bridge config
#auto br-vxlan
#iface br-vxlan inet static
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports eno1.30
#    address 172.29.240.12
#    netmask 255.255.252.0

# OpenStack Networking VLAN bridge
auto br-vlan
iface br-vlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports eno1

# Storage bridge (optional)
#
# Only the COMPUTE and STORAGE nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
auto br-storage
iface br-storage inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports eno1.20

# compute1 Storage bridge
#auto br-storage
#iface br-storage inet static
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports eno1.20
#    address 172.29.244.12
#    netmask 255.255.252.0
source /etc/network/interfaces.d/*.cfg

OSA-NODE-1

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp5s2
iface enp5s2 inet static
    address 19x.xxx.xxx.9
    netmask 255.255.255.192
    broadcast 19x.xxx.xxx.63
    gateway 19x.xxx.xxx.1

# This is a single-NIC configuration to implement the required bridges
# for OpenStack-Ansible. This illustrates the configuration of the first
# Infrastructure host and the IP addresses assigned should be adapted
# for implementation on the other hosts.
#
# After implementing this configuration, the host will need to be
# rebooted.

# Physical interface
auto enp5s1
iface enp5s1 inet manual

# Container/Host management VLAN interface
auto enp5s1.10
iface enp5s1.10 inet manual
    vlan-raw-device enp5s1

# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
auto enp5s1.30
iface enp5s1.30 inet manual
    vlan-raw-device enp5s1

# Storage network VLAN interface (optional)
auto enp5s1.20
iface enp5s1.20 inet manual
    vlan-raw-device enp5s1

# Container/Host management bridge
auto br-mgmt
iface br-mgmt inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.10
    address 172.29.236.13
    netmask 255.255.252.0
    gateway 172.29.236.1
    dns-nameservers 8.8.8.8 8.8.4.4

# OpenStack Networking VXLAN (tunnel/overlay) bridge
#
# Only the COMPUTE and NETWORK nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
auto br-vxlan
iface br-vxlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.30

# compute1 VXLAN (tunnel/overlay) bridge config
#auto br-vxlan
#iface br-vxlan inet static
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports enp5s1.30
#    address 172.29.240.12
#    netmask 255.255.252.0

# OpenStack Networking VLAN bridge
auto br-vlan
iface br-vlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1

# Storage bridge (optional)
#
# Only the COMPUTE and STORAGE nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
#auto br-storage
#iface br-storage inet manual
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports enp5s1.20

# Storage1 Storage bridge
auto br-storage
iface br-storage inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.20
    address 172.29.244.13
    netmask 255.255.252.0

OSA-NODE-2

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp5s2
iface enp5s2 inet static
    address 19x.xxx.xxx.8
    netmask 255.255.255.192
    network 19x.xxx.xxx.0   
    broadcast 19x.xxx.xxx.63
    gateway 19x.xxx.xxx.1

# This is a single-NIC configuration to implement the required bridges
# for OpenStack-Ansible. This illustrates the configuration of the first
# Infrastructure host and the IP addresses assigned should be adapted
# for implementation on the other hosts.
#
# After implementing this configuration, the host will need to be
# rebooted.

# Physical interface
auto enp5s1
iface enp5s1 inet manual

# Container/Host management VLAN interface
auto enp5s1.10
iface enp5s1.10 inet manual
    vlan-raw-device enp5s1

# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
auto enp5s1.30
iface enp5s1.30 inet manual
    vlan-raw-device enp5s1

# Storage network VLAN interface (optional)
auto enp5s1.20
iface enp5s1.20 inet manual
    vlan-raw-device enp5s1

# Container/Host management bridge
auto br-mgmt
iface br-mgmt inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.10
    address 172.29.236.12
    netmask 255.255.252.0
    gateway 172.29.236.1
    dns-nameservers 8.8.8.8 8.8.4.4

# OpenStack Networking VXLAN (tunnel/overlay) bridge
#
# Only the COMPUTE and NETWORK nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
#auto br-vxlan
#iface br-vxlan inet manual
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports enp5s1.30

# compute1 VXLAN (tunnel/overlay) bridge config
auto br-vxlan
iface br-vxlan inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.30
    address 172.29.240.12
    netmask 255.255.252.0

# OpenStack Networking VLAN bridge
auto br-vlan
iface br-vlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1

# Storage bridge (optional)
#
# Only the COMPUTE and STORAGE nodes must have an IP address
# on this bridge. When used by infrastructure nodes, the
# IP addresses are assigned to containers which use this
# bridge.
#
#auto br-storage
#iface br-storage inet manual
#    bridge_stp off
#    bridge_waitport 0
#    bridge_fd 0
#    bridge_ports enp5s1.20

# compute1 Storage bridge
auto br-storage
iface br-storage inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    bridge_ports enp5s1.20
    address 172.29.244.12
    netmask 255.255.252.0
source /etc/network/interfaces.d/*.cfg

openstack_user_config.yml file

---
cidr_networks:
  container: 172.29.236.0/22
  tunnel: 172.29.240.0/22
  storage: 172.29.244.0/22

used_ips:
  - "172.29.236.1,172.29.236.50"
  - "172.29.240.1,172.29.240.50"
  - "172.29.244.1,172.29.244.50"
  - "172.29.248.1,172.29.248.50"

global_overrides:
  internal_lb_vip_address: 172.29.236.11
  external_lb_vip_address: openstack.example.com
  tunnel_bridge: "br-vxlan"
  management_bridge: "br-mgmt"
  provider_networks:
    - network:
        container_bridge: "br-mgmt"
        container_type: "veth"
        container_interface: "eth1"
        ip_from_q: "container"
        type: "raw"
        group_binds:
          - all_containers
          - hosts
        is_container_address: true
        is_ssh_address: true
    - network:
        container_bridge: "br-vxlan"
        container_type: "veth"
        container_interface: "eth10"
        ip_from_q: "tunnel"
        type: "vxlan"
        range: "1:1000"
        net_name: "vxlan"
        group_binds:
          - neutron_linuxbridge_agent
    - network:
        container_bridge: "br-vlan"
        container_type: "veth"
        container_interface: "eth12"
        host_bind_override: "eth12"
        type: "flat"
        net_name: "flat"
        group_binds:
          - neutron_linuxbridge_agent
    - network:
        container_bridge: "br-vlan"
        container_type: "veth"
        container_interface: "eth11"
        type: "vlan"
        range: "1:1"
        net_name: "vlan"
        group_binds:
          - neutron_linuxbridge_agent
    - network:
        container_bridge: "br-storage"
        container_type: "veth"
        container_interface: "eth2"
        ip_from_q: "storage"
        type: "raw"
        group_binds:
          - glance_api
          - cinder_api
          - cinder_volume
          - nova_compute

###
### Infrastructure
###

# galera, memcache, rabbitmq, utility
shared-infra_hosts:
  localhost:
    ip: 172.29.236.11

# repository (apt cache, python packages, etc)
repo-infra_hosts:
  localhost:
    ip: 172.29.236.11

# load balancer
haproxy_hosts:
  localhost:
    ip: 172.29.236.11

###
### OpenStack
###

# keystone
identity_hosts:
  localhost:
    ip: 172.29.236.11

# cinder api services
storage-infra_hosts:
  localhost:
    ip: 172.29.236.11

# glance
image_hosts:
  localhost:
    ip: 172.29.236.11

# nova api, conductor, etc services
compute-infra_hosts:
  localhost:
    ip: 172.29.236.11

# heat
orchestration_hosts:
  localhost:
    ip: 172.29.236.11

# horizon
dashboard_hosts:
  localhost:
    ip: 172.29.236.11

# neutron server, agents (L3, etc)
network_hosts:
  localhost:
    ip: 172.29.236.11

# nova hypervisors
compute_hosts:
  OSA-NODE-2:
    ip: 172.29.236.12

# cinder storage host (LVM-backed)
storage_hosts:
  OSA-NODE-1:
    ip: 172.29.236.13
    container_vars:
      cinder_backends:
        limit_container_types: cinder_volume
        lvm:
          volume_group: cinder-volumes
          volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
          volume_backend_name: LVM_iSCSI
          iscsi_ip_address: "172.29.244.13"

ERROR#1

fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["ifup", "lxcbr0"], "delta": "0:00:01.037413", "end": "2017-02-20 15:03:29.843791", "failed": true, "rc": 1, "start": "2017-02-20 15:03:28.806378", "stderr": "run-parts: /etc/network/if-up.d/postfix exited with return code 75", "stdout": "\u001b[0;33mCreating LXC IPtables rules.\u001b[0m\n\u001b[0;32mLXC IPtables rules created.\u001b[0m\n\u001b[0;33mStarting LXC dnsmasq.\u001b[0m\n\u001b[0;32mdnsmasq started.\u001b[0m\nFailed to bring up lxcbr0.", "stdout_lines": ["\u001b[0;33mCreating LXC IPtables rules.\u001b[0m", "\u001b[0;32mLXC IPtables rules created.\u001b[0m", "\u001b[0;33mStarting LXC dnsmasq.\u001b[0m", "\u001b[0;32mdnsmasq started.\u001b[0m", "Failed to bring up lxcbr0."], "warnings": []}
fatal: [OSA-NODE-2]: FAILED! => {"changed": true, "cmd": ["ifup", "lxcbr0"], "delta": "0:00:02.218598", "end": "2017-02-20 15:03:31.120386", "failed": true, "rc": 1, "start": "2017-02-20 15:03:28.901788", "stderr": "run-parts: /etc/network/if-up.d/postfix exited with return code 75", "stdout": "\u001b[0;33mCreating LXC IPtables rules.\u001b[0m\n\u001b[0;32mLXC IPtables rules created.\u001b[0m\n\u001b[0;33mStarting LXC dnsmasq.\u001b[0m\n\u001b[0;32mdnsmasq started.\u001b[0m\nFailed to bring up lxcbr0.", "stdout_lines": ["\u001b[0;33mCreating LXC IPtables rules.\u001b[0m", "\u001b[0;32mLXC IPtables rules created.\u001b[0m", "\u001b[0;33mStarting LXC dnsmasq.\u001b[0m", "\u001b[0;32mdnsmasq started.\u001b[0m", "Failed to bring up lxcbr0."], "warnings": []}

ERROR#2

TASK [lxc_container_create : Run container veth wiring script] *****************
failed: [localhost_horizon_container-9dca9901 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.151'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_horizon_container-9dca9901\" \"9dca9901_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.351877", "end": "2017-02-20 15:06:14.666429", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.151", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.314552", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"9dca9901_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "54: b1debbc8@9dca9901_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 12:bd:bc:2c:09:ac brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["54: b1debbc8@9dca9901_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 12:bd:bc:2c:09:ac brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_utility_container-9f2e8de0 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.89'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_utility_container-9f2e8de0\" \"9f2e8de0_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.369195", "end": "2017-02-20 15:06:14.680657", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.89", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.311462", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"9f2e8de0_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "60: 955a9aa9@9f2e8de0_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether ce:ef:b9:a0:f4:66 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["60: 955a9aa9@9f2e8de0_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether ce:ef:b9:a0:f4:66 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_keystone_container-cc047139 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.237.39'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_keystone_container-cc047139\" \"cc047139_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.399054", "end": "2017-02-20 15:06:14.731256", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.237.39", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.332202", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"cc047139_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "56: 9b721076@cc047139_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether c6:3b:dd:7c:48:0e brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["56: 9b721076@cc047139_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether c6:3b:dd:7c:48:0e brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_cert_container-1543c563 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.63'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_cert_container-1543c563\" \"1543c563_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.410260", "end": "2017-02-20 15:06:14.756913", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.63", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.346653", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"1543c563_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\nDump was interrupted and may be inconsistent.\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "58: 722a1c8f@1543c563_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 6e:86:9c:e9:64:ff brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["58: 722a1c8f@1543c563_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 6e:86:9c:e9:64:ff brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_scheduler_container-f0d59a9c -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.236.176'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_scheduler_container-f0d59a9c\" \"f0d59a9c_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.504033", "end": "2017-02-20 15:06:14.759918", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.236.176", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.255885", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"f0d59a9c_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "62: 91051dd9@f0d59a9c_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 0e:a4:57:cb:20:59 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["62: 91051dd9@f0d59a9c_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 0e:a4:57:cb:20:59 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_cinder_scheduler_container-6093cede -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.23'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_cinder_scheduler_container-6093cede\" \"6093cede_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.128157", "end": "2017-02-20 15:06:15.100066", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.23", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.971909", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"6093cede_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "64: 0e346218@6093cede_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 6e:19:b4:8c:e0:23 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["64: 0e346218@6093cede_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 6e:19:b4:8c:e0:23 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_repo_container-37f5d6dc -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.10'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_repo_container-37f5d6dc\" \"37f5d6dc_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.152852", "end": "2017-02-20 15:06:15.162439", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.10", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.009587", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"37f5d6dc_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "68: 84df5769@37f5d6dc_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether c6:91:30:d8:55:42 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["68: 84df5769@37f5d6dc_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether c6:91:30:d8:55:42 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_neutron_server_container-1cd52b4d -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.145'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_neutron_server_container-1cd52b4d\" \"1cd52b4d_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.255525", "end": "2017-02-20 15:06:15.238623", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.145", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:14.983098", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"1cd52b4d_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "66: 0fa3f258@1cd52b4d_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 62:2f:64:42:1f:47 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["66: 0fa3f258@1cd52b4d_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 62:2f:64:42:1f:47 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_glance_container-024e2cbd -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.117'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_glance_container-024e2cbd\" \"024e2cbd_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.120761", "end": "2017-02-20 15:06:15.256814", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.117", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.136053", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"024e2cbd_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "70: 01d1166c@024e2cbd_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether ba:e5:b3:f0:6c:43 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["70: 01d1166c@024e2cbd_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether ba:e5:b3:f0:6c:43 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_api_os_compute_container-d32ec847 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.236.79'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_api_os_compute_container-d32ec847\" \"d32ec847_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.070237", "end": "2017-02-20 15:06:15.417700", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.236.79", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.347463", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"d32ec847_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "74: d75f2978@d32ec847_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 5a:d7:df:9f:30:d5 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["74: d75f2978@d32ec847_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 5a:d7:df:9f:30:d5 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_neutron_agents_container-c3495408 -> 172.29.236.11] (item={'value': {u'interface': u'eth12', u'bridge': u'br-vlan', u'netmask': None, u'type': u'veth'}, 'key': u'eth12_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_neutron_agents_container-c3495408\" \"c3495408_eth12\" \"eth12\" \"br-vlan\"", "delta": "0:00:00.159681", "end": "2017-02-20 15:06:15.408867", "failed": true, "failed_when_result": true, "item": {"key": "eth12_address", "value": {"bridge": "br-vlan", "interface": "eth12", "netmask": null, "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.249186", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"c3495408_eth12\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth12\nUnknown interface eth12", "stdout": "72: 58850d8b@c3495408_eth12: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether b2:33:cd:9a:25:74 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["72: 58850d8b@c3495408_eth12: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether b2:33:cd:9a:25:74 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_api_metadata_container-0feeb2c9 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.237.212'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_api_metadata_container-0feeb2c9\" \"0feeb2c9_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.140139", "end": "2017-02-20 15:06:15.612916", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.237.212", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.472777", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"0feeb2c9_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "76: 32c0f910@0feeb2c9_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 5a:19:d3:f4:d6:d6 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["76: 32c0f910@0feeb2c9_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 5a:19:d3:f4:d6:d6 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_console_container-64931a26 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.237.253'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_console_container-64931a26\" \"64931a26_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.193579", "end": "2017-02-20 15:06:15.695864", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.237.253", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.502285", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"64931a26_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "80: ecd01cf1@64931a26_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 5e:4f:37:74:b0:70 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["80: ecd01cf1@64931a26_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 5e:4f:37:74:b0:70 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_glance_container-024e2cbd -> 172.29.236.11] (item={'value': {u'interface': u'eth2', u'bridge': u'br-storage', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.246.241'}, 'key': u'storage_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_glance_container-024e2cbd\" \"024e2cbd_eth2\" \"eth2\" \"br-storage\"", "delta": "0:00:00.185491", "end": "2017-02-20 15:06:15.696101", "failed": true, "failed_when_result": true, "item": {"key": "storage_address", "value": {"address": "172.29.246.241", "bridge": "br-storage", "interface": "eth2", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.510610", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"024e2cbd_eth2\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth2\nUnknown interface eth2", "stdout": "78: ad1df906@024e2cbd_eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether b2:5a:2c:8e:c9:3f brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["78: ad1df906@024e2cbd_eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether b2:5a:2c:8e:c9:3f brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_nova_conductor_container-4412c2ce -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.138'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_nova_conductor_container-4412c2ce\" \"4412c2ce_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.134279", "end": "2017-02-20 15:06:15.881012", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.138", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.746733", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"4412c2ce_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "82: 1a58ab01@4412c2ce_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether d2:a7:e1:2e:9f:7f brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["82: 1a58ab01@4412c2ce_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether d2:a7:e1:2e:9f:7f brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_neutron_agents_container-c3495408 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.99'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_neutron_agents_container-c3495408\" \"c3495408_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.144569", "end": "2017-02-20 15:06:15.894206", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.99", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.749637", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"c3495408_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "84: cb32aae1@c3495408_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether aa:13:45:72:98:5a brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["84: cb32aae1@c3495408_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether aa:13:45:72:98:5a brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_cinder_api_container-09a98803 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.70'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_cinder_api_container-09a98803\" \"09a98803_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.133291", "end": "2017-02-20 15:06:16.069098", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.70", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.935807", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"09a98803_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "86: bebbaedd@09a98803_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 72:f7:70:74:26:85 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["86: bebbaedd@09a98803_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 72:f7:70:74:26:85 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_galera_container-364d7a70 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.64'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_galera_container-364d7a70\" \"364d7a70_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.161971", "end": "2017-02-20 15:06:16.146851", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.64", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.984880", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"364d7a70_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "90: 8590b858@364d7a70_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 76:c1:65:f4:b2:f1 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["90: 8590b858@364d7a70_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 76:c1:65:f4:b2:f1 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_memcached_container-84f5743d -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.238.57'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_memcached_container-84f5743d\" \"84f5743d_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.174336", "end": "2017-02-20 15:06:16.151523", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.238.57", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:15.977187", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"84f5743d_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "88: 80c6d452@84f5743d_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether b2:9a:8d:d3:c5:ac brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["88: 80c6d452@84f5743d_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether b2:9a:8d:d3:c5:ac brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_neutron_agents_container-c3495408 -> 172.29.236.11] (item={'value': {u'interface': u'eth10', u'bridge': u'br-vxlan', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.241.245'}, 'key': u'tunnel_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_neutron_agents_container-c3495408\" \"c3495408_eth10\" \"eth10\" \"br-vxlan\"", "delta": "0:00:00.197099", "end": "2017-02-20 15:06:16.390783", "failed": true, "failed_when_result": true, "item": {"key": "tunnel_address", "value": {"address": "172.29.241.245", "bridge": "br-vxlan", "interface": "eth10", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.193684", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"c3495408_eth10\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth10\nUnknown interface eth10", "stdout": "94: 2372f557@c3495408_eth10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether c2:52:77:eb:ab:26 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["94: 2372f557@c3495408_eth10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether c2:52:77:eb:ab:26 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_rabbit_mq_container-ce37a8f9 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.236.84'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_rabbit_mq_container-ce37a8f9\" \"ce37a8f9_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.201826", "end": "2017-02-20 15:06:16.391638", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.236.84", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.189812", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"ce37a8f9_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "92: dc3f1aee@ce37a8f9_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 12:65:aa:7f:36:7a brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["92: dc3f1aee@ce37a8f9_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 12:65:aa:7f:36:7a brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_cinder_api_container-09a98803 -> 172.29.236.11] (item={'value': {u'interface': u'eth2', u'bridge': u'br-storage', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.246.45'}, 'key': u'storage_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_cinder_api_container-09a98803\" \"09a98803_eth2\" \"eth2\" \"br-storage\"", "delta": "0:00:00.146824", "end": "2017-02-20 15:06:16.544919", "failed": true, "failed_when_result": true, "item": {"key": "storage_address", "value": {"address": "172.29.246.45", "bridge": "br-storage", "interface": "eth2", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.398095", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"09a98803_eth2\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth2\nUnknown interface eth2", "stdout": "96: 39815118@09a98803_eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 0e:0f:1a:58:f6:c7 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["96: 39815118@09a98803_eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 0e:0f:1a:58:f6:c7 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_heat_engine_container-54785081 -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.239.182'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_heat_engine_container-54785081\" \"54785081_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.195382", "end": "2017-02-20 15:06:16.616796", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.239.182", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.421414", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"54785081_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "100: d587b35a@54785081_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether e6:54:26:24:40:f0 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["100: d587b35a@54785081_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether e6:54:26:24:40:f0 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_heat_apis_container-6557198a -> 172.29.236.11] (item={'value': {u'interface': u'eth1', u'bridge': u'br-mgmt', u'netmask': u'255.255.252.0', u'type': u'veth', u'address': u'172.29.237.232'}, 'key': u'container_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_heat_apis_container-6557198a\" \"6557198a_eth1\" \"eth1\" \"br-mgmt\"", "delta": "0:00:00.194942", "end": "2017-02-20 15:06:16.617569", "failed": true, "failed_when_result": true, "item": {"key": "container_address", "value": {"address": "172.29.237.232", "bridge": "br-mgmt", "interface": "eth1", "netmask": "255.255.252.0", "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.422627", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"6557198a_eth1\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth1\nUnknown interface eth1", "stdout": "98: 5a861f72@6557198a_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 36:cd:51:0d:26:f9 brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["98: 5a861f72@6557198a_eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 36:cd:51:0d:26:f9 brd ff:ff:ff:ff:ff:ff"], "warnings": []}
failed: [localhost_neutron_agents_container-c3495408 -> 172.29.236.11] (item={'value': {u'interface': u'eth11', u'bridge': u'br-vlan', u'netmask': None, u'type': u'veth'}, 'key': u'eth11_address'}) => {"changed": false, "cmd": "/usr/local/bin/lxc-veth-wiring \"localhost_neutron_agents_container-c3495408\" \"c3495408_eth11\" \"eth11\" \"br-vlan\"", "delta": "0:00:00.102355", "end": "2017-02-20 15:06:16.788330", "failed": true, "failed_when_result": true, "item": {"key": "eth11_address", "value": {"bridge": "br-vlan", "interface": "eth11", "netmask": null, "type": "veth"}}, "rc": 1, "start": "2017-02-20 15:06:16.685975", "stderr": "\n# Execution example: lxc-veth-wiring.sh testing VETHTEST eth1 br-mgmt\n\n# CLI variables\nCONTAINER_NAME=\"${1}\"\nVETH=\"${2}\"\nINTERFACE=\"${3}\"\nBRIDGE=\"${4}\"\nVETH_PEER=\"$(openssl rand -hex 4)\"\nopenssl rand -hex 4\n\n# PID of running container\nPID=\"$(lxc-info -pHn ${CONTAINER_NAME})\"\nlxc-info -pHn ${CONTAINER_NAME}\n\n# Exit 0 means no change, exit 3 is changed, any other exit is fail.\nEXIT_CODE=0\n\nif ! ip a l \"${VETH}\";then\n  ip link add name \"${VETH}\" type veth peer name \"${VETH_PEER}\"\n  ip link set dev \"${VETH}\" up\n  EXIT=3\nelse\n  ip link set dev \"${VETH}\" up\nfi\nDevice \"c3495408_eth11\" does not exist.\n\nif ip a l \"${VETH_PEER}\";then\n  ip link set dev \"${VETH_PEER}\" up\n  ip link set dev \"${VETH_PEER}\" netns \"${PID}\" name \"${INTERFACE}\"\n  EXIT=3\nfi\n\nif ! brctl show \"${BRIDGE}\" | grep -q \"${VETH}\"; then\n  brctl addif \"${BRIDGE}\" \"${VETH}\"\n  EXIT=3\nfi\n\nlxc-attach --name \"${CONTAINER_NAME}\" <<EOC\n  ip link set dev \"${INTERFACE}\" up\n  ifdown \"${INTERFACE}\"\n  ifup \"${INTERFACE}\"\nEOC\nUnknown interface eth11\nUnknown interface eth11", "stdout": "102: f1519e99@c3495408_eth11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 3e:4f:a8:2d:75:9f brd ff:ff:ff:ff:ff:ff", "stdout_lines": ["102: f1519e99@c3495408_eth11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000", "    link/ether 3e:4f:a8:2d:75:9f brd ff:ff:ff:ff:ff:ff"], "warnings": []}