Open duddis1 opened 2 weeks ago
also, please advise how can we resolve the below two errors, if you have any idea?
ERROR! [MBH-CAMP0S]: 'Validation Error: node_type_keys': Primary key 'key' is not set on all items as required. ERROR! [MBH-CAMP0S]: 'Validation Error: port_profiles[15].dot1x': Unexpected key(s) 'eapol' found in dict.
The primary key is always the first key shown in the documentation for a given list of dicts. You suggestion for ip_helper looks good to me, and we use the same in our test cases.
ip_helpers:
- ip_helper: 1.1.1.1
ERROR! [MBH-CAMP0S]: 'Validation Error: node_type_keys': Primary key 'key' is not set on all items as required.
Without seeing your inputs for node_type_keys
I cannot say anything else than the error states. You are missing a key named key
on one of the list elements.
ERROR! [MBH-CAMP0S]: 'Validation Error: port_profiles[15].dot1x': Unexpected key(s) 'eapol' found in dict.
The eapol
key is not supported under the port-profiles according to the documentation and schema, but it actually works because the underlying code is "lazy". We will be adding support for all the dot1x knobs in AVD 5.1.
Until then you can move the dot1x
key under structured_config
and it will render correctly.
Thanks for providing the details!
if I move dot1x key under structured_config it is rendering correctly, but it is applied to all the switches. I have to see whether I can restrict this in populating for only campus switches.
also , I have amended the type for node_type_keys from spine to l2spine as mentioned in below link (https://github.com/aristanetworks/avd/pull/4340), but still seeing below validation errors. Can you please advise on these errors?
ERROR! [MBH-SPINE1]: 'Validation Error: node_type_keys': Primary key 'key' is not set on all items as required.
ERROR! [MBH-SPINE1]: 'Validation Error: type': 'spine' is not one of ['bleaf', 'campus', 'ixleaf', 'l2leaf', 'l3leaf', 'overlay-controller', 'l2spine', 'super-spine']
I have attached the screenshot for the node_type_keys config, what is the Primary key 'key' in node_type_keys the config is expecting?
You need to add key
which refers to the key like l3leaf
under which you set defaults
, nodes
etc. The value of type
is the value that goes under the type: <type>
which may or may not be the same.
if I move dot1x key under structured_config it is rendering correctly, but it is applied to all the switches. I have to see whether I can restrict this in populating for only campus switches.
I meant add it under the structured_config
key on the endpoint directly. Then it will only render for the ports pointing to this endpoint. If you need it on multiple ports, you can use port_profiles
.
The above-mentioned errors have been resolved. Currently, the following error is pending: I have already set the bgp_as on the hosts, but I am still encountering the error below. Could you please advise if there has been any change in how this value should be set on the hosts?
TASK [arista.avd.eos_designs : Set eos_designs facts] *** task path: /home/avd/.ansible/collections/ansible_collections/arista/avd/roles/eos_designs/tasks/main.yml:28 redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi redirecting (type: httpapi) ansible.builtin.eos to arista.eos.eos The full traceback is: Traceback (most recent call last): File "/home/avd/.ansible/collections/ansible_collections/arista/avd/plugins/action/eos_designs_facts.py", line 196, in render_avd_switch_facts rendered_facts[host] = {"switch": avd_switch_facts_instances[host]["switch"].render()} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/avd/.local/share/virtualenvs/netbox_extract-zMJz_RXI/lib/python3.12/site-packages/pyavd/_eos_designs/avdfacts.py", line 64, in render return {key: getattr(self, key) for key in self.keys() if getattr(self, key) is not None} ^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/functools.py", line 993, in get val = self.func(instance) ^^^^^^^^^^^^^^^^^^^ File "/home/avd/.local/share/virtualenvs/netbox_extract-zMJz_RXI/lib/python3.12/site-packages/pyavd/_eos_designs/eos_designs_facts/init.py", line 121, in bgp_as return self.shared_utils.bgp_as ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/functools.py", line 993, in get val = self.func(instance) ^^^^^^^^^^^^^^^^^^^ File "/home/avd/.local/share/virtualenvs/netbox_extract-zMJz_RXI/lib/python3.12/site-packages/pyavd/_eos_designs/shared_utils/routing.py", line 99, in bgp_as bgp_as_range_expanded = range_expand(str(get(self.switch_data_combined, "bgp_as", required=True))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/avd/.local/share/virtualenvs/netbox_extract-zMJz_RXI/lib/python3.12/site-packages/pyavd/_utils/get.py", line 60, in get raise AristaAvdMissingVariableError(org_key) pyavd._errors.AristaAvdMissingVariableError: 'bgp_as' is required but was not found. fatal: [MBH-CAMP0S]: FAILED! => { "changed": false, "msg": "'bgp_as' is required but was not found for host 'MBH-OOB-SW01'." }
So AVD wants to configure BGP for the switch MBH-OOB-SW01
but it cannot find a BGP AS number defined for this switch. Without knowing more of your inventory, it can be hard to say much more.
Feel free to contact me on holbech@arista.com if you want to share some more details.
Enhancement summary
We are trying to adopt arista AVD version v5.0.0, and finding below validation errors.
We can find from the release notes Data model changes from “dict-of-dicts” to “list-of-dicts” for only Ethernet interfaces, and you are using the key as "name" for the Ethernet interface name.
but we can't find the key name for ip_address and ip_helper attributes, please let us know which key we have to use for ip_address and ip_helper values while converting them to list of lists.
Which component of AVD is impacted
eos_cli_config_gen
Use case example
We tried populating the config using below list of lists format for ip_helpers and ip_address for bgp_peers, but getting error saying ip_helper is not a valid key.
Describe the solution you would like
The config should access the key names ip_helper and ip_address as detailed below.
Describe alternatives you have considered
No response
Additional context
No response
Contributing Guide