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

inject complete lshw and adapt example to work with whole lshw #1242

Merged
merged 7 commits into from
May 22, 2024

Conversation

jreidinger
Copy link
Contributor

@jreidinger jreidinger commented May 20, 2024

Problem

There is only limited subset of hardware information for jsonnet.

Solution

Add complete json tree from lshw and adapt example how to search for the biggest disk. Also add utils library for easier search in lshw output and enhance example.

Testing

  • Tested manually

@@ -84,6 +84,17 @@ local findBiggestDisk(disks) =
local sizedDisks = std.filter(function(d) std.objectHas(d, 'size'), disks);
local sorted = std.sort(sizedDisks, function(x) x.size);
sorted[0].logicalname;
local selectClass(lshw, class) =
Copy link
Contributor

Choose a reason for hiding this comment

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

IMHO, we should offer this as some kind of helper. I would not expect the users to have to include this on their own profiles.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeap, that is open question. Basically I think we should provide something like jsonnet library that is also injected into jsonnet during evaluation. At least two helpers will be useful..selectClass for class filtering and findID to find one specific id ( useful to e.g. check physical memory ).

Copy link
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.

I like the solution but I think we need better names for those helpers as they are part of the public API.

result,

// function go throught lshw output and returns object with given "id" or null if not found.
findID(lshw, id)::
Copy link
Contributor

Choose a reason for hiding this comment

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

About the name of the function, you are not "finding" and ID, but an object. So I would rename it to findById or something similar (or findObject or whatever).

Copy link
Contributor

Choose a reason for hiding this comment

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

Please, document the arguments (type and so on).

@@ -0,0 +1,26 @@
// function go throught lshw output and enlist only given class.
// Basically it is same as calling `lshw -class <class>`.
selectClass(lshw, class)::
Copy link
Contributor

@imobachgs imobachgs May 22, 2024

Choose a reason for hiding this comment

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

selectClass looks good enough. But perhaps to be consistent with my suggestion below we could use findClass or something similar.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please, document the arguments.

Copy link
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.

Please, update the changes file.

Co-authored-by: Imobach González Sosa <igonzalezsosa@suse.com>
@jreidinger jreidinger merged commit 2807a14 into master May 22, 2024
1 check passed
@jreidinger jreidinger deleted the lshw_autoinst branch May 22, 2024 12:52
@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.

2 participants