Skip to content

Commit

Permalink
Merge branch 'master' into infiniband_upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
imobachgs authored Apr 2, 2024
2 parents c75ed02 + 8cf36f0 commit d1800bc
Show file tree
Hide file tree
Showing 132 changed files with 12,895 additions and 2,836 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ jobs:
- name: IRC notification
# see https://github.com/marketplace/actions/irc-message-action
uses: Gottox/irc-message-action@v2
# never run in forks
if: failure() && github.repository_owner == 'openSUSE'
# never run in forks or when triggered manually
if: failure() && github.repository_owner == 'openSUSE' && github.event_name != 'workflow_dispatch'
with:
channel: "#yast"
nickname: github-action
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/weblate-merge-po.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
if: steps.check_changes.outputs.po_updated == 'true'
working-directory: ./agama
run: |
web/share/update-manifest.py web/src/manifest.json
web/share/update-languages.py > web/src/languages.json
# use a unique branch to avoid possible conflicts with already existing branches
git checkout -b "po_merge_${GITHUB_RUN_ID}"
git commit -a -m "Update web PO files"$'\n\n'"Agama-weblate commit: `git -C ../agama-weblate rev-parse HEAD`"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
<!--
MountPath s
MountOptions as
TargetDevice s
TargetVG s
Target s
TargetDevice s (only makes sense if Target is not default)
FsType s
MinSize t (bytes)
MaxSize t (bytes. Optional, max size is considered as unlimited if omitted)
Expand Down
4 changes: 2 additions & 2 deletions doc/dbus/org.opensuse.Agama.Storage1.Proposal.doc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
Each volume has the following properties:
MountPath s
MountOptions as
TargetDevice s
TargetVG s
Target s
TargetDevice s (only makes sense if Target is not default)
FsType s
MinSize t (bytes)
MaxSize t (bytes. Optional, max size is considered as unlimited if omitted)
Expand Down
Binary file modified doc/images/storage_ui/agama_guided.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/storage_ui/transactional.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 40 additions & 37 deletions doc/storage_ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,12 @@ the selection of the operating system to install, "product" in Agama jargon.
This document describes the Agama interface for a traditional (non-transactional) system. See the
section "interface changes for transactional systems" for the alternative.

### Representation of the Actions to Perform
### Representation of the Result

Another important point to consider is that currently the list of (libstorage-ng) actions is the
only way we have to represent the result of a given proposal. That representation is far from ideal.
It doesn't offer a convenient high-level view of the final layout or of the really significant
actions (it includes too many intermediate steps by default).

A complete design for a more convenient representation of the result is out of the scope of this
proposal. Nevertheless, small changes (like grouping the actions based on the operating system
they affect) are somehow suggested in some of the upcoming sections and mock-ups.
The result of the storage setup is represented in the mockups of this document as a section of the
storage page titled "result", which includes a list of (libstorage-ng) actions and a table
representing the final state of the affected devices. That is far from ideal, but a complete design
for a more convenient representation of the result is out of the scope of this proposal.

In the long term, we may need to come with a better alternative to show the result.

Expand Down Expand Up @@ -71,18 +67,18 @@ user.
![Initial storage screen](images/storage_ui/agama_guided.png)

Every change to any of the configuration options will result in an immediate re-calculation of the
"planned actions" section which represents the result. Changes in the configuration of encryption,
btrfs snapshots or the target devices can also imply refreshing the description of the file systems.
In a similar way, changes in those volumes or the target device may result in some disk being
included or excluded in the section "find space".
section that presents the result. Changes in the configuration of encryption, btrfs snapshots or the
target devices can also imply refreshing the description of the file systems. In a similar way,
changes in those volumes or the target device may result in a change in the number of disks
mentioned in the sentence about finding space.

The table with the file systems actually represents the volumes used as input for the Agama variant
of the `GuidedProposal`. Compared to YaST, Agama turns the volumes into a much more visible concept.
The users will be able to see and adjust most of their attributes. Users could even define new
volumes that are not initially part of the configuration of the selected product.

Pop-up dialogs will be used to modify the target device(s), the encryption configuration or the
booting setup, as well as to add or edit a given volume.
Pop-up dialogs will be used to modify the target device(s), the encryption configuration, the
booting setup or the strategy to find free space, as well as to add or edit a given volume.

All file systems will be created by default at the chosen target disk or at the default LVM volume
group (in the case of LVM-based proposal). The user will be able to manually overwrite the location
Expand All @@ -92,9 +88,9 @@ system at the `vdb1` partition. Continue reading to understand all the possible

Defining the settings and the list of volumes also defines, as a direct consequence, the disks
affected by the installation process. It may be needed to make some space in those disks. That
deserves a dedicated section in the proposal page that is described below.
deserves a dedicated "find space" setting that is described below.

### Device Selection and General Settings
### Device Selection

As seen on the image above, the main device to install the system can be chosen at the very top of
the storage proposal page. Although a Linux installation can extend over several disks, the storage
Expand All @@ -109,29 +105,21 @@ which devices will be partitioned in order to allocate the physical volumes of t
In that case, the file systems will be created by default as new LVM logical volumes at that new
volume group.

### General Settings

The device selection is followed by some global settings that define how the installation is going
to look and what are the possibilities in terms of booting and structuring the file systems. Those
settings include the usage of btrfs snapshots, which in YaST is presented relatively hidden as one
of the configuration options for the root file system.

One of the main features of the `GuidedProposal` is its ability to automatically determine any extra
partition that may be needed for booting the new system, like PReP, EFI, Zipl or any other described
at the [corresponding YaST
document](https://github.com/yast/yast-storage-ng/blob/master/doc/boot-requirements.md). The
algorithm can create those partitions or reuse existing ones that are already in the system if the
user wants to keep them (see the section about finding space). The behavior of that feature can be
also be tweaked in the "settings" section of the page.

![Dialog to configure booting](images/storage_ui/boot_config_popup.png)

### File Systems

The next section contains the table that displays the file systems to be created, volumes in YaST
jargon. The size of each volume is specified as a couple of lower and upper limits (the upper one is
optional in all cases). With the current approach of the YaST `GuidedProposal` there are some
volumes that may need to recalculate those limits based on the proposal configuration (eg. whether
Btrfs snapshots are enabled) or its relationship with others volumes. Their limits will be set as
"auto-calculated" by default. For more details, see the corresponding section below.
The "settings" section also contains the table that displays the file systems to be created, volumes
in YaST jargon. The size of each volume is specified as a couple of lower and upper limits (the
upper one is optional in all cases). With the current approach of the YaST `GuidedProposal` there
are some volumes that may need to recalculate those limits based on the proposal configuration (eg.
whether Btrfs snapshots are enabled) or its relationship with others volumes. Their limits will be
set as "auto-calculated" by default. For more details, see the corresponding section below.

If btrfs is used for the root file system, it will be possible to define subvolumes for it. Those
subvolumes are represented in the same table, nested on the entry of the root file system. They can
Expand All @@ -155,6 +143,18 @@ specify an an alternative location using the following form that offers several
When the option to reuse an existing device is chosen, size limits cannot be adjusted. The size of
the reused device will be displayed in the table of file systems in the corresponding column.

### Configuration of Booting Partitions

One of the main features of the `GuidedProposal` is its ability to automatically determine any extra
partition that may be needed for booting the new system, like PReP, EFI, Zipl or any other described
at the [corresponding YaST
document](https://github.com/yast/yast-storage-ng/blob/master/doc/boot-requirements.md). The
algorithm can create those partitions or reuse existing ones that are already in the system if the
user wants to keep them (see the section about finding space). The behavior of that feature can be
also be tweaked in the "settings" section of the page.

![Dialog to configure booting](images/storage_ui/boot_config_popup.png)

### Finding Space for the Volumes

Similar to YaST, Agama will offer by default the option to automatically make space for the new
Expand All @@ -164,7 +164,8 @@ three automatic modes.
As an alternative, the Agama proposal will offer a custom mode in which the user will explicitly
select which partitions to keep, delete or resize.

That will result in up to four possibilities presented in the corresponding section.
That will result in up to four possibilities presented at a pop-up dialog if the user clicks on the
corresponding option at the botton of the "settings" section.

- Delete everything in the disk(s). Obviously, all previous data is removed.
- Shrink existing partition(s). The information is kept, but partitions are resized as needed to make
Expand Down Expand Up @@ -249,9 +250,11 @@ In those systems, it makes no sense to disable Btrfs snapshots, which are requir
functionality. Is not only that snapshots are mandatory in transactional systems, they are actually
used with a different purpose when compared to read-write systems.

Thus, if the system being installed is transactional, that will be clearly stated at the "settings"
section of the storage proposal page. The setting to use btrfs snapshots will not be there and the
root file system will be labeled as "transactional" in the corresponding table.
Thus, if the system being installed is transactional, that will be clearly stated at the top of the
page. The setting to use btrfs snapshots will not be there and the root file system will be labeled as
"transactional" in the corresponding table.

![Interface changes for transactional systems](images/storage_ui/transactional.png)

## Advanced Preparations

Expand Down
8 changes: 8 additions & 0 deletions products.d/ALP-Dolomite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@ description: 'SUSE ALP Dolomite is a minimum immutable OS core, focused on
# Do not manually change any translations! See README.md for more details.
translations:
description:
ca: El SUSE ALP Dolomite és un nucli de sistema operatiu mínim immutable,
centrat en la seguretat per proporcionar el mínim necessari per executar
càrregues de treball i serveis com ara contenidors o màquines virtuals.
cs: SUSE ALP Dolomite je minimální neměnitelný základní OS, zaměřený na
bezpečnost pro poskytování úplného minima ke spuštění úloh a služeb v
kontejnerech nebo virtuálních strojích.
de: SUSE ALP Dolomite ist ein minimaler, unveränderlicher Betriebssystemkern,
der sich auf die Sicherheit konzentriert und das absolute Minimum für die
Ausführung von Arbeitslasten und Diensten als Container oder virtuelle
Maschinen bietet.
es: SUSE ALP Dolomite es un núcleo de sistema operativo mínimo e inmutable,
centrado en la seguridad para proporcionar lo mínimo necesario para
ejecutar cargas de trabajo y servicios como contenedores o máquinas
Expand All @@ -33,6 +40,7 @@ translations:
sv: SUSE ALP Dolomite är en minimal oföränderlig OS-kärna, fokuserad på säkerhet
för att tillhandahålla det absoluta minimum för att köra
arbetsbelastningar och tjänster som behållare eller virtuella maskiner.
zh_Hans: SUSE ALP Dolomite 是最小的不可变操作系统核心,专注于安全性,提供最低限度的容器化或虚拟机工作负载和服务。
software:
mandatory_patterns:
- alp_base_zypper
Expand Down
6 changes: 6 additions & 0 deletions products.d/microos-desktop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ description: 'A distribution for the desktop offering automatic updates and
# Do not manually change any translations! See README.md for more details.
translations:
description:
ca: Una distribució per a l'escriptori que ofereix actualitzacions automàtiques
i retrocessos sobre els fonaments de l'openSUSE MicroSO. Inclou el Podman
Container Runtime i permet gestionar programari mitjançant el Programari
del Gnome o el KDE Discover.
es: Una distribución para escritorio que ofrece actualizaciones automáticas y
reversión sobre los fundamentos de openSUSE MicroOS. Incluye Podman
Container Runtime y permite administrar software usando Gnome Software o
Expand All @@ -30,6 +34,8 @@ translations:
möjligheten att rulla tillbaka byggt ovanpå grunden av openSUSE MicroOS.
Inkluderar Podman behållarkörtid och gör det möjligt att hantera
programvara med Gnome Programvara eller KDE Discover.
zh_Hans: 在 openSUSE MicroOS 基础上提供自动更新和回滚的桌面设备发行版。包含 Podman 容器运行时,且允许透过 GNOME
Software 或 KDE Discover 管理软件。
software:
installation_repositories:
- url: https://download.opensuse.org/tumbleweed/repo/oss/
Expand Down
13 changes: 13 additions & 0 deletions products.d/microos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ description: 'A quick, small distribution designed to host container workloads
# Do not manually change any translations! See README.md for more details.
translations:
description:
ca: Una distribució ràpida i petita dissenyada per allotjar càrregues de treball
de contenidors amb administració i pedaços automatitzats. L'openSUSE
MicroSO proporciona actualitzacions transaccionals (atòmiques) en un
sistema de fitxers d'arrel btrfs només de lectura. Com a distribució
contínua, el programari està sempre actualitzat.
de: Eine schnelle, kleine Distribution, die für den Betrieb von
Container-Arbeitslasten mit automatischer Verwaltung und automatisiertem
Patching entwickelt wurde. openSUSE MicroOS bietet transaktionale
(atomare) Aktualisierungen auf einem schreibgeschützten
btrfs-Wurzeldateisystem. Als Distribution mit rollierenden
Veröffentlichungen ist die Software immer auf dem neuesten Stand.
es: Una distribución pequeña y rápida diseñada para alojar cargas de trabajo de
contenedores con administración y parches automatizados. openSUSE MicroOS
proporciona actualizaciones transaccionales (atómicas) en un sistema de
Expand All @@ -35,6 +46,8 @@ translations:
patchning. openSUSE MicroOS tillhandahåller transaktionella (atomära)
uppdateringar på ett skrivskyddat btrfs-rootfilsystem. Som rullande
releasedistribution är mjukvaran alltid uppdaterad.
zh_Hans: 一个快速、小型的发行版,旨在通过自动化管理和修补来托管容器工作负载。openSUSE MicroOS 提供基于只读 Btrfs
根文件系统之上的事务性(原子)更新。作为滚动发行版,它的软件始终保持最新。
software:
installation_repositories:
- url: https://download.opensuse.org/tumbleweed/repo/oss/
Expand Down
11 changes: 11 additions & 0 deletions products.d/tumbleweed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,18 @@ description: 'The Tumbleweed distribution is a pure rolling release version of
# Do not manually change any translations! See README.md for more details.
translations:
description:
ca: La distribució Tumbleweed és una versió purament contínua d'openSUSE que
conté les últimes versions estables de tot el programari en lloc de
dependre de cicles de llançament periòdics rígids. El projecte fa això per
als usuaris que volen el programari estable més nou.
cs: Tumbleweed je rolující verze distribuce openSUSE obsahující poslední
"stabilní" verze veškerého software namísto pevných pravidelných vydání.
Projekt je určen pro uživatele, kteří chtějí nejnovější stabilní software.
de: Die Tumbleweed-Distribution ist eine Version mit reinen rollierenden
Veröffentlichungen von openSUSE, die die neuesten „stabilen“ Versionen der
gesamten Software enthält, anstatt sich auf starre periodische
Veröffentlichungszyklen zu verlassen. Das Projekt tut dies für Benutzer,
die die neueste, stabile Software wünschen.
es: La distribución Tumbleweed es una versión pura de lanzamiento continuo de
openSUSE que contiene las últimas versiones "estables" de todo el software
en lugar de depender de ciclos de lanzamiento periódicos menos flexibles.
Expand Down Expand Up @@ -42,6 +51,8 @@ translations:
innehåller de senaste "stabila" versionerna av all programvara istället
för att förlita sig på stela periodiska utgivningscykler. Projektet gör
detta för användare som vill ha den senaste stabila programvaran.
zh_Hans: Tumbleweed 发行版是 openSUSE
的纯滚动发布版本,其并不依赖于严格的定时发布周期,而是持续包含所有最新“稳定”版本的软件。该项目为追求最新稳定软件的用户而生。
software:
installation_repositories:
- url: https://download.opensuse.org/tumbleweed/repo/oss/
Expand Down
Loading

0 comments on commit d1800bc

Please sign in to comment.