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,
iptrunk_sideA_ae_iface: 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_description: list[str] = Field(default_factory=list)
iptrunk_sideA_ae_members_description: list[str] = Field(
default_factory=list)
#
iptrunk_sideB_node: DeviceBlockProvisioning
iptrunk_sideB_ae_iface: 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_description: list[str] = Field(default_factory=list)
iptrunk_sideB_ae_members_description: list[str] = Field(
default_factory=list)
class IptrunkBlock(IptrunkBlockProvisioning,
......@@ -74,10 +76,12 @@ class IptrunkBlock(IptrunkBlockProvisioning,
iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str
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_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str
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):
class IptrunkProvisioning(IptrunkInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]):
lifecycle=[SubscriptionLifecycle.PROVISIONING]):
iptrunk: IptrunkBlockProvisioning
......
......@@ -29,13 +29,15 @@ def device_selector(choice_value: str) -> list:
ProductTable.product_type == "Device",
SubscriptionTable.status == "active",
)
.with_entities(SubscriptionTable.subscription_id, SubscriptionTable.description)
.with_entities(SubscriptionTable.subscription_id,
SubscriptionTable.description)
.all()
):
device_subscriptions[str(device_id)] = device_description
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,
max_items=1,
)
......@@ -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_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_geant_a_sid: str
iptrunk_sideA_ae_members: 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_geant_a_sid: str
iptrunk_sideB_ae_members: 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
# 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
user_input = yield CreateIptrunkForm
......@@ -116,17 +119,24 @@ def initialize_subscription(
subscription.iptrunk.iptrunk_speed = iptrunk_speed
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_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_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_ae_geant_a_sid = iptrunk_sideB_ae_geant_a_sid
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_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_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}: \
(blablabla)"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment