diff --git a/.zuul.yaml b/.zuul.yaml index f4829379d..1e36a2c38 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -156,6 +156,7 @@ name: nodepool-build-image parent: opendev-build-docker-image description: Build Docker images. + timeout: 4800 dependencies: - opendev-buildset-registry requires: @@ -171,19 +172,29 @@ # If zuul.tag is defined: [ '3', '3.19', '3.19.0' ]. Only works for 3-component tags. # Otherwise: ['latest'] &imagetag "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}" + arch: + - linux/amd64 + - linux/arm64 - context: . repository: zuul/nodepool-launcher target: nodepool-launcher tags: *imagetag + arch: + - linux/amd64 + - linux/arm64 - context: . repository: zuul/nodepool-builder target: nodepool-builder tags: *imagetag + arch: + - linux/amd64 + - linux/arm64 - job: name: nodepool-upload-image parent: opendev-upload-docker-image description: Build Docker images and upload to Docker Hub. + timeout: 4800 requires: - python-builder-3.8-container-image - python-base-3.8-container-image diff --git a/Dockerfile b/Dockerfile index 5252aea36..8b601dac5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,17 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/python-builder:3.8 as builder +FROM docker.io/opendevorg/python-builder:3.7 as builder # ============================================================================ ARG ZUUL_SIBLINGS="" COPY . /tmp/src +RUN if [ `uname -m` = "aarch64" ] ; then \ + echo "Installing arm64 pip.conf" ; \ + cp /tmp/src/tools/pip.conf.arm64 /etc/pip.conf ; \ + cp /tmp/src/tools/pip.conf.arm64 /output/pip.conf ; \ + fi RUN assemble -FROM docker.io/opendevorg/python-base:3.8 as nodepool-base +FROM docker.io/opendevorg/python-base:3.7 as nodepool-base # ============================================================================ COPY --from=builder /output/ /output +RUN if [ -f /output/pip.conf ] ; then \ + echo "Installing pip.conf from builder" ; \ + cp /output/pip.conf /etc/pip.conf ; \ + fi RUN /output/install-from-bindep nodepool_base RUN useradd -u 10001 -m -d /var/lib/nodepool -c "Nodepool Daemon" nodepool diff --git a/tools/pip.conf.arm64 b/tools/pip.conf.arm64 new file mode 100644 index 000000000..9902d7bac --- /dev/null +++ b/tools/pip.conf.arm64 @@ -0,0 +1,5 @@ +[global] +extra-index-url = https://mirror.regionone.linaro-us.opendev.org/wheel/debian-10-aarch64/ + +[install] +prefer-binary = true