diff --git a/gso/oss-params-example.json b/gso/oss-params-example.json
index afc41967d1dbe3eb333eca86567f4546db71dcdd..4f4bca6c8c29ea38ef67272251fe21409685296b 100644
--- a/gso/oss-params-example.json
+++ b/gso/oss-params-example.json
@@ -12,18 +12,18 @@
       "password": "robot-user-password"
     },
     "LO": {
-      "V4": {"containers": ["1.1.0.0/24"], "mask": 32},
-      "V6": {"containers": ["dead:beef::/64"], "mask": 128},
+      "V4": {"containers": ["1.1.0.0/24"], "networks": [], "mask": 32},
+      "V6": {"containers": ["dead:beef::/64"], "networks": [], "mask": 128},
       "domain_name": ".lo"
     },
     "TRUNK": {
-      "V4": {"containers": ["1.1.1.0/24"], "mask": 31},
-      "V6": {"containers": ["dead:beef::/64"], "mask": 126},
+      "V4": {"containers": ["1.1.1.0/24"], "networks": [], "mask": 31},
+      "V6": {"containers": ["dead:beef::/64"], "networks": [], "mask": 126},
       "domain_name": ".trunk"
     },
     "GEANT_IP": {
-      "V4": {"containers": ["1.1.2.0/24"], "mask": 31},
-      "V6": {"containers": ["dead:beef::/64"], "mask": 126},
+      "V4": {"containers": ["1.1.2.0/24"], "networks": [], "mask": 31},
+      "V6": {"containers": ["dead:beef::/64"], "networks": [], "mask": 126},
       "domain_name": ".geantip"
     }
   },
diff --git a/gso/workflows/device/create_device.py b/gso/workflows/device/create_device.py
index 0368a473a214c3373ad44cabd4265ca317574280..d7646e5da5b0ff2f484372266abf905d5302206e 100644
--- a/gso/workflows/device/create_device.py
+++ b/gso/workflows/device/create_device.py
@@ -19,10 +19,11 @@ from gso.products.product_types import device
 from gso.products.product_types.device import DeviceInactive, \
     DeviceProvisioning
 from gso.products.product_types.site import Site
+from gso.services import _ipam
 from gso.services import provisioning_proxy
 from gso.services.provisioning_proxy import await_pp_results, \
     confirm_pp_results
-from gso.services import ipam, _ipam
+
 
 def site_selector() -> list:
     site_subscriptions = {}
@@ -85,21 +86,13 @@ def iso_from_ipv4(ipv4_address):
 
 @step('Get information from IPAM')
 def get_info_from_ipam(subscription: DeviceProvisioning) -> State:
-    # lo = ipam.new_device_lo_address()
-    # subscription.device.lo_ipv4_address = lo.v4
-    # subscription.device.lo_ipv6_address = lo.v6
-    # TODO: get info about how these should be generated
-    lo0_alias = re.sub(".geant.net", "", subscription.device.device_fqdn)
-    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_alias = re.sub('.geant.net', '', subscription.device.device_fqdn)
+    lo0_name = f'lo0.{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_ipv6_address = lo0_addr.v6
-    # subscription.device.device_lo_ipv4_address = \
-    #     ipam.new_service_host()
-    #     ipaddress.ip_address('10.10.10.20')
-    # subscription.device.device_lo_ipv6_address = \
-        # ipaddress.ip_address('fc00:798:10::20')
     subscription.device.device_lo_iso_address \
         = iso_from_ipv4(str(subscription.device.device_lo_ipv4_address))
     subscription.device.device_si_ipv4_network = '192.168.0.0/31'
@@ -123,20 +116,19 @@ def initialize_subscription(
     subscription.device.device_vendor = device_vendor
     subscription.device.device_site \
         = Site.from_subscription(device_site[0]).site
-    fqdn = f"{hostname}.{subscription.device.device_site.site_name.lower()}.{subscription.device.device_site.site_country_code.lower()}.geant.net"
-    #fqdn = str(hostname + '.' +
-    #           subscription.device.device_site.site_name.lower() + '.' +
-    #           subscription.device.device_site.site_country_code.lower() +
-    #           '.geant.net')
+    fqdn = f'{hostname}.{subscription.device.device_site.site_name.lower()}.' \
+           f'{subscription.device.device_site.site_country_code.lower()}' \
+           f'.geant.net'
     subscription.device.device_fqdn = fqdn
     subscription.device.device_role = device_role
     subscription.description = f'Device {fqdn} ' \
                                f'({subscription.device_type})'
+
     subscription = device.DeviceProvisioning.from_other_lifecycle(
         subscription, SubscriptionLifecycle.PROVISIONING
     )
 
-    return {'subscription': subscription, 'fqdn': fqdn}
+    return {'subscription': subscription}
 
 
 @step('Provision device [DRY RUN]')
diff --git a/test/conftest.py b/test/conftest.py
index 2ef1475af538d31f0a235e78bd42fb79a834d859..e714bf98ee8be66741b220731ba07ae1693ab16b 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -2,9 +2,10 @@ import contextlib
 import json
 import os
 import socket
-import pytest
 import tempfile
 
+import pytest
+
 
 @pytest.fixture(scope='session')
 def configuration_data():
@@ -26,17 +27,21 @@ def configuration_data():
                     "password": "robot-user-password"
                 },
                 "LO": {
-                    "V4": {"containers": ["10.255.255.0/24"], "mask": 32},
-                    "V6": {"containers": ["dead:beef::/64"], "mask": 128},
+                    "V4": {"containers": ["10.255.255.0/24"], "networks": [],
+                           "mask": 32},
+                    "V6": {"containers": ["dead:beef::/64"], "networks": [],
+                           "mask": 128},
                     "domain_name": ".lo"
                 },
                 "TRUNK": {
                     "V4": {
                         "containers": ["10.255.255.0/24", "10.255.254.0/24"],
+                        "networks": [],
                         "mask": 31
                     },
                     "V6": {
                         "containers": ["dead:beef::/64", "dead:beee::/64"],
+                        "networks": [],
                         "mask": 126
                     },
                     "domain_name": ".trunk"
@@ -44,10 +49,12 @@ def configuration_data():
                 "GEANT_IP": {
                     "V4": {
                         "containers": ["10.255.255.0/24", "10.255.254.0/24"],
+                        "networks": [],
                         "mask": 31
                     },
                     "V6": {
                         "containers": ["dead:beef::/64", "dead:beee::/64"],
+                        "networks": [],
                         "mask": 126
                     },
                     "domain_name": ".geantip"
diff --git a/test/test_ipam.py b/test/test_ipam.py
index 2778148347a7fe84164305d86029efe3c5750ddc..23c1aec2ce6598a64d34e65f6cf421839af85629 100644
--- a/test/test_ipam.py
+++ b/test/test_ipam.py
@@ -1,5 +1,6 @@
 import ipaddress
 import re
+
 import responses
 
 from gso.services import ipam
@@ -7,12 +8,12 @@ from gso.services import ipam
 
 @responses.activate
 def test_new_service_networks(data_config_filename):
-
     responses.add(
         method=responses.POST,
         url=re.compile(r'.*/wapi.*/network.*'),
         json={
-            '_ref': 'network/ZG5zLm5ldHdvcmskMTAuMjU1LjI1NS4yMC8zMi8w:10.255.255.20/32/default',   # noqa: E501
+            '_ref': 'network/ZG5zLm5ldHdvcmskMTAuMjU1LjI1NS4yMC8zMi8w:10.255.2'
+                    '55.20/32/default',  # noqa: E501
             'network': '10.255.255.20/32'
         }
     )
@@ -21,7 +22,8 @@ def test_new_service_networks(data_config_filename):
         method=responses.POST,
         url=re.compile(r'.*/wapi.*/ipv6network.*'),
         json={
-            '_ref': 'ipv6network/ZG5zLm5ldHdvcmskZGVhZDpiZWVmOjoxOC8xMjgvMA:dead%3Abeef%3A%3A18/128/default',   # noqa: E501
+            '_ref': 'ipv6network/ZG5zLm5ldHdvcmskZGVhZDpiZWVmOjoxOC8xMjgvMA:de'
+                    'ad%3Abeef%3A%3A18/128/default',  # noqa: E501
             'network': 'dead:beef::18/128'
         }
     )
@@ -35,23 +37,25 @@ def test_new_service_networks(data_config_filename):
 
 @responses.activate
 def test_new_service_host(data_config_filename):
-
     responses.add(
         method=responses.POST,
         url=re.compile(r'.*/wapi.*/record:host$'),
-        json='record:host/ZG5zLmhvc3QkLm5vbl9ETlNfaG9zdF9yb290LjAuMTY4MzcwNTU4MzY3MC5nc28udGVzdA:test.lo/%20'   # noqa: E501
+        json='record:host/ZG5zLmhvc3QkLm5vbl9ETlNfaG9zdF9yb290LjAuMTY4MzcwNTU4'
+             'MzY3MC5nc28udGVzdA:test.lo/%20'  # noqa: E501
     )
 
     responses.add(
         method=responses.POST,
         url=re.compile(r'.*/wapi.*/record:a$'),
-        json='record:a/ZG5zLmJpbmRfYSQuX2RlZmF1bHQuZ3NvLHRlc3QsMTAuMjU1LjI1NS44:test.lo/default'   # noqa: E501
+        json='record:a/ZG5zLmJpbmRfYSQuX2RlZmF1bHQuZ3NvLHRlc3QsMTAuMjU1LjI1NS4'
+             '4:test.lo/default'  # noqa: E501
     )
 
     responses.add(
         method=responses.POST,
         url=re.compile(r'.*/wapi.*/record:aaaa$'),
-        json='record:aaaa/ZG5zLmJpbmRfYSQuX2RlZmF1bHQuZ3NvLHRlc3QsMTAuMjU1LjI1NS44:test.lo/default'   # noqa: E501
+        json='record:aaaa/ZG5zLmJpbmRfYSQuX2RlZmF1bHQuZ3NvLHRlc3QsMTAuMjU1LjI1'
+             'NS44:test.lo/default'  # noqa: E501
     )
 
     responses.add(
@@ -59,7 +63,8 @@ def test_new_service_host(data_config_filename):
         url=re.compile(r'.*/wapi.*/network.*'),
         json=[
             {
-                "_ref": "network/ZG5zLm5ldHdvcmskMTAuMjU1LjI1NS4yMC8zMi8w:10.255.255.20/32/default",   # noqa: E501
+                "_ref": "network/ZG5zLm5ldHdvcmskMTAuMjU1LjI1NS4yMC8zMi8w:10.2"
+                        "55.255.20/32/default",  # noqa: E501
                 "network": "10.255.255.20/32",
                 "network_view": "default"
             }
@@ -72,7 +77,8 @@ def test_new_service_host(data_config_filename):
         url=re.compile(r'.*/wapi.*/ipv6network.*'),
         json=[
             {
-                "_ref": "ipv6network/ZG5zLm5ldHdvcmskZGVhZDpiZWVmOjoxOC8xMjgvMA:dead%3Abeef%3A%3A18/128/default",   # noqa: E501
+                "_ref": "ipv6network/ZG5zLm5ldHdvcmskZGVhZDpiZWVmOjoxOC8xMjgvM"
+                        "A:dead%3Abeef%3A%3A18/128/default",  # noqa: E501
                 "network": "dead:beef::18/128",
                 "network_view": "default"
             }
@@ -81,13 +87,17 @@ def test_new_service_host(data_config_filename):
 
     responses.add(
         method=responses.POST,
-        url=re.compile(r'.*/wapi.*/network.*/.*?_function=next_available_ip&num=1.*'),   # noqa: E501
+        url=re.compile(
+            r'.*/wapi.*/network.*/.*?_function=next_available_ip&num=1.*'),
+        # noqa: E501
         json={'ips': ['10.255.255.20']}
     )
 
     responses.add(
         method=responses.POST,
-        url=re.compile(r'.*/wapi.*/ipv6network.*/.*?_function=next_available_ip&num=1.*'),   # noqa: E501
+        url=re.compile(
+            r'.*/wapi.*/ipv6network.*/.*?_function=next_available_ip&num=1.*'),
+        # noqa: E501
         json={'ips': ['dead:beef::18']}
     )