From 7f63d4bfc603646c309fd8bad758651a08538273 Mon Sep 17 00:00:00 2001 From: Simone Spinelli <simone.spinelli@geant.org> Date: Wed, 3 May 2023 09:18:11 +0200 Subject: [PATCH] Revert "Changed Device model and added Site model to hold SNMP info plus other related attrs." This reverts commit e9d5d0ab922ff2ead92209a4c5d58dce639cc22c. --- gso/products/__init__.py | 2 - gso/products/product_blocks/device.py | 92 +++++++++++++-------------- gso/products/product_blocks/site.py | 51 --------------- gso/products/product_types/device.py | 7 ++ gso/products/product_types/site.py | 18 ------ 5 files changed, 53 insertions(+), 117 deletions(-) delete mode 100644 gso/products/product_blocks/site.py delete mode 100644 gso/products/product_types/site.py diff --git a/gso/products/__init__.py b/gso/products/__init__.py index 857128fb..b8b60c15 100644 --- a/gso/products/__init__.py +++ b/gso/products/__init__.py @@ -2,11 +2,9 @@ from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY from gso.products.product_types.device import Device from gso.products.product_types.iptrunk import Iptrunk -from gso.products.product_types.site import Site SUBSCRIPTION_MODEL_REGISTRY.update( { - "Site": Site, "Router": Device, "Switch": Device, "Iptrunk": Iptrunk, diff --git a/gso/products/product_blocks/device.py b/gso/products/product_blocks/device.py index 44581ef5..9e34743f 100644 --- a/gso/products/product_blocks/device.py +++ b/gso/products/product_blocks/device.py @@ -2,62 +2,62 @@ from typing import Optional from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle -from gso.products.product_blocks.site \ - import SiteBlock, SiteBlockInactive, SiteBlockProvisioning import ipaddress -class DeviceVendor(strEnum): - juniper = "juniper" - nokia = "nokia" - -class DeviceRole(strEnum): - p = "p" - pe = "pe" - amt = "amt" class DeviceBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="DeviceBlock"): - device_fqdn: Optional[str] = None - device_ts_address: Optional[str] = None - device_ts_port: Optional[int] = None - device_lo_ipv4_address: Optional[ipaddress.IPv4Address] = None - device_lo_ipv6_address: Optional[ipaddress.IPv6Address] = None - device_lo_iso_address: Optional[str] = None - device_si_ipv4_network: Optional[ipaddress.IPv4Network] = None - device_ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None - device_ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None - device_vendor: Optional[DeviceVendor] = None - device_role: Optional[DeviceRole] = None - device_site: Optional[SiteBlockInactive] + fqdn: Optional[str] = None + ts_address: Optional[str] = None + ts_port: Optional[int] = None + lo_ipv4_address: Optional[ipaddress.IPv4Address] = None + lo_ipv6_address: Optional[ipaddress.IPv6Address] = None + lo_iso_address: Optional[str] = None + si_ipv4_network: Optional[ipaddress.IPv4Network] = None + ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None + ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None + site_city: Optional[str] = None + site_country: Optional[str] = None + site_country_code: Optional[str] = None + site_latitude: Optional[str] = None + site_longitude: Optional[str] = None + snmp_location: Optional[str] = None class DeviceBlockProvisioning(DeviceBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): - device_fqdn: str - device_ts_address: str - device_ts_port: str - device_lo_ipv4_address: Optional[ipaddress.IPv4Address] = None - device_lo_ipv6_address: Optional[ipaddress.IPv6Address] = None - device_lo_iso_address: Optional[str] = None - device_si_ipv4_network: Optional[ipaddress.IPv4Network] = None - device_ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None - device_ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None - device_vendor: Optional[DeviceVendor] = None - device_role: Optional[DeviceRole] = None - device_site: Optional[SiteBlockProvisioning] + fqdn: str + ts_address: str + ts_port: str + lo_ipv4_address: Optional[ipaddress.IPv4Address] = None + lo_ipv6_address: Optional[ipaddress.IPv6Address] = None + lo_iso_address: Optional[str] = None + si_ipv4_network: Optional[ipaddress.IPv4Network] = None + ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None + ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None + site_city: Optional[str] = None + site_country: Optional[str] = None + site_country_code: Optional[str] = None + site_latitude: Optional[str] = None + site_longitude: Optional[str] = None + snmp_location: Optional[str] = None + class DeviceBlock(DeviceBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): - device_fqdn: str - device_ts_address: str - device_ts_port: str - device_lo_ipv4_address: ipaddress.IPv4Address - device_lo_ipv6_address: ipaddress.IPv6Address - device_lo_iso_address: str - device_si_ipv4_network: ipaddress.IPv4Network - device_ias_lt_ipv4_network: ipaddress.IPv4Network - device_ias_lt_ipv6_network: ipaddress.IPv6Network - device_vendor: DeviceVendor - device_role: DeviceRole - device_site: SiteBlock + fqdn: str + ts_address: str + ts_port: str + lo_ipv4_address: ipaddress.IPv4Address + lo_ipv6_address: ipaddress.IPv6Address + lo_iso_address: str + si_ipv4_network: ipaddress.IPv4Network + ias_lt_ipv4_network: ipaddress.IPv4Network + ias_lt_ipv6_network: ipaddress.IPv6Network + site_city: str + site_country: str + site_country_code: str + site_latitude: str + site_longitude: str + snmp_location: str diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py deleted file mode 100644 index 564dd811..00000000 --- a/gso/products/product_blocks/site.py +++ /dev/null @@ -1,51 +0,0 @@ -from typing import Optional -from pydantic import Field - -from orchestrator.domain.base import ProductBlockModel -from orchestrator.types import SubscriptionLifecycle, Enum - -import ipaddress - -class SiteTier(Enum): - tier1 = 1 - tier2 = 2 - tier3 = 3 - tier4 = 4 - - -class SiteBlockInactive(ProductBlockModel, - lifecycle=[SubscriptionLifecycle.INITIAL], - product_block_name="SiteBlock"): - site_name: Optional[str] - site_city: Optional[str] - site_country: Optional[str] - site_country_code: Optional[str] - site_latitude: Optional[float] - site_longitude: Optional[float] - site_internal_id: Optional[int] - site_bgp_id: Optional[int] - site_tier: Optional[SiteTier] - -class SiteBlockProvisioning(SiteBlockInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - site_name: Optional[str] - site_city: Optional[str] - site_country: Optional[str] - site_country_code: Optional[str] - site_latitude: Optional[float] - site_longitude: Optional[float] - site_internal_id: Optional[int] - site_bgp_id: Optional[int] - site_tier: Optional[SiteTier] - -class SiteBlock(SiteBlockProvisioning, - lifecycle=[SubscriptionLifecycle.ACTIVE]): - site_name: str - site_city: str - site_country: str - site_country_code: str - site_latitude: float - site_longitude: float - site_internal_id: int - site_bgp_id: int - site_tier: SiteTier \ No newline at end of file diff --git a/gso/products/product_types/device.py b/gso/products/product_types/device.py index 17a99081..e79762c1 100644 --- a/gso/products/product_types/device.py +++ b/gso/products/product_types/device.py @@ -10,14 +10,21 @@ class DeviceType(strEnum): switch = "switch" +class DeviceVendor(strEnum): + Juniper = "Juniper" + Newvendor = "Newvendor" + + class DeviceInactive(SubscriptionModel, is_base=True): device_type: DeviceType + device_vendor: DeviceVendor device: DeviceBlockInactive class DeviceProvisioning(DeviceInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]): device_type: DeviceType + device_vendor: DeviceVendor device: DeviceBlockProvisioning diff --git a/gso/products/product_types/site.py b/gso/products/product_types/site.py deleted file mode 100644 index 003e37d4..00000000 --- a/gso/products/product_types/site.py +++ /dev/null @@ -1,18 +0,0 @@ -from orchestrator.domain.base import SubscriptionModel -from orchestrator.types import SubscriptionLifecycle, strEnum - -from gso.products.product_blocks.site \ - import SiteBlock, SiteBlockInactive, SiteBlockProvisioning - - -class SiteInactive(SubscriptionModel, is_base=True): - site: SiteBlockInactive - - -class SiteProvisioning(SiteInactive, - lifecycle=[SubscriptionLifecycle.PROVISIONING]): - site: SiteBlockProvisioning - - -class Site(SiteProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): - site: SiteBlock \ No newline at end of file -- GitLab