Commit graph

87 commits

Author SHA1 Message Date
Christian Hopps 1cfccbf103 docker: add ubuntu24-ci docker image support
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-12 02:48:29 +00:00
Mike RE Mallin d643190500 Docker: Add the ability to override FRR UID
Signed-off-by: Mike RE Mallin <mmallin@cisco.com>
Signed-off-by: Mike RE Mallin <mremallin@gmail.com>
2024-11-26 12:18:37 -05:00
Donatas Abraitis 0314adac4b docker: Set ABUILD_APK_INDEX_OPTS for libyang
In build() stage of abuild, it does `apk index ...` where libyang* packages
are unsigned. We don't sign them here, and thus we need to specify `--allow-untrusted`.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-06-14 11:37:23 +03:00
Donatas Abraitis 2876847d50 docker: Do not require checks for libyang Alpine Linux package build
Since Alpine Linux 3.20, we get this:

>>> WARNING: libyang: APKBUILD does not run any tests!
    Alpine policy will soon require that packages have any relevant testsuites run during the build process.
    To fix, either define a check() function, or declare !check in $options to indicate the package does not have a testsuite.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-06-14 10:35:27 +03:00
Donatas Abraitis 686d477242 docker: Use Alpine Linux 3.20
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-06-14 10:30:31 +03:00
Donatas Abraitis 0cbe6dfc08
Merge pull request #16143 from eremcan/patch-1
docker: fix chmod issues when running container for debian
2024-06-07 10:49:55 +03:00
Çağatay Erem a5f82baa9b docker: fix chmod issues when running debian container
I had problem by running container after build.
It gave the error below in container,

[FATAL tini (7)] exec /usr/lib/frr/docker-start failed: Permission denied

So I have fixed the permission issues after building images.

Signed-off-by: Çağatay Erem <cagatayerem@gmail.com>
2024-06-04 11:17:02 +03:00
Christian Hopps 854caad3ea docker: update docker reference to follow latest docs
Signed-off-by: Christian Hopps <chopps@labn.net>
2024-05-31 11:13:16 -04:00
Donatas Abraitis 3f7cc3b7f5 docker: Do not use pip Python package manager
Alpine Linux gets this with 3.19:

This is already installed with `pytest` via apk package manager.

```
15 78.20 error: externally-managed-environment
15 78.20
15 78.20 × This environment is externally managed
15 78.20 ╰─>
15 78.20     The system-wide python installation should be maintained using the system
15 78.20     package manager (apk) only.
15 78.20
15 78.20     If the package in question is not packaged already (and hence installable via
15 78.20     "apk add py3-somepackage"), please consider installing it inside a virtual
15 78.20     environment, e.g.:
15 78.20
15 78.20     python3 -m venv /path/to/venv
15 78.20     . /path/to/venv/bin/activate
15 78.20     pip install mypackage
15 78.20
15 78.20     To exit the virtual environment, run:
15 78.20
15 78.20     deactivate
15 78.20
15 78.20     The virtual environment is not deleted, and can be re-entered by re-sourcing
15 78.20     the activate file.
15 78.20
15 78.20     To automatically manage virtual environments, consider using pipx (from the
15 78.20     pipx package).
15 78.20
15 78.20 note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-03-09 09:33:40 +02:00
Donatas Abraitis fd93b7d89a docker: Use Alpine Linux version 3.19
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-03-09 09:33:40 +02:00
Donatas Abraitis 3ca01bf1e9 docker: Use libyang 2.1.128 for Alpine builds
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-03-09 09:33:00 +02:00
Christian Hopps 6374970cb8 doc: docker: update with new more strict protobuf requirements
Signed-off-by: Christian Hopps <chopps@labn.net>
2024-02-12 06:48:12 -05:00
David Lamparter 444bc5e237 build: update packaging & docs for dir changes
`--sysconfdir` and `--localstatedir` now align with general autoconf
practices.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-01-27 19:01:19 +01:00
Christian Hopps c00002d0d0 build: protobuf is required so update building docs
- recommend using libyang 2.1.128 but accept 2.0.0 for now.
- update ubuntu building doc to add GRPC section
- update ubuntu reference docker builds to match grpc doc change

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-31 13:51:21 +00:00
Louis Scalbert aee4afcc10 docker: update ubuntu template for exabgp 4
Update ubuntu template for exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 11:38:39 +01:00
Vincent Jardin aa2e50621b docker: fix /sbin/modprobe missing
kmod is needed in order to get modprobe

Signed-off-by: Vincent Jardin <vjardin@free.fr>
2023-12-09 23:45:22 +00:00
lynnemorrison 98cc2279a3 docker/ubi8-minimal: add protobuf-c runtime dep
FRR's RPM package requires protobuf-c to be installed on the runtime
system, otherwise it will refuse to be installed.

Signed-off-by: Juan Vidal Allende <juan.vidal1@ibm.com>
2023-12-04 17:41:04 -05:00
Konstantin Vasin da694b2e93 docker: fix typos in docs for ubuntu20-ci and ubuntu22-ci
Signed-off-by: Konstantin Vasin <126960927+k-v1@users.noreply.github.com>
2023-11-26 19:21:49 +03:00
Donatas Abraitis 18becdc29e docker: Install the apk packages regardless of the platform
It was hardcoded to x86_64, but we build Alpine images for more platforms, let's
be dynamical here.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-31 11:05:15 +03:00
Donatas Abraitis 8456322835 docker: Use libyang 2.1.80 for Alpine builds
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-20 23:57:34 +03:00
Donatas Abraitis 27083f7885 docker: Move Alpine dependency packages to APKBUILD file
Do not mix APKBUILD and Dockerfile when installing dependencies.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-20 22:39:14 +03:00
Donatas Abraitis 3fed088e1b docker: Install protobuf-c-devel for ubi8-minimal
configure: error: in `/src':
configure: error: protobuf requested but protoc-c not found.  Install protobuf-c.
See `config.log' for more details

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-20 22:35:53 +03:00
Donatas Abraitis 1152259d8d docker: Use Alpine Linux 3.18
It has the newer libyang version 2.1.55, while 3.17 has 2.1.30.

3.19 will have 2.1.80.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-20 22:11:03 +03:00
Donatas Abraitis 237e2c62ed docker: Use libyang 2.1.80
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-20 22:10:19 +03:00
Christian Hopps 055f4997b4 doc: document sqlite3 depend and add to docker build
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-07-06 18:08:15 -04:00
Christian Hopps 3c43eaa7d4 docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples
Update the READMEs, and give example of a full parallel topotest run with
result extraction for analyze.py

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-09 03:19:20 -04:00
Quentin Young 9213d69499
Merge pull request #12797 from jvidalallende/ubi8_minimal_dockerfile
docker: reduce ubi8 images size by using ubi8-minimal as base
2023-04-12 05:47:38 +00:00
Pushpasis Sarkar 5b08f6f9ea doc: Add documentation for MGMT daemon
This commit adds user documentation for the new MGMT daemon and
new FRR Management Framework.

Co-authored-by: Yash Ranjan <ranjany@vmware.com>
Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com>
Co-authored-by: Ujwal P <ujwalp@vmware.com>
Signed-off-by: Pushpasis Sarkar <pushpasis@gmail.com>
2023-03-21 22:09:10 -04:00
Juan Vidal Allende b964031359 docker: add support for ubi8-minimal
Docker image based on ubi8-minimal are smaller in size than previous
ones built with ubi8 as base. Also, due to proper cleanup of caches, the
final image is about 400MB in size (down from ~630MB using the older
ubi8 builder).

This Dockerfile also uses packages built for RHEL (instead of CentOS),
and updates dependencies so that it can compile latest FRR versions.

Signed-off-by: Juan Vidal Allende <juan.vidal1@ibm.com>
2023-02-20 12:18:56 +01:00
Juan Vidal Allende bb36498aa7 docker: remove support for ubi-8
The builder for docker images based on ubi-8 images is broken, and it
generates docker images that are heavy and contain more artifacts than
they need to.

It also installs RPM packages from CentOS that, although seem to be
compatible with ubi-8, may diverge at some point (remember that CentOS
now does not track RHEL closely).

Signed-off-by: Juan Vidal Allende <juan.vidal1@ibm.com>
2023-02-20 12:18:55 +01:00
Donatas Abraitis 784ca7702d docker: Use Alpine 3.17 as base image
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-02 15:42:00 +02:00
Donatas Abraitis 7078f9a587 docker: Use Alpine 3.16 image
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-07 21:23:53 +02:00
Donatas Abraitis 7be59f7b7c docker: Keep and copy .apk files after they are built
For debugging purposes and/or to distribute them somewhere else.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-20 23:23:55 +03:00
Quentin Young 0bbc787cd3 docker: use Alpine-provided libyang
looks like libyang(2) is back in the upstream alpine repos, so we can
use that instead

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2022-07-17 19:14:28 -04:00
Quentin Young d782b117d0 alpine, docker: Update APKBUILD for libyang
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2022-07-17 19:14:28 -04:00
Donald Sharp f0f993deca
Merge pull request #11270 from opensourcerouting/fix/docker_builds_centos
docker: CentOS/UBI adoptions for librtr 0.8.0
2022-05-24 17:50:34 -04:00
Donatas Abraitis e59e44bacd docker: Use Alpine 3.15 for build
This has librtr 0.8.0, while 3.13 has 0.7.0.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-24 18:10:00 +03:00
Donatas Abraitis 8fbc0ab6bb docker: Install systemd-devel for centos7 build
```
error: Failed build dependencies:
	systemd-devel is needed by frr-8.3_git275938094422-01.el7.x86_64
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-24 17:27:41 +03:00
Donatas Abraitis 91dd071e9a docker: Use librtr 0.8.0 for centos/ubi builds
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-05-24 17:18:14 +03:00
Donatas Abraitis e27376e492
Merge pull request #10916 from rampxxxx/feat_frr_ubi8_docker
docker: Adding support for ubi-8 images.
2022-03-31 21:18:30 +03:00
Javier Garcia d4e5ceae70 docker: Adding support for ubi-8 images.
- Create frr docker container based in new Red Hat Universal Base
  Images.

- This build a docker container based in ubi-8.
- Need to get the devel packages from centos-8 stream repos.
- Centos-8 stream repos added : base, appstream, powertools and epel

Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-03-31 12:12:38 +02:00
Javier Garcia d4793367e5 docker: Centos-8 dockerfile fix.
- Need to adapt repos to new centos-8 stream.

Signed-off-by: Javier Garcia <javier.martin.garcia@ibm.com>
2022-03-29 15:08:29 +02:00
Stephen Worley 3728cc8e12 docker: update alpine build enable set own version
Add ability to set your own env for the version of the docker
container alpine image. This is useful for applications like GNS3
who pin a specific version to look for when they boot up. When you build
locally to test your code you can just set the version to 0 so you don't
have to update configs/scripts looking for a specific image version.

Also fix a shebang in docker start for alpine.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
2022-01-04 13:14:51 -05:00
Igor Ryzhov 7a53c83a68 docker: remove grpc from Travis CI
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-10-01 14:04:42 +03:00
Christian Hopps a3cecfb608 docker: update with micronet changes
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-09-04 09:04:46 -04:00
Quentin Young 6793327f48 docker: add expected log functions to alpine docker-start
Some basic functions are required by frrcommon.sh

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-08-30 15:21:32 -04:00
Quentin Young 661d41c183 docker: build libyang2 along with FRR
Alpine images have been broken for some time because libyang2 is not
available in Alpine. This patch updates our Dockerfile to build a
libyang2 APK and install it into the image to satisfy FRR's libyang2
dependency.

Unfortunately, libyang2 erroneously includes an internal header from
glibc, making it dependent on glibc to build. FRR's official Docker
images are based on Alpine, which only offers musl libc. Until libyang2
fixes this problem, the libyang2 source that is installed in this image
is a patched version that is compatible with musl libc and not an
official version.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-08-30 11:38:01 -04:00
Quentin Young e15106149f
Merge pull request #8508 from opensourcerouting/systemd-no-lib 2021-07-06 14:54:25 +00:00
David Lamparter ab140d61cd build, doc: extricate --enable-systemd
Ouch, that is a *lot* of places to update...

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-06-29 17:57:09 +02:00
Donald Lee 4b827e08a1 tests: enable lua script tests in ubuntu-20 ci
Signed-off-by: Donald Lee <dlqs@gmx.com>
2021-06-23 00:58:39 +08:00