[LU-3337] enable server builds for sles11sp2 Created: 02/Apr/13  Updated: 21/Oct/13  Resolved: 21/Oct/13

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.5.0

Type: New Feature Priority: Minor
Reporter: Bob Glossman (Inactive) Assignee: Bob Glossman (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocker
Related
is related to LU-3043 server build for sles11sp2 is broken Resolved
is related to LU-3292 kernel update for 3.0.74-0.6.6 sles11sp2 Resolved
is related to LU-1812 3.6/FC18 Server Patches Resolved
Rank (Obsolete): 7510

 Description   

We are very close to having all necessary lustre changes to allow server builds of lustre on sles11sp2 to work landed in master. This ticket is being filed in advance to allow us to track progress and process toward enabling sles11sp2 server builds in our build and test framework.



 Comments   
Comment by Bob Glossman (Inactive) [ 09/Apr/13 ]

It should now be possible to do server builds against an unpatched sles11sp2 kernel. The last required change landed 4/8; http://review.whamcloud.com/#change,5120.

We cannot yet build a patched sles11sp2 linux kernel. http://review.whamcloud.com/#change,4649 still needs to land to enable that. It is in review now.

Comment by Bob Glossman (Inactive) [ 25/Apr/13 ]

There's a new sles11 related mod in http://review.whamcloud.com/#change,6168. At this point not sure which mod is the right one for sles11 sp2 kernel patches.

Comment by Chris Gearing (Inactive) [ 01/May/13 ]

Tried it and it failed:

http://build.whamcloud.com/job/lustre-master/1458/arch=x86_64,build_type=server,distro=sles11sp2,ib_stack=inkernel/console

I've created a new build to test this stuff

http://build.whamcloud.com/job/lustre-master-sles11sp-server/

Comment by Bob Glossman (Inactive) [ 03/May/13 ]

Looking at the build console output in http://build.whamcloud.com/job/lustre-master-sles11sp-server/arch=x86_64,build_type=server,distro=sles11sp2,ib_stack=inkernel/9/console I see at least two blocking problems:

1) the lines

+ '[' 2.6-sles11.series ']'
and
+ '[' -r /series/2.6-sles11.series ']'

suggest that the script is picking the wrong kernel patch series. Should be using 3.0-sles11.series.

2) the error

+ fatal 1 'Config file for target 3.0-sles11 missing from /var/lib/jenkins/workspace/lustre-master-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/lustre/lustre/kernel_patches/kernel_configs/.'
+ cleanup
+ true
+ error 'Config file for target 3.0-sles11 missing from /var/lib/jenkins/workspace/lustre-master-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/lustre/lustre/kernel_patches/kernel_configs/.'

says a necessary kernel config file for a 3.0 sles11sp2 kernel doesn't exist in the lustre tree. Needs to be created and committed.

Comment by Bob Glossman (Inactive) [ 03/May/13 ]

I think problem 1) comes from lustre/kernel_patches/targets/3.0-sles11.target.in
The SERIES file specified there is old and obsolete.

Comment by Bob Glossman (Inactive) [ 03/May/13 ]

http://review.whamcloud.com/#change,6168 landed in master yesterday, so the kernel patch series for the 3.0 kernel is now in place.

Comment by Bob Glossman (Inactive) [ 06/May/13 ]

http://review.whamcloud.com/#change,6272

Comment by Bob Glossman (Inactive) [ 13/May/13 ]

landing of fix from LU-3292 needs to be coordinated with upgrade of build system to the latest SLES11 SP2 update.

Comment by Chris Gearing (Inactive) [ 14/May/13 ]

Bob - Do you have the rpms for 3.0.74-0.6.6 kernel.

kernel-default
kernel-default-base
kernel-default-devel

or do you know where to get them?

Comment by Bob Glossman (Inactive) [ 14/May/13 ]

Chris - I don't know exactly how or where to get them with explicit commands like curl or wget.

I obtained them by registering my installed VM(s) with SuSE which enables them for updates, then fetching all the latest updates with "zypper up". That obtains & installs updates from SuSE repos in a transparent but obscure manner and requires some form of authorization.

Comment by Bob Glossman (Inactive) [ 14/May/13 ]

With a little effort I can probably get hold of the raw, uninstalled kernel rpms. zypper has a -d option that downloads but doesn't install rpms. Might be better if you can figure out some systematic way to update our local repos from the SuSE ones.

Comment by Chris Gearing (Inactive) [ 14/May/13 ]

Bob, we pull from SLES updates but they did not seem to appear when I did that. If you are fetching from there then I will have a look, can you confirm which repo zypper is finding them in?

Comment by Bob Glossman (Inactive) [ 14/May/13 ]

here's the full list of repos reported by 'zypper lr'. not sure which one they are coming from.

#  | Alias                                                             | Name                                                  | Enabled | Refresh
---+-------------------------------------------------------------------+-------------------------------------------------------+---------+--------
 1 | SUSE-Linux-Enterprise-Server-11-SP2 11.2.2-1.234                  | SUSE-Linux-Enterprise-Server-11-SP2 11.2.2-1.234      | No      | No     
 2 | SUSE-Linux-Enterprise-Software-Development-Kit-11-SP2_11.2.2-1.66 | SUSE Linux Enterprise Software Development Kit 11 SP2 | No      | No     
 3 | nu_novell_com:SLE11-SDK-SP1-Pool                                  | SLE11-SDK-SP1-Pool                                    | Yes     | Yes    
 4 | nu_novell_com:SLE11-SDK-SP1-Updates                               | SLE11-SDK-SP1-Updates                                 | Yes     | Yes    
 5 | nu_novell_com:SLE11-SDK-SP2-Core                                  | SLE11-SDK-SP2-Core                                    | Yes     | Yes    
 6 | nu_novell_com:SLE11-SDK-SP2-Updates                               | SLE11-SDK-SP2-Updates                                 | Yes     | Yes    
 7 | nu_novell_com:SLE11-SP1-Debuginfo-Pool                            | SLE11-SP1-Debuginfo-Pool                              | No      | Yes    
 8 | nu_novell_com:SLE11-SP1-Debuginfo-Updates                         | SLE11-SP1-Debuginfo-Updates                           | No      | Yes    
 9 | nu_novell_com:SLE11-SP2-Debuginfo-Core                            | SLE11-SP2-Debuginfo-Core                              | No      | Yes    
10 | nu_novell_com:SLE11-SP2-Debuginfo-Updates                         | SLE11-SP2-Debuginfo-Updates                           | No      | Yes    
11 | nu_novell_com:SLE11-WebYaST-SP2-Pool                              | SLE11-WebYaST-SP2-Pool                                | No      | Yes    
12 | nu_novell_com:SLE11-WebYaST-SP2-Updates                           | SLE11-WebYaST-SP2-Updates                             | No      | Yes    
13 | nu_novell_com:SLES11-Extras                                       | SLES11-Extras                                         | No      | Yes    
14 | nu_novell_com:SLES11-SP1-Pool                                     | SLES11-SP1-Pool                                       | Yes     | Yes    
15 | nu_novell_com:SLES11-SP1-Updates                                  | SLES11-SP1-Updates                                    | Yes     | Yes    
16 | nu_novell_com:SLES11-SP2-Core                                     | SLES11-SP2-Core                                       | Yes     | Yes    
17 | nu_novell_com:SLES11-SP2-Extension-Store                          | SLES11-SP2-Extension-Store                            | Yes     | Yes    
18 | nu_novell_com:SLES11-SP2-Updates                                  | SLES11-SP2-Updates                                    | Yes     | Yes    
Comment by Chris Gearing (Inactive) [ 14/May/13 ]

So we have the 3.0.74.0.6.6 kernel but still the build fails;

http://build.whamcloud.com/job/lustre-master-sles11sp-server/arch=x86_64,build_type=server,distro=sles11sp2,ib_stack=inkernel/38/console

Comment by Bob Glossman (Inactive) [ 15/May/13 ]

Chris - I think this may be back in your ballpark.

I have tweaked the target.in file again and the build seems to be getting a bit farther, but still fails. Now it looks like it can't find the kernel source rpm, and is trying and failing to download it from http://downloads.lustre.org. No 3.0 kernels found there at all. extract from console output of build:

++ '[' -n /var/lib/jenkins/lbuild-data/reusebuild ']'
+++ echo -en
+++ echo 6.0.0
+++ cat /var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/lustre/lustre/kernel_patches/kernel_configs/kernel-3.0-3.0-sles11-x86_64.config /var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/lustre/lustre/kernel_patches/targets/3.0-sles11.target /var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/lustre-kernel-3.0-sles11-74-0.6.6_lustre.ge52a257.patch
+++ cut '-d ' -f1
+++ md5sum
+++ cat ../build/lbuild ../build/lbuild-sles11
cat: ../build/lbuild-sles11: No such file or directory
++++ set +x
++ local REUSE_SIGNATURE=1b897384b4f974e0ed6081602ef3500d
++ local CAN_LINK_FOR_REUSE=false
++ touch /var/lib/jenkins/lbuild-data/reusebuild/13747
++ cp -al /var/lib/jenkins/lbuild-data/reusebuild/13747 /var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD/
++ CAN_LINK_FOR_REUSE=true
++ rm /var/lib/jenkins/lbuild-data/reusebuild/13747
++ local kernel_extra_version=
++ true
++ reuse kernel /var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD true 1b897384b4f974e0ed6081602ef3500d
++ local module=kernel
++ local dest=/var/lib/jenkins/workspace/lustre-reviews-sles11sp-server/arch/x86_64/build_type/server/distro/sles11sp2/ib_stack/inkernel/BUILD
++ local use_links=true
++ local signature=1b897384b4f974e0ed6081602ef3500d
++ '[' -n /var/lib/jenkins/lbuild-data/reusebuild ']'
++ '[' -d /var/lib/jenkins/lbuild-data/reusebuild/1b897384b4f974e0ed6081602ef3500d/kernel ']'
++ return 1
++ '[' '!' -r /var/lib/jenkins/lbuild-data/kerneltree/3.0/kernel-source-3.0.74-0.6.6.2.src.rpm ']'
++ echo 'Downloading kernel SRPM'
Downloading kernel SRPM
++ download_srpm sles11 kernel-source-3.0.74-0.6.6.2.src.rpm
++ local target=sles11
++ local srpm=kernel-source-3.0.74-0.6.6.2.src.rpm
++ local force=false
++ false
++ '[' '!' -r /var/lib/jenkins/lbuild-data/kerneltree/3.0/kernel-source-3.0.74-0.6.6.2.src.rpm ']'
++ true
++ local location=http://downloads.lustre.org/public/kernels/sles11/old
++ type -p kernel_srpm_location
++ echo 'Downloading http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm...'
Downloading http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm...
++ fetch_url http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm /var/lib/jenkins/lbuild-data/kerneltree/3.0/kernel-source-3.0.74-0.6.6.2.src.rpm
++ local url=http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm
++ local target=/var/lib/jenkins/lbuild-data/kerneltree/3.0/kernel-source-3.0.74-0.6.6.2.src.rpm
++ local rc=0
++ which wget
++ wget -nv http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm -O /var/lib/jenkins/lbuild-data/kerneltree/3.0/kernel-source-3.0.74-0.6.6.2.src.rpm
http://downloads.lustre.org/public/kernels/sles11/old/kernel-source-3.0.74-0.6.6.2.src.rpm:
2013-05-15 10:34:14 ERROR 404: Not Found.
Comment by Chris Gearing (Inactive) [ 15/May/13 ]

I'll have a look but I think for some reason location is not correct - I kind of need an old build that works, location should be local.

Comment by Chris Gearing (Inactive) [ 15/May/13 ]

Bob: Which build has that in it. I can't find a failure with that text in it. A reference to the original would be good.

Comment by Bob Glossman (Inactive) [ 15/May/13 ]

Console output was from http://build.whamcloud.com/job/lustre-reviews-sles11sp-server/51/arch=x86_64,build_type=server,distro=sles11sp2,ib_stack=inkernel/console

Comment by Chris Gearing (Inactive) [ 15/May/13 ]

Bob: Try it now.

Comment by Bob Glossman (Inactive) [ 15/May/13 ]

A few more changes to lbuild files and build #57 almost works. Looks like it's missing necessary changes from LU-3292, required with 3.0.74 kernel. patch is in http://review.whamcloud.com/#change,6293

Comment by Bob Glossman (Inactive) [ 16/May/13 ]

There's something fundamentally missing in the lbuild scripts for SLES11. The expectation is that the function prepare_and_build_srpm() builds a kernel binary rpm that provides "kernel = something". This isn't true in the current scripts. Only kernel-source* rpms get built. No rpms like kernel-default, kernel-default-base, kernel-default-devel get created.

I think I need help from somebody who better understands lbuild and SLES packaging than I do.

Comment by Bob Glossman (Inactive) [ 16/May/13 ]

In trying to enable server builds for sles11sp2 I appear to have broken client builds. One more indication that I don't know what I'm doing with lbuild.

Comment by Andreas Dilger [ 13/Jun/13 ]

It seems that SLES11 SP2 builds are now working? Can this bug be closed?

Comment by Bob Glossman (Inactive) [ 13/Jun/13 ]

Andreas, This bug is still active and can't be closed yet. Made some changes yesterday in response to feedback from Brian Murrell that broke some non-sles builds. Still need to fix those.

lbuild is very fragile & touchy to deal with (IMHO).

Comment by Jodi Levi (Inactive) [ 21/Oct/13 ]

Patches landed to Master.

Generated at Sat Feb 10 01:33:03 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.