Está en la página 1de 2

ESCUELA POLITÉCNICA NACIONAL

REDES OPTICAS
Nombre: Jairo Viracocha Fecha: 12/09/2021
Paralelo: GR1 Tutor: Ing. Carlos Egas

Laboratorio: crear un inventario de dispositivos de red en Python


Objetivos
Parte 1: Investigar la API de inventario de dispositivos de red
Parte 2: Modificar el código

Antecedentes / Escenario
Una habilidad importante para los desarrolladores de software es la capacidad de obtener, modificar y
reutilizar código que se creó anteriormente. Las comunidades de codificadores como GitHub y Stack
Overflow, entre otras, brindan soporte para desarrolladores y muchas personas comparten código libremente
allí. Obtener y modificar código para una necesidad específica es una habilidad de importación para agregar
eficiencia al proceso de desarrollo de software.
En este laboratorio, modificará el código que se creó para obtener el inventario de hosts de red y lo reutilizará
para obtener un inventario de dispositivos de red.

Recursos requeridos
• Acceso al APIC-EM en el espacio aislado de DevNet en https://{YOUR-APICEM}.cisco.com
• Cartero
• Python 3 con IDLE
• Módulo de solicitudes de Python
• Módulo tabulado de Python
• El archivo de funciones que ha creado
• El archivo print_hosts.py que creó o el archivo print_hosts_sol.py Acceso a Internet

Parte 1: Investigar la API de inventario de dispositivos de red


En esta parte del laboratorio, investigará la documentación del inventario de dispositivos de red de APIC-EM
para determinar la información necesaria que necesita para crear su programa.

Paso 1: Determine la URL del punto de enlace.


a. Inicie sesión en el espacio aislado de APIC-EM utilizando la URL y las credenciales proporcionadas por
su instructor y haga clic en API para acceder a la documentación de swagger API:
b. En API disponibles, haga clic en Inventario > dispositivo de red > GET /network-device.
c. ¡Haz clic en Pruébalo! ¿Cuál es la dirección URL que usará en el método request.get() para este
extremo?
Paso 2: Investigue la respuesta JSON.
a. Copie el JSON en el cuerpo de la respuesta y péguelo en https://codebeautify.org/jsonviewer.
b. Compare GET /network-device JSON con el GET /host JSON que vio en el laboratorio anterior. ¿En
qué se parece la estructura del JSON de inventario de dispositivos de red a la estructura del JSON de
inventario de host?
Las respuestas Get/network-divace cuenta con muchas más claves 34 en total, mientras que
claves 34 en total, minetras que los Get /host los Get /host son dispositivos conectados a una red
y utilizan estos servicios por lo cual las claves van a tos servicios por lo cual las claves van a
disminuir.
c. ¿Cuántos dispositivos de red se incluyen en el inventario?
Las respuestas pueden variar, pero debería haber alrededor de 12 o 14 dispositivos presentes.
Puede depender mucho del estado de la red del recinto de seguridad APIC-EM.
d. Desea acceder y mostrar información para los dispositivos de red similar a la información que se muestra
para los hosts. Sin embargo, las claves no utilizan los nombres hostType y hostIP. ¿Cuáles son los
nombres de claves similares para los dispositivos de red?
Cisco 4451 Series Integrated Services Router
Busque otros impactos cosméticos en el código. Por ejemplo, hay mensajes de estado y error que se
muestran al usuario. Pueden requerir modificación.

Parte 2: Modificar el código.


a. Abra el archivo de print_hosts.py y guárdelo como print_devices.py.
b. Localice los lugares que requieren cambios y realice las ediciones.
c. Guarde y ejecute el código. Investigar errores. Si es necesario, compare el archivo con el archivo
print_devices_sol.py para descubrir el origen de los errores.
d. Cree una función a partir de su código copiando el código en su archivo de my_apic_em_functions.py
y transformándolo en una función llamada print_devices().
e. Ejecute su archivo de función y pruebe cada función para asegurarse de que su código esté libre de

errores.

Reflexión
1. ¿Cuáles son las ventajas de modificar y reutilizar código de esta manera?
La eficiencia es la gran ventaja. Potencialmente, hay menos errores al modificar el código que ya
funciona.
2. ¿Cuáles son los retos?
Comprender el código que se va a reutilizar para reducir el tiempo además sabemos que es fácil
pasar por alto cosas que deberían cambiarse. Incluso, al realizar ediciones es posible introducir
nuevos errores. Si no está familiarizado con el código o no comprende lo que hace, puede resultar
muy difícil localizar estos errores.
3. ¿Qué pueden hacer los desarrolladores para facilitar el proceso?
Documentar el código con comentarios detallados es una cosa. Mejorar el modularidad es otro. Al
eliminar las redundancias entre el código y mover esas funcionalidades a funciones reutilizables, el
código se vuelve más simple y fácil de modificar.

También podría gustarte