Project

General

Profile

action #103833

coordination #103515: [epic] Redesign Installation test modules for Expert Partitioner

Increase granularity of RAID tests - hard disk partitioning (x86_64, YaST group)

Added by JERiveraMoya 10 months ago. Updated 9 months ago.

Status:
New
Priority:
Low
Assignee:
-
Target version:
Start date:
2021-12-10
Due date:
% Done:

0%

Estimated time:
Tags:

Description

The goal is to increase the granularity of RAID tests to make them easy to dissect in case of failure.
In this case as we pass several time by the same screen, we cannot apply such atomicity like in other steps we did
for the interactive installation, but still we can pick and group some sequence of steps which can even verified in the UI
(that part is not include and it is not intended for now) because there is a summary or a table to check them so are joined by the same logic,
like adding a partitions at the hard disk level or adding a partition on a md.

This is how the final schedule should look increasing the granularity for this arch:

RAID{0,1,5,6,10} x86_64:

  • installation/partitioning/select_expert_partitioner
  • installation/expert_partitioner/add_hd_part_bios_boot
  • installation/expert_partitioner/add_hd_part_linux_raid_root_size
  • installation/expert_partitioner/add_hd_part_linux_raid_swap_size # from this point we will not tackle in this ticket yet
  • installation/expert_partitioner/clone_partition_layout_to_all_targets
  • installation/expert_partitioner/add_md0_raid{0,1,5,6,10}_root_devices
  • installation/expert_partitioner/add_raid_part_md0_root
  • installation/expert_partitioner/add_md1_raid0_swap_devices
  • installation/expert_partitioner/add_raid_part_md1_swap
  • installation/partitioning/accept_proposed_layout

Notation {0,1,5,6,10} means that we need one test for each type of RAID.
It is recommended to break the interface created for lib/Installation/Partitioner/ and create new POM with this granularity under lib/Installation/ExpertPartitioner/ implementing it from scratch.
Leave validations and removal of test data out of scope here, but probably will need some adjustment due to make it homogeneous some partition might be in a different md.

Existing code contains three clear steps, (1) partition (2) cloning and (3) raid.
We will be creating a temporary test for (2) and (3). This is the code:

sub setup_raid {
    my ($self, $args) = @_;
    # Create partitions with the data from yaml scheduling file on first disk
    my @disks = @{$args->{disks}};
    my $first_disk = $disks[0];
    foreach my $partition (@{$first_disk->{partitions}}) {
        $self->add_partition_gpt({disk => $first_disk->{name}, partition => $partition});
    }
    # Clone partition table from first disk to all other disks
    my @target_disks = map { $_->{name} } @disks[1 .. $#disks];
    $self->clone_partition_table({disk => $first_disk->{name}, target_disks => \@target_disks});
    # Create RAID partitions with the data from yaml scheduling file
    foreach my $md (@{$args->{mds}}) {
        $self->add_raid($md);
    }
}

We will delete that temporary test that use existing logic above once we are done with (2) and (3).
Scope of this ticket is x86_64 in YaST group. Follow-up ticket will tackle other groups, other archs and cloning of the partitioning and raid actions.

History

#1 Updated by JERiveraMoya 10 months ago

  • Subject changed from Increase granularity of RAID tests (x86_64) to Increase granularity of RAID tests - hard disk partitioning (x86_64 )
  • Description updated (diff)

#2 Updated by JERiveraMoya 10 months ago

  • Subject changed from Increase granularity of RAID tests - hard disk partitioning (x86_64 ) to Increase granularity of RAID tests - hard disk partitioning (x86_64, YaST group )

#3 Updated by JERiveraMoya 10 months ago

  • Subject changed from Increase granularity of RAID tests - hard disk partitioning (x86_64, YaST group ) to Increase granularity of RAID tests - hard disk partitioning (x86_64, YaST group)

#4 Updated by JERiveraMoya 9 months ago

  • Priority changed from Normal to Low

Also available in: Atom PDF