Merge "Build utility image for using osc"
This commit is contained in:
commit
8c4ecbe35d
58
.zuul.yaml
58
.zuul.yaml
@ -152,6 +152,59 @@
|
||||
tox_envlist: functional
|
||||
tox_install_siblings: true
|
||||
|
||||
- secret:
|
||||
name: osc-dockerhub
|
||||
data:
|
||||
username: osclientzuul
|
||||
password: !encrypted/pkcs1-oaep
|
||||
- qQ0O7bXUWBhkygjSKcPHogWvR2ax67EgHZcYd27zgg6KvpdK9GsNTRTIeD5yeBb9Dzr/K
|
||||
RcAf+0pQT3fRIsKyEx2odHNevGpePjmUZENd5vHTIvTuZWq+X5ehpXgkEYvw3jwYJg78F
|
||||
ids1igEaHsE86OMHjWauyc1QUzYfwkf+ziK7TIOZ6RpVRHgq5Bf9S+Hz/QnVdxOLaIlO0
|
||||
VC/bchKX/36vOQKd20KkNhBQAnUlDBQWMnZocvZKZYtkDs2w2vqlnUPRlzEppBWm5Yae6
|
||||
5acyIHEEAIbECd/wC/OT8YndoeOUiqOZY0uSWtv4JgEKl6AexP+54VxPrsz7LayRMDJ4B
|
||||
jVCZK6y1sss9mF6mNXvZipPEVgklGcGM76GfGdqTeuQ3i8CqaKmCTBo1IKlEmcslXR/5T
|
||||
vjibWzvNHPpFcpYEEM6GLGg2K6nja1MCE1s/L76pN3FtxCZHdl8rZXU+mJH37uQk9zvdR
|
||||
Y6qtWJ+3o5sbgYfjgdp/nPs1xXMUvuG83qykuzYgtOYvlEw51eqwd2SPXd3op/KApAhKR
|
||||
Zlu8fBUkm/FyXToOpCl0s/eR4w1d+Spv0A+UhrS5pmV18+NlpNs0Krj5wS9KWMUIec0ae
|
||||
opgPkQrFfj/zD45rrIUJRzT+alZlZeK+WQfeNOXt2i6MLtOPesHMukTc6ksXtA=
|
||||
|
||||
- job:
|
||||
name: osc-build-image
|
||||
parent: opendev-build-docker-image
|
||||
description: Build Docker images.
|
||||
allowed-projects: openstack/python-openstackclient
|
||||
requires:
|
||||
- python-builder-container-image
|
||||
- python-base-container-image
|
||||
provides: osc-container-image
|
||||
vars: &osc_image_vars
|
||||
docker_images:
|
||||
- context: .
|
||||
repository: osclient/python-openstackclient
|
||||
|
||||
- job:
|
||||
name: osc-upload-image
|
||||
parent: opendev-upload-docker-image
|
||||
description: Build Docker images and upload to Docker Hub.
|
||||
allowed-projects: openstack/python-openstackclient
|
||||
requires:
|
||||
- python-builder-container-image
|
||||
- python-base-container-image
|
||||
provides: osc-container-image
|
||||
vars: *osc_image_vars
|
||||
secrets: &osc_image_secrets
|
||||
- name: docker_credentials
|
||||
secret: osc-dockerhub
|
||||
pass-to-parent: true
|
||||
|
||||
- job:
|
||||
name: osc-promote-image
|
||||
parent: opendev-promote-docker-image
|
||||
allowed-projects: openstack/python-openstackclient
|
||||
description: Promote previously uploaded Docker images.
|
||||
vars: *osc_image_vars
|
||||
secrets: *osc_image_secrets
|
||||
|
||||
- project-template:
|
||||
name: osc-tox-unit-tips
|
||||
check:
|
||||
@ -174,6 +227,7 @@
|
||||
- lib-forward-testing-python3
|
||||
check:
|
||||
jobs:
|
||||
- osc-build-image
|
||||
- osc-functional-devstack
|
||||
# - osc-functional-devstack-n-net:
|
||||
# voting: false
|
||||
@ -187,4 +241,8 @@
|
||||
branches: ^(?!stable)
|
||||
gate:
|
||||
jobs:
|
||||
- osc-upload-image
|
||||
- osc-functional-devstack
|
||||
promote:
|
||||
jobs:
|
||||
- osc-promote-image
|
||||
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# 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 docker.io/opendevorg/python-builder as builder
|
||||
|
||||
COPY . /tmp/src
|
||||
RUN assemble
|
||||
|
||||
FROM docker.io/opendevorg/python-base
|
||||
|
||||
COPY --from=builder /output/ /output
|
||||
RUN /output/install-from-bindep
|
||||
|
||||
CMD ["/usr/local/bin/openstack"]
|
33
examples/openstack.sh
Executable file
33
examples/openstack.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# This is an example script that can be installed somewhere, such as
|
||||
# /usr/local/bin/openstack, that will allow using python-openstackclient
|
||||
# via the container image instead of via a direct installation. It
|
||||
# bind-mounts in clouds.yaml files, so it should behave like a directly
|
||||
# installed osc.
|
||||
|
||||
if type podman 2>/dev/null ; then
|
||||
RUNTIME=podman
|
||||
else
|
||||
RUNTIME=docker
|
||||
fi
|
||||
|
||||
exec $RUNTIME run -it --rm \
|
||||
-v/etc/openstack:/etc/openstack \
|
||||
-v$HOME/.config/openstack:/root/.config/openstack \
|
||||
osclient/openstackclient \
|
||||
openstack $@
|
Loading…
Reference in New Issue
Block a user