Bonjour Il n'y a pas si longtemps, Ericsson a lancé le nouveau système de gestion Ericsson Network Manager (
ENM ), qui est déjà apparu chez certains opérateurs mobiles. Il serait intéressant d'analyser certaines questions sur son utilisation et, dans cet article, nous aborderons la question du travail avec l'interface Northbound, qui n'a pas été rencontrée auparavant (dans OSS-RC), à savoir l'API RESTful. Nous utiliserons python et la bibliothèque de requêtes.
Des fonctions telles que l'administration des utilisateurs, CM Bulk Import / Export, Virtual Network Function, la gestion des collections, la gestion des cellules et bien plus sont disponibles via l'interface REST. La documentation ALEX contient des descriptions assez détaillées des capacités de cette API sans être liée à un langage de programmation. Par exemple, essayons de nous connecter à NBI Cell Management en utilisant la bibliothèque de requêtes pour python. La description de l'interface est disponible dans la bibliothèque ALEX «Tâches de configuration - Interface REST Northbound de gestion des cellules CM».
La fonctionnalité spécifiée vous permet de contrôler la configuration des cellules, les voisins entre elles, les voisins de fréquence sur les nœuds LTE, WCDMA et GSM au sein d'un ENM. Il est également possible de gérer les transferts à la fois vers l'ENM voisin et vers l'OSS-RC.
L'interface RESTful est disponible à l'adresse suivante:
https: // <domaine-client> / configuration-tâches / v1 / tâches
La structure de la requête JSON est la suivante:
- URL de demande: "configuration-tasks / v1 / tasks"
- Type de demande: POST
- Type de contenu: application / json
- Corps: selon la documentation de l'équipe sélectionnée.
En python, utilisez l'objet Session de la bibliothèque de requêtes.
import requests import json from requests.packages.urllib3.exceptions import InsecureRequestWarning from requests import Session from requests.exceptions import HTTPError class enmRestSession(Session):
Nous le pondérons avec l'autorisation ENM requise et certains «paramètres par défaut».
def __init__(self, enm, login, password): super().__init__()
Faisons une méthode pour envoyer une demande REST.
Ajoutez la fermeture automatique de session à ENM lorsque vous utilisez le gestionnaire de contexte.
def __exit__(self, exc_type, exc_val, exc_tb): try:
Le petit complément résultant peut être utilisé dans des scripts pour vos besoins. Par exemple, recevoir toutes les cellules d'un nœud RNC.
def main(): param = {"name": "readCells", "fdn": "NetworkElement=RNC01"} with enmRestSession( "https://iegtbl8030-7.gtoss.eng.ericsson.se/", "login", "pass" ) as s: print(s.send_configuration_task(param).json())
Toutes les requêtes possibles sont décrites dans la bibliothèque ALEX ci-dessus. Je ne pense pas pouvoir le publier n'importe où, mais je vais essayer de répondre à certaines questions. Le code complet est disponible sur
GitHub . Merci à tous ceux qui ont lu.