# 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: rocky 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 DefaultPasswords: default: {} 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