TLS support for Cinder services

Depends-On: If796ea145c0a6b1bcb711496a4ad97a0a4ac2fb2
Change-Id: Ie24abf9767db88361eb247c4363e7dedfe30d934
This commit is contained in:
Anastasiya 2017-02-03 12:54:57 +04:00 committed by Andrey Pavlov
parent 035c264daf
commit 27dafd6e53
8 changed files with 70 additions and 5 deletions

View File

@ -101,13 +101,48 @@ service:
daemon:
command: cinder-api --config-file /etc/cinder/cinder.conf
files:
# {% if cinder.tls.enabled %}
- ca_cert
# {% endif %}
- cinder-conf
dependencies:
- memcached
- "{{ messaging.dependencies[messaging.backend.rpc] }}"
- "{{ messaging.dependencies[messaging.backend.notifications] }}"
# {% if cinder.tls.enabled %}
- name: nginx-cinder-api
image: nginx
daemon:
files:
- upstreams
- servers
- server-cert
- server-key
command: nginx
# {% endif %}
files:
cinder-conf:
path: /etc/cinder/cinder.conf
content: cinder.conf.j2
# {% if cinder.tls.enabled %}
servers:
path: /etc/nginx/conf.d/servers.conf
content: nginx-api.conf.j2
perm: "0400"
ca_cert:
path: /opt/ccp/etc/tls/ca.pem
content: ca-cert.pem.j2
upstreams:
path: /etc/nginx/conf.d/upstreams.conf
content: upstreams.conf.j2
perm: "0400"
server-cert:
path: /opt/ccp/etc/tls/server-cert.pem
content: server-cert.pem.j2
perm: "0400"
server-key:
path: /opt/ccp/etc/tls/server-key.pem
content: server-key.pem.j2
perm: "0400"
# {% endif %}

View File

@ -0,0 +1 @@
{{ security.tls.ca_cert }}

View File

@ -5,16 +5,15 @@ use_stderr = True
volume_name_template = volume-%s
glance_api_servers = {{ address('glance-api', glance.api_port) }}
glance_num_retries = 3
glance_api_version = 2
os_region_name = RegionOne
enabled_backends = {{ cinder.enabled_backends }}
{% if cinder.tls.enabled %}
osapi_volume_listen = 127.0.0.1
{% else %}
osapi_volume_listen = {{ network_topology["private"]["address"] }}
{% endif %}
osapi_volume_listen_port = {{ cinder.api_port.cont }}
api_paste_config = /etc/cinder/api-paste.ini
@ -29,6 +28,20 @@ max_retries = -1
{{ keystone_authtoken.keystone_authtoken(cinder.username, cinder.password) }}
{% if glance.tls.enabled %}
[ssl]
ca_file = /opt/ccp/etc/tls/ca.pem
{% endif %}
[glance]
{% if glance.tls.enabled %}
protocol = https
{% endif %}
glance_api_servers = {{ address('glance-api', glance.api_port, with_scheme=True) }}
glance_num_retries = 3
glance_api_version = 2
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

View File

@ -1,5 +1,7 @@
configs:
cinder:
tls:
enabled: true
api_port:
cont: 8776
ingress: volume

View File

@ -0,0 +1,9 @@
server {
listen {{ network_topology["private"]["address"] }}:{{ cinder.api_port.cont }} ssl;
include common/ssl.conf;
location / {
proxy_pass http://cinder_api;
include common/proxy-headers.conf;
}
}

View File

@ -0,0 +1 @@
{{ security.tls.server_cert }}

View File

@ -0,0 +1 @@
{{ security.tls.server_key }}

View File

@ -0,0 +1,3 @@
upstream cinder_api {
server 127.0.0.1:{{ cinder.api_port.cont }};
}