Use a new per-service format

Note: whilst this is a large patch, most of it is just moving stuff around.

This has a number of benefits now:
- generate the marathon/chronos files
- one file per running container (easier to manage changes)
- no need to redefine lots of marathon attributes
- to create special marathon attributes specify them under
  "service"/"task" or "container" depending on the attribute
  and it will override the value in services/default.marathon.j2
- render the command's files just before running the command
  (previously there was a risk of rendering the files too early)

We can benefit from the changes with a little more work:
- any update tasks can be easily separated from the service

Change-Id: I007c2859b9d4bf8e9b984cbeba93456a9ce06f29
This commit is contained in:
Angus Salkeld
2016-02-06 09:42:50 +10:00
parent a72bed88b9
commit 1f95680a32
44 changed files with 941 additions and 1168 deletions

View File

@@ -0,0 +1,21 @@
name: openstack/cinder/cinder-scheduler
container:
image: "{{ cinder_scheduler_image }}:{{ cinder_scheduler_tag }}"
service:
daemon:
dependencies: [cinder_ansible_tasks/create_user,
keystone_ansible_tasks/running,
rabbitmq/daemon]
command: /usr/bin/cinder-scheduler
files:
cinder.conf.j2:
source: ["config/cinder/templates/cinder.conf.j2",
"config/cinder/templates/cinder-{{ cinder_volume_driver }}.conf.j2",
"/etc/kolla-mesos/config/global.conf",
"/etc/kolla-mesos/config/database.conf",
"/etc/kolla-mesos/config/messaging.conf",
"/etc/kolla-mesos/config/cinder.conf",
"/etc/kolla-mesos/config/cinder/cinder-scheduler.conf"]
dest: /etc/cinder/cinder.conf
owner: cinder
perm: "0600"