redhat-openstack / infrared

Plugin based framework that aims to provide an easy-to-use CLI for Ansible based projects
https://infrared.readthedocs.io/en/latest/index.html
Apache License 2.0
99 stars 96 forks source link

Deployment fails with: " "msg": "Error: invalid or not allowed setting 'bridge-port': 'bridge-port' not among [connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy].\n"," #404

Closed ccamacho closed 3 years ago

ccamacho commented 3 years ago

Error:

TASK [Attach interface em3 to bridge br-ctlplane] ********************************************************************************************************************************************
task path: /root/.infrared/plugins/virsh/tasks/bridged_network.yml:88
Using module file /root/infrared/.venv/lib/python3.6/site-packages/ansible/modules/net_tools/nmcli.py
Pipelining is enabled.

<localhost> ESTABLISH SSH CONNECTION FOR USER: root

<localhost> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'IdentityFile="/root/.ssh/id_rsa"' -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=30 -o ControlPath=/root/.ansible/cp/72dc686b8e localhost '/bin/sh -c '"'"'/usr/bin/python && sleep 0'"'"''

<localhost> (1, b'\n{"msg": "Error: invalid or not allowed setting \'bridge-port\': \'bridge-port\' not among [connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy].\\n", "failed": true, "rc": 2, "name": "em3", "invocation": {"module_args": {"conn_name": "em3", "ingress": null, "ip_tunnel_local": null, "slavepriority": 32, "vxlan_id": null, "path_cost": 100, "vlandev": null, "forwarddelay": 15, "primary": null, "hairpin": false, "egress": null, "vlanid": null, "mtu": null, "vxlan_remote": null, "dns4_search": null, "hellotime": 2, "dhcp_client_id": null, "maxage": 20, "ageingtime": 300, "priority": 128, "gw4": null, "state": "present", "gw6": null, "master": "br-ctlplane", "stp": true, "ifname": null, "type": "bridge-slave", "miimon": null, "ip_tunnel_remote": null, "vxlan_local": null, "mac": null, "ip6": null, "ip_tunnel_dev": null, "ip4": null, "arp_ip_target": null, "downdelay": null, "autoconnect": true, "dns6_search": null, "dns6": null, "dns4": null, "arp_interval": null, "flags": null, "mode": "balance-rr", "updelay": null}}}\n', b'')

<localhost> Failed to connect to the host via ssh: 
fatal: [hypervisor]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "ageingtime": 300,
            "arp_interval": null,
            "arp_ip_target": null,
            "autoconnect": true,
            "conn_name": "em3",
            "dhcp_client_id": null,
            "dns4": null,
            "dns4_search": null,
            "dns6": null,
            "dns6_search": null,
            "downdelay": null,
            "egress": null,
            "flags": null,
            "forwarddelay": 15,
            "gw4": null,
            "gw6": null,
            "hairpin": false,
            "hellotime": 2,
            "ifname": null,
            "ingress": null,
            "ip4": null,
            "ip6": null,
            "ip_tunnel_dev": null,
            "ip_tunnel_local": null,
            "ip_tunnel_remote": null,
            "mac": null,
            "master": "br-ctlplane",
            "maxage": 20,
            "miimon": null,
            "mode": "balance-rr",
            "mtu": null,
            "path_cost": 100,
            "primary": null,
            "priority": 128,
            "slavepriority": 32,
            "state": "present",
            "stp": true,
            "type": "bridge-slave",
            "updelay": null,
            "vlandev": null,
            "vlanid": null,
            "vxlan_id": null,
            "vxlan_local": null,
            "vxlan_remote": null
        }
    },
    "msg": "Error: invalid or not allowed setting 'bridge-port': 'bridge-port' not among [connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy].\n",
    "name": "em3",
    "rc": 2
}
NO MORE HOSTS LEFT ***************************************************************************************************************************************************************************

PLAY RECAP ***********************************************************************************************************************************************************************************
hypervisor                 : ok=43   changed=11   unreachable=0    failed=1    skipped=33   rescued=0    ignored=0   
localhost                  : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Custom nets template:

# Originally from: https://github.com/redhat-openstack/infrared/blob/master/plugins/virsh/defaults/topology/network/4_nets_3_bridges_hybrid.yml

cat << EOF > ./custom_nets.yml
# The following structure used for the hybrid deployments,
# where Undercloud and Controllers are virtual, Computes baremetal
# and the networks are bridged outside of the local hypervisor host.
# The separation of the networks are the following:
# * br-ctlplane - used for provisioning
# * br-vlan - used for OSPd internal services (internal/external/tenent api)
# * br-link - used for dataplane networks
---
networks:
    net1:
        name: br-ctlplane
        forward: bridge
        nic: em3
        ip_address: 10.73.104.15
        netmask: 255.255.254.0
    net2:
        name: br-vlan
        forward: bridge
        nic: em1
    net3:
        name: br-link
        forward: bridge
        nic: em2
    net4:
        external_connectivity: yes
        name: "management"
        ip_address: "172.16.0.1"
        netmask: "255.255.255.0"
        forward: nat
        dhcp:
            range:
                start: "172.16.0.2"
                end: "172.16.0.100"
            subnet_cidr: "172.16.0.0/24"
            subnet_gateway: "172.16.0.1"
        floating_ip:
            start: "172.16.0.101"
            end: "172.16.0.150"

nodes:
    undercloud:
        interfaces:
            - network: "br-ctlplane"
              bridged: yes
            - network: "management"
        external_network:
            network: "management"
    controller:
        interfaces:
            - network: "br-ctlplane"
              bridged: yes
            - network: "br-vlan"
              bridged: yes
            - network: "br-link"
              bridged: yes
            - network: "management"
        external_network:
            network: "management"
nodes:
    undercloud:
        interfaces:
            - network: "br-ctlplane"
              bridged: yes
            - network: "management"
        external_network:
            network: "management"
    controller:
        interfaces:
            - network: "br-ctlplane"
              bridged: yes
            - network: "external"
              bridged: yes
            - network: "management"
        external_network:
            network: "management"
EOF

Command:

infrared virsh -vvv --host-address localhost \
  --host-key ~/.ssh/id_rsa \
  --topology-nodes undercloud:1,controller:3 \
  --host-memory-overcommit True \
  --topology-network custom_nets.yml \
  --image-url http://rhos-qe-mirror-tlv.usersys.redhat.com/brewroot/packages/rhel-guest-image/7.9/50/images/rhel-guest-image-7.9-50.x86_64.qcow2 2>&1 | tee infrared_vms_deploy.log
ccamacho commented 3 years ago

Fixed and merged in stable/2.9 https://github.com/ansible/ansible/pull/74125

ccamacho commented 3 years ago

I'm not sure because IIRC infrared only works in 2.9

El sáb, 1 may 2021 a las 3:17, spike77453 @.***>) escribió:

Would it be possible to include this in 2.10 as well?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/redhat-openstack/infrared/issues/404#issuecomment-830481736, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEEIJWHOONJGSCUBLXMQFLLTLNJD7ANCNFSM42M3DCMA .