Add default CNI configuration
podman needs a pair of configuration files to set up its default network configuration: a bridge and loopback file. Signed-off-by: baude <bbaude@redhat.com> Closes: #161 Approved by: baude
This commit is contained in:
parent
b08ac1065c
commit
7f531263e6
2
.papr.sh
2
.papr.sh
|
|
@ -94,5 +94,5 @@ if [[ ${PACKAGER} != "yum" ]]; then
|
|||
fi
|
||||
|
||||
make TAGS="${TAGS}"
|
||||
make TAGS="${TAGS}" install PREFIX=/host/usr
|
||||
make TAGS="${TAGS}" install PREFIX=/host/usr ETCDIR=/host/etc
|
||||
make TAGS="${TAGS}" test-binaries
|
||||
|
|
|
|||
17
Dockerfile
17
Dockerfile
|
|
@ -79,23 +79,6 @@ RUN set -x \
|
|||
&& cp bin/* /usr/libexec/cni \
|
||||
&& rm -rf "$GOPATH"
|
||||
|
||||
# Install custom CNI bridge test plugin
|
||||
# XXX: this plugin is meant to be a replacement for the old "test_plugin_args.bash"
|
||||
# we need this in testing because sandbox_run now gather IP address and the mock
|
||||
# plugin wasn't able to properly setup the net ns.
|
||||
# The bridge is based on the same commit as the one above.
|
||||
#ENV CNI_COMMIT 6bfe036c38c8e1410f1acaa4b2ee16f1851472e4
|
||||
ENV CNI_TEST_BRANCH custom-bridge
|
||||
RUN set -x \
|
||||
&& export GOPATH="$(mktemp -d)" \
|
||||
&& git clone https://github.com/runcom/plugins.git "$GOPATH/src/github.com/containernetworking/plugins" \
|
||||
&& cd "$GOPATH/src/github.com/containernetworking/plugins" \
|
||||
&& git checkout -q "$CNI_TEST_BRANCH" \
|
||||
&& ./build.sh \
|
||||
&& mkdir -p /opt/cni/bin \
|
||||
&& cp bin/bridge /opt/cni/bin/bridge-custom \
|
||||
&& rm -rf "$GOPATH"
|
||||
|
||||
# Install crictl
|
||||
ENV CRICTL_COMMIT 16e6fe4d7199c5689db4630a9330e6a8a12cecd1
|
||||
RUN set -x \
|
||||
|
|
|
|||
8
Makefile
8
Makefile
|
|
@ -10,7 +10,7 @@ PREFIX ?= ${DESTDIR}/usr/local
|
|||
BINDIR ?= ${PREFIX}/bin
|
||||
LIBEXECDIR ?= ${PREFIX}/libexec
|
||||
MANDIR ?= ${PREFIX}/share/man
|
||||
ETCDIR ?= ${DESTDIR}/etc
|
||||
ETCDIR ?= /etc
|
||||
ETCDIR_LIBPOD ?= ${ETCDIR}/crio
|
||||
BUILDTAGS ?= seccomp $(shell hack/btrfs_tag.sh) $(shell hack/libdm_tag.sh) $(shell hack/btrfs_installed_tag.sh) $(shell hack/ostree_tag.sh) $(shell hack/selinux_tag.sh)
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ docs/%.1: docs/%.1.md .gopathok
|
|||
|
||||
docs: $(MANPAGES)
|
||||
|
||||
install: .gopathok install.bin install.man
|
||||
install: .gopathok install.bin install.man install.cni
|
||||
|
||||
install.bin:
|
||||
install ${SELINUXOPT} -D -m 755 bin/podman $(BINDIR)/podman
|
||||
|
|
@ -153,6 +153,10 @@ install.completions:
|
|||
install ${SELINUXOPT} -d -m 755 ${BASHINSTALLDIR}
|
||||
install ${SELINUXOPT} -m 644 -D completions/bash/podman ${BASHINSTALLDIR}
|
||||
|
||||
install.cni:
|
||||
install ${SELINUXOPT} -D -m 644 cni/98-podman-loopback.conf ${ETCDIR}/cni/net.d/98-podman-loopback.conf
|
||||
install ${SELINUXOPT} -m 644 cni/97-podman-bridge.conf ${ETCDIR}/cni/net.d/97-podman-bridge.conf
|
||||
|
||||
uninstall:
|
||||
rm -f $(LIBEXECDIR)/crio/conmon
|
||||
for i in $(filter %.1,$(MANPAGES)); do \
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"cniVersion": "0.2.0",
|
||||
"name": "crio-bridge",
|
||||
"cniVersion": "0.3.0",
|
||||
"name": "podman",
|
||||
"type": "bridge",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
## `contrib/cni` ##
|
||||
|
||||
There are a wide variety of different [CNI][cni] network configurations. This
|
||||
directory just contains some example configurations that can be used as the
|
||||
basis for your own configurations (distributions should package these files in
|
||||
example directories).
|
||||
|
||||
To use these configurations, place them in `/etc/cni/net.d` (or the directory
|
||||
specified by `crio.network.network_dir` in your `crio.conf`).
|
||||
|
||||
In addition, you need to install the [CNI plugins][cni] necessary into
|
||||
`/opt/cni/bin` (or the directory specified by `crio.network.plugin_dir`). The
|
||||
two plugins necessary for the example CNI configurations are `loopback` and
|
||||
`bridge`.
|
||||
|
||||
[cni]: https://github.com/containernetworking/plugins
|
||||
|
|
@ -85,7 +85,7 @@ HOOKS_OPTS="--hooks-dir-path=$HOOKSDIR"
|
|||
MOUNT_PATH="$TESTDIR/secrets"
|
||||
mkdir ${MOUNT_PATH}
|
||||
MOUNT_FILE="${MOUNT_PATH}/test.txt"
|
||||
touch ${MOUNT_FILE}
|
||||
touch ${MOUNT_FILE}}
|
||||
echo "Testing secrets mounts!" > ${MOUNT_FILE}
|
||||
|
||||
DEFAULT_MOUNTS_OPTS="--default-mounts=${MOUNT_PATH}:/container/path1"
|
||||
|
|
@ -104,11 +104,16 @@ if [ -e /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
|
|||
filelabel=$(awk -F'"' '/^file.*=.*/ {print $2}' /etc/selinux/${SELINUXTYPE}/contexts/lxc_contexts)
|
||||
chcon -R ${filelabel} $TESTDIR
|
||||
fi
|
||||
LIBPOD_CNI_CONFIG="$TESTDIR/cni/net.d/"
|
||||
|
||||
LIBPOD_CNI_CONFIG="$TESTDIR/etc/cni/net.d/"
|
||||
LIBPOD_CNI_PLUGIN=${LIBPOD_CNI_PLUGIN:-/opt/cni/bin/}
|
||||
POD_CIDR="10.88.0.0/16"
|
||||
POD_CIDR_MASK="10.88.*.*"
|
||||
|
||||
# Make sure the cni config dirs are created and populate them with the default configs
|
||||
mkdir -p ${LIBPOD_CNI_CONFIG}
|
||||
cp ${CRIO_ROOT}/cni/* ${LIBPOD_CNI_CONFIG}
|
||||
|
||||
PODMAN_OPTIONS="--root $TESTDIR/crio $STORAGE_OPTIONS --runroot $TESTDIR/crio-run --runtime ${RUNTIME_BINARY} --conmon ${CONMON_BINARY} --cni-config-dir ${LIBPOD_CNI_CONFIG}"
|
||||
|
||||
cp "$CONMON_BINARY" "$TESTDIR/conmon"
|
||||
|
|
@ -193,59 +198,6 @@ function is_apparmor_enabled() {
|
|||
echo 0
|
||||
}
|
||||
|
||||
function prepare_network_conf() {
|
||||
mkdir -p $LIBPOD_CNI_CONFIG
|
||||
cat >$LIBPOD_CNI_CONFIG/10-crio.conf <<-EOF
|
||||
{
|
||||
"cniVersion": "0.2.0",
|
||||
"name": "crionet",
|
||||
"type": "bridge",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
"ipMasq": true,
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"subnet": "10.20.40.0/24",
|
||||
"routes": [
|
||||
{ "dst": "0.0.0.0/0" }
|
||||
]
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
cat >$LIBPOD_CNI_CONFIG/99-loopback.conf <<-EOF
|
||||
{
|
||||
"cniVersion": "0.2.0",
|
||||
"type": "loopback"
|
||||
}
|
||||
EOF
|
||||
|
||||
echo 0
|
||||
}
|
||||
|
||||
function prepare_plugin_test_args_network_conf() {
|
||||
mkdir -p $LIBPOD_CNI_CONFIG
|
||||
cat >$LIBPOD_CNI_CONFIG/10-plugin-test-args.conf <<-EOF
|
||||
{
|
||||
"cniVersion": "0.2.0",
|
||||
"name": "crionet_test_args",
|
||||
"type": "bridge-custom",
|
||||
"bridge": "cni0",
|
||||
"isGateway": true,
|
||||
"ipMasq": true,
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"subnet": "10.20.40.0/24",
|
||||
"routes": [
|
||||
{ "dst": "0.0.0.0/0" }
|
||||
]
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
echo 0
|
||||
}
|
||||
|
||||
function check_pod_cidr() {
|
||||
run crioctl ctr execsync --id $1 ip addr show dev eth0 scope global 2>&1
|
||||
echo "$output"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,6 @@ load helpers
|
|||
|
||||
IMAGE="busybox"
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
}
|
||||
|
||||
function teardown() {
|
||||
cleanup_test
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ load helpers
|
|||
|
||||
IMAGE="redis:alpine"
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ function teardown() {
|
|||
}
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
load helpers
|
||||
|
||||
function setup() {
|
||||
prepare_network_conf
|
||||
copy_images
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue