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

chore: improve web navigation menu and sync with master #2021

Merged
merged 148 commits into from
Feb 20, 2025

Conversation

dgdavid
Copy link
Contributor

@dgdavid dgdavid commented Feb 19, 2025

Another sync with master branch which also includes a small improvement in routes for being able to mark as active a route in multiple paths. Useful for having "Overview" highlighted in root path too. See commit ff582d4

Before After
Overview not highlighted Overview highlighted

jreidinger and others added 30 commits January 14, 2025 17:29
This reverts commit 74b1d46.
We decided to not go with dracut approach and instead use systemd
service
Co-authored-by: Knut Alejandro Anderssen González <[email protected]>
## Problem

As there is no linuxrc in Agama we want to explore the possibility of
translating linuxrc network-related boot arguments into the dracut
equivalent (which is the supported and recommended method for the new
installation media).

- https://jira.suse.com/browse/AGM-38
- https://trello.com/c/iCICenNT

## Solution

A basic translation of the **ifcfg** boot argument has being implemented
as a prof of concept but as the nm-initrd-generator parses de cmdline as
a cmdline hook it is too early for doing some kind of checks about the
devices present in the system and trying to match against the device
name and the mac address therefore any kind of pattern except the
**'*'** wildcard.

**Supported examples**

- ifcfg=*=dhcp
  ip=dhcp

- ifcfg=eth0=dhcp
  ip=eth0:dhcp

- ifcfg=eth0.10=192.168.0.100/24,192.168.0.1
  vlan=eth0.10:eth0 ip=192.168.0.100::192.168.0.1:24::eth0.10

- ifcfg="eth0=192.168.0.33/24 10.0.0.100/24,192.168.0.1,192.168.0.1
10.0.0.1,suse.de"
ip=192.168.0.33::192.168.0.1:24::eth0 nameserver=192.168.0.1
nameserver=10.0.0.1 ip=10.0.0.100:::24::eth0

The parser is also added as a cmdline hook, we explored the possibility
to call it as a **initqueue/settle** hook, in that case we could try to
call the **nm_generate_connections** function directly passing it the
**getcmdline** result. At that point we can check the devices present in
**/sys/class/net/** doing some filtering based in the name or mac
address but for example the try function requires to run the
configuration in order to check if the interface was configured or not
for continuing trying... for that kind of support we might need to add
it to NetworkManager and the nm-initrd-generator.

## Testing

- *Tested manually*
imobachgs and others added 14 commits February 19, 2025 11:34
…lation (#1940) (#1970)

## Problem

After an unattended installation the user needs to reboot manually which
is not very unattended... it should do it automatically unless the user
wanted to stop in the congrats screen explicitly

- https://trello.com/c/wXYDjhyj (Avoid manual reboot after unattended
installation - part1)
- https://trello.com/c/VNS3L31L (Avoid automatic reboot after unattended
installation - part2)

## Solution - Part1

- Agama reboot command added. Only does something if Agama is in a final
state

```
suse@vikingo-laptop:~$ sudo agama reboot
Cannot reboot the system
Anyhow(The installation has not finished correctly)
```

- Unattended installation try to reboot the system when finished
installing.
```
## AGAMA AUTO calls
  /usr/bin/agama profile import "$url"
  /usr/bin/agama install
  /usr/bin/agama reboot

```

## Solution - Part2

Added the `agama.finish` kernel cmdline argument allowing to stop in the
congrats screen only honored by the unattended installation

By default it will reboot the system unless the `stop` value is given,
maybe would be nice to modify the `agama reboot` call by `agama finish
method` where method could be `reboot|stop|halt|poweroff`, what do you
think?


## Testing

- *Tested manually*
## Problem

- #1985
- The current UI is not much intuitive 😟 
![Error message from
libzypp](https://github.com/user-attachments/assets/66808bc4-0b0d-4b3d-b64d-7d642ba9af9e)


## Solution

- Better button labels (now even translated!)
- "Try again" is now the default
- Display a title to have a context
- Describe the consequences of skipping package installation
- @dgdavid proposed even more enhancements (see [his
comment](#1985 (comment))),
but that would require non trivial enhancements

## Notes

- This is not a perfect solution, the current Query API is quite limited
- I'll create a new card for enhancing the API to allow some more
features (and remove the current workarounds)

## Testing

- Tested manually

## Screenshots


![agama-error-package-download](https://github.com/user-attachments/assets/daa71b3c-c7c5-4fe5-beaa-496e8399e655)

![agama-error-package-integrity](https://github.com/user-attachments/assets/05ceffb2-9dbb-49cc-8786-098e3a69daf1)

![agama-error-package-installation2](https://github.com/user-attachments/assets/93b8f39a-f68b-4424-a948-f793d45c1166)

---------

Co-authored-by: Imobach González Sosa <[email protected]>
Co-authored-by: David Díaz <[email protected]>
It was declared, but not passed to the internal ModalHeader component.
## Problem

There is plan to adopt new authentication model where root password does
not need to be set and use other ways to authenticate.

trello:
https://trello.com/c/qRvd2Q4K/4182-5-agama-unattended-support-for-the-new-authentication-model


## Solution

As the first step ensure that unattended installation allows and works
with new authentication model. This includes following changes:

- first user will be in wheel group
- root password is explicitelly locked if not specified
- if root ssh key is used, ensure that sshd is enabled and firewall has
port open
- for TW/slowroll use new first user policy by installing proper package


## Testing

- *Tested manually*

## AI

- [x] check SLES situation
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.

Given it is a sync, I guess it is OK.

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, do not merge, tests are failing.

@imobachgs
Copy link
Contributor

It looks like the merge is wrong. We removed autologin support in the storage-config-ui but the merge brings it (partially) back.

The autologin property was removed in commit 0affcce, but it was
partially reintroduced during the sync merge at commit 7ac5882.
This commit removes the leftover lines that were mistakenly included
while resolving the merge conflict.
@dgdavid
Copy link
Contributor Author

dgdavid commented Feb 19, 2025

It looks like the merge is wrong. We removed autologin support in the storage-config-ui but the merge brings it (partially) back.

Sorry @imobachgs

I was aware of the autologin removal, but for some unknown reason I messed it up while resolving the merge conflict 😢

Fortunately we have tests 😉

Please find the offending lines removed at e3b060e

imobachgs and others added 2 commits February 19, 2025 21:09
Update AutoYaST compatibility documentation.
Introduces the `alsoActiveOn` attribute to the RouteHandle, allowing
navigation menu items to be highlighted for alternative paths. This ensures
menu items stay active when multiple routes lead to the same component,
useful for cases where different URLs should trigger the same active state
in the navigation.
@dgdavid dgdavid changed the title chore: sync storage-config-ui with master chore: improve web navigation menu and sync master Feb 20, 2025
@dgdavid dgdavid changed the title chore: improve web navigation menu and sync master chore: improve web navigation menu and sync with master Feb 20, 2025
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.

LGTM 🤞🏻

@dgdavid dgdavid merged commit 73e43f9 into storage-config-ui Feb 20, 2025
7 checks passed
@dgdavid dgdavid deleted the storage-config-ui-sync-20250219 branch February 20, 2025 09:24
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.

8 participants