From 9ae249e019ea1762365c7016eeb447f916be6665 Mon Sep 17 00:00:00 2001 From: Sun Austin Date: Tue, 7 May 2019 15:25:48 +0800 Subject: [PATCH] Not show vswitch HP field if vswitch type is none Change-Id: I38529e3d90034d5525f39bd5610f81e6cbd3edcb Closes-Bug: 1826414 Signed-off-by: Sun Austin --- .../starlingx_dashboard/api/sysinv.py | 13 +++ .../admin/inventory/memories/forms.py | 92 +++++++++++-------- 2 files changed, 67 insertions(+), 38 deletions(-) diff --git a/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/api/sysinv.py b/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/api/sysinv.py index 084e0a2b..5b435f87 100644 --- a/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/api/sysinv.py +++ b/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/api/sysinv.py @@ -2607,6 +2607,19 @@ def get_sdn_enabled(request): return False +def get_vswitch_type(request): + try: + systems = system_list(request) + system_capabilities = systems[0].to_dict().get('capabilities') + vswitch_type = system_capabilities.get('vswitch_type', 'none') + if vswitch_type != 'none': + return vswitch_type + else: + return None + except Exception: + return None + + def get_sdn_l3_mode_enabled(request): # Get the Service Parameter list on this host # and ensure that the L3 Enabled service parameter diff --git a/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/dashboards/admin/inventory/memories/forms.py b/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/dashboards/admin/inventory/memories/forms.py index 6036473c..f8d881a4 100755 --- a/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/dashboards/admin/inventory/memories/forms.py +++ b/starlingx-dashboard/starlingx-dashboard/starlingx_dashboard/dashboards/admin/inventory/memories/forms.py @@ -142,6 +142,8 @@ class UpdateMemory(forms.SelfHandlingForm): super(UpdateMemory, self).__init__(request, *args, **kwargs) self.host = kwargs['initial']['host'] + self.vswitch_type = stx_api.sysinv.get_vswitch_type(request) + LOG.debug("vswitch_type is %s", self.vswitch_type) memory_fieldsets = [ { @@ -247,7 +249,12 @@ class UpdateMemory(forms.SelfHandlingForm): if m.vswitch_hugepages_size_mib: vswitch_hp_size_mib_field.initial = \ str(m.vswitch_hugepages_size_mib) - + if self.vswitch_type is None: + LOG.debug("vswitch_hp field is hidden") + vswitch_hp_size_mib_field.widget = \ + forms.widgets.HiddenInput() + vswitch_hp_reqd_field.widget = \ + forms.widgets.HiddenInput() break while count < 4: @@ -322,15 +329,16 @@ class UpdateMemory(forms.SelfHandlingForm): else: pages_1G['node0'] = data['vm_hugepages_nr_1G'] - if not data['vswitch_hugepages_size_mib']: - del data['vswitch_hugepages_size_mib'] - else: - pages_vs_size['node0'] = data['vswitch_hugepages_size_mib'] + if self.vswitch_type: + if not data['vswitch_hugepages_size_mib']: + del data['vswitch_hugepages_size_mib'] + else: + pages_vs_size['node0'] = data['vswitch_hugepages_size_mib'] - if not data['vswitch_hugepages_reqd']: - del data['vswitch_hugepages_reqd'] - else: - pages_vs_reqd['node0'] = data['vswitch_hugepages_reqd'] + if not data['vswitch_hugepages_reqd']: + del data['vswitch_hugepages_reqd'] + else: + pages_vs_reqd['node0'] = data['vswitch_hugepages_reqd'] # Node 1 arguments if not data['platform_memory_two']: @@ -348,15 +356,16 @@ class UpdateMemory(forms.SelfHandlingForm): else: pages_1G['node1'] = data['vm_hugepages_nr_1G_two'] - if not data['vswitch_hugepages_size_mib_two']: - del data['vswitch_hugepages_size_mib_two'] - else: - pages_vs_size['node1'] = data['vswitch_hugepages_size_mib_two'] + if self.vswitch_type: + if not data['vswitch_hugepages_size_mib_two']: + del data['vswitch_hugepages_size_mib_two'] + else: + pages_vs_size['node1'] = data['vswitch_hugepages_size_mib_two'] - if not data['vswitch_hugepages_reqd_two']: - del data['vswitch_hugepages_reqd_two'] - else: - pages_vs_reqd['node1'] = data['vswitch_hugepages_reqd_two'] + if not data['vswitch_hugepages_reqd_two']: + del data['vswitch_hugepages_reqd_two'] + else: + pages_vs_reqd['node1'] = data['vswitch_hugepages_reqd_two'] # Node 2 arguments if not data['platform_memory_three']: @@ -374,15 +383,18 @@ class UpdateMemory(forms.SelfHandlingForm): else: pages_1G['node2'] = data['vm_hugepages_nr_1G_three'] - if not data['vswitch_hugepages_size_mib_three']: - del data['vswitch_hugepages_size_mib_three'] - else: - pages_vs_size['node2'] = data['vswitch_hugepages_size_mib_three'] + if self.vswitch_type: + if not data['vswitch_hugepages_size_mib_three']: + del data['vswitch_hugepages_size_mib_three'] + else: + pages_vs_size['node2'] = \ + data['vswitch_hugepages_size_mib_three'] - if not data['vswitch_hugepages_reqd']: - del data['vswitch_hugepages_reqd'] - else: - pages_vs_reqd['node2'] = data['vswitch_hugepages_reqd_three'] + if not data['vswitch_hugepages_reqd']: + del data['vswitch_hugepages_reqd'] + else: + pages_vs_reqd['node2'] = \ + data['vswitch_hugepages_reqd_three'] # Node 3 arguments if not data['platform_memory_four']: @@ -400,15 +412,17 @@ class UpdateMemory(forms.SelfHandlingForm): else: pages_1G['node3'] = data['vm_hugepages_nr_1G_four'] - if not data['vswitch_hugepages_size_mib_four']: - del data['vswitch_hugepages_size_mib_four'] - else: - pages_vs_size['node3'] = data['vswitch_hugepages_size_mib_four'] + if self.vswitch_type: + if not data['vswitch_hugepages_size_mib_four']: + del data['vswitch_hugepages_size_mib_four'] + else: + pages_vs_size['node3'] = \ + data['vswitch_hugepages_size_mib_four'] - if not data['vswitch_hugepages_reqd_four']: - del data['vswitch_hugepages_reqd_four'] - else: - pages_vs_reqd['node3'] = data['vswitch_hugepages_reqd_four'] + if not data['vswitch_hugepages_reqd_four']: + del data['vswitch_hugepages_reqd_four'] + else: + pages_vs_reqd['node3'] = data['vswitch_hugepages_reqd_four'] try: for nd in node: @@ -432,11 +446,13 @@ class UpdateMemory(forms.SelfHandlingForm): new_data['vm_hugepages_nr_2M_pending'] = pages_2M[nd] if nd in pages_1G: new_data['vm_hugepages_nr_1G_pending'] = pages_1G[nd] - if nd in pages_vs_size: - new_data['vswitch_hugepages_size_mib'] = \ - pages_vs_size[nd] - if nd in pages_vs_reqd: - new_data['vswitch_hugepages_reqd'] = pages_vs_reqd[nd] + if self.vswitch_type: + if nd in pages_vs_size: + new_data['vswitch_hugepages_size_mib'] = \ + pages_vs_size[nd] + if nd in pages_vs_reqd: + new_data['vswitch_hugepages_reqd'] = \ + pages_vs_reqd[nd] if new_data: stx_api.sysinv.host_memory_update(request, memory.uuid,