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

feat(storage): load storage config for guided proposal #1293

Merged
merged 5 commits into from
Jun 26, 2024

Conversation

joseivanlopez
Copy link
Contributor

@joseivanlopez joseivanlopez commented Jun 7, 2024

Add CLI support for setting and getting the storage config.

Load (set) storage settings from a config file:

$ agama config load < config.json

Config for a guided proposal:

{
  "storage": {
    "guided": {
      "target": {
        "disk": "/dev/vdc"
      }
    }
  }
}

Config for an AutoYaST proposal:

{
  "legacyAutoyastStorage": [
    {
      "device": "/dev/vdc",
      "use": "all"
    }
  ]
}

Recover (get) the storage config:

$ agama config show > config.json
$ agama config edit

NOTES

  • The storage service should check whether the given settings fulfill the JSON schema.
  • Checking the schema is not done yet because the schema definition is not finished.

@joseivanlopez joseivanlopez changed the title Load storage config for guided proposal feat(storage): load storage config for guided proposal Jun 10, 2024
@joseivanlopez joseivanlopez force-pushed the load-guided-config branch 2 times, most recently from 01b8f90 to 7c348ca Compare June 21, 2024 15:29
@imobachgs imobachgs added this to the Agama 9 milestone Jun 25, 2024
@joseivanlopez joseivanlopez force-pushed the load-guided-config branch 3 times, most recently from 8222fdf to f515b56 Compare June 26, 2024 10:12
@coveralls
Copy link

Coverage Status

coverage: 71.034% (+0.02%) from 71.015%
when pulling 2e3278b on load-guided-config
into b8e9ab2 on master.

@joseivanlopez joseivanlopez marked this pull request as ready for review June 26, 2024 10:44
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
@agama-project agama-project deleted a comment from coveralls Jun 26, 2024
pub async fn set_config(&self, settings: StorageSettings) -> Result<u32, ServiceError> {
Ok(self
.storage_proxy
.set_config(serde_json::to_string(&settings).unwrap().as_str())
Copy link
Contributor

Choose a reason for hiding this comment

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

np: I know we are kind of in a hurry, but in the future we should drop this call to unwrap.

/// Get the storage config according to the JSON schema
pub async fn get_config(&self) -> Result<StorageSettings, ServiceError> {
let serialized_settings = self.storage_proxy.get_config().await?;
let settings = serde_json::from_str(serialized_settings.as_str()).unwrap();
Copy link
Contributor

Choose a reason for hiding this comment

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

Same than above.

rust/agama-lib/src/storage/store.rs Outdated Show resolved Hide resolved

# Performs conversion from Hash according to the JSON schema.
#
# @param schema_settings [Hash]
Copy link
Contributor

Choose a reason for hiding this comment

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

What "schema" means? For me, the "schema" is the JSON specification. On IRC we decided to address this issue later.

@coveralls
Copy link

Coverage Status

coverage: 71.412% (+0.4%) from 71.015%
when pulling 0059e2f on load-guided-config
into b8e9ab2 on master.

@joseivanlopez joseivanlopez merged commit 7c5639c into master Jun 26, 2024
5 checks passed
@joseivanlopez joseivanlopez deleted the load-guided-config branch June 26, 2024 11:52
@coveralls
Copy link

Coverage Status

coverage: 71.034% (+0.02%) from 71.015%
when pulling 0059e2f on load-guided-config
into b8e9ab2 on master.

@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.

3 participants