`environment` and `resources` properties are no longer used in classes which
inherit `Instance` (local vars are used instead)
Change-Id: I2f3eb64157d2754fedffa66b814f26aa62081456
Closes-Bug: #1326369
`reporter` field is initialized in Environment's `initialize` method,
however it was not declared.
This caused the property to private, i.e. unaccessible from other
classes.
Declaring it with `Runtime` usage solves the problem
Change-Id: Iee74139bb143bd3891bce8e317ef7c047ecf2517
Closes-bug: #1326363
Methods in MuranoPL now can be marked with Usage attribute
to specify whether particular method available for remote
call or not. By default usage is Runtime (not available for
remote call).
Workflow:
migrateVm:
Usage: Action
Arguments:
- killExisting:
Contract: $.bool()
Default: True
Change-Id: If3da3c6bf67aa79d522d82abbf3b5378f72e87ae
Partially-Implements: blueprint application-actions
As the heat format of the Instance has been changed from AWS to HOT,
the PublicIp attribute is not longer available. A "address" should
be used instead.
Also, the resource name has to be renamed from PublicIp to the
assigned-ip, as it is not necessary public
Change-Id: I9a4e99680939b6e31d47a1f181b92d1878f65a5e
Closes-Bug: #1319135
Instance class is too generic and contains some dirty workarounds to differently handle
Windows and Linux images, different ways to bootstrap the instance etc.
It is suggested to add more classes to build a better hierarchy:
Base Instance class becomes abstract and agnostic of the desired OS and agent type
It is inherited by two classes: LinuxInstance and WindowsInstance
LinuxInstance adds a default security rule for Linux, opening a standard SSH port
WindowsInstance adds a default security rule for Windows, opening an RDP port
At the same time WindowsInstance prepares a user-data allowing to use Murano v1 agent
LinuxInstance is inherited by two other classes, having different software config method
LinuxMuranoInstance adds a user-data preparation to configure Murano v2 agent
LinuxUDInstance adds a custom user-data field, allowing the services to supply their own
user data
Change-Id: I7394a10d1940c0cb746df6db9d326375dc5e7ccb
New Heaet features will get added to HOT but possibly not the
older CFN format, and it's easier to make the change now than
later.
The only code change is in heat_stack to look for 'resources'
instead of 'Resources'; all other changes are to the Heat template
sections within PL class definitions. Keys are lower-cased and
in some cases changed to match HOT (e.g. key_name instead of KeyName),
and sections specifying Heat resources add heat_template_version to
the template.
Implements blueprint replace-cfn-templates-with-hot
Change-Id: If4d34cd25a4e964d7555fedf218512d5c0f5615c
The Instance class got an boolean field 'assignFloatingIp', false by default.
If this is set 'true', the instance will attempt to assign a floating ip in one
of its networks (starting from default ones)
NetworkExplorer class got a functionality to dicover the ID of the external network:
- for newly created networks it will use their specified external router's external_gateway_info
- for existing networks it will iterate among all their routers
Change-Id: I754cd41ffacbf2a2ec62ac23c3a5a7883d1e13b5
Closes-Bug: #1314193
Base class 'Network' (io.murano.resources.Network) was added to core package.
This class is an abstract class for network interaction, to be inherited by
engine-specific implementations.
'Environment' class got a 'defaultNetworks' input parameter, containing two
different instances of Network class for two initially supported networking use-cases:
'environment' for a topology when each environment has an isolated network
'flat' for a single network per multiple environments
'Instance' class got a 'networks' input parameter with a default value.
This is a composite parameter indicating which networks the instance should join
If 'useEnvironmentNetwork' is set to 'true' the instance should join an
isolated network of current environment
if 'useFlatNetwork' is set to 'true' the instance should join a single
shared network
Both values may be enabled, so the instance will join both networks.
'customNetworks' field of the same data structure may be used to specify custom
network resources to join
Same commit includes a temporary workaround for bug #1313694
The workaround is needed to properly use default of 'networks' field
The actual implementation of io.murano.resources.Network class should
be done in a separate package, which should be added to app-incubator repo
Change-Id: If2ae332a61900b0dd94cec94c1c140c54079441f
Partial-Bug: #1308921
This patch adds reporting system to engine.
It is used in two major places
a) to report error to API when exception occurs
b) report service status reports to API via workflow as
- $this.find(std:Environment).reporter.report($this, 'Creating VM.')
Change-Id: I7310931482447e174114164ed921bb3fcbfb9d66
Instance tracking information was improved to contain additional
information on instances such as type name, descriptive title
and number of VMs used by the application.
Added ability to retrieve non-aggregated statistics.
Also instance statistics API refactoring was made.
Implements blueprint app-catalog-billing
Change-Id: I8f3ea1a3947ceaf7deb2ee62b4ad41cbf230596e
Added ability to modify/remove data from structures (like Heat
templates) via jsonpatch and thus added ability to clean up Heat
resources that was obtained by deleted instances
Closes bug: #1296624
Change-Id: I4db226a5ab00ff363f8b5d44a5d690df942622e8