aboutsummaryrefslogtreecommitdiffstats
path: root/vicn/core/resource.py
diff options
context:
space:
mode:
authorMarcel Enguehard <mengueha+fdio@cisco.com>2017-05-15 16:26:27 +0200
committerMarcel Enguehard <mengueha+fdio@cisco.com>2017-05-15 16:26:27 +0200
commit895a6328d6e64948ed213e8fbbb3ab15aca0df43 (patch)
tree2c85049fcf73c445ea25097b4753299568061538 /vicn/core/resource.py
parent548479d60dafb24eddcec3762aa558f13581cdb2 (diff)
IPv6 dataplane support + Decentralized IPv4 prefix attribution + Bug fix for attribute default values handling + Various fixes
Change-Id: I0a26eda064d9e22d9d55fd568748076148f49645 Signed-off-by: Marcel Enguehard <mengueha+fdio@cisco.com>
Diffstat (limited to 'vicn/core/resource.py')
-rw-r--r--vicn/core/resource.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/vicn/core/resource.py b/vicn/core/resource.py
index 53ad2181..9355cd07 100644
--- a/vicn/core/resource.py
+++ b/vicn/core/resource.py
@@ -196,8 +196,14 @@ class BaseResource(BaseType, ABC, metaclass=ResourceMetaclass):
if mandatory:
raise VICNException('Mandatory attributes not set: %r' % (mandatory,))
- # Check requirements
+ # Check requirements and default values
for attr in self.iter_attributes():
+ if attr.name not in kwargs:
+ default = self.get_default_collection(attr) if attr.is_collection else \
+ self.get_default(attr)
+ if vars(attr)['default'] != NEVER_SET:
+ #import pdb; pdb.set_trace()
+ self.set(attr.name, default, blocking=False)
if issubclass(attr.type, Resource) and attr.requirements:
for req in attr.requirements:
instance = self.get(attr.name)