circuit-maintenance-parser icon indicating copy to clipboard operation
circuit-maintenance-parser copied to clipboard

Discussion: Introduce new optional fields Location, Impact duration to Maintenance result

Open ydoroshenko-arelion opened this issue 11 months ago • 8 comments

Environment

  • circuit_maintenance_parser version: 2.7.0

Proposed Functionality

Introduce optional fields 'Location' and 'Maintenance duration' to Maintenance result.

  • Location data would represent Country, City where the maintenance is performed. As maintenance may be performed on devices (circuits) in different locations this may be better stored in CircuitImpact. ICal may already contain Location information (although not standardized it seems).
  • Impact duration data would represent for how long the device (circuit) will be impacted by the maintenance, since maintenance start and end times may not mean that the device is impacted for the entire duration

Use Case

Location information may be used to check if the maintenance occurs during regional holidays or events. Duration data would help better understand the impact since it may not span the entire maintenance start/end window

ydoroshenko-arelion avatar Feb 05 '25 16:02 ydoroshenko-arelion

So, what I understand is:

  • location could enrich the context data of the Maintenance. But, one maintenance can include different circuits, terminated in different locations. So, maybe is a CircuitMaintenance attribute? Usually, this information is correlated with a Source of Truth where each circuit has a termination information associated to get this information (data that was added by other means, usually during circuit provisioning)
  • duration would allow different durations of each circuit impact during a maintenance.

I have not any example top of mind of these data, could you share or point out some one in the current test notifications?

chadell avatar Feb 12 '25 13:02 chadell

Location: I was looking at output.py:

class Maintenance(BaseModel, extra="forbid"):
    circuits: List[CircuitImpact]

So though might be a place to it. But I agree that this is a circuit-specific data.

This may be more relevant for cables. The cable could span cities and countries, while the work would be performed in a specific location in-between, which IMO would make this information useful.

Examples from existing tests: Telstra Contains Australia as location and Expected impact as duration (aside from service window)

Arelion Contains location information. And although this example does not have a duration, more recent Arelion notifications have an impact duration

--

Here are few other examples containing both: EXA:

Planned Work Notification: 12345678 - New

As part of our commitment to continually improve the quality of service we provide to our clients, we will be performing a planned work in Fife, WA between Wed Jan 1 06:00:00 GMT 2025-Wed Jan 1 13:00:00 GMT 2025. Please see details of the work and impact on your service below
Details:

+--------------+------------------------------+
| Start        | Wed Jan 1 06:00:00 GMT 2025  |
| End          | Wed Jan 1 13:00:00 GMT 2025  |
| Backup Start |                              |
| Backup End   |                              |
| Location     | Fife, WA                     |
+--------------+------------------------------+

Planned work Reason:

Our partner will perform demand fiber relocation maintenance to avoid unplanned outage caused by roadwork being performed in the area

+----------------------+----------------+--------------+----------------------------------+---------------------+---------------+---------------+----------+
| Service Id           | Legacy Id      | Service Type | Expected Impact to your services | Protected? (Yes/No) | A-End Address | Z-End Address | Ticket   |
+----------------------+----------------+--------------+----------------------------------+---------------------+---------------+---------------+----------+
| TELIAC/WAVE/U/123456 | ABC/0123456789 | Wavelength   | 420 min                          | No                  | Abcdefg       | Hijklm        | 12345678 |
+----------------------+----------------+--------------+----------------------------------+---------------------+---------------+---------------+----------+

Notice location in the first table and Expected Impact to your services in the second table.

Telia:

Planned work (PW) Notification from Telia Company

Customer: ABC

PW Reference number: ABC123
Your affected services are listed further below

- Maintenance Window:
Start Date and Time: 2025-Jan-1 23:00 UTC End Date and Time: 2025-Jan-2 03:00 UTC (Please note - for customers in USA: CST = UTC - 6hours, CDT = UTC - 5hours)

Reason for work: Rerouting due to network expansion

Location of work: Stockholm, Sweden

The same information can also be found in the form of tables in the attached files.


----------------------------------------------------------------------

Affected service(s) and impact at any time during the maintenance window given above:

Service ID: AB-123
Product: ABCDE
Impact: 1 x 15 minutes interruption

Notice Location of work and Impact fields.

ydoroshenko-arelion avatar Feb 17 '25 09:02 ydoroshenko-arelion

so, the Location of the maintenance could be decoupled from the actual impact locations. For example, a circuit from Stockholm to Copenhagen could have the maintenance happening in Oslo as the circuit goes over there. What I don't see clearly is the value of knowing where the maintenance is performed...

chadell avatar Feb 19 '25 07:02 chadell

For example, a circuit from Stockholm to Copenhagen could have the maintenance happening in Oslo as the circuit goes over there.

Right

"What I don't see clearly is the value of knowing where the maintenance is performed..."

One example would be donwstream reporting to customers affected multiple times on the same circuit. If the users get the notification that the same place gets a lot of maintenance - it may raise concerns. While in reality it's just a long cable/different equipments being worked on in different locations.

As for the addition of impact duration - does it look reasonable?

ydoroshenko-arelion avatar Feb 19 '25 11:02 ydoroshenko-arelion

As for the addition of impact duration - does it look reasonable?

So, this is only a "magnitude" reference, not something you can act upon.

I think that it is ok to add both attributes as optional as it's information that some providers provide

chadell avatar Feb 21 '25 06:02 chadell

So 2 fields: location, duration. Both added as optional properties to CircuitImpact. Is this right?

I'll try adding it, along with implementing it for some providers

ydoroshenko-arelion avatar Feb 21 '25 08:02 ydoroshenko-arelion

well, all the examples have the location at the Maintenance level, and actually this is how I think they associate things: there is an intervention in some location, and all the circuits going through it belong to the same event.

So, I would propose:

  • location for Maintenance object, optional
  • duration for CircuitImpact object, optional

If you could lead the implementation that would be great!

chadell avatar Feb 21 '25 09:02 chadell

Understood, agree. Thank you

ydoroshenko-arelion avatar Feb 21 '25 09:02 ydoroshenko-arelion