Multiarch manifest for volume-tester docker images

pull/8/head
Manjunath A Kumatagi 2018-08-05 01:47:49 -04:00
parent e626d358ee
commit f4caccccfe
45 changed files with 39 additions and 335 deletions

View File

@ -0,0 +1,3 @@
amd64=fedora:28
arm64=arm64v8/fedora:28
ppc64le=ppc64le/fedora:28

View File

@ -12,7 +12,10 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM fedora:26 FROM BASEIMAGE
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/
RUN yum -y install hostname glusterfs-server && yum clean all RUN yum -y install hostname glusterfs-server && yum clean all
ADD glusterd.vol /etc/glusterfs/ ADD glusterd.vol /etc/glusterfs/
ADD run_gluster.sh /usr/local/bin/ ADD run_gluster.sh /usr/local/bin/

View File

@ -0,0 +1 @@
1.0

View File

@ -0,0 +1,3 @@
amd64=fedora:28
arm64=arm64v8/fedora:28
ppc64le=ppc64le/fedora:28

View File

@ -12,7 +12,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM fedora:26 FROM BASEIMAGE
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/
RUN yum install -y iscsi-initiator-utils targetcli net-tools strace procps-ng psmisc && yum clean all RUN yum install -y iscsi-initiator-utils targetcli net-tools strace procps-ng psmisc && yum clean all
ADD run_iscsid.sh /usr/local/bin/ ADD run_iscsid.sh /usr/local/bin/

View File

@ -8,7 +8,7 @@ Inspired by https://github.com/rvykydal/dockerfile-iscsid
* The container needs to run with docker --privileged * The container needs to run with docker --privileged
block.tar.gz is a small ext2 filesystem created by `make block` (run as root!) block.tar.gz is a small ext2 filesystem created by `create_block.sh` (run as root!)
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/test/images/volumes-tester/iscsi/README.md?pixel)]() [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/test/images/volumes-tester/iscsi/README.md?pixel)]()

View File

@ -0,0 +1 @@
1.0

View File

@ -0,0 +1,3 @@
amd64=centos:7
arm64=arm64v8/centos:7
ppc64le=ppc64le/centos:7

View File

@ -12,7 +12,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM centos FROM BASEIMAGE
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/
RUN yum -y install /usr/bin/ps nfs-utils && yum clean all RUN yum -y install /usr/bin/ps nfs-utils && yum clean all
RUN mkdir -p /exports RUN mkdir -p /exports
ADD run_nfs.sh /usr/local/bin/ ADD run_nfs.sh /usr/local/bin/

View File

@ -0,0 +1 @@
1.0

View File

@ -0,0 +1,3 @@
amd64=fedora:28
arm64=arm64v8/fedora:28
ppc64le=ppc64le/fedora:28

View File

@ -15,7 +15,9 @@
# CEPH all in one # CEPH all in one
# Based on image by Ricardo Rocha, ricardo@catalyst.net.nz # Based on image by Ricardo Rocha, ricardo@catalyst.net.nz
FROM fedora:26 FROM BASEIMAGE
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/
# Base Packages # Base Packages
RUN yum install -y wget strace psmisc procps-ng ceph ceph-fuse && yum clean all RUN yum install -y wget strace psmisc procps-ng ceph ceph-fuse && yum clean all

View File

@ -0,0 +1,5 @@
# rbd and ceph target container for testing.
* The container needs to run with docker --privileged
block.tar.gz is a small ext2 filesystem created by `create_block.sh` (run as root!)

View File

@ -0,0 +1 @@
1.0

View File

@ -1,25 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM centos:6
ADD install.sh /usr/local/bin/
RUN /usr/local/bin/install.sh
ADD init.sh /usr/local/bin/
ADD index.html /tmp/
RUN chmod 644 /tmp/index.html
EXPOSE 6789/tcp
ENTRYPOINT ["/usr/local/bin/init.sh"]

View File

@ -1,30 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TAG = 0.1
PREFIX = gcr.io/kubernetes-e2e-test-images
all: push
container: image
image:
docker build --pull -t $(PREFIX)/volume-ceph . # Build new image and automatically tag it as latest
docker tag $(PREFIX)/volume-ceph $(PREFIX)/volume-ceph:$(TAG) # Add the version tag to the latest image
push: image
docker push $(PREFIX)/volume-ceph # Push image tagged as latest to repository
docker push $(PREFIX)/volume-ceph:$(TAG) # Push version tagged image to repository (since this image is already pushed it will simply create or update version tag)
clean:

View File

@ -1,8 +0,0 @@
# Ceph server container for testing
This container exports ceph fs with an index.html inside.
Used by test/e2e/* to test CephFSVolumeSource. Not for production use!
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/test/images/volumes-tester/ceph/README.md?pixel)]()

View File

@ -1 +0,0 @@
Hello Ceph!

View File

@ -1,93 +0,0 @@
#!/usr/bin/env bash
# Copyright 2015 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#set -e
set -x
# clean up
rm -f /etc/ceph/*
pkill -9 ceph-mon
pkill -9 ceph-osd
pkill -9 ceph-mds
mkdir -p /var/lib/ceph
mkdir -p /var/lib/ceph/osd
mkdir -p /var/lib/ceph/osd/ceph-0
# create hostname for ceph monitor
MASTER=`hostname -s`
ip=$(ip -4 -o a | grep eth0 | awk '{print $4}' | cut -d'/' -f1)
echo "$ip $MASTER" >> /etc/hosts
#create ceph cluster
ceph-deploy --overwrite-conf new ${MASTER}
ceph-deploy --overwrite-conf mon create-initial ${MASTER}
ceph-deploy --overwrite-conf mon create ${MASTER}
ceph-deploy gatherkeys ${MASTER}
# set osd params for minimal configuration
echo "osd crush chooseleaf type = 0" >> /etc/ceph/ceph.conf
echo "osd journal size = 100" >> /etc/ceph/ceph.conf
echo "osd pool default size = 1" >> /etc/ceph/ceph.conf
echo "osd pool default pgp num = 8" >> /etc/ceph/ceph.conf
echo "osd pool default pg num = 8" >> /etc/ceph/ceph.conf
/sbin/service ceph -c /etc/ceph/ceph.conf stop mon.${MASTER}
/sbin/service ceph -c /etc/ceph/ceph.conf start mon.${MASTER}
# create ceph osd
ceph osd create
ceph-osd -i 0 --mkfs --mkkey
ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-0/keyring
ceph osd crush add 0 1 root=default host=${MASTER}
ceph-osd -i 0 -k /var/lib/ceph/osd/ceph-0/keyring
#see if we are ready to go
ceph osd tree
# create ceph fs
ceph osd pool create cephfs_data 4
ceph osd pool create cephfs_metadata 4
ceph fs new cephfs cephfs_metadata cephfs_data
ceph-deploy --overwrite-conf mds create ${MASTER}
# uncomment the following for rbd test
# ceph osd pool create kube 4
# rbd create foo --size 10 --pool kube
ps -ef |grep ceph
ceph osd dump
# add new client with a pre defined keyring
# this keyring must match the ceph secret in e2e test
cat > /etc/ceph/ceph.client.kube.keyring <<EOF
[client.kube]
key = AQAMgXhVwBCeDhAA9nlPaFyfUSatGD4drFWDvQ==
caps mds = "allow rwx"
caps mon = "allow rwx"
caps osd = "allow rwx"
EOF
ceph auth import -i /etc/ceph/ceph.client.kube.keyring
# mount it through ceph-fuse and copy file to ceph fs
ceph-fuse -m ${MASTER}:6789 /mnt
cp /tmp/index.html /mnt
chmod 644 /mnt/index.html
# watch
ceph -w

View File

@ -1,27 +0,0 @@
#!/usr/bin/env bash
# Copyright 2015 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
yum update -y -v
yum install openssh openssh-server openssh-clients hostname -y -q
ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
cat ~/.ssh/id_rsa.pub |awk '{print $1, $2, "Generated"}' >> ~/.ssh/authorized_keys2
cat ~/.ssh/id_rsa.pub |awk '{print $1, $2, "Generated"}' >> ~/.ssh/authorized_keys
rpm -Uvh http://ceph.com/rpm/rhel6/noarch/ceph-release-1-0.el6.noarch.rpm
yum install -y -q python-itsdangerous python-werkzeug python-jinja2 python-flask ceph-deploy epel-release
# ceph pkg depends on epel-release
yum install -y -q ceph ceph-fuse

View File

@ -1,30 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TAG = 0.5
PREFIX = gcr.io/kubernetes-e2e-test-images
all: push
container: image
image:
docker build --pull -t $(PREFIX)/volume-gluster . # Build new image and automatically tag it as latest
docker tag $(PREFIX)/volume-gluster $(PREFIX)/volume-gluster:$(TAG) # Add the version tag to the latest image
push: image
docker push $(PREFIX)/volume-gluster # Push image tagged as latest to repository
docker push $(PREFIX)/volume-gluster:$(TAG) # Push version tagged image to repository (since this image is already pushed it will simply create or update version tag)
clean:

View File

@ -1,41 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TAG = 0.2
PREFIX = gcr.io/kubernetes-e2e-test-images
all: push
container: image
image:
# Build new image and automatically tag it as latest
docker build --pull -t $(PREFIX)/volume-iscsi .
# Add the version tag to the latest image
docker tag $(PREFIX)/volume-iscsi $(PREFIX)/volume-iscsi:$(TAG)
block:
# Create block.tar.gz with ext2 block device with index.html inside.
# block.tar.gz is already available in git and users don't need to
# regenerate it, this target is here just for reference.
# Run as root!
./create_block.sh
push: image
# Push image tagged as latest to repository
docker push $(PREFIX)/volume-iscsi
# Push version tagged image to repository (since this image is already pushed it will simply create or update version tag)
docker push $(PREFIX)/volume-iscsi:$(TAG)
clean:

View File

@ -1,30 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TAG = 0.8
PREFIX = gcr.io/kubernetes-e2e-test-images
all: push
container: image
image:
docker build --pull -t $(PREFIX)/volume-nfs . # Build new image and automatically tag it as latest
docker tag $(PREFIX)/volume-nfs $(PREFIX)/volume-nfs:$(TAG) # Add the version tag to the latest image
push: image
docker push $(PREFIX)/volume-nfs # Push image tagged as latest to repository
docker push $(PREFIX)/volume-nfs:$(TAG) # Push version tagged image to repository (since this image is already pushed it will simply create or update version tag)
clean:

View File

@ -1,41 +0,0 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
TAG = 0.2
PREFIX = gcr.io/kubernetes-e2e-test-images
all: push
container: image
image:
# Build new image and automatically tag it as latest
docker build --pull -t $(PREFIX)/volume-rbd .
# Add the version tag to the latest image
docker tag $(PREFIX)/volume-rbd $(PREFIX)/volume-rbd:$(TAG)
block:
# Create block.tar.gz with ext2 block device with index.html inside.
# block.tar.gz is already available in git and users don't need to
# regenerate it, this target is here just for reference.
# Run as root!
./create_block.sh
push: image
# Push image tagged as latest to repository
docker push $(PREFIX)/volume-rbd
# Push version tagged image to repository (since this image is already pushed it will simply create or update version tag)
docker push $(PREFIX)/volume-rbd:$(TAG)
clean:

View File

@ -88,10 +88,10 @@ var (
ResourceController = ImageConfig{e2eRegistry, "resource-consumer/controller", "1.0", false} ResourceController = ImageConfig{e2eRegistry, "resource-consumer/controller", "1.0", false}
ServeHostname = ImageConfig{e2eRegistry, "serve-hostname", "1.1", false} ServeHostname = ImageConfig{e2eRegistry, "serve-hostname", "1.1", false}
TestWebserver = ImageConfig{e2eRegistry, "test-webserver", "1.0", false} TestWebserver = ImageConfig{e2eRegistry, "test-webserver", "1.0", false}
VolumeNFSServer = ImageConfig{e2eRegistry, "volume-nfs", "0.8", false} VolumeNFSServer = ImageConfig{e2eRegistry, "volume/nfs", "1.0", false}
VolumeISCSIServer = ImageConfig{e2eRegistry, "volume-iscsi", "0.2", false} VolumeISCSIServer = ImageConfig{e2eRegistry, "volume/iscsi", "1.0", false}
VolumeGlusterServer = ImageConfig{e2eRegistry, "volume-gluster", "0.5", false} VolumeGlusterServer = ImageConfig{e2eRegistry, "volume/gluster", "1.0", false}
VolumeRBDServer = ImageConfig{e2eRegistry, "volume-rbd", "0.2", false} VolumeRBDServer = ImageConfig{e2eRegistry, "volume/rbd", "1.0", false}
) )
func GetE2EImage(image ImageConfig) string { func GetE2EImage(image ImageConfig) string {