Project

General

Profile

Actions

Tasks #35927

open

Create FOG image for openSUSE Leap 15.0

Added by Nathan Cutler over 5 years ago. Updated over 5 years ago.

Status:
In Progress
Priority:
Normal
Category:
-
Target version:
-
% Done:

0%

Tags:
Reviewed:
Affected Versions:
Actions #1

Updated by Nathan Cutler over 5 years ago

  • Project changed from Infrastructure to sepia
Actions #2

Updated by Nathan Cutler over 5 years ago

We (SUSE) are more than willing to help here, but we don't have the requisite knowledge of Cobbler and/or FOG. But we of course know how to install openSUSE Leap 15.0. Just ping me here or in IRC if there's any way we can help.

Actions #3

Updated by David Galloway over 5 years ago

  • Status changed from New to In Progress
  • Assignee set to David Galloway
Actions #4

Updated by David Galloway over 5 years ago

I'm very close to finishing this up. The hurdle I'm currently hitting is bringing up NICs during boot. On the testnodes, we have logic [1] in /etc/init.d/boot.local that goes through the list of NICs, brings each up, and sees if we can ping a host.

On OpenSUSE, two of the NICs on the smithi are missing. I've never seen this before.

++ cat /proc/net/dev
++ grep :
++ cut -d : -f1
++ awk '{ print $1 }'
++ grep -v lo
+ nics='eth1
eth0'
+ for nic in $nics

<snip>

But once the OS boots,

smithi090:~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:d8:a1:a8 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:d8:a1:a9 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:c4:7a:8f:d7:66 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:c4:7a:8f:d7:67 brd ff:ff:ff:ff:ff:ff

The only additional daemons that appear to load after rc-local finishes are:

+ '[' -e /.cephlab_rc_local ']'
+ exit 0
[  OK  ] Started /etc/init.d/boot.local Compatibility.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyS1.
[  OK  ] Reached target Login Prompts.
[  OK  ] Reached target Multi-User System.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Welcome to openSUSE Leap 15.0 - Kernel 4.12.14-lp150.11-default (ttyS1).

smithi090 login:

Could someone help me with this?

[1] https://github.com/ceph/ceph-cm-ansible/blob/master/roles/cobbler/templates/snippets/cephlab_rc_local#L22

Actions #5

Updated by David Galloway over 5 years ago

I got networking figured out by adding a udevadm trigger

Are there repos that need to be enabled? I copied the opensuse_leap_42.1 package vars [1] but a bunch of the packages don't exist on 15.0 (at least in the default repo):

apache2-devel
apache2-mod_fastcgi
fuse-devel
python-matplotlib
python-nose
python-virtualenv
qemu-kvm
xfsprogs-devel
usbredir
xfsdump
genisoimage
libtool
ant
automake
blktrace
git
iozone
java-1_8_0-openjdk-devel
junit
libacl-devel
libboost_thread1_54_0
libevent-devel
libuuid-devel
ncurses-devel
sysstat
valgrind

[1] https://github.com/ceph/ceph-cm-ansible/blob/master/roles/testnode/vars/opensuse_leap_42.1.yml

Actions #6

Updated by Nathan Cutler over 5 years ago

David - this is fantastic progress. Thanks for taking this on.

Regarding the repos, at the least we will need the update repo, which looks to be missing.

Can you post the output of "zypper lr -u" ?

The command to add the update repo is

"zypper addrepo --refresh http://download.opensuse.org/update/leap/15.0/oss/ repo-update"

(But I can only provide the full set of commands needed when I get that "zypper lr -u" output - thanks!)

Actions #7

Updated by David Galloway over 5 years ago

smithi090:~ # zypper lr -u
Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                | Name                 | Enabled | GPG Check | Refresh | URI                                                                 
--+----------------------+----------------------+---------+-----------+---------+---------------------------------------------------------------------
1 | openSUSE-Leap-15.0-1 | openSUSE-Leap-15.0-1 | Yes     | (r ) Yes  | Yes     | http://cobbler.front.sepia.ceph.com/cblr/links/openSUSE-15.0-x86_64/
Actions #8

Updated by Nathan Cutler over 5 years ago

Right. That's just the ISO you used for installation. The commands to get a working system are:

zypper modifyrepo --disable 1
zypper addrepo http://download.opensuse.org/distribution/leap/15.0/repo/oss/ repo-oss
zypper addrepo --refresh http://download.opensuse.org/update/leap/15.0/oss/ repo-update-oss
zypper --non-interactive refresh
zypper --non-interactive update
Actions #9

Updated by David Galloway over 5 years ago

Okay, the ceph-cm-ansible portion of this is done. There were still a few packages that didn't exist (apache2-mod_fastcgi, genisoimage, iozone) and I changed libboost_thread1_54_0 to libboost_thread1_66_0

https://github.com/ceph/ceph-cm-ansible/pull/415

I tried scheduling a smoke suite with teuthology but it doesn't recognize --distro opensuse --distro-version 15.0 as a valid combination.

The ceph-cm-ansible PR could be tested with teuthology-suite using:

overrides:
  ansible.cephlab:
    repo: https://github.com/ceph/ceph-cm-ansible.git
    branch: wip-suse
Actions

Also available in: Atom PDF