- Ability to build from master and Gerrit (also common).
- Finding more problems with Python 3 compatibility.
- Every container provide information from what versions it was built.
- Monasca-common Zuul jobs push base image to Docker Hub (as monasca/base). https://hub.docker.com/r/monasca/base/tags/
- Standardized wait scripts.
- Always requesting git repository.
- Thinking I could make it simple and all in Dockerfile.
- Services don't have health checks.
- pyca/cryptography in upper constrains is not working with newer LibreSSL.
- Merging https://review.openstack.org/#/c/586540/ (Allow to build image with common from Gerrit).
- Putting all Monasca services into containers in OpenStack.
- Find clean and (hopefully) simple way how to store
build_image.sh
in monasca-common and request it on child build time. - Building all services images in Zuul.
- Tempest tests running with entire stack in Docker.
- Zuul jobs when tagging releases.
- Ability to build (also in Zuul) with specific version of Docker engine.
- Less steps in Dockerfile (shorter
docker history
). - Better use of Docker build caching.
build_image.sh <repository_version> <upper_constains_branch> <common_version>
λ ./build_image.sh
λ ./build_image.sh master master master
λ ./build_image.sh stable/rocky
λ ./build_image.sh cb7f226
λ ./build_image.sh 2.5.0 <== special case (don't know stable version)
λ ./build_image.sh 2.5.0 stable/queens
λ ./build_image.sh refs/changes/51/558751/1 stable/queens
λ ./build_image.sh master master refs/changes/40/586540/7
λ docker inspect --format "{{ json .Config.Labels }}" monasca/base:master | jq
{
"org.opencontainers.image.created": "2018-08-31T13:00:20Z",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "377dcfb421938afae984af31b52c4f8836d00d4a",
"org.opencontainers.image.title": "monasca-base"
}
λ docker inspect --format "{{ json .Config.Labels }}" monasca-api:master | jq
{
"org.opencontainers.image.created": "2018-09-07T11:59:42Z",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "3f530c85e8cc60babe3e20a9ae4da4a948cbf8d3",
"org.opencontainers.image.source": "https://git.openstack.org/openstack/monasca-api",
"org.opencontainers.image.title": "monasca-api",
"org.opencontainers.image.url": "https://github.com/openstack/monasca-api",
"org.opencontainers.image.version": "master",
"org.openstack.constraints_uri": "http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=master",
"org.openstack.monasca.common.revision": "d85c5608906900613372e4570a3d0fabd677c3d7",
"org.openstack.monasca.common.source": "https://git.openstack.org/openstack/monasca-common",
"org.openstack.monasca.common.version": "refs/changes/40/586540/7",
"org.openstack.monasca.python.extra_deps": "gunicorn gevent==1.3.5 python-memcached influxdb"
}
λ docker run -it --rm monasca-api:master ash
Cat from /VERSIONS
file.
Monasca base build date: 2018-08-31T13:00:20Z
Monasca base revision: 377dcfb421938afae984af31b52c4f8836d00d4a
App: monasca-api
Repository: https://git.openstack.org/openstack/monasca-api
Version: master
Revision: 3f530c85e8cc60babe3e20a9ae4da4a948cbf8d3
Build date: 2018-09-07T11:59:42Z
Revision: 3f530c85e8cc60babe3e20a9ae4da4a948cbf8d3
Monasca-common version: refs/changes/40/586540/7
Monasca-common pip version: -e git+https://git.openstack.org/openstack/monasca-common@d85c5608906900613372e4570a3d0fabd677c3d7#egg=monasca_common
Monasca-common revision: d85c5608906900613372e4570a3d0fabd677c3d7
Constraints file: http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=master