solar/schema/simple.yml
2015-03-27 16:58:47 -07:00

79 lines
2.8 KiB
YAML

---
# we need strategy around versioning, because right now there is
# too many moving components, and such approach doesnt scale
version: v1
# each orchestration item should have identity
id: simple_profile
# description should be optional
description: "The basic openstack installation, everything on one node, without ha"
type: profile
# how to approach life cycle management? one way to do it is to add notion
# of event (deployment, maintenance, upgrade, patch)
# or maybe there will be no difference between them and we can
# drop this field
# event: deployment
# this is custom executable that will prepare our definition for the
# deployment by this handler
driver: ansible
# profile should be able to define resources that are not connected
# to any role
# resources:
# - ref: docker
roles:
# id is used to specify that current entity created right here
- id: localhost
type: role
resources:
id: keys
- id: controller
type: role
# version: v1
resources:
# ref is used to specify that resource is created externally
- ref: images
overwrite:
list:
- kollaglue/centos-rdo-glance-registry
- kollaglue/centos-rdo-glance-api
- kollaglue/centos-rdo-keystone
- kollaglue/centos-rdo-mariadb-data
- kollaglue/centos-rdo-mariadb-app
- kollaglue/centos-rdo-nova-conductor:latest
- kollaglue/centos-rdo-nova-api:latest
- kollaglue/centos-rdo-nova-scheduler:latest
- kollaglue/centos-rdo-nova-libvirt
- kollaglue/centos-rdo-nova-network
- kollaglue/centos-rdo-nova-compute
- kollaglue/centos-rdo-rabbitmq
services:
- id: compute
type: service
resources:
# it is required that ebtables module will be loaded
# for nova-compute service, and it is not possible
# to load additional modules from container itself
- id: enable_ebtables
type: resource
handler: playbook
run:
- shell: modprobe ebtables
- ref: compose
# overwrite will be used to change default settings on resource
overwrite:
# how to find them?
# 1. relative path
item: nova-compute-network.yml
# required to make roles and services loosely coupled
provides:
# how to fetch information for node?
endpoint: {{network.management.ip}}:{{compute.api.port}}
- id: rabbitmq
type: service
resources:
- ref: compose
overwrite:
item: rabbitmq.yml
endpoint: {{node.management.ip}}:5572
- ref: mariadb