fuel-ccp-cinder/service/cinder-api.yaml

114 lines
5.1 KiB
YAML

dsl_version: 0.1.0
service:
name: cinder-api
ports:
- {{ cinder.api_port }}
containers:
- name: cinder-api
image: cinder-api
pre:
- name: cinder-db-create
dependencies:
- {{ service.database }}
type: single
command:
mysql -u root -p{{ db.root_password }} -h {{ address(service.database) }} -e "create database {{ cinder.db.name }};
create user '{{ cinder.db.username }}'@'%' identified by '{{ cinder.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};
grant all privileges on {{ cinder.db.name }}.* to '{{ cinder.db.username }}'@'%' identified by '{{ cinder.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};"
- name: cinder-db-sync
files:
- cinder-conf
dependencies:
- cinder-db-create
type: single
command: cinder-manage db sync
- name: cinder-user-create
dependencies:
- keystone-create-domain
type: single
command: openstack user create --domain {{ service_account.domain }} --password {{ cinder.password }} {{ cinder.username }}
- name: cinder-role-add
dependencies:
- cinder-user-create
- keystone-create-project
type: single
command: openstack role add --project {{ service_account.project }} --user {{ cinder.username }} admin
- name: cinder-service-create
dependencies:
- keystone
type: single
command: openstack service create --name cinder --description "OpenStack Cinder Service" volume
- name: cinder-public-endpoint-create
dependencies:
- cinder-service-create
type: single
command: openstack endpoint create --region RegionOne volume public {{ address('cinder-api', cinder.api_port, external=True, with_scheme=True) }}/v1/$\(project_id\)s
- name: cinder-internal-endpoint-create
dependencies:
- cinder-service-create
type: single
command: openstack endpoint create --region RegionOne volume internal {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v1/$\(project_id\)s
- name: cinder-admin-endpoint-create
dependencies:
- cinder-service-create
type: single
command: openstack endpoint create --region RegionOne volume admin {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v1/$\(project_id\)s
- name: cinder-service-create-v2
dependencies:
- keystone
type: single
command: openstack service create --name cinder --description "OpenStack Cinder Service V2" volumev2
- name: cinder-public-endpoint-create-v2
dependencies:
- cinder-service-create-v2
type: single
command: openstack endpoint create --region RegionOne volumev2 public {{ address('cinder-api', cinder.api_port, external=True, with_scheme=True) }}/v2/$\(project_id\)s
- name: cinder-internal-endpoint-create-v2
dependencies:
- cinder-service-create-v2
type: single
command: openstack endpoint create --region RegionOne volumev2 internal {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v2/$\(project_id\)s
- name: cinder-admin-endpoint-create-v2
dependencies:
- cinder-service-create-v2
type: single
command: openstack endpoint create --region RegionOne volumev2 admin {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v2/$\(project_id\)s
- name: cinder-service-create-v3
dependencies:
- keystone
type: single
command: openstack service create --name cinder --description "OpenStack Cinder Service V3" volumev3
- name: cinder-public-endpoint-create-v3
dependencies:
- cinder-service-create-v3
type: single
command: openstack endpoint create --region RegionOne volumev3 public {{ address('cinder-api', cinder.api_port, external=True, with_scheme=True) }}/v3/$\(project_id\)s
- name: cinder-internal-endpoint-create-v3
dependencies:
- cinder-service-create-v3
type: single
command: openstack endpoint create --region RegionOne volumev3 internal {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v3/$\(project_id\)s
- name: cinder-admin-endpoint-create-v3
dependencies:
- cinder-service-create-v3
type: single
command: openstack endpoint create --region RegionOne volumev3 admin {{ address('cinder-api', cinder.api_port, with_scheme=True) }}/v3/$\(project_id\)s
daemon:
command: cinder-api --config-file /etc/cinder/cinder.conf
files:
- cinder-conf
dependencies:
- memcached
- "{{ messaging.dependencies[messaging.backend.rpc] }}"
- "{{ messaging.dependencies[messaging.backend.notifications] }}"
files:
cinder-conf:
path: /etc/cinder/cinder.conf
content: cinder.conf.j2