Skip to content

Commit 85fb7dc

Browse files
authored
Merge pull request #182 from niti6869/main
fix: added missing packages in gnocchi image
2 parents a7d19c7 + e6c8669 commit 85fb7dc

1 file changed

Lines changed: 58 additions & 36 deletions

File tree

ContainerFiles/gnocchi

Lines changed: 58 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,18 @@ FROM ghcr.io/rackerlabs/genestack-images/ceph-libs:${CEPH_TAG} AS dependency_bui
77
ARG CACHEBUST=0
88
ARG GNOCCHI_VERSION=master
99
ARG OS_CONSTRAINTS=master
10-
RUN export DEBIAN_FRONTEND=noninteractive \
11-
&& apt-get update && apt-get upgrade -y \
12-
&& apt-get install --no-install-recommends -y \
13-
bash \
14-
brotli \
15-
build-essential \
16-
curl \
17-
docutils-common \
18-
gettext \
19-
git \
20-
liberasurecode-dev \
21-
libffi-dev \
22-
libjs-sphinxdoc \
23-
libjs-underscore \
24-
libldap2-dev \
25-
libpq-dev \
26-
libsasl2-dev \
27-
libsnappy-dev \
28-
libssl-dev \
29-
libsystemd-dev \
30-
libxml2-dev \
31-
libxslt1-dev \
32-
libxslt1.1 \
33-
pkg-config \
34-
ssl-cert \
35-
xmlsec1
10+
RUN export DEBIAN_FRONTEND=noninteractive
3611
RUN curl -fsSL -o /tmp/upper-constraints.txt https://opendev.org/openstack/requirements/raw/branch/${OS_CONSTRAINTS}/upper-constraints.txt \
3712
&& sed -i '/^gnocchi===.*/d' /tmp/upper-constraints.txt \
3813
&& /var/lib/openstack/bin/pip install --constraint /tmp/upper-constraints.txt \
3914
"gnocchi[postgresql,ceph,keystone] @ git+https://github.com/gnocchixyz/gnocchi.git@${GNOCCHI_VERSION}" \
4015
gnocchiclient \
4116
PyMySQL \
4217
pymemcache \
43-
uwsgi
18+
SQLAlchemy \
19+
uwsgi \
20+
cffi \
21+
bcrypt
4422

4523
COPY scripts/gnocchi-cve-patching.sh /opt/
4624
RUN bash /opt/gnocchi-cve-patching.sh
@@ -57,23 +35,61 @@ RUN find / -name '*.pyc' -delete \
5735
fi; \
5836
done
5937

60-
6138
FROM python:3.12-slim-bookworm
6239
LABEL maintainer="Rackspace"
6340
LABEL vendor="Rackspace OpenStack Team"
6441
LABEL org.opencontainers.image.name="gnocchi"
6542
LABEL org.opencontainers.image.description="OpenStack Service (gnocchi) built for the enterprise."
6643
COPY --from=dependency_build /usr/local/lib /usr/local/lib
6744
COPY --from=dependency_build /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu
45+
COPY --from=dependency_build /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
6846
COPY --from=dependency_build /var/lib/openstack /var/lib/openstack
6947
RUN export DEBIAN_FRONTEND=noninteractive \
7048
&& apt-get update && apt-get upgrade -y \
7149
&& apt-get install --no-install-recommends -y \
72-
libffi8 \
73-
libpq5 \
74-
libsnappy1v5 \
75-
libxml2 \
76-
libxslt1.1 \
50+
apache2 \
51+
apache2-dev \
52+
libffi8 \
53+
libpq5 \
54+
libsnappy1v5 \
55+
libxml2 \
56+
python3 \
57+
python3-dev \
58+
python3-memcache \
59+
bash \
60+
brotli \
61+
build-essential \
62+
curl \
63+
wget \
64+
locales \
65+
docutils-common \
66+
gettext \
67+
git \
68+
libffi-dev \
69+
libjs-sphinxdoc \
70+
libjs-underscore \
71+
libldap2-dev \
72+
libpq-dev \
73+
postgresql \
74+
memcached \
75+
librados-dev \
76+
liberasurecode-dev \
77+
python3-rados \
78+
ceph \
79+
libsasl2-dev \
80+
libsnappy-dev \
81+
libprotobuf-dev \
82+
libssl-dev \
83+
libsystemd-dev \
84+
libxml2-dev \
85+
libxslt1-dev \
86+
libxslt1.1 \
87+
pkg-config \
88+
ssl-cert \
89+
xmlsec1 \
90+
&& /var/lib/openstack/bin/pip install --upgrade mod_wsgi \
91+
&& /var/lib/openstack/bin/mod_wsgi-express module-config > /etc/apache2/mods-available/wsgi.load \
92+
&& a2enmod wsgi \
7793
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
7894
&& apt-get clean -y \
7995
&& rm -rf /var/lib/apt/lists/* \
@@ -85,8 +101,14 @@ RUN export DEBIAN_FRONTEND=noninteractive \
85101
&& mkdir -p /var/lib/openstack/etc/gnocchi \
86102
&& ln -s /var/lib/openstack/etc/gnocchi /etc/gnocchi \
87103
&& chown gnocchi:gnocchi -h /etc/gnocchi \
88-
&& chown -R gnocchi:gnocchi /var/lib/openstack/etc/gnocchi
89-
ENV PATH="/usr/local/bin:/usr/local/sbin:/var/lib/openstack/bin:$PATH"
104+
&& chown -R gnocchi:gnocchi /var/lib/openstack/etc/gnocchi \
105+
&& sed -i 's@^ErrorLog.*@ErrorLog /dev/stderr@' /etc/apache2/apache2.conf \
106+
&& mkdir -p /var/run/apache2 /var/lock/apache2 /var/log/apache2 \
107+
&& chown www-data:www-data /var/run/apache2 /var/lock/apache2 /var/log/apache2
108+
# Set the environment variables for the gnocchi venv
109+
ENV PATH="/var/lib/openstack/bin:$PATH"
110+
ENV PYTHONPATH="/usr/local/lib/python3.12/site-packages:/var/lib/openstack/lib/python3.12/site-packages:$PYTHONPATH"
111+
# Set the working directory
90112
WORKDIR /var/lib/openstack
91-
USER 42424:42424
113+
# Set the entrypoint to the gnocchi upgrade command
92114
ENTRYPOINT ["/var/lib/openstack/bin/gnocchi-upgrade"]

0 commit comments

Comments
 (0)