1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block gnocchi_base_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='gnocchi') }}
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set gnocchi_base_packages = [
'gnocchi-common',
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'python3-boto3',
'python3-ldappool',
'python3-mod_wsgi',
'python3-rados',
] %}
{% else %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'mod_wsgi',
'python-boto3',
'python2-cradox',
'python2-ldappool'
] %}
{% endif %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
{% elif base_package_type == 'deb' %}
{% set gnocchi_base_packages = [
'apache2',
'build-essential',
'gnocchi-common',
'libapache2-mod-wsgi-py3',
'librados-dev',
'python3-boto3',
'python3-dev',
'python3-ldappool',
'python3-pip',
'python3-rados',
'python3-setuptools'
] %}
{% set gnocchi_base_pip_packages = [
'cradox'
] %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages"), constraints=false) }} \
&& truncate -s 0 /etc/apache2/ports.conf
{% endif %}
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
{% set gnocchi_base_packages = [
'httpd',
'librados2-devel',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
# on x86-64 pip grabs precompiled numpy/scipy - on aarch64/ppc64le
# it needs to be built
{% if base_arch != 'x86_64' %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'blas-devel',
'lapack-devel'
] %}
{% endif %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/gnocchi \
&& sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
{% elif base_package_type == 'deb' %}
{% set gnocchi_base_packages = [
'apache2',
'libapache2-mod-wsgi-py3',
'librados-dev',
'python3-ldappool'
] %}
# on x86-64 pip grabs precompiled numpy/scipy - on aarch64/ppc64le
# it needs to be built
{% if base_arch != 'x86_64' %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'libblas-dev',
'liblapack-dev'
] %}
{% endif %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN truncate -s 0 /etc/apache2/ports.conf
{% endif %}
ADD gnocchi-base-archive /gnocchi-base-source
{% set gnocchi_base_pip_packages = [
'gnocchiclient',
'/gnocchi[keystone,mysql,file,ceph,s3]'
] %}
RUN ln -s gnocchi-base-source/* gnocchi \
&& {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/gnocchi \
&& chown -R gnocchi: /etc/gnocchi
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
COPY gnocchi_sudoers /etc/sudoers.d/kolla_gnocchi_sudoers
RUN chmod 750 /etc/sudoers.d \
&& chmod 640 /etc/sudoers.d/kolla_gnocchi_sudoers \
&& touch /usr/local/bin/kolla_gnocchi_extend_start \
&& chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_gnocchi_extend_start
{% block gnocchi_base_footer %}{% endblock %}
|