osmith has posted comments on this change. ( 
https://gerrit.osmocom.org/c/docker-playground/+/23005 )

Change subject: ttcn3-ggsn-test: add kernel test
......................................................................


Patch Set 3:

(6 comments)

I'm pushing my current version now. Unfortunately there's a regression, I still 
need to figure out. When building the kernel from the kernel config (fragment), 
the GTP tunnel device can't get created anymore in osmo-ggsn.

https://gerrit.osmocom.org/c/docker-playground/+/23005/3/osmo-ggsn-latest/Dockerfile
File osmo-ggsn-latest/Dockerfile:

https://gerrit.osmocom.org/c/docker-playground/+/23005/3/osmo-ggsn-latest/Dockerfile@22
PS3, Line 22: RUN       ln -s /bin/true /usr/local/bin/update-initramfs && \
> Some description about this would be welcome
Done


https://gerrit.osmocom.org/c/docker-playground/+/23005/3/scripts/kernel-test/qemu-ifup.sh
File scripts/kernel-test/qemu-ifup.sh:

https://gerrit.osmocom.org/c/docker-playground/+/23005/3/scripts/kernel-test/qemu-ifup.sh@5
PS3, Line 5: echo "[host] qemu-ifup: $br, $1, $docker_if"
> maybe store $1 to some variable explaining the name instead of using $1 
> several times.
Done


https://gerrit.osmocom.org/c/docker-playground/+/23005/3/scripts/kernel-test/qemu-ifup.sh@11
PS3, Line 11: ethtool -K $br gro off gso off tso off tx off rx off sg off 
>/dev/null 2>&1
> I don't think we need the ethtool lines here and below.
Done


https://gerrit.osmocom.org/c/docker-playground/+/23005/3/ttcn3-ggsn-test/initrd-ggsn.sh
File ttcn3-ggsn-test/initrd-ggsn.sh:

https://gerrit.osmocom.org/c/docker-playground/+/23005/3/ttcn3-ggsn-test/initrd-ggsn.sh@18
PS3, Line 18:
> Not sure what do we win by creating a separate initrd instead of simply 
> sharing the docker rootfs in […]
It is required to run the stock debian kernel.

To share the docker rootfs inside qemu (as it was in the PoC), we need 
NET_9P_VIRTIO. In debian's kernel, this is built with =m and so we need to make 
the kernel module available before we can mount the docker rootfs over virtio.

Before implementing it like it is now, I considered creating an initramfs with 
just that kernel module, and then mounting the entire rootfs over virtio in a 
second step and doing switch_root... but that just adds more complexity.


https://gerrit.osmocom.org/c/docker-playground/+/23005/3/ttcn3-ggsn-test/jenkins.sh
File ttcn3-ggsn-test/jenkins.sh:

https://gerrit.osmocom.org/c/docker-playground/+/23005/3/ttcn3-ggsn-test/jenkins.sh@24
PS3, Line 24: cp osmo-ggsn.cfg $VOL_BASE_DIR/ggsn/
> This line can be moved to the else condition below.
Done


https://gerrit.osmocom.org/c/docker-playground/+/23005/2/ttcn3-ggsn-test/kernel-config
File ttcn3-ggsn-test/kernel-config:

https://gerrit.osmocom.org/c/docker-playground/+/23005/2/ttcn3-ggsn-test/kernel-config@5
PS2, Line 5: CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
> Agree with laforge, I'd prefer using config fragments with the relevant 
> configs to enable.
Done. I've diffed Pau's config against defconfig, that gave the smallest diff 
(vs allnoconfig or tinyconfig). The README explains how to generate kernel 
config fragments now. There is probably still a lot that could be removed from 
the fragment, but rebuilding the kernel to test that it still works after each 
change is time consuming so I didn't optimize it further yet.



--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23005
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I54e752048eed2a170a1cf4e0fd410de255b9de5d
Gerrit-Change-Number: 23005
Gerrit-PatchSet: 3
Gerrit-Owner: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-CC: laforge <[email protected]>
Gerrit-Comment-Date: Tue, 23 Feb 2021 15:33:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <[email protected]>
Comment-In-Reply-To: pespin <[email protected]>
Gerrit-MessageType: comment

Reply via email to