Browse Source

preflight int tests: define image builds to support tests

Luke Meyer 8 years ago
parent
commit
ce4c2f0cc0

+ 2 - 0
test/integration/openshift_health_checker/builds/Dockerfile.test-target-base

@@ -0,0 +1,2 @@
+FROM centos/systemd
+RUN yum install -y iproute python-dbus PyYAML yum-utils

+ 30 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/Dockerfile

@@ -0,0 +1,30 @@
+FROM test-target-base
+
+RUN yum install -y rpm-build rpmdevtools createrepo && \
+    rpmdev-setuptree && \
+    mkdir -p /mnt/localrepo
+ADD root /
+
+# we will build some RPMs that can be used to break yum update in tests.
+RUN cd /root/rpmbuild/SOURCES && \
+    mkdir break-yum-update-1.0 && \
+    tar zfc foo.tgz break-yum-update-1.0 && \
+    rpmbuild -bb /root/break-yum-update.spec  && \
+    yum install -y /root/rpmbuild/RPMS/noarch/break-yum-update-1.0-1.noarch.rpm && \
+    rpmbuild -bb /root/break-yum-update-2.spec  && \
+    mkdir /mnt/localrepo/break-yum && \
+    cp /root/rpmbuild/RPMS/noarch/break-yum-update-1.0-2.noarch.rpm /mnt/localrepo/break-yum && \
+    createrepo /mnt/localrepo/break-yum
+
+# we'll also build some RPMs that can be used to exercise OCP package version tests.
+RUN cd /root/rpmbuild/SOURCES && \
+    mkdir atomic-openshift-3.2 && \
+    mkdir atomic-openshift-3.3 && \
+    tar zfc ose.tgz atomic-openshift-3.{2,3} && \
+    rpmbuild -bb /root/ose-3.2.spec  && \
+    rpmbuild -bb /root/ose-3.3.spec  && \
+    mkdir /mnt/localrepo/ose-3.{2,3} && \
+    cp /root/rpmbuild/RPMS/noarch/atomic-openshift*-3.2-1.noarch.rpm /mnt/localrepo/ose-3.2 && \
+    createrepo /mnt/localrepo/ose-3.2 && \
+    cp /root/rpmbuild/RPMS/noarch/atomic-openshift*-3.3-1.noarch.rpm /mnt/localrepo/ose-3.3 && \
+    createrepo /mnt/localrepo/ose-3.3

+ 5 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/etc/yum.repos.d/break-yum.repo

@@ -0,0 +1,5 @@
+[break-yum]
+name=break-yum
+baseurl=file:///mnt/localrepo/break-yum
+enabled=0
+gpgcheck=0

+ 5 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/etc/yum.repos.d/ose-3.2.repo

@@ -0,0 +1,5 @@
+[ose-3.2]
+name=ose-3.2
+baseurl=file:///mnt/localrepo/ose-3.2
+enabled=0
+gpgcheck=0

+ 5 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/etc/yum.repos.d/ose-3.3.repo

@@ -0,0 +1,5 @@
+[ose-3.3]
+name=ose-3.3
+baseurl=file:///mnt/localrepo/ose-3.3
+enabled=0
+gpgcheck=0

+ 33 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/root/break-yum-update-2.spec

@@ -0,0 +1,33 @@
+Name:           break-yum-update
+Version:        1.0
+Release:        2
+Summary:        Package for breaking updates by requiring things that don't exist
+
+License:        NA
+
+Requires:	package-that-does-not-exist
+Source0:	http://example.com/foo.tgz
+BuildArch:	noarch
+
+%description
+Package for breaking updates by requiring things that don't exist
+
+
+%prep
+%setup -q
+
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+
+
+%files
+%doc
+
+
+
+%changelog

+ 32 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/root/break-yum-update.spec

@@ -0,0 +1,32 @@
+Name:           break-yum-update
+Version:        1.0
+Release:        1
+Summary:        Package for breaking updates by requiring things that don't exist
+
+License:        NA
+
+Source0:	http://example.com/foo.tgz
+BuildArch:	noarch
+
+%description
+Package for breaking updates by requiring things that don't exist
+
+
+%prep
+%setup -q
+
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+
+
+%files
+%doc
+
+
+
+%changelog

+ 44 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/root/ose-3.2.spec

@@ -0,0 +1,44 @@
+Name:           atomic-openshift
+Version:        3.2
+Release:        1
+Summary:        package the critical aos packages
+
+License:        NA
+
+Source0:	http://example.com/ose.tgz
+BuildArch:	noarch
+
+%package master
+Summary:        package the critical aos packages
+%package node
+Summary:        package the critical aos packages
+
+%description
+Package for pretending to provide AOS
+
+%description master
+Package for pretending to provide AOS
+
+%description node
+Package for pretending to provide AOS
+
+%prep
+%setup -q
+
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+
+
+%files
+%files master
+%files node
+%doc
+
+
+
+%changelog

+ 44 - 0
test/integration/openshift_health_checker/builds/aos-package-checks/root/root/ose-3.3.spec

@@ -0,0 +1,44 @@
+Name:           atomic-openshift
+Version:        3.3
+Release:        1
+Summary:        package the critical aos packages
+
+License:        NA
+
+Source0:	http://example.com/ose.tgz
+BuildArch:	noarch
+
+%package master
+Summary:        package the critical aos packages
+%package node
+Summary:        package the critical aos packages
+
+%description
+Package for pretending to provide AOS
+
+%description master
+Package for pretending to provide AOS
+
+%description node
+Package for pretending to provide AOS
+
+%prep
+%setup -q
+
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+
+
+%files
+%files master
+%files node
+%doc
+
+
+
+%changelog

+ 19 - 0
test/integration/openshift_health_checker/builds/build-container-images.yml

@@ -0,0 +1,19 @@
+---
+- name: Build all the images we need for running integration tests
+  hosts: localhost
+  connection: local
+  tasks:
+
+    - name: test-target-base
+      docker_image:
+        state: present
+        path: ./
+        dockerfile: Dockerfile.test-target-base
+        name: test-target-base
+
+    - name: preflight-aos-package-checks
+      docker_image:
+        state: present
+        pull: no
+        path: ./aos-package-checks
+        name: preflight-aos-package-checks