Skip to content

Conversation

@GuangJie1
Copy link
Contributor

@GuangJie1 GuangJie1 commented Jul 26, 2025

Within an OpenHPC environment, we plan to use Warewulf 4 to boot and provision openEuler 24.03 as the node image. Therefore, we are submitting the openEuler 24.03 image here as the first step.

@GuangJie1
Copy link
Contributor Author

GuangJie1 commented Jul 28, 2025

Hi, @anderbubble, @JasonYangShadow, please take a look at this PR, thanks.

@anderbubble
Copy link
Collaborator

@GuangJie1 I've added it to an internal list to review. Just in case it isn't clear, you can use it internally before it's merged here; but thanks for the PR!

@GuangJie1
Copy link
Contributor Author

@GuangJie1 I've added it to an internal list to review. Just in case it isn't clear, you can use it internally before it's merged here; but thanks for the PR!
Thank you for your reply. We'll use this internally first and contract you later.

@GuangJie1
Copy link
Contributor Author

GuangJie1 commented Jul 31, 2025

I did a basci test with the openEuler 24.03 image and encountered a known issue, which was resolved, and everything worked as expected afterward. Below is a summary of the steps and some runtime logs:

  1. Imported the image

    wwctl image import docker://docker.io/baibgj/warewulf-openeuler:24.03 warewulf-openeuler:24.03
    
    Copying blob ed90f2ff4836 skipped: already exists  
    Copying blob a3d2e0939a02 done   | 
    Copying blob ad5c1755b89e done   | 
    Copying blob 73951662bd53 skipped: already exists  
    Copying blob 9f7449bda617 done   | 
    Copying blob 6861bbb204d1 done   | 
    Copying blob bf54bf7b48ab done   | 
    Copying config 8fb9642bdb done   | 
    Writing manifest to image destination
    2025/07/31 09:03:21  info unpack layer: sha256:73951662bd5354fff5cae8023c13ae2d3001e6336659577cdd039d77b7fa4559
    2025/07/31 09:03:23  info unpack layer: sha256:ed90f2ff483601e1c4df18c31b4607520fb174498c6adae9a616e50d050d7c47
    2025/07/31 09:03:23  info unpack layer: sha256:9f7449bda61771b43d2f57389ad7e458768db8b3cdff939be29a608d713f5968
    2025/07/31 09:03:33  info unpack layer: sha256:a3d2e0939a0276f41303599ec65cc9d4b111de9c8ec188816ccac553193ae294
    2025/07/31 09:03:33  info unpack layer: sha256:6861bbb204d1744b2e50cde84da590f867d54251a7ddf86c14ac746399a532c5
    2025/07/31 09:03:33  info unpack layer: sha256:ad5c1755b89eaabae7fe7d51630530b3c7bf34124de3cf4dd7aa93921eac9ce5
    
  2. While adding the DNF repo configuration file, I noticed that the DNF config file /etc/resolv.conf was missing. This appears to be related to Issue #1906

    env LANG=C.UTF-8 wwctl image exec --build=false warewulf-openeuler:24.03 -- /usr/bin/dnf config-manager --add-repo http://obs.openhpc.community:82/OpenHPC3:/3.3:/Factory/openEuler_22.03/
    
    Adding repo from: http://obs.openhpc.community:82/OpenHPC3:/3.3:/Factory/openEuler_22.03/
    + LANG=C
    + LC_CTYPE=C
    + export LANG LC_CTYPE
    + dnf clean all
    0 files removed
    + rm -f /etc/machine-id /var/lib/dbus/machine-id
    

    To resolve the issue, I manually copied the host machine's /etc/resolv.conf file into the rootfs directory. The repository was then added successfully.

  3. Upgraded node image

    env LANG=C.UTF-8 wwctl image exec --build=false warewulf-openeuler:24.03  -- /usr/bin/dnf update -y
    
    .....
    Upgraded:
      glib2-2.78.3-9.oe2403sp2.aarch64      libgcc-12.3.1-97.oe2403sp2.aarch64       libgomp-12.3.1-97.oe2403sp2.aarch64      libssh-0.10.5-4.oe2403sp2.aarch64      libstdc++-12.3.1-97.oe2403sp2.aarch64      libxml2-2.11.9-6.oe2403sp2.aarch64        
      pam-1.5.3-9.oe2403sp2.aarch64         python3-3.11.6-13.oe2403sp2.aarch64      readline-8.2-5.oe2403sp2.aarch64         systemd-255-44.oe2403sp2.aarch64       systemd-libs-255-44.oe2403sp2.aarch64      systemd-udev-255-44.oe2403sp2.aarch64     
    
    Complete!
    ......
    
  4. Rebuilt the image

    wwctl image build warewulf-openeuler:24.03
    
    Building image: warewulf-openeuler:24.03
    Created image for Image warewulf-openeuler:24.03: /usr/local/var/warewulf/provision/images/warewulf-openeuler:24.03.img
    Compressed image for Image warewulf-openeuler:24.03: /usr/local/var/warewulf/provision/images/warewulf-openeuler:24.03.img.gz
    

@GuangJie1
Copy link
Contributor Author

I did a basci test with the openEuler 24.03 image and encountered a known issue, which was resolved, and everything worked as expected afterward. Below is a summary of the steps and some runtime logs:

  1. Imported the image

    wwctl image import docker://docker.io/baibgj/warewulf-openeuler:24.03 warewulf-openeuler:24.03
    
    Copying blob ed90f2ff4836 skipped: already exists  
    Copying blob a3d2e0939a02 done   | 
    Copying blob ad5c1755b89e done   | 
    Copying blob 73951662bd53 skipped: already exists  
    Copying blob 9f7449bda617 done   | 
    Copying blob 6861bbb204d1 done   | 
    Copying blob bf54bf7b48ab done   | 
    Copying config 8fb9642bdb done   | 
    Writing manifest to image destination
    2025/07/31 09:03:21  info unpack layer: sha256:73951662bd5354fff5cae8023c13ae2d3001e6336659577cdd039d77b7fa4559
    2025/07/31 09:03:23  info unpack layer: sha256:ed90f2ff483601e1c4df18c31b4607520fb174498c6adae9a616e50d050d7c47
    2025/07/31 09:03:23  info unpack layer: sha256:9f7449bda61771b43d2f57389ad7e458768db8b3cdff939be29a608d713f5968
    2025/07/31 09:03:33  info unpack layer: sha256:a3d2e0939a0276f41303599ec65cc9d4b111de9c8ec188816ccac553193ae294
    2025/07/31 09:03:33  info unpack layer: sha256:6861bbb204d1744b2e50cde84da590f867d54251a7ddf86c14ac746399a532c5
    2025/07/31 09:03:33  info unpack layer: sha256:ad5c1755b89eaabae7fe7d51630530b3c7bf34124de3cf4dd7aa93921eac9ce5
    
  2. While adding the DNF repo configuration file, I noticed that the DNF config file /etc/resolv.conf was missing. This appears to be related to Issue #1906

    env LANG=C.UTF-8 wwctl image exec --build=false warewulf-openeuler:24.03 -- /usr/bin/dnf config-manager --add-repo http://obs.openhpc.community:82/OpenHPC3:/3.3:/Factory/openEuler_22.03/
    
    Adding repo from: http://obs.openhpc.community:82/OpenHPC3:/3.3:/Factory/openEuler_22.03/
    + LANG=C
    + LC_CTYPE=C
    + export LANG LC_CTYPE
    + dnf clean all
    0 files removed
    + rm -f /etc/machine-id /var/lib/dbus/machine-id
    

    To resolve the issue, I manually copied the host machine's /etc/resolv.conf file into the rootfs directory. The repository was then added successfully.

  3. Upgraded node image

    env LANG=C.UTF-8 wwctl image exec --build=false warewulf-openeuler:24.03  -- /usr/bin/dnf update -y
    
    .....
    Upgraded:
      glib2-2.78.3-9.oe2403sp2.aarch64      libgcc-12.3.1-97.oe2403sp2.aarch64       libgomp-12.3.1-97.oe2403sp2.aarch64      libssh-0.10.5-4.oe2403sp2.aarch64      libstdc++-12.3.1-97.oe2403sp2.aarch64      libxml2-2.11.9-6.oe2403sp2.aarch64        
      pam-1.5.3-9.oe2403sp2.aarch64         python3-3.11.6-13.oe2403sp2.aarch64      readline-8.2-5.oe2403sp2.aarch64         systemd-255-44.oe2403sp2.aarch64       systemd-libs-255-44.oe2403sp2.aarch64      systemd-udev-255-44.oe2403sp2.aarch64     
    
    Complete!
    ......
    
  4. Rebuilt the image

    wwctl image build warewulf-openeuler:24.03
    
    Building image: warewulf-openeuler:24.03
    Created image for Image warewulf-openeuler:24.03: /usr/local/var/warewulf/provision/images/warewulf-openeuler:24.03.img
    Compressed image for Image warewulf-openeuler:24.03: /usr/local/var/warewulf/provision/images/warewulf-openeuler:24.03.img.gz
    

@GuangJie1 GuangJie1 closed this Jul 31, 2025
@GuangJie1 GuangJie1 reopened this Jul 31, 2025
@anderbubble
Copy link
Collaborator

I noticed that the DNF config file /etc/resolv.conf was missing.

This should be provided automatically with the following configuration in warewulf.conf:

image mounts:
  - source: /etc/resolv.conf
    dest: /etc/resolv.conf
    readonly: true

Does your configuration lack that?

@GuangJie1
Copy link
Contributor Author

GuangJie1 commented Aug 1, 2025

Yes, I have this configuration in warewulf.conf. I only modified the ipaddr, network and netmask.

....
34 ssh:
35   key types:
36     - ed25519
37     - ecdsa
38     - rsa
39     - dsa
40 image mounts:
41   - source: /etc/resolv.conf
42     dest: /etc/resolv.conf
43     readonly: true
44 paths:
45   bindir: /usr/local/bin
46   sysconfdir: /usr/local/etc
47   localstatedir: /usr/local/var
48   cachedir: /usr/local/var/cache
49   ipxesource: /usr/local/share/ipxe
50   srvdir: /usr/local/srv
51   firewallddir: /usr/lib/firewalld/services
52   datadir: /usr/local/share
53   wwoverlaydir: /usr/local/var/warewulf/overlays

@wjunLu
Copy link
Contributor

wjunLu commented Aug 4, 2025

I noticed that the DNF config file /etc/resolv.conf was missing.

This should be provided automatically with the following configuration in warewulf.conf:

image mounts:
  - source: /etc/resolv.conf
    dest: /etc/resolv.conf
    readonly: true

Does your configuration lack that?

I don't think this is a configuration error, since we checked warewulf.conf and the setting looks good

40 image mounts:
41   - source: /etc/resolv.conf
42     dest: /etc/resolv.conf
43     readonly: true

Moreover, the testing log showed the following warnings

WARN   : Couldn't create overlay for ephermal mount points: invalid argument
WARN   : Couldn't mount /etc/resolv.conf to /etc/resolv.conf: no such file or directory

This doesn't make sense, because my host did have /etc/resolv.conf. But why this show no such file or directory?

@anderbubble
Copy link
Collaborator

This looks like it's working.

Screenshot 2025-08-22 at 6 09 02 PM Screenshot 2025-08-22 at 6 16 50 PM

But I'll wait for the CI to finish before I merge.

@GuangJie1 I don't know what's causing the resolv.conf issue you're seeing, but it doesn't happen in my environment. What version of Warewulf are you running?

In any case, it doesn't appear to be a problem with this image.

@anderbubble anderbubble merged commit c8a979c into warewulf:main Aug 23, 2025
17 checks passed
@GuangJie1
Copy link
Contributor Author

@anderbubble Thanks for the feedback! I'm running Warewulf 4.6.1.

@wjunLu
Copy link
Contributor

wjunLu commented Aug 25, 2025

@anderbubble I think we should add openEuler information to README.

@anderbubble
Copy link
Collaborator

@wjunLu I agree with adding openEuler to README. Since this PR is already closed, please open a new one to update README. When you do, please create a new branch on your side rather than submitting from your main. That makes it easier to collaborate on the PR.

@middelkoopt
Copy link
Contributor

@wjunLu I agree with adding openEuler to README. Since this PR is already closed, please open a new one to update README. When you do, please create a new branch on your side rather than submitting from your main. That makes it easier to collaborate on the PR.

I believe EL10 should also be added along with AlmaLinux

@GuangJie1
Copy link
Contributor Author

GuangJie1 commented Aug 26, 2025

@wjunLu I agree with adding openEuler to README. Since this PR is already closed, please open a new one to update README. When you do, please create a new branch on your side rather than submitting from your main. That makes it easier to collaborate on the PR.

@anderbubble I've created a new branch and submitted the update to the README in #82. Please take a look.

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.

4 participants