diff --git a/nova-ssh/Dockerfile.ubuntu_bionic b/nova-ssh/Dockerfile.ubuntu_bionic new file mode 100644 index 00000000..817b3019 --- /dev/null +++ b/nova-ssh/Dockerfile.ubuntu_bionic @@ -0,0 +1,17 @@ +ARG FROM=docker.io/ubuntu:bionic +FROM ${FROM} + +ARG UID=42424 + +RUN set -ex && \ + apt-get update && \ + apt-get upgrade -y && \ + apt-get install --no-install-recommends -y \ + openssh-server \ + openssh-client && \ + rm -rf /var/lib/apt/lists/* + +RUN useradd -r -u ${UID} -d /var/lib/nova nova && \ + chown -R nova: /etc/ssh && \ + mkdir /var/run/sshd && \ + chmod 0775 /var/run/sshd \ No newline at end of file diff --git a/nova-ssh/build.sh b/nova-ssh/build.sh new file mode 100644 index 00000000..b7029664 --- /dev/null +++ b/nova-ssh/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +SCRIPT=`realpath $0` +SCRIPT_DIR=`dirname ${SCRIPT}` +## Only build from main folder +cd ${SCRIPT_DIR}/.. + +IMAGE="nova-ssh" +VERSION=${VERSION:-latest} +DISTRO=${DISTRO:-ubuntu_xenial} +REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"} +EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""} +docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE} + +cd - diff --git a/zuul.d/nova-ssh.yaml b/zuul.d/nova-ssh.yaml new file mode 100644 index 00000000..dcbdddfe --- /dev/null +++ b/zuul.d/nova-ssh.yaml @@ -0,0 +1,93 @@ +--- +# 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. + +- project: + check: + jobs: + - openstack-helm-images-build-nova-ssh + gate: + jobs: + - openstack-helm-images-upload-nova-ssh + - openstack-helm-images-compute-kit-stein-nova-ssh: + dependencies: + - name: openstack-helm-images-upload-nova-ssh + - openstack-helm-images-compute-kit-train-nova-ssh: + dependencies: + - name: openstack-helm-images-upload-nova-ssh + - openstack-helm-images-compute-kit-ussuri-nova-ssh: + dependencies: + - name: openstack-helm-images-upload-nova-ssh + promote: + jobs: + - openstack-helm-images-promote-nova-ssh + periodic: + jobs: + - openstack-helm-images-build-nova-ssh + +- job: + name: openstack-helm-images-build-nova-ssh + parent: openstack-helm-images-build + description: Build nova-ssh images + vars: &nova_ssh_vars + currentdate: "{{ now(utc=True,fmt='%Y%m%d') }}" + docker_images: + - context: nova-ssh + repository: openstackhelm/nova-ssh + dockerfile: Dockerfile.ubuntu_bionic + tags: + - latest-ubuntu_bionic + - "ubuntu_bionic-{{ currentdate }}" + files: &nova_ssh_files + - nova-ssh/.* + - zuul.d/nova-ssh.yaml + +- job: + name: openstack-helm-images-upload-nova-ssh + parent: openstack-helm-images-upload + description: Build and upload nova-ssh images + vars: *nova_ssh_vars + files: *nova_ssh_files + +- job: + name: openstack-helm-images-promote-nova-ssh + parent: openstack-helm-images-promote + description: Promote a previously published nova-ssh image to latest. + vars: *nova_ssh_vars + files: *nova_ssh_files + +- job: + name: openstack-helm-images-compute-kit-stein-nova-ssh + parent: openstack-helm-compute-kit-stein-ubuntu_bionic + dependencies: + - name: openstack-helm-images-upload-nova-ssh + description: Deploy stein compute kit with nova-ssh proposed image + vars: *nova_ssh_vars + files: *nova_ssh_files + +- job: + name: openstack-helm-images-compute-kit-train-nova-ssh + parent: openstack-helm-compute-kit-train-ubuntu_bionic + dependencies: + - name: openstack-helm-images-upload-nova-ssh + description: Deploy train compute kit with nova-ssh proposed image + vars: *nova_ssh_vars + files: *nova_ssh_files + +- job: + name: openstack-helm-images-compute-kit-ussuri-nova-ssh + parent: openstack-helm-compute-kit-ussuri-ubuntu_bionic + dependencies: + - name: openstack-helm-images-upload-nova-ssh + description: Deploy ussuri compute kit with nova-ssh proposed image + vars: *nova_ssh_vars + files: *nova_ssh_files