Skip to content
Snippets Groups Projects
Commit 0db05e46 authored by Simone Spinelli's avatar Simone Spinelli
Browse files

Less tox errors - not finished yet

parent 0a2397de
No related branches found
No related tags found
1 merge request!8Feature/iptrunks prototype
...@@ -51,13 +51,15 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive, ...@@ -51,13 +51,15 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive,
iptrunk_sideA_ae_iface: Optional[str] = None iptrunk_sideA_ae_iface: Optional[str] = None
iptrunk_sideA_ae_geant_a_sid: Optional[str] = None iptrunk_sideA_ae_geant_a_sid: Optional[str] = None
iptrunk_sideA_ae_members: list[str] = Field(default_factory=list) iptrunk_sideA_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list) iptrunk_sideA_ae_members_description: list[str] = Field(
default_factory=list)
# #
iptrunk_sideB_node: DeviceBlockProvisioning iptrunk_sideB_node: DeviceBlockProvisioning
iptrunk_sideB_ae_iface: Optional[str] = None iptrunk_sideB_ae_iface: Optional[str] = None
iptrunk_sideB_ae_geant_a_sid: Optional[str] = None iptrunk_sideB_ae_geant_a_sid: Optional[str] = None
iptrunk_sideB_ae_members: list[str] = Field(default_factory=list) iptrunk_sideB_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list) iptrunk_sideB_ae_members_description: list[str] = Field(
default_factory=list)
class IptrunkBlock(IptrunkBlockProvisioning, class IptrunkBlock(IptrunkBlockProvisioning,
...@@ -74,10 +76,12 @@ class IptrunkBlock(IptrunkBlockProvisioning, ...@@ -74,10 +76,12 @@ class IptrunkBlock(IptrunkBlockProvisioning,
iptrunk_sideA_ae_iface: str iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str iptrunk_sideA_ae_geant_a_sid: str
iptrunk_sideA_ae_members: list[str] = Field(default_factory=list) iptrunk_sideA_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list) iptrunk_sideA_ae_members_description: list[str] = Field(
default_factory=list)
# #
iptrunk_sideB_node: DeviceBlock iptrunk_sideB_node: DeviceBlock
iptrunk_sideB_ae_iface: str iptrunk_sideB_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str iptrunk_sideB_ae_geant_a_sid: str
iptrunk_sideB_ae_members: list[str] = Field(default_factory=list) iptrunk_sideB_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list) iptrunk_sideB_ae_members_description: list[str] = Field(
default_factory=list)
...@@ -10,7 +10,7 @@ class IptrunkInactive(SubscriptionModel, is_base=True): ...@@ -10,7 +10,7 @@ class IptrunkInactive(SubscriptionModel, is_base=True):
class IptrunkProvisioning(IptrunkInactive, class IptrunkProvisioning(IptrunkInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]): lifecycle=[SubscriptionLifecycle.PROVISIONING]):
iptrunk: IptrunkBlockProvisioning iptrunk: IptrunkBlockProvisioning
......
...@@ -29,13 +29,15 @@ def device_selector(choice_value: str) -> list: ...@@ -29,13 +29,15 @@ def device_selector(choice_value: str) -> list:
ProductTable.product_type == "Device", ProductTable.product_type == "Device",
SubscriptionTable.status == "active", SubscriptionTable.status == "active",
) )
.with_entities(SubscriptionTable.subscription_id, SubscriptionTable.description) .with_entities(SubscriptionTable.subscription_id,
SubscriptionTable.description)
.all() .all()
): ):
device_subscriptions[str(device_id)] = device_description device_subscriptions[str(device_id)] = device_description
return choice_list( return choice_list(
Choice(choice_value, zip(device_subscriptions.keys(), device_subscriptions.items())), # type:ignore Choice(choice_value, zip(device_subscriptions.keys(),
device_subscriptions.items())), # type:ignore
min_items=1, min_items=1,
max_items=1, max_items=1,
) )
...@@ -52,20 +54,21 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: ...@@ -52,20 +54,21 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
iptrunk_speed: str # This should be an enum: 1/10/100/400 iptrunk_speed: str # This should be an enum: 1/10/100/400
iptrunk_minimum_links: int iptrunk_minimum_links: int
iptrunk_sideA_node_id: device_selector(choice_value='DeviceEnumA') iptrunk_sideA_node_id: device_selector(choice_value="DeviceEnumA")
iptrunk_sideA_ae_iface: str iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str iptrunk_sideA_ae_geant_a_sid: str
iptrunk_sideA_ae_members: list[str] iptrunk_sideA_ae_members: list[str]
iptrunk_sideA_ae_members_descriptions: list[str] iptrunk_sideA_ae_members_descriptions: list[str]
iptrunk_sideB_node_id: device_selector(choice_value='DeviceEnumB') iptrunk_sideB_node_id: device_selector(choice_value="DeviceEnumB")
iptrunk_sideB_ae_iface: str iptrunk_sideB_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str iptrunk_sideB_ae_geant_a_sid: str
iptrunk_sideB_ae_members: list[str] iptrunk_sideB_ae_members: list[str]
iptrunk_sideB_ae_members_descriptions: list[str] iptrunk_sideB_ae_members_descriptions: list[str]
# TODO: we need additional validation: # TODO: we need additional validation:
# sideA fqdn must be different from sideB fqdn # sideA fqdn must be different from sideB fqdn
# the lenght of iptrunk_sideA_ae_members should be the same as iptrunk_sideA_ae_members # the lenght of iptrunk_sideA_ae_members should
# be the same as iptrunk_sideA_ae_members
# interface names must be validated # interface names must be validated
user_input = yield CreateIptrunkForm user_input = yield CreateIptrunkForm
...@@ -116,17 +119,24 @@ def initialize_subscription( ...@@ -116,17 +119,24 @@ def initialize_subscription(
subscription.iptrunk.iptrunk_speed = iptrunk_speed subscription.iptrunk.iptrunk_speed = iptrunk_speed
subscription.iptrunk.iptrunk_minimum_links = iptrunk_minimum_links subscription.iptrunk.iptrunk_minimum_links = iptrunk_minimum_links
subscription.iptrunk.iptrunk_sideA_node = Device.from_subscription(iptrunk_sideA_node_id[0]).device subscription.iptrunk.iptrunk_sideA_node = Device.from_subscription(
iptrunk_sideA_node_id[0]).device
subscription.iptrunk.iptrunk_sideA_ae_iface = iptrunk_sideA_ae_iface subscription.iptrunk.iptrunk_sideA_ae_iface = iptrunk_sideA_ae_iface
subscription.iptrunk.iptrunk_sideA_ae_geant_a_sid = iptrunk_sideA_ae_geant_a_sid subscription.iptrunk.iptrunk_sideA_ae_geant_a_sid \
= iptrunk_sideA_ae_geant_a_sid
subscription.iptrunk.iptrunk_sideA_ae_members = iptrunk_sideA_ae_members subscription.iptrunk.iptrunk_sideA_ae_members = iptrunk_sideA_ae_members
subscription.iptrunk.iptrunk_sideA_ae_members_description = iptrunk_sideA_ae_members_descriptions subscription.iptrunk.iptrunk_sideA_ae_members_description \
= iptrunk_sideA_ae_members_descriptions
subscription.iptrunk.iptrunk_sideB_node = Device.from_subscription(iptrunk_sideB_node_id[0]).device
subscription.iptrunk.iptrunk_sideB_ae_iface = iptrunk_sideB_ae_iface subscription.iptrunk.iptrunk_sideB_node = Device.from_subscription(
subscription.iptrunk.iptrunk_sideB_ae_geant_a_sid = iptrunk_sideB_ae_geant_a_sid iptrunk_sideB_node_id[0]).device
subscription.iptrunk.iptrunk_sideB_ae_iface \
= iptrunk_sideB_ae_iface
subscription.iptrunk.iptrunk_sideB_ae_geant_a_sid \
= iptrunk_sideB_ae_geant_a_sid
subscription.iptrunk.iptrunk_sideB_ae_members = iptrunk_sideB_ae_members subscription.iptrunk.iptrunk_sideB_ae_members = iptrunk_sideB_ae_members
subscription.iptrunk.iptrunk_sideB_ae_members_description = iptrunk_sideB_ae_members_descriptions subscription.iptrunk.iptrunk_sideB_ae_members_description \
= iptrunk_sideB_ae_members_descriptions
subscription.description = f"Iptrunk {geant_s_sid}: \ subscription.description = f"Iptrunk {geant_s_sid}: \
(blablabla)" (blablabla)"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment