Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cisco Priority "vlan 0" causing jobs to fail #206

Open
cmong-nextech opened this issue Jul 25, 2024 · 0 comments
Open

Cisco Priority "vlan 0" causing jobs to fail #206

cmong-nextech opened this issue Jul 25, 2024 · 0 comments
Assignees

Comments

@cmong-nextech
Copy link

Preface

I have discussed this relatively in depth with Scetron, JKala, and Shooks already.

Expected Behavior

Job runs and creates the expected interfaces, port-channels, and vlans.

Observed Behavior

The job fails with the following error:

Failed to assign untagged vlan to switch-corestack:Port-channel12, unable to locate a vlan with attributes [name: VLAN0000, vid: 0 location: switch location]
[2024-07-23 13:46:44,539: ERROR/ForkPoolWorker-1]
No object resulted from sync, will not process child objects.
Task nautobot.extras.jobs.run_job[c5f3e3b6-97a1-427f-b995-90822a1742da] raised unexpected: UnboundLocalError("cannot access local variable 'interface' where it is not associated with a value")
Traceback (most recent call last):
 File "/opt/nautobot/lib/python3.11/site-packages/celery/app/trace.py", line 477, in trace_task
   R = retval = fun(*args, **kwargs)
                ^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/celery/app/trace.py", line 760, in __protected_call__
   return self.run(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot/extras/jobs.py", line 1136, in run_job
   result = job(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot/extras/jobs.py", line 149, in __call__
   return self.run(*args, **deserialized_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot_device_onboarding/jobs.py", line 691, in run
   super().run(dryrun, memory_profiling, *args, **kwargs)
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot_ssot/jobs/base.py", line 317, in run
   self.sync_data(memory_profiling)
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot_ssot/jobs/base.py", line 166, in sync_data
   self.execute_sync()
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot_ssot/jobs/base.py", line 98, in execute_sync
   self.source_adapter.sync_to(self.target_adapter, flags=self.diffsync_flags)
 File "/opt/nautobot/lib/python3.11/site-packages/diffsync/__init__.py", line 601, in sync_to
   return target.sync_from(self, diff_class=diff_class, flags=flags, callback=callback, diff=diff)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/diffsync/__init__.py", line 573, in sync_from
   result = syncer.perform_sync()
            ^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/diffsync/helpers.py", line 329, in perform_sync
   changed |= self.sync_diff_element(element)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/diffsync/helpers.py", line 379, in sync_diff_element
   changed, modified_model = self.sync_model(src_model=src_model, dst_model=dst_model, ids=ids, attrs=attrs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/diffsync/helpers.py", line 432, in sync_model
   dst_model = dst_model.update(attrs=attrs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/nautobot/lib/python3.11/site-packages/nautobot_device_onboarding/diffsync/models/sync_network_data_models.py", line 447, in update
   name=attrs["lag__interface__name"], device=interface.device, type=InterfaceTypeChoices.TYPE_LAG
                                              ^^^^^^^^^
UnboundLocalError: cannot access local variable 'interface' where it is not associated with a value

How Can This Be Reproduced

Run the latest ssot style device discovery on a cisco device that uses a port-channel with the show switchport interfaces outputting Trunking Native Mode VLAN: 0 (Inactive)

@scetron scetron self-assigned this Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants