arista-eosplus / ansible-eos-interfaces Goto Github PK
View Code? Open in Web Editor NEWPrebuilt Ansible Role to manage interface configuration on your Arista EOS Device
License: BSD 3-Clause "New" or "Revised" License
Prebuilt Ansible Role to manage interface configuration on your Arista EOS Device
License: BSD 3-Clause "New" or "Revised" License
We recently bumped into issue that no arista-eos ansible roles support configuration of MLAG id on interface. Even more, manual configuration will be overwritten if interfaces role is in use!
IMO this role suits best for MLAG id configuration as it also configures channel-groups etc.
Example:
cat ./group_vars/leafs-rack1.yml
interfaces:
- name: Ethernet1
description: sea-hvprod-01-data
enable: true
mlag_id: 1
The description commands seem to be pushed before creating an interface:
interfaces:
No loopback on the device at this time, then run the playbook:
TASK [arista.eos-interfaces : Arista EOS interface resources] ******************
failed: [spine1](item={u'enable': True, u'name': u'Loopback0', u'description': u'Loopback'}) => {"changed": false, "commands": ["configure terminal", "description Loopback", "no shutdown", "interface Loopback0"], "failed": true, "item": {"description": "Loopback", "enable": true, "name": "Loopback0"}, "msg": "matched error in response: description Loopback\r\n% Invalid input\r\nspine-01(config)#"}
The template seems to have an ordering issue.
It would be swell if we could manage additional interface options. For my immediate desire I'd like to do things like lacp priority & add interfaces to port channel groups
Even with specifying eapi as the transport in the provider
dictionary.
It seems maybe the hardcoded entries of transport: cli
in all the eos_* modules override that.
This makes me sad to not be able to use the api, especially since right now my paramiko is all about not working because of no acceptable kex algo
This was with a fresh install of the role with ansible v2.2.1.0
If for some reason you add any configuration for MLAG interfaces using ansible-eos-interfaces like in the following example - role will mess up configuration as ansible-eos-interfaces and ansible-eos-mlag will conflict with each other
interfaces:
changed: [10.2.200.68] => (item={u'enable': True, u'name': u'Ethernet21', u'description': u'MLAG'})
changed: [10.2.200.69] => (item={u'enable': True, u'name': u'Ethernet21', u'description': u'MLAG'})
failed: [10.2.200.69] (item={u'enable': True, u'name': u'Ethernet22', u'description': u'MLAG'}) => {"changed": false, "commands": ["configure session ansible_1542881846", "interface Ethernet22", "no channel-group", "end"], "failed": true, "item": {"description": "MLAG", "enable": true, "name": "Ethernet22"}, "msg": "matched error in response: no channel-group\r\n% Interface Ethernet22 is a member of the MLAG peer link Port-Channel22; channel-group status not changed\r\nnvoa-tstsw-02(config-s-ansibl-if-Et22)#"}
failed: [10.2.200.68] (item={u'enable': True, u'name': u'Ethernet22', u'description': u'MLAG'}) => {"changed": false, "commands": ["configure session ansible_1542881846", "interface Ethernet22", "no channel-group", "end"], "failed": true, "item": {"description": "MLAG", "enable": true, "name": "Ethernet22"}, "msg": "matched error in response: no channel-group\r\n% Interface Ethernet22 is a member of the MLAG peer link Port-Channel22; channel-group status not changed\r\nnvoa-tstsw-01(config-s-ansibl-if-Et22)#"}
In my opinion such conflicts must be specifically highlighted in role description
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.