Skip to content
Snippets Groups Projects
Commit d2cc2bb2 authored by geant-release-service's avatar geant-release-service
Browse files

Finished release 0.6.

parents a2f852c1 0c42d12f
No related branches found
No related tags found
No related merge requests found
Pipeline #85657 passed
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.1.15
hooks:
# Run the linter.
- id: ruff
args:
- --fix
- --preview
- --ignore=PLR0917,PLR0914
# Run the formatter.
- id: ruff-format
args:
- --preview
......@@ -2,6 +2,9 @@
All notable changes to this project will be documented in this file.
## [0.6] - 2024-02-07
- Removed the import workflows from migrations.
## [0.5] - 2024-01-30
- Changed the router access ts field to FALSE in import router workfolw.
......
[
{
"router_site": "AMS",
"hostname": "rt1",
"ts_port": 22111,
"router_vendor": "juniper",
"router_role": "pe",
"router_lo_ipv4_address": "62.40.119.2",
"router_lo_ipv6_address": "2001:798:1ab::2",
"router_lo_iso_address": "49.51e5.0001.0620.4011.9002.00",
"is_ias_connected": true
},
{
"router_site": "ATH",
"hostname": "rt1",
"ts_port": 22111,
"router_vendor": "juniper",
"router_role": "pe",
"router_lo_ipv4_address": "62.40.119.1",
"router_lo_ipv6_address": "2001:798:1ab::1",
"router_lo_iso_address": "49.51e5.0001.0620.4011.9001.00",
"is_ias_connected": false
},
{
"router_site": "BIL",
"hostname": "rt1",
"ts_port": 22111,
"router_vendor": "juniper",
"router_role": "pe",
"router_lo_ipv4_address": "62.40.119.3",
"router_lo_ipv6_address": "2001:798:1ab::3",
"router_lo_iso_address": "49.51e5.0001.0620.4011.9003.00",
"is_ias_connected": false
},
{
"router_site": "DUB",
"hostname": "rt1",
"ts_port": 22111,
"router_vendor": "juniper",
"router_role": "pe",
"router_lo_ipv4_address": "62.40.119.4",
"router_lo_ipv6_address": "2001:798:1ab::4",
"router_lo_iso_address": "49.51e5.0001.0620.4011.9004.00",
"is_ias_connected": false
},
{
"router_site": "LON",
"hostname": "rt1",
"ts_port": 22111,
"router_vendor": "juniper",
"router_role": "pe",
"router_lo_ipv4_address": "62.40.119.5",
"router_lo_ipv6_address": "2001:798:1ab::5",
"router_lo_iso_address": "49.51e5.0001.0620.4011.9005.00",
"is_ias_connected": true
}
]
[
{
"site_name": "AMS",
"site_city": "Amsterdam",
"site_country": "The Netherlands",
"site_country_code": "NL",
"site_latitude": 52.35640299542275,
"site_longitude": 4.952931412236851,
"site_bgp_community_id": 13,
"site_internal_id": 2,
"site_tier": "1",
"site_ts_address": "62.40.111.195"
},
{
"site_name": "ATH",
"site_city": "Athens",
"site_country": "Greece",
"site_country_code": "GR",
"site_latitude": 37.973573902105514,
"site_longitude": 23.74551842723506,
"site_bgp_community_id": 14,
"site_internal_id": 4,
"site_tier": "1",
"site_ts_address": "62.40.111.196"
},
{
"site_name": "BIL",
"site_city": "Bilbao",
"site_country": "Spain",
"site_country_code": "ES",
"site_latitude": 43.32311388825037,
"site_longitude": -2.996764830318336,
"site_bgp_community_id": 47,
"site_internal_id": 3,
"site_tier": "1",
"site_ts_address": "62.40.111.197"
},
{
"site_name": "DUB",
"site_city": "Dublin",
"site_country": "Ireland",
"site_country_code": "IE",
"site_latitude": 53.29025463849949,
"site_longitude": -6.4207320574310165,
"site_bgp_community_id": 20,
"site_internal_id": 5,
"site_tier": "1",
"site_ts_address": "62.40.111.198"
},
{
"site_name": "LON",
"site_city": "London",
"site_country": "United Kingdom",
"site_country_code": "UK",
"site_latitude": 51.49821912962843,
"site_longitude": -0.015228819041376851,
"site_bgp_community_id": 28,
"site_internal_id": 1,
"site_tier": "1",
"site_ts_address": "62.40.111.199"
}
]
\ No newline at end of file
[
{
"id": "LGS-00001",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Leased"
},
"nodeA": {
"name": "rt1.ath.gr.lab.office.geant.net",
"ae_name": "ae0",
"port_sid": "LGA-00001",
"members": [
{
"interface_name": "et-0/0/2",
"interface_description": "et-0/0/2"
}
],
"ipv4_address": "62.40.98.0/31",
"ipv6_address": "2001:798:cc::1/126"
},
"nodeB": {
"name": "rt1.ams.nl.lab.office.geant.net",
"ae_name": "ae0",
"port_sid": "LGA-00002",
"members": [
{
"interface_name": "et-9/0/2",
"interface_description": "et-9/0/2"
}
],
"ipv4_address": "62.40.98.1/31",
"ipv6_address": "2001:798:cc::2/126"
}
}
},
{
"id": "LGS-00003",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Leased"
},
"nodeA": {
"name": "rt1.ath.gr.lab.office.geant.net",
"ae_name": "ae1",
"port_sid": "LGA-00005",
"members": [
{
"interface_name": "et-0/0/1",
"interface_description": "et-0/0/1"
}
],
"ipv4_address": "62.40.98.2/31",
"ipv6_address": "2001:798:cc::9/126"
},
"nodeB": {
"name": "rt1.lon.uk.lab.office.geant.net",
"ae_name": "ae1",
"port_sid": "LGA-00006",
"members": [
{
"interface_name": "et-2/0/0",
"interface_description": "et-2/0/0"
}
],
"ipv4_address": "62.40.98.3/31",
"ipv6_address": "2001:798:cc::a/126"
}
}
},
{
"id": "LGS-00004",
"config": {
"common": {
"link_speed": "400G",
"minimum_links": 1,
"isis_metric": 100,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.lon.uk.lab.office.geant.net",
"ae_name": "ae6",
"port_sid": "LGA-00004",
"members": [
{
"interface_name": "et-1/0/4",
"interface_description": "et-1/0/4"
}
],
"ipv4_address": "62.40.98.55/31",
"ipv6_address": "2001:798:cc::6e/126"
},
"nodeB": {
"name": "rt1.ams.nl.lab.office.geant.net",
"ae_name": "ae6",
"port_sid": "LGA-00004",
"members": [
{
"interface_name": "et-3/0/4",
"interface_description": "et-3/0/4"
}
],
"ipv4_address": "62.40.98.54/31",
"ipv6_address": "2001:798:cc::6d/126"
}
}
},
{
"id": "LGS-00006",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.ams.nl.lab.office.geant.net",
"ae_name": "ae1",
"port_sid": "LGA-00011",
"members": [
{
"interface_name": "et-9/0/5",
"interface_description": "et-9/0/5"
}
],
"ipv4_address": "62.40.98.4/31",
"ipv6_address": "2001:798:cc::d/126"
},
"nodeB": {
"name": "rt1.bil.es.lab.office.geant.net",
"ae_name": "ae1",
"port_sid": "LGA-00012",
"members": [
{
"interface_name": "et-0/0/0",
"interface_description": "et-0/0/0"
}
],
"ipv4_address": "62.40.98.5/31",
"ipv6_address": "2001:798:cc::e/126"
}
}
},
{
"id": "LGS-00007",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.lon.uk.lab.office.geant.net",
"ae_name": "ae0",
"port_sid": "LGA-00013",
"members": [
{
"interface_name": "et-5/2/0",
"interface_description": "et-5/2/0"
}
],
"ipv4_address": "62.40.98.17/31",
"ipv6_address": "2001:798:cc::22/126"
},
"nodeB": {
"name": "rt1.dub.ie.lab.office.geant.net",
"ae_name": "ae0",
"port_sid": "LGA-00014",
"members": [
{
"interface_name": "et-0/0/1",
"interface_description": "et-0/0/1"
}
],
"ipv4_address": "62.40.98.16/31",
"ipv6_address": "2001:798:cc::21/126"
}
}
},
{
"id": "LGS-00008",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.bil.es.lab.office.geant.net",
"ae_name": "ae2",
"port_sid": "LGA-00016",
"members": [
{
"interface_name": "et-0/0/1",
"interface_description": "et-0/0/1"
}
],
"ipv4_address": "62.40.98.8/31",
"ipv6_address": "2001:798:cc::15/126"
},
"nodeB": {
"name": "rt1.dub.ie.lab.office.geant.net",
"ae_name": "ae2",
"port_sid": "LGA-00015",
"members": [
{
"interface_name": "et-0/0/0",
"interface_description": "et-0/0/0"
}
],
"ipv4_address": "62.40.98.9/31",
"ipv6_address": "2001:798:cc::16/126"
}
}
},
{
"id": "LGS-00012",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.ams.nl.lab.office.geant.net",
"ae_name": "ae5",
"port_sid": "LGA-00023",
"members": [
{
"interface_name": "et-1/0/2",
"interface_description": "et-1/0/2"
}
],
"ipv4_address": "62.40.98.52/31",
"ipv6_address": "2001:798:cc::69/126"
},
"nodeB": {
"name": "rt2.lon.uk.lab.office.geant.net",
"ae_name": "ae1",
"port_sid": "LGA-00024",
"members": [
{
"interface_name": "et-0/0/0",
"interface_description": "et-0/0/0"
}
],
"ipv4_address": "62.40.98.53/31",
"ipv6_address": "2001:798:cc::6a/126"
}
}
},
{
"id": "LGS-00013",
"config": {
"common": {
"link_speed": "100G",
"minimum_links": 1,
"isis_metric": 500,
"type": "Dark_fiber"
},
"nodeA": {
"name": "rt1.lon.uk.lab.office.geant.net",
"ae_name": "ae3",
"port_sid": "LGA-00025",
"members": [
{
"interface_name": "et-0/0/2",
"interface_description": "et-0/0/2"
}
],
"ipv4_address": "62.40.98.36/31",
"ipv6_address": "2001:798:cc::65/126"
},
"nodeB": {
"name": "rt2.lon.uk.lab.office.geant.net",
"ae_name": "ae2",
"port_sid": "LGA-00026",
"members": [
{
"interface_name": "et-0/0/1",
"interface_description": "et-0/0/1"
}
],
"ipv4_address": "62.40.98.37/31",
"ipv6_address": "2001:798:cc::66/126"
}
}
}
]
......@@ -36,12 +36,6 @@ new_workflows = [
"description": "Modify Site",
"product_type": "Site"
},
{
"name": "import_site",
"target": "CREATE",
"description": "Import Site",
"product_type": "Site"
}
]
......
......@@ -30,12 +30,6 @@ new_workflows = [
"description": "Terminate IPtrunk",
"product_type": "Iptrunk"
},
{
"name": "import_iptrunk",
"target": "CREATE",
"description": "Import iptrunk",
"product_type": "Iptrunk"
},
{
"name": "migrate_iptrunk",
"target": "MODIFY",
......
......@@ -30,12 +30,6 @@ new_workflows = [
"description": "Terminate router",
"product_type": "Router"
},
{
"name": "import_router",
"target": "CREATE",
"description": "Import router",
"product_type": "Router"
}
]
......
......@@ -77,7 +77,7 @@ def set_isis_to_90000(subscription: Iptrunk, process_id: UUIDstr, callback_route
}
execute_playbook(
playbook_name="playbooks.yaml",
playbook_name="iptrunks.yaml",
callback_route=callback_route,
inventory=f"{subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn}\n"
f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}\n",
......
......@@ -7,7 +7,6 @@ configured to run from A to C. B is then no longer associated with this IP trunk
import copy
import json
import re
from typing import NoReturn
from uuid import uuid4
from orchestrator import step, workflow
......@@ -85,10 +84,12 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
current_router_site = Router.from_subscription(router_id).router.router_site.subscription
old_side_site = Router.from_subscription(migrate_form_input.replace_side).router.router_site
if (
migrate_form_input.migrate_to_different_site
and current_router_site.subscription_id == old_side_site.owner_subscription_id
not migrate_form_input.migrate_to_different_site
and current_router_site.subscription_id != old_side_site.owner_subscription_id
):
# We want to stay on the same site, so all routers that are in different sites get skipped.
continue
# If migrate_to_different_site is true, we can add ALL routers to the result map
routers[str(router_id)] = router["description"]
new_router_enum = Choice("Select a new router", zip(routers.keys(), routers.items(), strict=True)) # type: ignore[arg-type]
......@@ -148,7 +149,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
new_lag_member_interfaces: ae_members # type: ignore[valid-type]
@validator("new_lag_interface", allow_reuse=True, pre=True, always=True)
def lag_interface_proper_name(cls, new_lag_interface: str) -> str | NoReturn:
def lag_interface_proper_name(cls, new_lag_interface: str) -> str:
if get_router_vendor(new_router) == RouterVendor.JUNIPER:
juniper_lag_re = re.compile("^ae\\d{1,2}$")
if not juniper_lag_re.match(new_lag_interface):
......
......@@ -35,6 +35,7 @@ ignore = [
"COM812",
"D203",
"D213",
"ISC001",
"N805",
"PLR0913",
"PLR0904",
......
......@@ -19,3 +19,4 @@ sphinx==7.2.6
sphinx-rtd-theme==1.3.0
urllib3_mock==0.3.3
pytest-asyncio==0.23.3
pre-commit~=3.6.0
......@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
setup(
name="geant-service-orchestrator",
version="0.5",
version="0.6",
author="GÉANT",
author_email="swd@geant.org",
description="GÉANT Service Orchestrator",
......
......@@ -76,6 +76,7 @@ def migrate_form_input(
{
"tt_number": faker.tt_number(),
"replace_side": replace_side,
"migrate_to_different_site": True,
},
{
"new_node": new_router,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment