Bug 1149392 - 'kubeadm init' fails to start inside openQA on aarch64
'kubeadm init' fails to start inside openQA on aarch64
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kubic
Current
aarch64 Other
: P5 - None : Major (vote)
: ---
Assigned To: Kubic Bugs
E-mail List
:
Depends on: 1145002
Blocks:
  Show dependency treegraph
 
Reported: 2019-09-04 12:56 UTC by Guillaume GARDET
Modified: 2019-10-21 05:18 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
journal.log (1.16 MB, text/plain)
2019-09-04 12:56 UTC, Guillaume GARDET
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume GARDET 2019-09-04 12:56:44 UTC
Created attachment 816842 [details]
journal.log

'kubeadm init' fails for an unknown reason.

openQA link: https://openqa.opensuse.org/tests/1024732#step/kubeadm/13
Comment 1 Thorsten Kukuk 2019-09-05 20:01:14 UTC
I assume in openQA the etcd container does not start, too:
2019-09-05T19:58:46.104209786+00:00 stderr F 2019-09-05 19:58:46.103705 E | etcdmain: etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64 set.
Comment 2 Guillaume GARDET 2019-09-06 06:19:06 UTC
(In reply to Thorsten Kukuk from comment #1)
> I assume in openQA the etcd container does not start, too:
> 2019-09-05T19:58:46.104209786+00:00 stderr F 2019-09-05 19:58:46.103705 E |
> etcdmain: etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64
> set.

In etcd.spec, we have:
echo -e "\n#Enable arm64\nETCD_UNSUPPORTED_ARCH=arm64\n" >> %{buildroot}%{_fillupdir}/sysconfig.%{name}

What is missing then?
Comment 3 Thorsten Kukuk 2019-09-06 06:25:40 UTC
(In reply to Guillaume GARDET from comment #2)

> In etcd.spec, we have:
> echo -e "\n#Enable arm64\nETCD_UNSUPPORTED_ARCH=arm64\n" >>
> %{buildroot}%{_fillupdir}/sysconfig.%{name}
> 
> What is missing then?

The "etcd" package is designed to run by systemd standalone on a system, but with Kubic, we use a containerized control plane. So the etcd.service isn't used at all, but etcd started directly. Additional, since the normal etcd packaging is incompatible to what kubeadm expects in a control-plane container, we have the etcd-for-k8s-image package. I need to add a wrapper script there which sets the environment variable for the container.
Comment 4 Swamp Workflow Management 2019-09-06 08:30:06 UTC
This is an autogenerated message for OBS integration:
This bug (1149392) was mentioned in
https://build.opensuse.org/request/show/728700 Factory / etcd-for-k8s-image
Comment 5 Thorsten Kukuk 2019-09-06 13:27:13 UTC
# kubectl get nodes
NAME    STATUS   ROLES    AGE    VERSION
pi3-1   Ready    master   5m2s   v1.15.2

Only have one Raspberry Pi3 ;) for testing, but on that it's now working. Should work in general after the fixed package/containers are released.

The working images of the devel project can be tested with
kubeadm init --image-repository=registry.opensuse.org/devel/kubic/containers/container_arm/kubic
Comment 6 Thorsten Kukuk 2019-09-12 06:33:53 UTC
The fixed package got accepted. Don't know if openQA is already using a proxy to test the internal packages or if it is only using the official released ones. In the later case, we need to release at first an arm snapshot with the fix to see fixed containers.