Skip to content

Storage AutoYaST backward compatibility#1284

Merged
ancorgs merged 15 commits intoagama-project:masterfrom
ancorgs:legacy_autoyast_storage
Jun 6, 2024
Merged

Storage AutoYaST backward compatibility#1284
ancorgs merged 15 commits intoagama-project:masterfrom
ancorgs:legacy_autoyast_storage

Conversation

@ancorgs
Copy link
Copy Markdown
Contributor

@ancorgs ancorgs commented Jun 4, 2024

Created to replace #1266 (to sanitize history).

Agama is going to offer new settings for configuring the storage devices, see #1256. That new settings will be applied by loading a config file (e.g., $ agama config load myconfig.json). Nevertheless, Agama is also going to temporary support the SLE15 AutoYaST schema to some extent, in order to make the transition smoother. For that, the json config file can indicate a "legacyAutoyastStorage" key equivalent to the partitioning section of the AutoYaST profile:

"legacyAutoyastStorage": [
  {
    "device": "/dev/vda",
    "use": "all",
    "partitions": [...]
  }
]

This PR implements the support for the "legacyAutoyastStorage" settings, making possible to calculate an AutoYaST proposal.

Converting the "partitioning" section from a XML AutoYaST profile to a "legacyAutoyastStorage" section is implemented at #1285

Note: The AutoYaST guided partitioning will not be supported, see https://doc.opensuse.org/projects/autoyast/#CreateProfile-Guided-Partitioning.

@ancorgs ancorgs force-pushed the legacy_autoyast_storage branch from d31ef4e to aad870e Compare June 4, 2024 13:55
@coveralls
Copy link
Copy Markdown

Coverage Status

coverage: 70.419% (+0.1%) from 70.281%
when pulling aad870e on ancorgs:legacy_autoyast_storage
into e2c7a5a on openSUSE:master.

@ancorgs ancorgs marked this pull request as ready for review June 4, 2024 14:05
@coveralls
Copy link
Copy Markdown

Coverage Status

coverage: 70.241% (-0.04%) from 70.281%
when pulling aad870e on ancorgs:legacy_autoyast_storage
into e2c7a5a on openSUSE:master.

joseivanlopez added a commit that referenced this pull request Jun 5, 2024
The list of drives in the "partitioning" section of an AutoYaST profile
is directly converted to json as "legacyAutoyastStorage" key.

See:

* #1279
* #1284

~~~
$ ./service/bin/agama-autoyast file:///path/to/profile.xml /tmp
$ cat /tmp/autoinst.json | jq

{
  "legacyAutoyastStorage": [
    {
      "device": "/dev/sda",
      "disklabel": "gpt",
      "enable_snapshots": true,
      "initialize": true,
      "partitions": [
        {
          "create": true,
          "partition_id": 263,
          "partition_nr": 1,
          "resize": false,
          "size": "8225280"
        }
      ],
      "type": "CT_DISK",
      "use": "all"
  ]
}
~~~

Note: Agama CLI complains when using `file://`:

~~~
$ agama profile autoyast file:///path/to/profile.xml
No such file or directory (os error 2)
~~~
Copy link
Copy Markdown
Contributor

@imobachgs imobachgs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

let field_name = &s.ident;
match s.kind {
SettingKind::Scalar => quote! {
SettingKind::Scalar | SettingKind::Ignored => quote! {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sadly, this code will go away in a matter of hours or days 😅 (we are dropping agama-derive and agama-settings).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ces't la vie.

when DeviceSettings::NewLvmVg
settings.device.candidate_pv_devices = [device]
when DeviceSettings::ReusedLvmVg
# TODO: select an existing VG?
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something to fix now?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. We have not yet implemented reusing LVMs.

@ancorgs ancorgs force-pushed the legacy_autoyast_storage branch from f81515e to 5e9794d Compare June 5, 2024 14:01
@coveralls
Copy link
Copy Markdown

Coverage Status

coverage: 70.48% (+0.1%) from 70.343%
when pulling 5e9794d on ancorgs:legacy_autoyast_storage
into 8bebd79 on openSUSE:master.

@coveralls
Copy link
Copy Markdown

Coverage Status

coverage: 70.302% (-0.04%) from 70.343%
when pulling 5e9794d on ancorgs:legacy_autoyast_storage
into 8bebd79 on openSUSE:master.

@ancorgs ancorgs merged commit df46717 into agama-project:master Jun 6, 2024
@imobachgs imobachgs mentioned this pull request Jun 27, 2024
imobachgs added a commit that referenced this pull request Jun 27, 2024
Prepare for releasing Agama 9. It includes the following pull requests:

- #1101
- #1202
- #1228
- #1231
- #1236
- #1238
- #1239
- #1240
- #1242
- #1243
- #1244
- #1245
- #1246
- #1247
- #1248
- #1249
- #1250
- #1251
- #1252
- #1253
- #1254
- #1255
- #1256
- #1257
- #1258
- #1259
- #1260
- #1261
- #1264
- #1265
- #1267
- #1268
- #1269
- #1270
- #1271
- #1272
- #1273
- #1274
- #1279
- #1280
- #1284
- #1285
- #1286
- #1287
- #1288
- #1289
- #1290
- #1291
- #1292
- #1293
- #1294
- #1295
- #1296
- #1298
- #1299
- #1300
- #1301
- #1302
- #1303
- #1304
- #1305
- #1306
- #1307
- #1308
- #1309
- #1310
- #1311
- #1312
- #1313
- #1314
- #1315
- #1316
- #1317
- #1318
- #1319
- #1320
- #1321
- #1322
- #1323
- #1324
- #1325
- #1326
- #1328
- #1329
- #1331
- #1332
- #1334
- #1338
- #1340
- #1341
- #1342
- #1343
- #1344
- #1345
- #1348
- #1349
- #1351
- #1352
- #1353
- #1354
- #1355
- #1356
- #1357
- #1358
- #1359
- #1360
- #1361
- #1362
- #1363
- #1365
- #1366
- #1367
- #1368
- #1371
- #1372
- #1374
- #1375
- #1376
- #1379
- #1380
- #1381
- #1383
- #1384
- #1385
- #1386
- #1387
- #1388
- #1389
- #1391
- #1392
- #1394
- #1395
- #1397
- #1398
- #1399
- #1400
- #1403
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.

4 participants