Skip to content
Snippets Groups Projects

Feature/ipam integration

Merged Aleksandr Kurbatov requested to merge feature/ipam-integration into develop
All threads resolved!
1 file
+ 9
8
Compare changes
  • Side-by-side
  • Inline
@@ -84,14 +84,14 @@ def iso_from_ipv4(ipv4_address):
@@ -84,14 +84,14 @@ def iso_from_ipv4(ipv4_address):
@step('Get information from IPAM')
@step('Get information from IPAM')
def get_info_from_ipam(subscription: DeviceInactive) -> State:
def get_info_from_ipam(subscription: DeviceProvisioning) -> 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
lo0_alias = f"{hostname}.{subscription.device.device_site.site_name.lower()}.\
lo0_alias = re.sub(".geant.net", "", subscription.device.device_fqdn)
{subscription.device_type.site_country_code.lower()}"
lo0_name = f"lo0.{lo0_alias}"
lo0_name = f"lo0.{lo0_alias}"
 
#print(lo0_alias)
lo0_addr = _ipam.allocate_service_host(hostname=lo0_name, service_type='LO', cname_aliases=[lo0_alias])
lo0_addr = _ipam.allocate_service_host(hostname=lo0_name, service_type='LO', cname_aliases=[lo0_alias])
subscription.device.device_lo_ipv4_address = lo0_addr.v4
subscription.device.device_lo_ipv4_address = lo0_addr.v4
subscription.device.device_lo_ipv6_address = lo0_addr.v6
subscription.device.device_lo_ipv6_address = lo0_addr.v6
@@ -123,10 +123,11 @@ def initialize_subscription(
@@ -123,10 +123,11 @@ def initialize_subscription(
subscription.device.device_vendor = device_vendor
subscription.device.device_vendor = device_vendor
subscription.device.device_site \
subscription.device.device_site \
= Site.from_subscription(device_site[0]).site
= Site.from_subscription(device_site[0]).site
fqdn = str(hostname + '.' +
fqdn = f"{hostname}.{subscription.device.device_site.site_name.lower()}.{subscription.device.device_site.site_country_code.lower()}.geant.net"
subscription.device.device_site.site_name.lower() + '.' +
#fqdn = str(hostname + '.' +
subscription.device.device_site.site_country_code.lower() +
# subscription.device.device_site.site_name.lower() + '.' +
'.geant.net')
# subscription.device.device_site.site_country_code.lower() +
 
# '.geant.net')
subscription.device.device_fqdn = fqdn
subscription.device.device_fqdn = fqdn
subscription.device.device_role = device_role
subscription.device.device_role = device_role
subscription.description = f'Device {fqdn} ' \
subscription.description = f'Device {fqdn} ' \
@@ -165,8 +166,8 @@ def create_device():
@@ -165,8 +166,8 @@ def create_device():
init
init
>> create_subscription
>> create_subscription
>> store_process_subscription(Target.CREATE)
>> store_process_subscription(Target.CREATE)
>> get_info_from_ipam
>> initialize_subscription
>> initialize_subscription
 
>> get_info_from_ipam
>> provision_device_dry
>> provision_device_dry
>> await_pp_results
>> await_pp_results
>> confirm_pp_results
>> confirm_pp_results
Loading