Skip to content

pull the latest main of 1/29/2025 to my fork#434

Merged
naiming-zededa merged 10 commits intonaiming-zededa:masterfrom
lf-edge:master
Jan 29, 2025
Merged

pull the latest main of 1/29/2025 to my fork#434
naiming-zededa merged 10 commits intonaiming-zededa:masterfrom
lf-edge:master

Conversation

@naiming-zededa
Copy link
Owner

No description provided.

rene and others added 10 commits January 25, 2025 02:49
Fix the test command argument to check for directories '-d' instead of
regular file ('-e').

Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
The installer script (within the installer container) look for EFI files
under /parts/boot. Currently this directory it's not being populated at
all, so the installer script will just create a link for the files from
u-boot container (mounted at /uboot/boot). For default installations there
is no issues on this behavior. However, for the OnLogic FR201 device, the
workflow to produce an installer image is the following:

1. Create the installer raw image
2. Flash the installer image to an USB Stick
3. Change the config.txt file of the EFI partition in the USB Stick to enable
   the options for the FR201 device
4. Boot the USB Stick into the device

For this particular case, the config.txt from the EFI partition of the USB
Stick (installer device) must be copied to the destination EFI partition of
the target storage device (eMMC or SSD). However, the default config.txt
(from the u-boot container) is copied and the device is not able to boot.

This commits adds a function to search for the EFI partition and copy the
files to /parts/boot, so the installer script will install these files
instead of the default ones from u-boot container. In this way, changes in
the config.txt of the installer USB Stick will reflect in the target
device.

Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.23.0 to 0.33.0.
- [Commits](golang/net@v0.23.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
1) Please see the pkg/pillar/docs/failover.md for more details
2) zedagent parses the designated node id in the config
   and sets the corresponding boolean flags in AppInstanceConfig, VolumeConfig and ContentTree Config.
3) Designated node will start the app and publishAppInstanceStatus.
4) Non-designated node will process the config, if content needs to be downloaded it downloads and
   publishAppInstanceStatus, but the AppInstanceStatus.Activated will be false.
4) zedmanager subscribes to ENClusterAppStatus and handles the app schedule and deschedule on that node.
5) zedagent also sets the flag if the app is of native container type.
   Domainmgr launches the native container as a kubernetes pod, that code already exists in domainmgr.
6) zedagent Reports app metrics to controller only if the app is activated on that node.

Signed-off-by: Pramodh Pallapothu <pramodh@zededa.com>
- function to return query of an App for pillar internal status
- support on the node, or the entire cluster for App status

Signed-off-by: Naiming Shen <naiming@zededa.com>
This reverts commit d8834c6.

It must be synced with latest changes. The build is currently broken.

Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
…_iso

The mkimage-iso-efi can override the default iso volume label based on the env variable
VOLUME_LABEL. We use this when we call tools/makeiso.sh to set the label to EVEISO.
The installer in turn looks for this label to find its installer iso to use for installs.
This label-setting did not, however, get carried over to eve/runme.sh, which means that
`docker run lfedge/eve installer_iso` creates an iso with the wrong volume label,
and thus install fails.

This fixes it so that it sets the volume label correctly.

Signed-off-by: Avi Deitcher <avi@deitcher.net>
- save log for monitor TUI app in collect info bundle

Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
As a part of kubevirt-eve we have multiple cluster nodes each hosting app workloads and volume replicas.
This implements defer for eve mgmt config operations which will result in unavailability of storage
replicas until the cluster volume is not running on a single replica.

An example:

1. Node 1 outage and recovers.
2. Before volumes complete rebuilding on node 1 there is a node 2 outage and recovery.
3. Volumes begin rebuilding replicas on nodes 1 and 2. Only available rebuild source is on node 3.
4. User initiated request to reboot/shutdown/update eve-os on node 3.
5. That config request is set to defer until replicas are rebuilt on the other nodes.

At a high level the eve-side workflow looks like this:

1. eve config received requesting reboot/shutdown/baseos-image-change to node 1
2. drain requested for node 1
3. zedkube cordons node 1 so that new workloads are blocked from scheduling on that node.
4. zedkube initiates a kubernetes drain of that node removing workloads
5. As a part of drain, PDB (Pod Disruption Budget) at longhorn level determines local replica is the last online one.
6. Drain waits for volume replicas to rebuild across the cluster.
7. Drain completes and NodeDrainStatus message sent to continue original config request.
8. On the next boot event zedkube nodeOnBootHealthStatusWatcher() waits until the local kubernetes node comes online/ready for the first time on each boot event and uncordons it, allowing workloads to be scheduled.

Note: For eve baseos image updates this path waits until a new baseos image is fully available locally (LOADED or INSTALLED) and activated before beginning drain.

Signed-off-by: Andrew Durbin <andrewd@zededa.com>
Main dependencies listed here, others pulled in for version conflicts.
k8s.io/kubectl/pkg/drain
github.com/longhorn/longhorn-manager

Signed-off-by: Andrew Durbin <andrewd@zededa.com>
@naiming-zededa naiming-zededa merged commit 76e6343 into naiming-zededa:master Jan 29, 2025
4 of 11 checks passed
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.

5 participants