Skip to content
Snippets Groups Projects
Commit a32dc8a2 authored by Erik Reid's avatar Erik Reid
Browse files

skeleton ipam oss interface

parent 9fb7a7ae
No related branches found
No related tags found
No related merge requests found
import ipaddress
from pydantic import BaseSettings
from geant_service_orchestrator import settings
class ServiceNetworks(BaseSettings)
v4: ipaddress.IPv4Network
v6: ipaddress.IPv6Network
class HostAddresses(BaseSettings):
v4: ipaddress.IPv4Address
v6: ipaddress.IPv6Address
def new_service_networks(
ipam: settings.IPAMParams,
service_params: settings.ServiceNetworkParams) -> ServiceNetworks:
# TODO: load from ipam
# cf. https://gitlab.geant.org/goat/gap-jenkins/-/blob/development/service-editor/gap_service_editor/ipam.py#L35-66 # noqa: E501
return ServiceNetworks(
v4=ipaddress.IPv4Network('10.0.0.0/24'),
v6=ipaddress.IPv6Network('dead:beef::/120'))
def new_host_address(fqdn: str, networks: ServiceNetworks) -> HostAddress:
# TODO: load from ipam
return HostAddresses(
v4=ipaddress.IPv4Address('10.0.0.1'),
v6=ipaddress.IPv6Address('dead:beef::1'))
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