# 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. Namespaces: =: org.openstack std: io.murano res: io.murano.resources sys: io.murano.system Name: Rally Extends: std:Application Properties: name: Contract: $.string().notNull() instance: Contract: $.class(res:LinuxMuranoInstance).notNull() repository: Contract: $.string().notNull() Default: https://git.openstack.org/openstack/rally version: Contract: $.string().notNull() Default: master Methods: initialize: Body: - $._environment: $.find(std:Environment).require() deploy: Body: - If: not $.getAttr(deployed, false) Then: # Set deployed to true first to avoid race conditions - $.setAttr(deployed, true) - $._environment.reporter.report($this, 'Creating VM for Rally...') - $._environment.securityGroupManager.addGroupIngress($securityGroupIngress) - $.instance.deploy() - $resources: new(sys:Resources) - $._environment.reporter.report($this, 'Instance has been created. Installing Rally...') # Install Rally - $template: $resources.yaml('InstallRally.template').bind(dict( repository => $.repository, version => $.version )) - $.instance.agent.call($template, $resources) - $._environment.reporter.report($this, 'Rally has been installed.')