tripleo-heat-templates/deployment/veritas-hyperscale/veritas-hyperscale-controll...

128 lines
4.6 KiB
YAML

# Copyright (c) 2017 Veritas Technologies LLC.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
heat_template_version: wallaby
description: >
Openstack Veritas HyperScale backend
parameters:
VrtsRabbitPassword:
type: string
description: The Rabbitmq password of the hyperscale user. Mandatory.
VrtsKeystonePassword:
type: string
description: The Keystone password of the hyperscale service. Mandatory.
VrtsMysqlPassword:
type: string
description: The MySQL password of the hyperscale user. Mandatory.
VrtsCtrlMgmtIP:
type: string
default: ''
description: The management IP of HyperScale. The value will be inferred
from the rest of the deployment settings if left blank.
VrtsDashboardIP:
type: string
default: ''
description: The dashboard IP of HyperScale. The value will be inferred
from the rest of the deployment settings if left blank.
VrtsZookeeperIP:
type: string
description: The IP of a node where Zookeeper is configured. Mandatory.
VrtsSSHPassword:
type: string
description: The SSH password of the hyperscale user. Mandatory.
VrtsConfigParam1:
type: string
default: ''
description: Additional config parameter. Optional.
VrtsConfigParam2:
type: string
default: ''
description: Additional config parameter. Optional.
VrtsConfigParam3:
type: string
default: ''
description: Additional config parameter. Optional.
ServiceData:
default: {}
description: Dictionary packing service data
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
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
type: json
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
outputs:
role_data:
description: Install Veritas HyperScale packages for controller.
value:
service_name: veritas_hyperscale_controller
config_settings:
global_config_settings:
vrts_ctrl_mgmt_ip: {get_param: VrtsCtrlMgmtIP}
vrts_dashboard_ip: {get_param: VrtsDashboardIP}
vrts_zookeeper_ip: {get_param: VrtsZookeeperIP}
vrts_ssh_passwd: {get_param: VrtsSSHPassword}
vrts_config_param1: {get_param: VrtsConfigParam1}
vrts_config_param2: {get_param: VrtsConfigParam2}
vrts_config_param3: {get_param: VrtsConfigParam3}
step_config: |
include ::veritas_hyperscale::controller_pkg_inst
service_config_settings:
rabbitmq:
vrts_rabbitmq_passwd: {get_param: VrtsRabbitPassword}
mysql:
vrts_mysql_passwd: {get_param: VrtsMysqlPassword}
keystone_resources:
hyperscale:
# Replicating what was done with Puppet manifest:
# https://github.com/vtas-hyperscale-ci/puppet-veritas_hyperscale/blob/7c7868adb027c5bcfdcb6fc9d86610470759ae28/manifests/hs_keystone.pp#L17
# Moving forward, we should have the Veritas part of EndpointMap so the service
# can live outside of the Keystone node.
endpoints:
public: &veritas_endpoint
make_url:
scheme: {get_param: [EndpointMap, KeystoneAdmin, protocol]}
host: {get_param: [EndpointMap, KeystoneAdmin, host]}
port: 8753
path: /v1/%(tenant_id)s
internal: *veritas_endpoint
admin: *veritas_endpoint
users:
hyperscale:
password: {get_param: VrtsKeystonePassword}
region: {get_param: KeystoneRegion}
service: 'infrastructure'
roles:
- infra_admin