Exemple #1
0
 def create_volume(self, volume_name, description=None,
                   volume_source_type=None, source_name=None,
                   type=None, volume_size=None, availability_zone=None,
                   fail_ok=False):
     volume_form = self.volumes_table.create_volume()
     volume_form.name.text = volume_name
     if description is not None:
         volume_form.description.text = description
     if volume_source_type is not None:
         volume_form.volume_source_type.text = volume_source_type
         if volume_source_type == 'Image':
             volume_form.image_source.text = source_name
             if type is not None:
                 volume_form.type.text = type
         if volume_source_type == 'Volume':
             volume_form.volume_source.text = source_name
     if volume_size is not None:
         volume_form.size.value = volume_size
     if availability_zone is not None:
         volume_form.availability_zone.text = availability_zone
     volume_form.submit()
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to create volume {}".format(volume_name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError("No info message found after creating volume {}".format(volume_name))
     succ_msg = "Volume {} is successfully created.".format(volume_name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #2
0
 def edit_dns(self,
              server1=None,
              server2=None,
              server3=None,
              cancel=False,
              fail_ok=False):
     edit_form = self.dns_table.edit_dns()
     if server1 is not None:
         edit_form.NAMESERVER_1.text = server1
     if server2 is not None:
         edit_form.NAMESERVER_2.text = server2
     if server3 is not None:
         edit_form.NAMESERVER_3.text = server3
     if cancel:
         edit_form.cancel()
     else:
         edit_form.submit()
         if not self.find_message_and_dismiss(messages.SUCCESS):
             found_err = self.find_message_and_dismiss(messages.ERROR)
             if fail_ok and found_err:
                 err_msg = "Failed to edit DNS"
                 LOG.info(err_msg)
                 return 1, err_msg
             else:
                 raise exceptions.HorizonError(
                     "No info message found after editing DNS")
         succ_msg = "DNS is successfully updated."
         LOG.info(succ_msg)
         return 0, succ_msg
Exemple #3
0
 def check_horizon_displays(self, expt_horizon, table_name):
     horizon_value = None
     for horizon_header in expt_horizon:
         if table_name == self.systems_table.name:
             horizon_value = self.get_system_info(name=expt_horizon['Name'],
                                                  header=horizon_header)
         elif table_name == self.address_pools_table.name:
             horizon_value = self.get_address_pool_info(
                 name=expt_horizon['Name'], header=horizon_header)
         elif table_name == self.ptp_table.name:
             horizon_value = self.get_ptp_info(
                 enabled=expt_horizon['PTP Enabled'], header=horizon_header)
         elif table_name == self.oam_table.name:
             horizon_value = self.get_oam_info(
                 subnet=expt_horizon['OAM Subnet'], header=horizon_header)
         elif table_name == self.controllerfs_table.name:
             horizon_value = self.get_controllerfs_info(
                 storage_name=expt_horizon['Storage Name'],
                 header=horizon_header)
         elif table_name == self.ceph_storage_pools_table.name:
             horizon_value = self.get_ceph_storage_pools_info(
                 tier_name=expt_horizon['Ceph Storage Tier'],
                 header=horizon_header)
         if str(expt_horizon[horizon_header]) != horizon_value:
             err_msg = '{} display incorrectly'.format(horizon_header)
             raise exceptions.HorizonError(err_msg)
     succ_msg = 'All content display correctly'
     LOG.info(succ_msg)
Exemple #4
0
 def update_address_pool(self,
                         name,
                         new_name=None,
                         new_order=None,
                         new_ranges=None,
                         fail_ok=False):
     row = self._get_row_with_address_pool_name(name)
     edit_form = self.address_pools_table.update_address_pool(row)
     if new_name is not None:
         edit_form.name.text = new_name
     if new_order is not None:
         edit_form.order.text = new_order
     if new_ranges is not None:
         edit_form.ranges.text = new_ranges
     edit_form.submit()
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to update address pool {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError(
                 "No info message found after updating address pool {}".
                 format(name))
     succ_msg = "Address pool {} is successfully updated.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #5
0
 def create_address_pool(self,
                         name,
                         network,
                         order=None,
                         ranges=None,
                         fail_ok=False):
     create_form = self.address_pools_table.create_address_pool()
     create_form.name.text = name
     create_form.network.text = network
     if order is not None:
         create_form.order.text = order
     if ranges is not None:
         create_form.ranges.text = ranges
     create_form.submit()
     if not self.find_message_and_dismiss(messages.SUCCESS):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to create address pool {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError(
                 "No info message found after creating address pool {}".
                 format(name))
     succ_msg = "Address pool {} is successfully created.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #6
0
 def edit_volume(self, name, new_name=None, description=None, bootable=None,
                 fail_ok=False):
     row = self._get_row_with_volume_name(name)
     volume_edit_form = self.volumes_table.edit_volume(row)
     if new_name is not None:
         volume_edit_form.name.text = new_name
     if description is not None:
         volume_edit_form.description.text = description
     if bootable is True:
         volume_edit_form.bootable.mark()
     if bootable is False:
         volume_edit_form.bootable.unmark()
     volume_edit_form.submit()
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to edit volume {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError("No info message found after "
                                           "editing volume {}".format(name))
     succ_msg = "Volume {} is successfully edited.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #7
0
 def select_element_by_name(self, name):
     for element in self._get_elements(*self._element_locator):
         if name == element.text:
             element.click()
             return
         else:
             raise exceptions.HorizonError('{} not found'.format(name))
Exemple #8
0
 def attach_volume_to_instance(self, volume, instance, fail_ok=False):
     row = self._get_row_with_volume_name(volume)
     attach_form = self.volumes_table.manage_attachments(row)
     attach_form.attach_instance(instance)
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to attach volume {}".format(volume)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError("No info message found after attaching volume {}".format(volume))
     succ_msg = "Volume {} is successfully attached.".format(volume)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #9
0
 def extend_volume(self, name, new_size, fail_ok=False):
     row = self._get_row_with_volume_name(name)
     extend_volume_form = self.volumes_table.extend_volume(row)
     extend_volume_form.new_size.value = new_size
     extend_volume_form.submit()
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to extend volume {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError("No info message found after extending volume {}".format(name))
     succ_msg = "Volume {} is successfully extended.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #10
0
 def delete_volume(self, name, fail_ok=False):
     row = self._get_row_with_volume_name(name)
     row.mark()
     confirm_delete_volumes_form = self.volumes_table.delete_volume()
     confirm_delete_volumes_form.submit()
     if not self.find_message_and_dismiss(messages.INFO):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to delete volume {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError("No success message found after deleting volume {}".format(name))
     succ_msg = "Volume {} is successfully deleted.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg
Exemple #11
0
 def delete_address_pool(self, name, fail_ok=False):
     row = self._get_row_with_address_pool_name(name)
     row.mark()
     confirm_delete_form = self.address_pools_table.delete_address_pool()
     confirm_delete_form.submit()
     if not self.find_message_and_dismiss(messages.SUCCESS):
         found_err = self.find_message_and_dismiss(messages.ERROR)
         if fail_ok and found_err:
             err_msg = "Failed to delete address pool {}".format(name)
             LOG.info(err_msg)
             return 1, err_msg
         else:
             raise exceptions.HorizonError(
                 "No info message found after deleting address pool {}".
                 format(name))
     succ_msg = "Address pool {} is successfully deleted.".format(name)
     LOG.info(succ_msg)
     return 0, succ_msg