diff --git a/helm_drydock/objects/hostprofile.py b/helm_drydock/objects/hostprofile.py index 8e822205..47144734 100644 --- a/helm_drydock/objects/hostprofile.py +++ b/helm_drydock/objects/hostprofile.py @@ -48,6 +48,9 @@ class HostProfile(base.DrydockPersistentObject, base.DrydockObject): 'tags': obj_fields.ListOfStringsField(nullable=True), 'owner_data': obj_fields.DictOfStringsField(nullable=True), 'rack': obj_fields.StringField(nullable=True), + 'base_os': obj_fields.StringField(nullable=True), + 'kernel': obj_fields.StringField(nullable=True), + 'kernel_params': obj_fields.StringField(nullable=True), } def __init__(self, **kwargs): @@ -87,10 +90,10 @@ class HostProfile(base.DrydockPersistentObject, base.DrydockObject): # First compute inheritance for simple fields inheritable_field_list = [ - "hardware_profile", "oob_type", "oob_network", - "oob_credential", "oob_account", "storage_layout", - "bootdisk_device", "bootdisk_root_size", "bootdisk_boot_size", - "rack"] + 'hardware_profile', 'oob_type', 'oob_network', + 'oob_credential', 'oob_account', 'storage_layout', + 'bootdisk_device', 'bootdisk_root_size', 'bootdisk_boot_size', + 'rack', 'base_os', 'kernel', 'kernel_params'] # Create applied data from self design values and parent # applied values @@ -131,6 +134,7 @@ class HostInterface(base.DrydockObject): fields = { 'device_name': obj_fields.StringField(), + 'primary_network': obj_fields.BooleanField(nullable=False, default=False), 'source': hd_fields.ModelSourceField(), 'network_link': obj_fields.StringField(nullable=True), 'hardware_slaves': obj_fields.ListOfStringsField(nullable=True), @@ -208,6 +212,11 @@ class HostInterface(base.DrydockObject): elif j.get_name() == parent_name: m = objects.HostInterface() m.device_name = j.get_name() + m.primary_network = + objects.Util.apply_field_inheritance( + getattr(j, 'primary_network', None), + getattr(i, 'primary_network', None)) + m.network_link = \ objects.Utils.apply_field_inheritance( getattr(j, 'network_link', None),