Skip to content

Commit 8a91906

Browse files
committed
Add locator support for OpenShift Virtualization
1 parent f6c3167 commit 8a91906

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

airgun/views/computeresource.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,14 @@ class LibvirtProviderForm(View):
9595
display_type = Select(id='compute_resource_display_type')
9696
console_passwords = Checkbox(id='compute_resource_set_console_password')
9797

98+
@provider_content.register('OpenShift Virtualization')
99+
class OCPVProviderForm(View):
100+
hostname = TextInput(id='compute_resource_hostname')
101+
api_port = TextInput(id='compute_resource_api_port')
102+
namespace = TextInput(id='compute_resource_namespace')
103+
token = TextInput(id='compute_resource_password')
104+
ca_cert = TextInput(id='compute_resource_ca_cert')
105+
98106
@provider_content.register('RHEL OpenStack Platform')
99107
class OpenStackProviderForm(View):
100108
url = TextInput(id='compute_resource_url')

airgun/views/host.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ class ComputeResourceGoogleProfileStorageItem(GenericRemovableWidgetItem):
143143
size = TextInput(locator=".//input[contains(@id, 'size')]")
144144

145145

146+
class ComputeResourceOpenShiftProfileStorageItem(GenericRemovableWidgetItem):
147+
"""OpenShift Virtualization Compute Resource profile "Storage" item widget"""
148+
149+
storage_class = FilteredDropdown(id='storage_class')
150+
size = TextInput(locator=".//input[contains(@id, 'capacity')]")
151+
bootable = Checkbox(locator=".//div[3]//input[contains(@onclick, 'bootableRadio(this)')]")
152+
153+
146154
class HostInterface(View):
147155
ROOT = ".//div[@id='interfaceModal']"
148156
title = Text(".//h4[contains(., 'Interface')]")
@@ -193,6 +201,8 @@ class BridgeForm(View):
193201
# Compute resource attributes
194202
network_type = FilteredDropdown(id='_compute_attributes_type')
195203
network = FilteredDropdown(id='_compute_attributes_bridge')
204+
ocpv_network = FilteredDropdown(id='_compute_attributes_network')
205+
cni_provider = FilteredDropdown(id='_compute_attributes_cni_provider')
196206
nic_type = FilteredDropdown(id='_compute_attributes_model')
197207

198208
def after_fill(self, was_change):
@@ -391,6 +401,26 @@ class operating_system(SatTab):
391401
image = FilteredDropdown(id='azure_rm_image_id')
392402
root_password = TextInput(id='host_root_pass')
393403

404+
@provider_content.register('OpenShift Virtualization')
405+
class OCPVResourceForm(View):
406+
@View.nested
407+
class virtual_machine(SatTab):
408+
TAB_NAME = 'Virtual Machine'
409+
cpus = TextInput(id='host_compute_attributes_cpu_cores')
410+
memory = TextInput(id='host_compute_attributes_memory')
411+
startup = Checkbox(id='host_compute_attributes_start')
412+
413+
@View.nested
414+
class storage(RemovableWidgetsItemsListView):
415+
ROOT = "//fieldset[@id='storage_volumes']"
416+
ITEMS = "./div/div[contains(@class,'removable-item')]"
417+
ITEM_WIDGET_CLASS = ComputeResourceOpenShiftProfileStorageItem
418+
419+
@View.nested
420+
class operating_system(SatTab):
421+
TAB_NAME = 'Operating System'
422+
provision_method = Checkbox(id='host_provision_method_image')
423+
394424
@View.nested
395425
class operating_system(SatTab):
396426
TAB_NAME = 'Operating System'

0 commit comments

Comments
 (0)