mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-23 21:40:20 +00:00
1f09ca26eb
Sometimes the Ceph container images seem to have a broken scriptlet while installing/updating Ceph packages. It is relatively common for them to fail when `/etc/selinux/config` does not exist. By ensuring the file directory and file exist (even if empty), the package installation or upgrades succeed. Signed-off-by: Niels de Vos <ndevos@ibm.com>
66 lines
1.9 KiB
Docker
66 lines
1.9 KiB
Docker
# Container image for running the Ceph-CSI tests
|
|
#
|
|
# This container is based on Fedora so that recent versions of tools can easily
|
|
# be installed.
|
|
#
|
|
# Production containers are based one ceph/ceph:latest, which use CentOS as
|
|
# Operating System, so generated binaries and versions of dependencies may be a
|
|
# little different.
|
|
#
|
|
|
|
FROM registry.fedoraproject.org/fedora:latest
|
|
|
|
ARG GOPATH=/go
|
|
ARG GOROOT=/usr/local/go
|
|
ARG GOARCH
|
|
|
|
ENV \
|
|
GOPATH=${GOPATH} \
|
|
GOROOT=${GOROOT} \
|
|
GO111MODULE=on \
|
|
CEPHCSIPATH=/go/src/github.com/ceph/ceph-csi \
|
|
PATH="${GOPATH}/bin:${GOROOT}/bin:/opt/commitlint/node_modules/.bin:${PATH}"
|
|
|
|
COPY build.env /
|
|
|
|
RUN mkdir /etc/selinux || true && touch /etc/selinux/config
|
|
|
|
RUN source /build.env \
|
|
&& \
|
|
( test -n "${GOARCH}" && exit 0; echo -e "\n\nMissing GOARCH argument for building image, install Golang or run: make containerized-test GOARCH=amd64\n\n"; exit 1 ) \
|
|
&& dnf -y install \
|
|
git \
|
|
make \
|
|
gcc \
|
|
findutils \
|
|
librados-devel \
|
|
libcephfs-devel \
|
|
librbd-devel \
|
|
openssl \
|
|
rubygems \
|
|
ShellCheck \
|
|
codespell \
|
|
yamllint \
|
|
npm \
|
|
diffutils \
|
|
python3-prettytable \
|
|
pylint \
|
|
&& dnf -y update \
|
|
&& dnf -y clean all \
|
|
&& gem install mdl \
|
|
&& mkdir -p ${GOROOT} \
|
|
&& curl https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz \
|
|
| tar xzf - -C ${GOROOT} --strip-components=1 \
|
|
&& curl -sf "https://raw.githubusercontent.com/golangci/golangci-lint/${GOLANGCI_VERSION}/install.sh" \
|
|
| bash -s -- -b ${GOPATH}/bin "${GOLANGCI_VERSION}" \
|
|
&& curl -L "${HELM_SCRIPT}" | bash -s -- --version "${HELM_VERSION}" \
|
|
&& mkdir /opt/commitlint && pushd /opt/commitlint \
|
|
&& npm init -y \
|
|
&& npm install @commitlint/cli@"${COMMITLINT_VERSION}" \
|
|
&& popd \
|
|
&& git config --global --add safe.directory ${CEPHCSIPATH} \
|
|
&& go install github.com/augmentable-dev/tickgit/cmd/tickgit@latest \
|
|
&& true
|
|
|
|
WORKDIR ${CEPHCSIPATH}
|