5ddb9860a22a954d54dbfb39f9da3994536100a9
[fuel.git] / mcp / reclass / classes / cluster / mcp-common-ha / openstack_proxy.yml.j2
1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 ---
9 classes:
10   - system.linux.system.repo.mcp.mirror.v1.openstack
11   - system.nginx.server.single
12   - system.nginx.server.proxy.openstack_api
13   - system.nginx.server.proxy.openstack_vnc
14   - system.nginx.server.proxy.openstack_web
15   - system.nginx.server.proxy.openstack.aodh
16   - system.nginx.server.proxy.openstack.ceilometer
17   - system.horizon.server.single
18   - system.salt.minion.cert.proxy
19   - system.sphinx.server.doc.reclass
20   - service.keepalived.cluster.single
21   - system.keepalived.cluster.instance.openstack_web_public_vip
22 parameters:
23   _param:
24     cluster_vip_address: ${_param:openstack_proxy_address}
25     keepalived_openstack_web_public_vip_address: ${_param:cluster_vip_address}
26     keepalived_openstack_web_public_vip_interface: ${_param:single_nic}
27     keepalived_vip_address: ${_param:openstack_proxy_control_address}
28     keepalived_vip_interface: ${_param:control_nic}
29     keepalived_vip_virtual_router_id: 240
30     nginx_proxy_ssl:
31       enabled: true
32       authority: ${_param:salt_minion_ca_authority}
33       engine: salt
34       mode: secure
35     salt_minion_ca_host: cfg01.${_param:cluster_domain}
36   linux:
37     system:
38       package:
39         libapache2-mod-wsgi:
40           version: latest
41 {%- if not conf.MCP_VCP %}
42     # Set up routes similar to prx*ovs-ha
43     network:
44       interface:
45         br-ex:
46           route:
47             public:
48               address: 0.0.0.0
49               netmask: 0.0.0.0
50               gateway: ${_param:opnfv_net_public_gw}
51   nginx:
52     server:
53       # NOTE(armband): Define host.address for all proxies for uniformity
54       site:
55         nginx_proxy_novnc: &nginx_openstack_proxy_address
56           host:
57             address: ${_param:openstack_proxy_address}
58         nginx_proxy_openstack_api_aodh:
59           <<: *nginx_openstack_proxy_address
60         nginx_proxy_openstack_api_ceilometer:
61           <<: *nginx_openstack_proxy_address
62         nginx_proxy_openstack_api_cinder:
63           <<: *nginx_openstack_proxy_address
64         nginx_proxy_openstack_api_glance:
65           <<: *nginx_openstack_proxy_address
66         nginx_proxy_openstack_api_heat:
67           <<: *nginx_openstack_proxy_address
68         nginx_proxy_openstack_api_heat_cfn:
69           <<: *nginx_openstack_proxy_address
70         nginx_proxy_openstack_api_keystone:
71           <<: *nginx_openstack_proxy_address
72         nginx_proxy_openstack_api_keystone_private:
73           <<: *nginx_openstack_proxy_address
74         nginx_proxy_openstack_api_neutron:
75           <<: *nginx_openstack_proxy_address
76         nginx_proxy_openstack_api_nova:
77           <<: *nginx_openstack_proxy_address
78         nginx_proxy_openstack_api_nova_ec2:
79           <<: *nginx_openstack_proxy_address
80         nginx_proxy_openstack_web:
81           <<: *nginx_openstack_proxy_address
82         nginx_ssl_redirect_openstack_web:
83           <<: *nginx_openstack_proxy_address
84         nginx_static_reclass_doc:
85           <<: *nginx_openstack_proxy_address
86 {%- else %}
87   nginx:
88     server:
89       site:
90         nginx_proxy_openstack_api_heat_cloudwatch:
91           enabled: false
92 {%- endif %}
93   salt:
94     minion:
95       cert:
96         proxy:
97           alternative_names: "IP:${_param:openstack_proxy_address}"
98           key_usage: 'digitalSignature, keyEncipherment'
99   keepalived:
100     cluster:
101       vrrp_scripts:
102         check_pidof:
103           args: 'nginx'