feat(storage): config support to reuse file systems#1575
feat(storage): config support to reuse file systems#1575joseivanlopez merged 4 commits intoagama-project:masterfrom
Conversation
3083d2b to
dafe319
Compare
| "additionalProperties": false, | ||
| "properties": { | ||
| "reuse": { | ||
| "reuseIfPossible": { |
There was a problem hiding this comment.
The document auto_storage proposes to have a reuse property, but reuseIfPossible was used because the following reasons:
a) A file system cannot be reused if the partition is going to be created (search is not specified).
b) A file system cannot be reused if the device is going to be encrypted.
c) A file system cannot be reused if the encryption layer is not going to be reused too.
d) A file system cannot be reused if the device is not currently formatted.
Validating the JSON config to avoid the usage of reuse in a, b and c would make the schema definition much more complex with very little benefit. Moreover, d cannot be validated at schema level because it requires information about the system.
The property was called reuseIfPossible to indicate that Agama will try reusing the existing file system if it is actually possible.
dafe319 to
a5b7c46
Compare
| require "agama/storage/config" | ||
| require "y2storage/agama_proposal" | ||
|
|
||
| # @param config [Agama::Storage::Configs::Drive, Agama::Storage::Configs::Partition] |
There was a problem hiding this comment.
These methods look like a hint that we need (or will shortly need) shared helpers or factories for creating config objects and similar stuff.
There was a problem hiding this comment.
Totally agree.
a5b7c46 to
5477989
Compare
Prepare for releasing Agama 10· * #1263 * #1330 * #1407 * #1408 * #1410 * #1411 * #1412 * #1416 * #1417 * #1419 * #1420 * #1421 * #1422 * #1423 * #1424 * #1425 * #1428 * #1429 * #1430 * #1431 * #1432 * #1433 * #1436 * #1437 * #1438 * #1439 * #1440 * #1441 * #1443 * #1444 * #1445 * #1449 * #1450 * #1451 * #1452 * #1453 * #1454 * #1455 * #1456 * #1457 * #1459 * #1460 * #1462 * #1464 * #1465 * #1466 * #1467 * #1468 * #1469 * #1470 * #1471 * #1472 * #1473 * #1475 * #1476 * #1477 * #1478 * #1479 * #1480 * #1481 * #1482 * #1483 * #1484 * #1485 * #1486 * #1487 * #1488 * #1489 * #1491 * #1492 * #1493 * #1494 * #1496 * #1497 * #1498 * #1499 * #1500 * #1501 * #1502 * #1503 * #1504 * #1505 * #1506 * #1507 * #1508 * #1510 * #1511 * #1512 * #1513 * #1514 * #1515 * #1516 * #1517 * #1518 * #1519 * #1520 * #1522 * #1523 * #1524 * #1525 * #1526 * #1527 * #1528 * #1529 * #1530 * #1531 * #1532 * #1533 * #1534 * #1535 * #1536 * #1537 * #1540 * #1541 * #1543 * #1544 * #1545 * #1546 * #1547 * #1548 * #1549 * #1550 * #1552 * #1553 * #1554 * #1555 * #1556 * #1557 * #1558 * #1559 * #1560 * #1562 * #1563 * #1565 * #1566 * #1567 * #1568 * #1569 * #1570 * #1571 * #1572 * #1573 * #1574 * #1575 * #1576 * #1577 * #1578 * #1579 * #1580 * #1581 * #1583 * #1584 * #1585 * #1586 * #1587 * #1588 * #1589 * #1590 * #1591 * #1592 * #1593 * #1596 * #1597 * #1598 * #1600 * #1602 * #1605 * #1606 * #1607 * #1608 * #1610 * #1611 * #1612 * #1613 * #1614 * #1619 * #1620 * #1621
Allow using reuseIfPossible for a filesystem section in the storage JSON config. The auto_storage document proposes to have a reuse property, but reuseIfPossible was used instead, see #1575 (review):
If reuseIfPossible is true, then Agama will try to reuse the file system, if any. In that case, some other properties from the filesystem section would be ignored.
Example:
{ "search": "/dev/vda1", "filesystem": { "reuseIfPossible": true, "path": "/logs", "type": "xfs", "mkfsOptions": ["rw"] } }The properties type and mkfsOptions would be considered by Agama only if the file system is not finally reused.