Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: Device and boot selection #1127

Merged
merged 32 commits into from
Apr 4, 2024
Merged

Conversation

joseivanlopez
Copy link
Contributor

joseivanlopez and others added 29 commits March 25, 2024 12:15
- LVM switcher is not adapted because it is going to be replaced.
## Problem

There are three main different scenarios to be supported by the storage
proposal:

* a) Install in a target disk device (e.g., disk, RAID, DASD, etc).
* b) Install in a new LVM volume group.
* c) Reuse an existing LVM volume group.

Moreover, the proposal should be able to indicate the following boot
options:

* a) Whether to configure or not separate partitions for booting.
* b) What device to use for creating the booting partitions.

## Solution

Adapt the storage settings to support all the scenarios described above:

~~~
Target                 s (options: "disk", "newLvmVg", "reusedLvmVg")
TargeDevice s (optional: does not make sense if Target is "newLvmVg")
TargetPVDevices as (optional: only makes sense if Target is "newLvmVg")
ConfigureBoot          b
BootDevice             s
~~~

## Testing

* Added and adapted unit tests
* Tested manually
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: David Díaz González <dgonzalez@suse.de>
Co-authored-by: David Díaz González <dgonzalez@suse.de>
Co-authored-by: David Díaz González <dgonzalez@suse.de>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: David Díaz González <dgonzalez@suse.de>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: David Díaz González <dgonzalez@suse.de>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
This PR implements the new UI selectors for the target installation
device and for the boot device, see
https://github.com/openSUSE/agama/blob/master/doc/storage_ui.md.

For the installation device it offers the following options:

* Select a target disk (the file systems are created over new
partitions).
* Create a new LVM volume group (the file systems are crated over
logical volumes).
* The option for reusing LVM volume groups is not offered yet.

For the boot device it offers the following options:

* To use the selected disk for installation.
* To use a different disk.
* To not configure boot partitions.

## Screenshots

<details>
<summary>Toggle</summary>

![localhost_8080_
(33)](https://github.com/openSUSE/agama/assets/1112304/63828e27-b3b1-4312-a14a-0435a86d3347)

![localhost_8080_
(32)](https://github.com/openSUSE/agama/assets/1112304/b79b84b9-d543-4558-af79-4b7cfd0d8bc7)

</details>
@coveralls
Copy link

coveralls commented Apr 3, 2024

Coverage Status

coverage: 74.355% (-0.1%) from 74.464%
when pulling 2adc9bb on storage-next-device-selection
into e63f418 on master.

@joseivanlopez joseivanlopez changed the title Feature: Device and boot selection feature: Device and boot selection Apr 3, 2024
@joseivanlopez joseivanlopez marked this pull request as ready for review April 3, 2024 15:52
@joseivanlopez joseivanlopez merged commit 6291da5 into master Apr 4, 2024
6 checks passed
@joseivanlopez joseivanlopez deleted the storage-next-device-selection branch April 4, 2024 09:09
@imobachgs imobachgs mentioned this pull request May 17, 2024
imobachgs added a commit that referenced this pull request May 17, 2024
Prepare for releasing Agama 8. It includes the following pull requests:

* #884
* #886
* #914
* #918
* #956
* #957
* #958
* #959
* #960
* #961
* #962
* #963
* #964
* #965
* #966
* #969
* #970
* #976
* #977
* #978
* #979
* #980
* #981
* #983
* #984
* #985
* #986
* #988
* #991
* #992
* #995
* #996
* #997
* #999
* #1003
* #1004
* #1006
* #1007
* #1008
* #1009
* #1010
* #1011
* #1012
* #1014
* #1015
* #1016
* #1017
* #1020
* #1022
* #1023
* #1024
* #1025
* #1027
* #1028
* #1029
* #1030
* #1031
* #1032
* #1033
* #1034
* #1035
* #1036
* #1038
* #1039
* #1041
* #1042
* #1043
* #1045
* #1046
* #1047
* #1048
* #1052
* #1054
* #1056
* #1057
* #1060
* #1061
* #1062
* #1063
* #1064
* #1066
* #1067
* #1068
* #1069
* #1071
* #1072
* #1073
* #1074
* #1075
* #1079
* #1080
* #1081
* #1082
* #1085
* #1086
* #1087
* #1088
* #1089
* #1090
* #1091
* #1092
* #1093
* #1094
* #1095
* #1096
* #1097
* #1098
* #1099
* #1100
* #1102
* #1103
* #1104
* #1105
* #1106
* #1109
* #1110
* #1111
* #1112
* #1114
* #1116
* #1117
* #1118
* #1119
* #1120
* #1121
* #1122
* #1123
* #1125
* #1126
* #1127
* #1128
* #1129
* #1130
* #1131
* #1132
* #1133
* #1134
* #1135
* #1136
* #1138
* #1139
* #1140
* #1141
* #1142
* #1143
* #1144
* #1145
* #1146
* #1147
* #1148
* #1149
* #1151
* #1152
* #1153
* #1154
* #1155
* #1156
* #1157
* #1158
* #1160
* #1161
* #1162
* #1163
* #1164
* #1165
* #1166
* #1167
* #1168
* #1169
* #1170
* #1171
* #1172
* #1173
* #1174
* #1175
* #1177
* #1178
* #1180
* #1181
* #1182
* #1183
* #1184
* #1185
* #1187
* #1188
* #1189
* #1190
* #1191
* #1192
* #1193
* #1194
* #1195
* #1196
* #1198
* #1199
* #1200
* #1201
* #1203
* #1204
* #1205
* #1206
* #1207
* #1208
* #1209
* #1210
* #1211
* #1212
* #1213
* #1214
* #1215
* #1216
* #1217
* #1219
* #1220
* #1221
* #1222
* #1223
* #1224
* #1225
* #1226
* #1227
* #1229
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants