Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
joseivanlopez committed Aug 28, 2024
1 parent d9c5f71 commit c2b8b79
Showing 1 changed file with 21 additions and 9 deletions.
30 changes: 21 additions & 9 deletions doc/auto_storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ installation.

AutoYaST profiles can be used with Agama offering a 100% backward compatibility.

The `legacyAutoyastStorage` section of the Agama profile is a 1:1 representation of the XML specification of AutoYaST. No JSON validation will be performed for it.
The `legacyAutoyastStorage` section of the Agama profile is a 1:1 representation of the XML
specification of AutoYaST. No JSON validation will be performed for it.

~~~json
{
"legacyAutoyastStorage": [
{
"use": "all",
"partitions": [...]
"partitions": []
}
]
}
Expand Down Expand Up @@ -63,7 +64,8 @@ This could seem a minor detail, but it has several implications:

#### Directly Formatting Devices is Hammered

A `<partitions>` section is still needed for directly formatting a device, which shows the abuse of the schema.
A `<partitions>` section is still needed for directly formatting a device, which shows the abuse of
the schema.

~~~xml
<partitioning config:type="list">
Expand All @@ -80,7 +82,9 @@ A `<partitions>` section is still needed for directly formatting a device, which

#### Selecting Devices is Difficult and Limited

The AutoYaST schema allows selecting specific devices by using the `<skip_list>` property. This forces to use inverse logic when looking for a device. For example, if you want to select a disk bigger than 1 GiB, then you have to skip the smaller disks:
The AutoYaST schema allows selecting specific devices by using the `<skip_list>` property. This
forces to use inverse logic when looking for a device. For example, if you want to select a disk
bigger than 1 GiB, then you have to skip the smaller disks:

~~~xml
<partitioning config:type="list">
Expand All @@ -97,7 +101,8 @@ The AutoYaST schema allows selecting specific devices by using the `<skip_list>`
</partitioning>
~~~

The partitions to remove are selected by means of the `<use>` property, which is very limited. It only allows removing everything, nothing, specific partition numbers or linux partitions.
The partitions to remove are selected by means of the `<use>` property, which is very limited. It
only allows removing everything, nothing, specific partition numbers or linux partitions.

~~~xml
<partitioning config:type="list">
Expand All @@ -111,7 +116,8 @@ The partitions to remove are selected by means of the `<use>` property, which is
</partitioning>
~~~

The property `<partition_nr>` is used for reusing a partition. And again, this option is very limited, allowing selecting a partition only by its number.
The property `<partition_nr>` is used for reusing a partition. And again, this option is very
limited, allowing selecting a partition only by its number.

~~~xml
<partitioning config:type="list">
Expand All @@ -130,7 +136,9 @@ Note that you could indicate the same partition number for deleting (`<use>`) an

#### Devices Are Created in a Indirect Way

For creating new LVM volume groups, RAIDS, etc, it is necessary to indicate what devices to use as logical volumes or as RAID members. In AutoYaST, the partitions have to indicate the device they are going to be used by.
For creating new LVM volume groups, RAIDS, etc, it is necessary to indicate what devices to use as
logical volumes or as RAID members. In AutoYaST, the partitions have to indicate the device they are
going to be used by.

~~~xml
<partitioning config:type="list">
Expand Down Expand Up @@ -160,15 +168,19 @@ It would be more natural to indicate the used devices directly in the RAID or lo

## The New Storage Schema

Agama offers its own storage schema which is more semantic, comprehensive and flexible than the AutoYaST one.
Agama offers its own storage schema which is more semantic, comprehensive and flexible than the
AutoYaST one.

The new schema allows:

* To clearly distinguish between different types of devices and their properties.
* To perform more advanced searches for disks, partitions, etc.
* To indicate deleting and resizing on demand.

The Agama schema is used by a new Agama specific proposal. This decouples the algorithm from the AutoYaST one, making much easier to support new use cases and avoiding backward compatibility with fringe AutoYaST scenarios. It also supports some features that are not available in the AutoYaST proposal like deleting or resizing partitions on demand.
The Agama schema is used by a new Agama specific proposal. This decouples the algorithm from the
AutoYaST one, making much easier to support new use cases and avoiding backward compatibility with
fringe AutoYaST scenarios. It also supports some features that are not available in the AutoYaST
proposal like deleting or resizing partitions on demand.

### Basic Structure of the Storage Section

Expand Down

0 comments on commit c2b8b79

Please sign in to comment.