feat: add AutoYaST error reporting#1476
Conversation
…uestion is created
Co-authored-by: Martin Vidner <mvidner@suse.cz>
rust/agama-cli/src/questions.rs
Outdated
| let created_question = client.create_question(&question).await?; | ||
| let answer = client.get_answer(created_question.generic.id).await?; | ||
| let Some(id) = created_question.generic.id else { | ||
| return Err(ServiceError::QuestionNotExist(0)); |
There was a problem hiding this comment.
What does that '0' mean? It looks like the error is not exactly that the question does not exist.
There was a problem hiding this comment.
To be honest this should not happen as it is assigned in that create_question from created question path. I am not sure if we should have something like Programatic error or something that for cases which should not happen and user cannot do naything with it
| pub struct GenericQuestion { | ||
| pub id: u32, | ||
| /// id is optional as newly created questions does not have it assigned | ||
| pub id: Option<u32>, |
There was a problem hiding this comment.
If we get rid of D-Bus in the future, we might consider using an uuid instead of dealing with an Option. But that's out of scope.
| # rubocop:disable Lint/UnusedMethodArgument | ||
| module Yast2 | ||
| # :nodoc: | ||
| class Popup |
There was a problem hiding this comment.
yeah, I forget to remove it
| def run | ||
| # at first construct agama question to display. | ||
| text = @label | ||
| question = { |
There was a problem hiding this comment.
Asking the question seems like a repetitive process. It may not be needed by now, but we might consider having a helper method/class to do so.
Co-authored-by: Imobach González Sosa <igonzalezsosa@suse.com> Co-authored-by: David Díaz <1691872+dgdavid@users.noreply.github.com>
|
Commit fc249f8 introduces a few improvements to the tests:
|
Co-authored-by: Imobach González Sosa <igonzalezsosa@suse.com> Co-authored-by: David Díaz <1691872+dgdavid@users.noreply.github.com>
|
There is some troubles with PRG cluster affecting also opensuse services. So tests are red due to failed to load testing container. Will merge even with it as previously it was green and change is just some text changes. |
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
Problem
Autoyast conversion script can try to open ui for reporting errors or ask questions.
Solution
Monkey patch it to use agama question mechanism. This change tries to cover the most common cases.
It also needs to implement generic Question with Password react component.
And last but not least during manual testing few issues are revealed and fixed. Also as part of change listing of all question was fixed to really show only unanswered ones and optimize it to use ObjectManager methods.
Testing
For testing CLI for asking this command is used:
agama questions ask < data.jsonFor testing autoyast questions it uses encrypted autoyast profile that ask for password and also report issue when password is wrong: