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