Merge branch 'master' of github.com:open-cloud/xos
diff --git a/xos/cord/models.py b/xos/cord/models.py
index a24917a..6c0a812 100644
--- a/xos/cord/models.py
+++ b/xos/cord/models.py
@@ -378,6 +378,22 @@
                 addresses["nat"] = ns.ip
         return addresses
 
+    @property
+    def nat_ip(self):
+        return self.addresses.get("nat",None)
+
+    @property
+    def lan_ip(self):
+        return self.addresses.get("lan",None)
+
+    @property
+    def wan_ip(self):
+        return self.addresses.get("wan",None)
+
+    @property
+    def private_ip(self):
+        return self.addresses.get("private",None)
+
     def pick_node(self):
         nodes = list(Node.objects.all())
         # TODO: logic to filter nodes by which nodes are up, and which
diff --git a/xos/core/xoslib/objects/cordsubscriber.py b/xos/core/xoslib/objects/cordsubscriber.py
index 38142d4..e6f0e10 100644
--- a/xos/core/xoslib/objects/cordsubscriber.py
+++ b/xos/core/xoslib/objects/cordsubscriber.py
@@ -40,6 +40,10 @@
                      ("routeable_subnet", "vcpe.vbng.routeable_subnet"),
                      ("vcpe_id", "vcpe.id"),
                      ("vbng_id", "vcpe.vbng.id"),
+                     ("nat_ip", "vcpe.nat_ip"),
+                     ("lan_ip", "vcpe.lan_ip"),
+                     ("private_ip", "vcpe.private_ip"),
+                     ("wan_ip", "vcpe.wan_ip"),
                      )
 
     def __getattr__(self, key):
@@ -56,30 +60,6 @@
         raise AttributeError("getattr: %r object has no attribute %r" %
                          (self.__class__, key))
 
-    @property
-    def nat_ip(self):
-        if not self.vcpe:
-            return None
-        return self.vcpe.addresses.get("nat",None)
-
-    @property
-    def lan_ip(self):
-        if not self.vcpe:
-            return None
-        return self.vcpe.addresses.get("lan",None)
-
-    @property
-    def wan_ip(self):
-        if not self.vcpe:
-            return None
-        return self.vcpe.addresses.get("wan",None)
-
-    @property
-    def private_ip(self):
-        if not self.vcpe:
-            return None
-        return self.vcpe.addresses.get("private",None)
-
     def __setattr__(self, key, value):
         for (member_name, passthrough_name) in self.passthroughs:
             if key==member_name: