Diagnostics¶
Liste des unités de tests disponibles¶
Les unités suivantes peuvent être disponibles selon la configuration du service
sur lequel vous voulez exécuter le diagnostic.
Cuivre¶
Nom de l'unité |
Code de l'unité |
Unit Diag Category |
Part of STANDARD DIAG |
---|---|---|---|
Informations techniques |
technicalinfo |
Access |
Yes |
Test de synchro |
synchro |
Access |
Yes |
CPE MAC |
cpemac |
Access |
Yes |
SELT |
selt |
Access |
No |
MELT |
melt |
Access |
No |
Activation de l'accès |
enable |
Access |
No |
Désactivation de l'accès |
disable |
Access |
No |
Redémarrage de l'accès |
reset |
Access |
No |
Traffic de l'accès |
traffic |
Access |
No |
Test de dslam |
test_dslam |
Access |
Yes |
Test de dlm |
test_dlm |
Access |
Yes |
Test RTC |
test_rtc |
Access |
Yes |
Dérangement Collectif |
derco |
Access |
Yes |
Fibre¶
Nom de l'unité |
Code de l'unité |
Unit Diag Category |
Part of STANDARD DIAG |
---|---|---|---|
État de la ligne fibre |
fiber_state |
Access |
Yes |
Informations liées au service |
service_info |
Access |
No |
Dérangement Collectif |
derco |
Access |
Yes |
Note
Les diagnostics sur les services ENNI ne sont pas supportés pour le moment.
En cas de dérangement collectif, la réponse contiendra la clef "impacted_services" listant toutes les références de services impactées par ce dérangement.
Catégories des unités de diagnostic¶
Deux types d'unités de diagnostic existent : access
et network
.
Les unités de type access
s'exécutent du coté accès du service, comme la synchronisation, les informations techniques du port des DSLAMs, etc.
Les unités de type network
s'exécutent du coté réseau du service (réseau de Covage) comme le statut du DSLAM, les routeurs et les portes de livraisons.
Récupération des unités de diagnostic disponibles¶
Pour récupérer les unités de diagnostic disponibles pour un service donné, vous devez faire un GET
sur l'url /api/diagnostic/units/
en fournissant les paramètres suivants :
Parameter query |
Obligatoire |
Description |
---|---|---|
|
Oui |
UUID du service sur lequel vous voulez exécuter le diagnostic |
|
Oui |
Catégories des unités de tests que vous voulez exécuter ( |
Requête :
GET /api/diagnostic/units/?service_uuid=54u93i&category=access HTTP/1.1
Host: extranet.kosc-telecom.fr
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"name": "cpemac",
"label": "CPE MAC",
"category": "access",
"description": "",
"standard": true,
"available": true,
"sort_value": "cD1jcGVtYWM="
},
{
"name": "disable",
"label": "Disable endpoint(s)",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD1kaXNhYmxl"
},
{
"name": "enable",
"label": "Enable endpoint(s)",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD1lbmFibGU="
},
{
"name": "melt",
"label": "MELT",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD1tZWx0"
},
{
"name": "reset",
"label": "Reset endpoint(s)",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD1yZXNldA=="
},
{
"name": "selt",
"label": "SELT",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD1zZWx0"
},
{
"name": "synchro",
"label": "Synchro test",
"category": "access",
"description": "",
"standard": true,
"available": true,
"sort_value": "cD1zeW5jaHJv"
},
{
"name": "technicalinfo",
"label": "Technical information",
"category": "access",
"description": "",
"standard": true,
"available": true,
"sort_value": "cD10ZWNobmljYWxpbmZv"
},
{
"name": "traffic",
"label": "Access traffic",
"category": "access",
"description": "",
"standard": false,
"available": true,
"sort_value": "cD10cmFmZmlj"
}
]
Les champs d'une unité de test sont les suivants :
Nom du champ |
Type |
Description |
---|---|---|
|
string |
Nom de l'unité, ce champ est à fournir lors de la création d'un diagnostic |
|
string |
Categorie de l'unité ( |
|
string |
Version localisée du nom de l'unité (utile pour l'affichage des résultats sur votre backoffice) |
|
string |
Version localisée de la description de l'unité (utile pour l'affichage des résultats sur votre backoffice) |
|
boolean |
Précise si l'unité fait partie d'un diagnostic standard |
Création d'un diagnostic run¶
Pour effectuer un diagnostic sur un service, un nouveau diagnostic run
doit être créé en effectuant un POST
sur l'url /api/diagnostic/runs/
.
POST /api/diagnostic/runs/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"service_uuid": "3acf5ab1-4062-4199-ba98-c3f94681b3de",
"type": "standard"
}
Vous pouvez demander une série particulière d'unités de diagnostic en précisant le champ type
à custom
et en fournissant un champ units
contenant la liste des unités que vous voulez exécuter.
Requête :
POST /api/diagnostic/runs/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"service_uuid": "3acf5ab1-4062-4199-ba98-c3f94681b3de",
"type": "custom",
"units": ["selt", "enable", "synchro"]
}
Par défaut, les unités sont exécutées sur tous les endpoints
du service. Dans le cas d'un service multipaires, vous pouvez spécifier sur quels endpoints vous voulez que les unités soit exécutées en fournissant le champ endpoint
dans la requête.
Requête :
POST /api/diagnostic/runs/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"service_uuid": "3acf5ab1-4062-4199-ba98-c3f94681b3de",
"type": "custom",
"units": ["selt", "enable", "synchro"],
"endpoints": [{
"endpoint_ref": "0123456789",
"endpoint_ref_type": "line_number"
}]
}
Contraintes :
Vous ne pouvez éxecuter que des unités appartenant à la même catégorie lorsque vous demandez un diagnostic
custom
,Vous ne pouvez pas demander un diagnostic sur un service si un diagnostic est déjà en cours sur celui-ci.
Sur un service Bitstream (cuivre), vous ne pouvez pas lancer la réinitialisation de(s) port(s) en même temps que d'autres diagnostics .
Note
Seuls les diagnostics de type standard
permettent de créer un ticket de support.
Récupérer un diagnostic run¶
Pour récupérer un diagnostic run
, vous devez effectuer un GET
sur l'url /api/diagnostic/runs/{alias}/
.
Note
Cette requête est possible en utilisant l'alias
ou l'id
du diagnostic run
.
Requête :
GET /api/diagnostic/runs/D170803_11001/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Quand un diagnostic run
est créé ou récupéré, l'API retourne un dictionnaire contenant toutes les informations du diagnostic, des unités et leurs statuts.
Requête :
GET /api/diagnostic/runs/D170803_11001/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 225146,
"alias": "D190913_80926",
"service_uuid": "3acf5ab1-4062-4199-ba98-c3f94681b3de",
"status": "error",
"units": [
"synchro"
],
"results": {
"synchro": {
"status": "error",
"label": "Synchro test",
"category": "access",
"description": "",
"data": [],
"error_code": null,
"error_description": ""
}
},
"creation_date": "2019-09-13T14:03:32.713524Z",
"modification_date": "2019-09-16T15:27:06.151004Z",
"end_customer": "Untel",
"type": "custom",
"service_alias": "S190913_75475",
"endpoints": [
{
"endpoint_ref": "0492271978",
"endpoint_ref_type": "line_number"
}
],
"product": {
"code": "AM01",
"name": "ADSL-Max_FULL_BE_KOSC"
},
"ticket_id": null,
"ticket_alias": null
}
Liste des champs¶
Nom du champ |
Type |
Description |
---|---|---|
|
integer |
Identifiant du |
|
string |
Alias du |
|
string |
UUID du service sur lequel le diagnostic est effectué |
|
string |
Référence Covage du service sur lequel le diagnostic est effectué |
|
string |
Statut actuel du |
|
array |
Liste des unités |
|
dict |
Résultats des unités |
|
string |
Date de création du |
|
string |
Date de dernière modification du |
|
string |
Information concernant le client final sur le |
|
string |
Type de |
|
array |
Liste des |
|
dictionary |
Dictionnaire contenant les champs |
Résultats d'un diagnostic run¶
La récupération d'un diagnostic unit
renvoie un dictionnaire contenant un champ results
. Ce champ contient les résultats de toutes les unités du diagnostic run
.
Avertissement
Le format du champ results
n'est pas garanti, n'est pas constant entre les services même pour un produit identique, et peut changer à tout moment en fonction des contraintes opérationnelles de Covage. Son utilisation en API doit se faire avec précaution.
Exemple:
{
"results" : {
"selt": {
"status": "submitted",
"label" "SELT",
"category": "access",
"description": "Description of the SELT diagnostic unit",
},
"enable": {
"status": "completed",
"label" "Enable access",
"category": "access",
"description": "Description of the 'enable' diagnostic unit",
"data": [ {} ]
},
"synchro": {
"status": "error",
"label" "Synchro test",
"category": "access",
"description": "Description of the Synchro test diagnostic unit",
"error_code": "DSLAM_UNREACHABLE",
"error_description": "DSLAM can not be reached",
}
}
}
Chaque unité listée dans le champ unit
a une entrée correspondante dans le dictionnaire du champ results
, dont le contenu est le suivant :
Name |
Type |
Description |
---|---|---|
|
string |
Statut de l'unité, peut être |
|
string |
Catégorie de l'unité ( |
|
string |
Chaîne de caractères localisée contenant le nom de l'unité. |
|
string |
Chaîne de caractères localisée contenant la description de l'unité. |
|
string |
Ce champ contient le code erreur de l'unité lorsque son statut est |
|
string |
Version lisible de l'erreur rencontrée par l'unité. |
|
list of dictionnaries |
Résultats de l'unité pour chacun des |
Note
Quand une unité est en erreur sur un endpoint
particulier, le statut de l'unité est completed_with_error
. Le dictionnaire présent dans le champ data
contiendra une clef error
correspondant à la description de l'erreur rencontrée.
Annulation d'un diagnostic run¶
Pour annuler un diagnostic run
en cours, vous pouvez faire un PUT
sur l'url /api/diagnostic/runs/{alias}/
.
Note
Le statut du diagnostic run
doit être created
, submitted
ou running
pour être annulé.
Cette requête est possible en utilisant l'alias
ou l'id
du diagnostic run
.
Requête :
PUT /api/diagnostic/runs/D170803_11001/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Content-Type: application/json
{
"status": "cancelled"
}
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"alias": "D170803_11001",
"type": "custom",
"creation_date": "2017-06-16T16:20:19.824993",
"modification_date": "2017-06-19T07:31:19.372438",
"service_uuid": "yn4b0yf6",
"service_alias": "S170418_21000",
"endpoints": [{
"endpoint_ref": "0123456789",
"endpoint_ref_type": "line_number",
}],
"endcustomer": "John Doe",
"product": {
"code": "AM01",
"name": "ADSL-Max",
},
"status": "cancelled",
"units": ["selt", "enable", "synchro"],
"results": {
"selt": {
"status": "cancelled",
"label" "SELT",
"category": "access",
"description": "Description of the SELT diagnostic unit",
"data": [{ }],
},
"enable": {
"status": "cancelled",
"label" "Enable access",
"category": "access",
"description": "Description of the 'enable' diagnostic unit",
"data": [{ }],
},
"synchro": {
"status": "cancelled",
"label" "Synchro test",
"category": "access",
"description": "Description of the Synchro test diagnostic unit",
"data": [{ }],
}
}
}
Supprimer un diagnostic run¶
Un diagnostic run
peut être supprimé en effectuant un DELETE
sur l'url /api/diagnostic/runs/{alias}/
.
Note
Cette requête est possible en utilisant l'alias
ou l'id
du diagnostic run
.
DELETE /api/diagnostic/runs/D170420-56732/ HTTP/1.1
Host: extranet.kosc-telecom.fr
Note
Le statut du diagnostic run
doit être completed
, cancelled
ou error
pour être supprimé.
Lister les diagnostic runs¶
Une liste des diagnostic runs
peut être récupérée en faisant un GET sur l'url /api/diagnostic/runs/
.
Les filtres suivants peuvent être ajoutés en paramètre à l'URL :
Nom du filtre |
Description |
---|---|
|
Alias du service sur lequel les diagnostics sont ou été éxecutés |
|
Alias du service sur lequel les diagnostics sont ou été éxecutés |
|
Code de la ligne de produit du service sur lequel les diagnostics sont ou été éxecutés |
|
Recherche de diagnostics sur le nom du client final |
L'API renverra une liste de dictionnaires représentant les diagnostic runs
.
Note
Les diagnostic runs
sont asynchrones. Après avoir créé un diagnostic run
, vous devrez régulièrement les récupérer jusqu'à ce que leur statut soit completed
, failed
, error
ou cancelled
.
Au-delà de 300 secondes (5 minutes), un diagnostic non terminé passe automatiquement en erreur.