Skip to content
Snippets Groups Projects
Commit 71f930ff authored by Rafael Da Silveira Santos's avatar Rafael Da Silveira Santos
Browse files

Added case in Nornir if services.yaml is empty

parent 8db53fbe
No related branches found
No related tags found
No related merge requests found
......@@ -18580,3 +18580,129 @@ nornir.core.exceptions.NornirSubTaskError: Subtask: napalm_configure (failed)
2025-05-23 14:51:32,189 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-23 14:52:11,522 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-23 14:52:43,582 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:08:33,175 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:08:33,177 - nornir.core.task - ERROR - start() - Host 'L1': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:08:33,178 - nornir.core.task - ERROR - start() - Host 'L2': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:08:33,178 - nornir.core.task - ERROR - start() - Host 'L3': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:08:33,179 - nornir.core.task - ERROR - start() - Host 'L4': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:08:33,179 - nornir.core.task - ERROR - start() - Host 'S1': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:08:33,180 - nornir.core.task - ERROR - start() - Host 'S2': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 32, in configure_service
services = load_service_file()
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 19, in load_service_file
return services[0]["services"]
TypeError: 'generator' object is not subscriptable
2025-05-24 16:09:04,222 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:09:26,350 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:10:50,759 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:10:50,764 - nornir.core.task - ERROR - start() - Host 'L2': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:10:50,765 - nornir.core.task - ERROR - start() - Host 'L1': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:10:50,766 - nornir.core.task - ERROR - start() - Host 'L3': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:10:50,769 - nornir.core.task - ERROR - start() - Host 'S1': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:10:50,770 - nornir.core.task - ERROR - start() - Host 'L4': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:10:50,771 - nornir.core.task - ERROR - start() - Host 'S2': task 'configure_service' failed with traceback:
Traceback (most recent call last):
File "/home/ins/.local/lib/python3.10/site-packages/nornir/core/task.py", line 98, in start
r = self.task(self, **self.params)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 34, in configure_service
service_per_device = get_service_per_device(services)
File "/home/ins/Lab/template-vxlan-lab-rafael/service_deployment/nornir_implementation/main.py", line 24, in get_service_per_device
for service in services:
TypeError: 'NoneType' object is not iterable
2025-05-24 16:11:33,048 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
2025-05-24 16:11:46,857 - nornir.core - INFO - run() - Running task 'configure_service' with args {} on 6 hosts
......@@ -21,11 +21,12 @@ def load_service_file():
def get_service_per_device(services):
service_per_device = {}
for service in services:
for host in list(service["fabric"].keys()):
if host not in service_per_device:
service_per_device[host] = []
service_per_device[host].append(service)
if services != None:
for service in services:
for host in list(service["fabric"].keys()):
if host not in service_per_device:
service_per_device[host] = []
service_per_device[host].append(service)
return service_per_device
def configure_service(task):
......
---
services:
- name: "CustA"
vni: 10100
description: "Customer A VxLAN service"
fabric:
L1:
vlan: 100
interfaces:
- name: "eth3"
description: H1
L2:
vlan: 100
interfaces:
- name: "eth3"
description: H3
- name: "CustB"
vni: 10101
description: "Customer B VxLAN service"
fabric:
L1:
vlan: 101
interfaces:
- name: "eth4"
description: H5
L3:
vlan: 100
interfaces:
- name: "eth3"
description: H2
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment