3103a4f5e5
Replace the deprecated term, Usage: Action, with the new term, Scope: Public, in the file, Environment.yaml. This will remove the deprecated warning messages in the murano-engine log file. Change-Id: I2f798bac1b2fd60ead1a2396ad1d24def300a33d Closes-Bug: 1763836
144 lines
3.8 KiB
YAML
144 lines
3.8 KiB
YAML
# 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:
|
|
=: io.murano
|
|
res: io.murano.resources
|
|
sys: io.murano.system
|
|
|
|
Name: Environment
|
|
|
|
Properties:
|
|
name:
|
|
Contract: $.string().notNull()
|
|
|
|
applications:
|
|
Contract: [$.class(Application).owned().notNull()]
|
|
|
|
agentListener:
|
|
Contract: $.class(sys:AgentListener)
|
|
Usage: Runtime
|
|
|
|
stack:
|
|
Contract: $.class(sys:HeatStack)
|
|
Usage: Runtime
|
|
|
|
instanceNotifier:
|
|
Contract: $.class(sys:InstanceNotifier)
|
|
Usage: Runtime
|
|
|
|
defaultNetworks:
|
|
Contract:
|
|
environment: $.template(res:Network)
|
|
flat: $.template(res:Network)
|
|
|
|
securityGroupManager:
|
|
Contract: $.class(sys:SecurityGroupManager)
|
|
Usage: Runtime
|
|
|
|
reporter:
|
|
Contract: $.class(sys:StatusReporter)
|
|
Usage: Runtime
|
|
|
|
regionConfigs:
|
|
Contract:
|
|
$.string():
|
|
agentRabbitMq:
|
|
host: $.string().notNull()
|
|
port: $.int() or 5672
|
|
login: $.string().notNull()
|
|
password: $.string().notNull()
|
|
virtual_host: $.string() or '/'
|
|
ssl: $.bool() or false
|
|
insecure: $.bool() or false
|
|
Usage: Config
|
|
|
|
region:
|
|
Contract: $.string()
|
|
Usage: InOut
|
|
|
|
homeRegionName:
|
|
Contract: $.string()
|
|
Usage: Runtime
|
|
|
|
regions:
|
|
Contract:
|
|
$.string(): $.class(CloudRegion)
|
|
Usage: InOut
|
|
|
|
|
|
Methods:
|
|
.init:
|
|
Body:
|
|
- $.homeRegionName: config(home_region) or ''
|
|
- $._assignRegions()
|
|
- $.instanceNotifier: new(sys:InstanceNotifier, environment => $this)
|
|
- $.reporter: new(sys:StatusReporter, environment => $this)
|
|
- $.regions: $.regions + $.regionConfigs.keys().
|
|
where($ and not $this.regions.containsKey($)).
|
|
select($this._createRegion($)).
|
|
toDict($.name)
|
|
- If: not $.regions.containsKey('')
|
|
Then:
|
|
- If: $.homeRegionName
|
|
Then:
|
|
$.regions['']: $.regions[$.homeRegionName]
|
|
Else:
|
|
$.regions['']: $._createRegion('')
|
|
|
|
- $defaultRegion: $.regions['']
|
|
- $.stack: $defaultRegion.stack
|
|
- $.securityGroupManager: $defaultRegion.securityGroupManager
|
|
|
|
_createRegion:
|
|
Arguments:
|
|
regionName:
|
|
Contract: $.string()
|
|
Body:
|
|
- $envNet: $.defaultNetworks.environment?.set(regionName => $regionName)
|
|
- $flatNet: $.defaultNetworks.flat?.set(regionName => $regionName)
|
|
- Return: new(CloudRegion, $this,
|
|
name => $regionName,
|
|
defaultNetworks => {
|
|
environment => $envNet,
|
|
flat => $flatNet
|
|
}
|
|
)
|
|
|
|
deploy:
|
|
Scope: Public
|
|
Body:
|
|
- $.applications.pselect($.deploy())
|
|
|
|
_assignRegions:
|
|
Body:
|
|
- If: $.region = null
|
|
Then:
|
|
$.region: $.homeRegionName
|
|
|
|
- $defaultRegionConfig:
|
|
agentRabbitMq:
|
|
host: config(rabbitmq, host)
|
|
port: config(rabbitmq, port)
|
|
login: config(rabbitmq, login)
|
|
password: config(rabbitmq, password)
|
|
virtual_host: config(rabbitmq, virtual_host)
|
|
ssl: config(rabbitmq, ssl)
|
|
|
|
- If: not $.regionConfigs.containsKey('')
|
|
Then:
|
|
- $.regionConfigs: $.regionConfigs.set('' => $defaultRegionConfig)
|
|
|
|
- If: $.homeRegionName and not $.regionConfigs.containsKey($.homeRegionName)
|
|
Then:
|
|
- $.regionConfigs: $.regionConfigs.set($.homeRegionName => $defaultRegionConfig)
|