diff --git a/ip-allocator/allocator.go b/ip-allocator/allocator.go
index ff474b6..e5a64cb 100644
--- a/ip-allocator/allocator.go
+++ b/ip-allocator/allocator.go
@@ -9,10 +9,10 @@
 )
 
 type Config struct {
-	Port         int    `default:"4242"`
-	Listen       string `default:"0.0.0.0"`
-	StartAddress string `default:"10.0.0.2" envconfig:"start_address"`
-	AddressCount uint   `default:"252" envconfig:"address_count"`
+	Port    int    `default:"4242"`
+	Listen  string `default:"0.0.0.0"`
+	Network string `default:"10.0.0.0/24"`
+	Skip    int    `default:"1"`
 }
 
 type Context struct {
@@ -31,11 +31,11 @@
 	log.Printf(`Configuration:
 	    Listen:       %s
 	    Port:         %d
-	    StartAddress: %s
-	    AddressCount: %d`, config.Listen, config.Port, config.StartAddress, config.AddressCount)
+	    Network:      %s
+	    SKip:         %d`, config.Listen, config.Port, config.Network, config.Skip)
 
 	context.storage = &MemoryStorage{}
-	context.storage.Init(config.StartAddress, config.AddressCount)
+	context.storage.Init(config.Network, config.Skip)
 
 	router := mux.NewRouter()
 	router.HandleFunc("/allocations/{mac}", context.ReleaseAllocationHandler).Methods("DELETE")
diff --git a/ip-allocator/storage.go b/ip-allocator/storage.go
index 26be353..ac5ce6d 100644
--- a/ip-allocator/storage.go
+++ b/ip-allocator/storage.go
@@ -1,7 +1,14 @@
 package main
 
+import (
+	"math"
+	"net"
+	"strconv"
+	"strings"
+)
+
 type Storage interface {
-	Init(start string, count uint) error
+	Init(networkIn string, skip int) error
 	Get(mac string) (string, error)
 	GetAll() map[string]string
 	Put(mac, ip string) error
@@ -16,17 +23,38 @@
 	readIdx, writeIdx, size uint
 }
 
-func (s *MemoryStorage) Init(start string, count uint) error {
-	ip, err := ParseIP(start)
+func (s *MemoryStorage) Init(networkIn string, skip int) error {
+	_, network, err := net.ParseCIDR(networkIn)
 	if err != nil {
 		return err
 	}
+	start, _, err := net.ParseCIDR(network.String())
+	if err != nil {
+		return err
+	}
+
+	parts := strings.Split(network.String(), "/")
+	ip, err := ParseIP(start.String())
+	if err != nil {
+		return err
+	}
+	bits, err := strconv.Atoi(parts[1])
+	if err != nil {
+		return err
+	}
+	hostCount := int(math.Pow(2, float64(32-bits))) - skip
 	s.readIdx = 0
 	s.writeIdx = 0
-	s.size = count
+	s.size = uint(hostCount)
 	s.allocated = make(map[string]IPv4)
-	s.available = make([]IPv4, count)
-	for i := uint(0); i < count; i += 1 {
+	s.available = make([]IPv4, hostCount)
+	for i := 0; i < skip; i += 1 {
+		ip, err = ip.Next()
+		if err != nil {
+			return err
+		}
+	}
+	for i := 0; i < hostCount; i += 1 {
 		s.available[i] = ip
 		ip, err = ip.Next()
 		if err != nil {
diff --git a/roles/maas/tasks/main.yml b/roles/maas/tasks/main.yml
index fc2d40b..5e7e349 100644
--- a/roles/maas/tasks/main.yml
+++ b/roles/maas/tasks/main.yml
@@ -282,6 +282,16 @@
     group: root
     mode: 0400
 
+- name: Initialize Interface Configuration Fact
+  set_fact:
+    interface_config: 0
+
+- name: Set Interface Configuration Fact
+  set_fact:
+    interface_config: 1
+  tags:
+    - interface_config
+
 - name: Custom Automation Compose Configurations
   become: yes
   template:
diff --git a/roles/maas/templates/automation-compose.yml.j2 b/roles/maas/templates/automation-compose.yml.j2
index 7beb0c3..7a45e03 100644
--- a/roles/maas/templates/automation-compose.yml.j2
+++ b/roles/maas/templates/automation-compose.yml.j2
@@ -1,12 +1,28 @@
+allocator:
+  image: opencord/cord-ip-allocator:latest
+  labels:
+    - "lab.solution=CORD"
+    - "lab.component=allocator"
+  environment:
+    # need to explicitly set the resolver, else go will skip the /etc/hosts file
+    - "GODEBUG=netdns=go"
+    - "ALLOCATE_PORT=4242"
+    - "ALLOCATE_LISTEN=0.0.0.0"
+    - "ALLOCATE_NETWORK={{ networks.fabric }}"
+    - "ALLOCATE_SKIP=2"
+
 provisioner:
   image: opencord/cord-provisioner:latest
   container_name: provisioner
   labels:
     - "lab.solution=CORD"
     - "lab.component=provisioner"
+  links:
+    - allocator
   environment:
     # need to explicitly set the resolver, else go will skip the /etc/hosts file
     - "GODEBUG=netdns=go"
+    - "INTERFACE_CONFIG={{ interface_config }}"
     - "PROVISION_PORT=4243"
     - "PROVISION_LISTEN=0.0.0.0"
     - "PROVISION_DEFAULT_ROLE=compute-node"
