Deploy ironic-api with WSGI

Change-Id: Ifa985f29fbd589f58cb2fc75b5f442f7651fb2bf
Depends-On: I952c86db88dcd611722a3feaea88f618eee17620
This commit is contained in:
Dmitry Tantsur 2017-06-12 15:16:06 +02:00
parent dfd4e12b22
commit f80c937f32
2 changed files with 36 additions and 4 deletions

View File

@ -61,6 +61,7 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [IronicApiBase, role_data, config_settings] - get_attr: [IronicApiBase, role_data, config_settings]
- apache::default_vhost: false
step_config: &step_config step_config: &step_config
get_attr: [IronicApiBase, role_data, step_config] get_attr: [IronicApiBase, role_data, step_config]
service_config_settings: {get_attr: [IronicApiBase, role_data, service_config_settings]} service_config_settings: {get_attr: [IronicApiBase, role_data, service_config_settings]}
@ -75,7 +76,7 @@ outputs:
- [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ] - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
kolla_config: kolla_config:
/var/lib/kolla/config_files/ironic_api.json: /var/lib/kolla/config_files/ironic_api.json:
command: /usr/bin/ironic-api command: /usr/sbin/httpd -DFOREGROUND
permissions: permissions:
- path: /var/log/ironic - path: /var/log/ironic
owner: ironic:ironic owner: ironic:ironic
@ -113,7 +114,7 @@ outputs:
start_order: 10 start_order: 10
image: *ironic_image image: *ironic_image
net: host net: host
privileged: false user: root
restart: always restart: always
volumes: volumes:
list_concat: list_concat:
@ -121,6 +122,10 @@ outputs:
- -
- /var/lib/kolla/config_files/ironic_api.json:/var/lib/kolla/config_files/config.json:ro - /var/lib/kolla/config_files/ironic_api.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/ironic/etc/ironic:/etc/ironic:ro - /var/lib/config-data/ironic/etc/ironic:/etc/ironic:ro
- /var/lib/config-data/ironic/etc/httpd/conf/:/etc/httpd/conf/:ro
- /var/lib/config-data/ironic/etc/httpd/conf.d/:/etc/httpd/conf.d/:ro
- /var/lib/config-data/ironic/etc/httpd/conf.modules.d/:/etc/httpd/conf.modules.d/:ro
- /var/lib/config-data/ironic/var/www/:/var/www/:ro
- /var/log/containers/ironic:/var/log/ironic - /var/log/containers/ironic:/var/log/ironic
environment: environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS

View File

@ -43,8 +43,21 @@ parameters:
e.g. { ironic-context_is_admin: { key: context_is_admin, value: 'role:admin' } } e.g. { ironic-context_is_admin: { key: context_is_admin, value: 'role:admin' } }
default: {} default: {}
type: json type: json
EnableInternalTLS:
type: boolean
default: false
resources: resources:
ApacheServiceBase:
type: ./apache.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
EnableInternalTLS: {get_param: EnableInternalTLS}
IronicBase: IronicBase:
type: ./ironic-base.yaml type: ./ironic-base.yaml
properties: properties:
@ -63,6 +76,7 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [IronicBase, role_data, config_settings] - get_attr: [IronicBase, role_data, config_settings]
- get_attr: [ApacheServiceBase, role_data, config_settings]
- ironic::api::authtoken::password: {get_param: IronicPassword} - ironic::api::authtoken::password: {get_param: IronicPassword}
ironic::api::authtoken::project_name: 'service' ironic::api::authtoken::project_name: 'service'
ironic::api::authtoken::user_domain_name: 'Default' ironic::api::authtoken::user_domain_name: 'Default'
@ -80,7 +94,17 @@ outputs:
ironic::api::port: {get_param: [EndpointMap, IronicInternal, port]} ironic::api::port: {get_param: [EndpointMap, IronicInternal, port]}
# This is used to build links in responses # This is used to build links in responses
ironic::api::public_endpoint: {get_param: [EndpointMap, IronicPublic, uri_no_suffix]} ironic::api::public_endpoint: {get_param: [EndpointMap, IronicPublic, uri_no_suffix]}
ironic::api::service_name: 'httpd'
ironic::policy::policies: {get_param: IronicApiPolicies} ironic::policy::policies: {get_param: IronicApiPolicies}
ironic::wsgi::apache::bind_host: {get_param: [ServiceNetMap, IronicApiNetwork]}
ironic::wsgi::apache::port: {get_param: [EndpointMap, IronicInternal, port]}
ironic::wsgi::apache::servername:
str_replace:
template:
"%{hiera('fqdn_$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, IronicApiNetwork]}
ironic::wsgi::apache::ssl: {get_param: EnableInternalTLS}
tripleo.ironic_api.firewall_rules: tripleo.ironic_api.firewall_rules:
'133 ironic api': '133 ironic api':
dport: dport:
@ -106,6 +130,9 @@ outputs:
- '%' - '%'
- "%{hiera('mysql_bind_host')}" - "%{hiera('mysql_bind_host')}"
upgrade_tasks: upgrade_tasks:
- name: Stop ironic_api service - name: Stop ironic_api service (before httpd support)
tags: step1 tags: step1
service: name=openstack-ironic-api state=stopped service: name=openstack-ironic-api state=stopped enabled=no
- name: Stop ironic_api service (running under httpd)
tags: step1
service: name=httpd state=stopped