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

Less tox errors - not finished

parent 2e56aca8
No related branches found
No related tags found
1 merge request!8Feature/iptrunks prototype
This commit is part of merge request !8. Comments created here will be created in the context of that merge request.
from typing import Optional from typing import Optional
from typing import List
from pydantic import Field from pydantic import Field
from orchestrator.domain.base import ProductBlockModel from orchestrator.domain.base import ProductBlockModel
...@@ -8,36 +7,12 @@ from gso.products.product_blocks.device \ ...@@ -8,36 +7,12 @@ from gso.products.product_blocks.device \
import DeviceBlock, DeviceBlockInactive, DeviceBlockProvisioning import DeviceBlock, DeviceBlockInactive, DeviceBlockProvisioning
import ipaddress import ipaddress
# - id: GS-00012
# name: AMS2-LON-IPTRUNK-100G
# config:
# common:
# speed: '100'
# is_leased_line: false
# isis_metric: '9000'
# minimum_links: 1
# nodeA:
# name: rt2.ams.nl.geant.net
# ae_name: ae2
# ipv4_address: 62.40.98.164/31
# ipv6_address: 2001:798:cc::5/126
# members:
# - et-0/0/0
# port_id: GA-02036
# nodeB:
# name: mx1.lon.uk.geant.net
# ae_name: ae8
# ipv4_address: 62.40.98.165/31
# ipv6_address: 2001:798:cc::6/126
# members:
# - et-4/0/2
# port_id: GA-01834
class IptrunkType(strEnum): class IptrunkType(strEnum):
Dark_fiber = "Dark_fiber" Dark_fiber = "Dark_fiber"
Leased = "Leased" Leased = "Leased"
class IptrunkBlockInactive(ProductBlockModel, class IptrunkBlockInactive(ProductBlockModel,
lifecycle=[SubscriptionLifecycle.INITIAL], lifecycle=[SubscriptionLifecycle.INITIAL],
product_block_name="IptrunkBlock"): product_block_name="IptrunkBlock"):
......
from orchestrator.domain.base import SubscriptionModel from orchestrator.domain.base import SubscriptionModel
from orchestrator.types import SubscriptionLifecycle, strEnum from orchestrator.types import SubscriptionLifecycle
from gso.products.product_blocks.iptrunk \ from gso.products.product_blocks.iptrunk \
import IptrunkBlock, IptrunkBlockInactive, IptrunkBlockProvisioning import IptrunkBlock, IptrunkBlockInactive, IptrunkBlockProvisioning
......
...@@ -12,7 +12,7 @@ from orchestrator.workflows.steps import resync, set_status ...@@ -12,7 +12,7 @@ from orchestrator.workflows.steps import resync, set_status
from orchestrator.workflows.steps import store_process_subscription from orchestrator.workflows.steps import store_process_subscription
from orchestrator.workflows.utils import wrap_create_initial_input_form from orchestrator.workflows.utils import wrap_create_initial_input_form
from gso.products.product_types import device from gso.products.product_types import device
from gso.services import ipam, provisioning_proxy # from gso.services import ipam, provisioning_proxy
def initial_input_form_generator(product_name: str) -> FormGenerator: def initial_input_form_generator(product_name: str) -> FormGenerator:
...@@ -42,9 +42,9 @@ def create_subscription(product: UUIDstr) -> State: ...@@ -42,9 +42,9 @@ def create_subscription(product: UUIDstr) -> State:
@step("Get information from IPAM ") @step("Get information from IPAM ")
def get_info_from_ipam(subscription: device.DeviceInactive) -> State: def get_info_from_ipam(subscription: device.DeviceInactive) -> State:
#lo = ipam.new_device_lo_address() # lo = ipam.new_device_lo_address()
#subscription.device.lo_ipv4_address = lo.v4 # subscription.device.lo_ipv4_address = lo.v4
#subscription.device.lo_ipv6_address = lo.v6 # subscription.device.lo_ipv6_address = lo.v6
# TODO: get info about how these should be generated # TODO: get info about how these should be generated
subscription.device.lo_ipv4_address = "10.10.10.10" subscription.device.lo_ipv4_address = "10.10.10.10"
subscription.device.lo_ipv6_address = "fc00:798:10::10" subscription.device.lo_ipv6_address = "fc00:798:10::10"
...@@ -125,11 +125,11 @@ def provision_device_dry( ...@@ -125,11 +125,11 @@ def provision_device_dry(
# # if r.rc != 0: # # if r.rc != 0:
# # raise ValueError("Ansible has failed") # # raise ValueError("Ansible has failed")
# return {"dry_run_output": out_splitted, "return_code": r.rc} # return {"dry_run_output": out_splitted, "return_code": r.rc}
#provisioning_proxy.provision_node( # provisioning_proxy.provision_node(
# node_subscription_params=subscription, # node_subscription_params=subscription,
# dry_run=True) # dry_run=True)
# TODO: figure out what to return when we are suspending & waiting # TODO: figure out what to return when we are suspending & waiting
# for the provisioning-proxy to call back # for the provisioning-proxy to call back
return {"return_code": 0} return {"return_code": 0}
......
import ipaddress # import ipaddress
from uuid import uuid4 from uuid import uuid4
from orchestrator.forms import FormPage from orchestrator.forms import FormPage
...@@ -14,12 +14,11 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form ...@@ -14,12 +14,11 @@ from orchestrator.workflows.utils import wrap_create_initial_input_form
from gso.products.product_types import iptrunk from gso.products.product_types import iptrunk
from gso.products.product_blocks import iptrunk as iptrunk_pb from gso.products.product_blocks import iptrunk as iptrunk_pb
from gso.products.product_types.device import Device from gso.products.product_types.device import Device
from gso.services import ipam, provisioning_proxy # from gso.services import ipam, provisioning_proxy
from gso.products.product_types import device # from gso.products.product_types import device
from orchestrator.db.models import ProductTable, SubscriptionTable from orchestrator.db.models import ProductTable, SubscriptionTable
from orchestrator.forms.validators import Choice, choice_list from orchestrator.forms.validators import Choice, choice_list
from typing import List, Optional
def device_selector(choice_value: str) -> list: def device_selector(choice_value: str) -> list:
...@@ -48,7 +47,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: ...@@ -48,7 +47,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
title = product_name title = product_name
geant_s_sid: str geant_s_sid: str
iptrunk_description: str iptrunk_description: str
iptrunk_type: iptrunk_pb.IptrunkType iptrunk_type: iptrunk_pb.IptrunkType
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
...@@ -92,8 +91,6 @@ def get_info_from_ipam(subscription: iptrunk.IptrunkInactive) -> State: ...@@ -92,8 +91,6 @@ def get_info_from_ipam(subscription: iptrunk.IptrunkInactive) -> State:
return {"subscription": subscription} return {"subscription": subscription}
@step("Initialize subscription") @step("Initialize subscription")
def initialize_subscription( def initialize_subscription(
subscription: iptrunk.IptrunkInactive, subscription: iptrunk.IptrunkInactive,
...@@ -107,7 +104,7 @@ def initialize_subscription( ...@@ -107,7 +104,7 @@ def initialize_subscription(
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: str, iptrunk_sideB_node_id: str,
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],
...@@ -167,10 +164,10 @@ def provision_iptrunk_dry( ...@@ -167,10 +164,10 @@ def provision_iptrunk_dry(
# # if r.rc != 0: # # if r.rc != 0:
# # raise ValueError("Ansible has failed") # # raise ValueError("Ansible has failed")
# return {"dry_run_output": out_splitted, "return_code": r.rc} # return {"dry_run_output": out_splitted, "return_code": r.rc}
#provisioning_proxy.provision_node( # provisioning_proxy.provision_node(
# node_subscription_params=subscription, # node_subscription_params=subscription,
# dry_run=True) # dry_run=True)
# TODO: figure out what to return when we are suspending & waiting # TODO: figure out what to return when we are suspending & waiting
# for the provisioning-proxy to call back # for the provisioning-proxy to call back
return {"return_code": 0} return {"return_code": 0}
...@@ -210,9 +207,9 @@ def provision_iptrunk_real( ...@@ -210,9 +207,9 @@ def provision_iptrunk_real(
# out = r.stdout.read() # out = r.stdout.read()
# out_splitted = out.splitlines() # out_splitted = out.splitlines()
# #
## return {"real_run_output": out_splitted, "return_code": r.rc} # # return {"real_run_output": out_splitted, "return_code": r.rc}
#provisioning_proxy.provision_node( # provisioning_proxy.provision_node(
# node_subscription_params=subscription) # node_subscription_params=subscription)
# TODO: figure out what to return when we are suspending & waiting # TODO: figure out what to return when we are suspending & waiting
# for the provisioning-proxy to call back # for the provisioning-proxy to call back
return {"return_code": 0} return {"return_code": 0}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment