Merge "Containerized MongoDB"
This commit is contained in:
commit
1343079855
98
docker/services/database/mongodb.yaml
Normal file
98
docker/services/database/mongodb.yaml
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
heat_template_version: ocata
|
||||||
|
|
||||||
|
description: >
|
||||||
|
MongoDB service deployment using puppet and docker
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
DockerNamespace:
|
||||||
|
description: namespace
|
||||||
|
default: 'tripleoupstream'
|
||||||
|
type: string
|
||||||
|
DockerMongodbImage:
|
||||||
|
description: image
|
||||||
|
default: 'centos-binary-mongodb:latest'
|
||||||
|
type: string
|
||||||
|
EndpointMap:
|
||||||
|
default: {}
|
||||||
|
description: Mapping of service endpoint -> protocol. Typically set
|
||||||
|
via parameter_defaults in the resource registry.
|
||||||
|
type: json
|
||||||
|
ServiceNetMap:
|
||||||
|
default: {}
|
||||||
|
description: Mapping of service_name -> network name. Typically set
|
||||||
|
via parameter_defaults in the resource registry. This
|
||||||
|
mapping overrides those in ServiceNetMapDefaults.
|
||||||
|
type: json
|
||||||
|
DefaultPasswords:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
|
||||||
|
resources:
|
||||||
|
|
||||||
|
MongodbPuppetBase:
|
||||||
|
type: ../../../puppet/services/database/mongodb.yaml
|
||||||
|
properties:
|
||||||
|
EndpointMap: {get_param: EndpointMap}
|
||||||
|
ServiceNetMap: {get_param: ServiceNetMap}
|
||||||
|
DefaultPasswords: {get_param: DefaultPasswords}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
role_data:
|
||||||
|
description: Containerized service Mongodb using composable services.
|
||||||
|
value:
|
||||||
|
service_name: {get_attr: [MongodbPuppetBase, role_data, service_name]}
|
||||||
|
config_settings:
|
||||||
|
map_merge:
|
||||||
|
- get_attr: [MongodbPuppetBase, role_data, config_settings]
|
||||||
|
- mongodb::server::fork: false
|
||||||
|
step_config:
|
||||||
|
list_join:
|
||||||
|
- "\n"
|
||||||
|
- - "['Mongodb_database', 'Mongodb_user', 'Mongodb_replset'].each |String $val| { noop_resource($val) }"
|
||||||
|
- {get_attr: [MongodbPuppetBase, role_data, step_config]}
|
||||||
|
upgrade_tasks: {get_attr: [MongodbPuppetBase, role_data, upgrade_tasks]}
|
||||||
|
# BEGIN DOCKER SETTINGS #
|
||||||
|
docker_image: &mongodb_image
|
||||||
|
list_join:
|
||||||
|
- '/'
|
||||||
|
- [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
|
||||||
|
puppet_tags: file # set this even though file is the default
|
||||||
|
config_volume: mongodb
|
||||||
|
config_image: *mongodb_image
|
||||||
|
kolla_config:
|
||||||
|
/var/lib/kolla/config_files/mongodb.json:
|
||||||
|
command: /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongod.conf run
|
||||||
|
config_files:
|
||||||
|
- dest: /etc/mongod.conf
|
||||||
|
source: /var/lib/kolla/config_files/src/etc/mongod.conf
|
||||||
|
owner: mongodb
|
||||||
|
perm: '0600'
|
||||||
|
- dest: /etc/mongos.conf
|
||||||
|
source: /var/lib/kolla/config_files/src/etc/mongos.conf
|
||||||
|
owner: mongodb
|
||||||
|
perm: '0600'
|
||||||
|
docker_config:
|
||||||
|
step_2:
|
||||||
|
mongodb:
|
||||||
|
image: *mongodb_image
|
||||||
|
net: host
|
||||||
|
privileged: false
|
||||||
|
volumes: &mongodb_volumes
|
||||||
|
- /var/lib/kolla/config_files/mongodb.json:/var/lib/kolla/config_files/config.json
|
||||||
|
- /var/lib/config-data/mongodb/:/var/lib/kolla/config_files/src:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- logs:/var/log/kolla
|
||||||
|
- mongodb:/var/lib/mongodb/
|
||||||
|
environment:
|
||||||
|
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||||
|
docker_puppet_tasks:
|
||||||
|
# MySQL database initialization occurs only on single node
|
||||||
|
step_2:
|
||||||
|
- 'mongodb_init_tasks'
|
||||||
|
- 'mongodb_database,mongodb_user,mongodb_replset'
|
||||||
|
- 'include ::tripleo::profile::base::database::mongodb'
|
||||||
|
- list_join:
|
||||||
|
- '/'
|
||||||
|
- [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
|
||||||
|
- - "mongodb:/var/lib/mongodb"
|
||||||
|
- "logs:/var/log/kolla:ro"
|
Loading…
Reference in New Issue
Block a user