blob: 9c1c2ca2badc2054a89204a564fd768dec20f920 [file] [log] [blame]
##################################################################################
# Multi-vim built in types and plugins definitions.
##################################################################################
plugins:
multivim:
executor: central_deployment_agent
#source: https://github.com/cloudify-cosmo/onap-multivim-plugin/archive/2.2.0.zip
source:
package_name: onap-multivim-plugin
package_version: '2.2.0'
node_types:
onap.multivim.nodes.Server:
derived_from: cloudify.nodes.Compute
properties:
server:
default: {}
description: >
key-value server configuration as described in OpenStack compute create server API. (DEPRECATED - Use the args input in create operation instead)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
image:
default: ''
description: >
The image for the server.
May receive either the ID or the name of the image.
note: This property is currently optional for backwards compatibility,
but will be modified to become a required property in future versions
(Default: '').
flavor:
default: ''
description: >
The flavor for the server.
May receive either the ID or the name of the flavor.
note: This property is currently optional for backwards compatibility,
but will be modified to become a required property in future versions
(Default: '').
management_network_name:
default: ''
description: >
Cloudify's management network name.
Every server should be connected to the management network.
If the management network's name information is available in the Provider Context,
this connection is made automatically and there's no need to override this property
(See the Misc section for more information on the Openstack Provider Context).
Otherwise, it is required to set the value of this property to the management network name as it was set in the bootstrap process.
Note: When using Nova-net Openstack (see the Nova-net Support section),
don't set this property. Defaults to '' (empty string).
use_password:
default: false
description: >
A boolean describing whether this server image supports user-password authentication.
Images that do should post the administrator user's password to the Openstack metadata service (e.g. via cloudbase);
The password would then be retrieved by the plugin,
decrypted using the server's keypair and then saved in the server's runtime properties.
multivim_config:
default: {}
description: >
see Openstack Configuraion
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.nova_plugin.server.create
inputs:
args:
default: {}
multivim_config:
default: {}
start:
implementation: openstack.nova_plugin.server.start
inputs:
start_retry_interval:
description: Polling interval until the server is active in seconds
type: integer
default: 30
private_key_path:
description: >
Path to private key which matches the server's
public key. Will be used to decrypt password in case
the "use_password" property is set to "true"
type: string
default: ''
multivim_config:
default: {}
stop:
implementation: openstack.nova_plugin.server.stop
inputs:
multivim_config:
default: {}
delete:
implementation: openstack.nova_plugin.server.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.nova_plugin.server.creation_validation
inputs:
args:
default: {}
multivim_config:
default: {}
onap.multivim.nodes.WindowsServer:
derived_from: onap.multivim.nodes.Server
properties:
use_password:
default: true
description: >
Default changed for derived type
because Windows instances need a password for agent installation
os_family:
default: windows
description: >
(updates the os_family default as a convenience)
agent_config:
type: cloudify.datatypes.AgentConfig
default:
port: 5985
description: >
(updates the defaults for the agent_config for Windows)
onap.multivim.nodes.KeyPair:
derived_from: cloudify.nodes.Root
properties:
keypair:
default: {}
description: >
the keypair object as described by Openstack. This
parameter can be used to override and pass parameters
directly to Nova client.
Note that in the case of keypair, the only nested parameter
that can be used is "name".
private_key_path:
description: >
the path (on the machine the plugin is running on) to
where the private key should be stored. If
use_external_resource is set to "true", the existing
private key is expected to be at this path.
use_external_resource:
type: boolean
default: false
description: >
a boolean describing whether this resource should be
created or rather that it already exists on Openstack
and should be used as-is.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
the name that will be given to the resource on Openstack (excluding optional prefix).
If not provided, a default name will be given instead.
If use_external_resource is set to "true", this exact
value (without any prefixes applied) will be looked for
as either the name or id of an existing keypair to be used.
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.nova_plugin.keypair.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.nova_plugin.keypair.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.nova_plugin.keypair.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Subnet:
derived_from: cloudify.nodes.Subnet
properties:
subnet:
default: {}
description: >
key-value subnet configuration as described at http://developer.openstack.org/api-ref-networking-v2.html#subnets. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.subnet.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.subnet.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.subnet.creation_validation
inputs:
args:
default: {}
multivim_config:
default: {}
onap.multivim.nodes.SecurityGroup:
derived_from: cloudify.nodes.SecurityGroup
properties:
security_group:
default: {}
description: >
key-value security_group configuration as described in http://developer.openstack.org/api-ref-networking-v2-ext.html#createSecGroup. (**DEPRECATED - Use the `args` input in create operation instead**)
description:
type: string
default: ''
description: >
SecurityGroup description.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
rules:
default: []
description: >
key-value security_group_rule configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#security_groups
disable_default_egress_rules:
default: false
description: >
a flag for removing the default rules which https://wiki.openstack.org/wiki/Neutron/SecurityGroups#Behavior. If not set to `true`, these rules will remain, and exist alongside any additional rules passed using the `rules` property.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.security_group.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.security_group.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.security_group.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Router:
derived_from: cloudify.nodes.Router
properties:
router:
default: {}
description: >
key-value router configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#layer3. (**DEPRECATED - Use the `args` input in create operation instead**)
external_network:
default: ''
description: >
An external network name or ID.
If given, the router will use this external network as a gateway.
default_to_managers_external_network:
default: true
description: >
A boolean which determines whether to use the Cloudify Manager's external network if no other external network was given (whether by a relationship, by the `external_network` property or by the nested `external_gateway_info` key in the `router` property). This is only relevant if the manager's external network appears in the Provider-context. Defaults to `true`.
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.router.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.router.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.router.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Port:
derived_from: cloudify.nodes.Port
properties:
port:
default: {}
description: >
key-value port configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#ports. (**DEPRECATED - Use the `args` input in create operation instead**)
fixed_ip:
default: ''
description: >
may be used to request a specific fixed IP for the port.
If the IP is unavailable
(either already taken or does not belong to a subnet the port is on)
an error will be raised.
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.port.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.port.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.port.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Network:
derived_from: cloudify.nodes.Network
properties:
network:
default: {}
description: >
key-value network configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#networks. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.network.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.network.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.network.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.FloatingIP:
derived_from: cloudify.nodes.VirtualIP
properties:
floatingip:
default: {}
description: >
key-value floatingip configuration as described in http://developer.openstack.org/api-ref-networking-v2.html#layer3. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
description: IP address of the floating IP
default: ''
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.neutron_plugin.floatingip.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.neutron_plugin.floatingip.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.neutron_plugin.floatingip.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Volume:
derived_from: cloudify.nodes.Volume
properties:
volume:
default: {}
description: >
key-value volume configuration as described in http://developer.openstack.org/api-ref-blockstorage-v1.html#volumes-v1. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
device_name:
default: auto
description: >
The device name this volume will be attached to.
Default value is *auto*,
which means openstack will auto-assign a device.
Note that if you do explicitly set a value,
this value may not be the actual device name assigned.
Sometimes the device requested will not be available and openstack will assign it to a different device,
this is why we recommend using *auto*.
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
boot:
type: boolean
default: false
description: >
If a Server instance is connected to this Volume by a relationship,
this volume will be used as the boot volume for that Server.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.cinder_plugin.volume.create
inputs:
args:
default: {}
multivim_config:
default: {}
status_attempts:
description: >
Number of times to check for the creation's status before failing
type: integer
default: 20
status_timeout:
description: >
Interval (in seconds) between subsequent inquiries of the creation's
status
type: integer
default: 15
delete:
implementation: openstack.cinder_plugin.volume.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.cinder_plugin.volume.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nova_net.nodes.FloatingIP:
derived_from: cloudify.nodes.VirtualIP
properties:
floatingip:
default: {}
description: >
key-value floatingip configuration as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-floating-ips. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
TODO: CREATE. THIS IS MISSING
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.nova_plugin.floatingip.create
inputs:
args:
default: {}
multivim_config:
default: {}
delete:
implementation: openstack.nova_plugin.floatingip.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.nova_plugin.floatingip.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nova_net.nodes.SecurityGroup:
derived_from: cloudify.nodes.SecurityGroup
properties:
security_group:
default: {}
description: >
key-value security_group configuration as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-security-groups. (**DEPRECATED - Use the `args` input in create operation instead**)
use_external_resource:
type: boolean
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
TODO: CREATE. THIS IS MISSING
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
rules:
default: []
description: >
key-value security group rule as described in http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-security-group-default-rules.
description:
description: security group description
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.nova_plugin.security_group.create
inputs:
args:
default: {}
multivim_config:
default: {}
status_attempts:
description: >
Number of times to check for the attachment's status before failing
type: integer
default: 10
status_timeout:
description: >
Interval (in seconds) between subsequent inquiries of the attachment's
status
type: integer
default: 2
delete:
implementation: openstack.nova_plugin.security_group.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.nova_plugin.security_group.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Image:
derived_from: cloudify.nodes.Root
properties:
image:
description: >
Required parameters are (container_format, disk_format). Accepted
types are available on
http://docs.openstack.org/developer/glance/formats.html
To create an image from the local file its path should be added
in data parameter.
default: {}
image_url:
default: ''
description: >
The openstack resource URL for the image.
use_external_resource:
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.glance_plugin.image.create
inputs:
multivim_config:
default: {}
start:
implementation: openstack.glance_plugin.image.start
inputs:
start_retry_interval:
default: 30
multivim_config:
default: {}
delete:
implementation: openstack.glance_plugin.image.delete
inputs:
multivim_config:
default: {}
cloudify.interfaces.validation:
creation:
implementation: openstack.glance_plugin.image.creation_validation
inputs:
multivim_config:
default: {}
onap.multivim.nodes.Project:
derived_from: cloudify.nodes.Root
properties:
project:
default: {}
description: >
key-value project configuration.
users:
default: []
description: >
List of users assigned to this project in the following format:
{ name: string, roles: [string] }
quota:
default: {}
description: |
A dictionary mapping service names to quota definitions for a proejct
e.g::
quota:
neutron: <quota>
nova: <quota>
use_external_resource:
default: false
description: >
a boolean for setting whether to create the resource or use an existing one.
See the using existing resources section.
create_if_missing:
default: false
description: >
If use_external_resource is ``true`` and the resource is missing,
create it instead of failing.
resource_id:
default: ''
description: >
name to give to the new resource or the name or ID of an existing resource when the ``use_external_resource`` property is set to ``true`` (see the using existing resources section). Defaults to '' (empty string).
multivim_config:
default: {}
description: >
endpoints and authentication configuration for Openstack.
Expected to contain the following nested fields:
username, password, tenant_name, auth_url, region.
interfaces:
cloudify.interfaces.lifecycle:
create: openstack.keystone_plugin.project.create
start: openstack.keystone_plugin.project.start
delete: openstack.keystone_plugin.project.delete
cloudify.interfaces.validation:
creation: openstack.keystone_plugin.project.creation_validation
relationships:
onap.multivim.port_connected_to_security_group:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.neutron_plugin.port.connect_security_group
inputs:
multivim_config:
default: {}
onap.multivim.subnet_connected_to_router:
derived_from: cloudify.relationships.connected_to
target_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.neutron_plugin.router.connect_subnet
inputs:
multivim_config:
default: {}
unlink:
implementation: openstack.neutron_plugin.router.disconnect_subnet
inputs:
multivim_config:
default: {}
onap.multivim.server_connected_to_floating_ip:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.nova_plugin.server.connect_floatingip
inputs:
fixed_ip:
description: >
The fixed IP to be associated with the floating IP.
If omitted, Openstack will choose which port to associate.
type: string
default: ''
multivim_config:
default: {}
unlink:
implementation: openstack.nova_plugin.server.disconnect_floatingip
inputs:
multivim_config:
default: {}
onap.multivim.port_connected_to_floating_ip:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.neutron_plugin.floatingip.connect_port
inputs:
multivim_config:
default: {}
unlink:
implementation: openstack.neutron_plugin.floatingip.disconnect_port
inputs:
multivim_config:
default: {}
onap.multivim.server_connected_to_security_group:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.nova_plugin.server.connect_security_group
inputs:
multivim_config:
default: {}
unlink:
implementation: openstack.nova_plugin.server.disconnect_security_group
inputs:
multivim_config:
default: {}
onap.multivim.server_connected_to_port:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
unlink:
implementation: openstack.neutron_plugin.port.detach
inputs:
multivim_config:
default: {}
onap.multivim.server_connected_to_keypair:
derived_from: cloudify.relationships.connected_to
onap.multivim.port_connected_to_subnet:
derived_from: cloudify.relationships.connected_to
onap.multivim.volume_attached_to_server:
derived_from: cloudify.relationships.connected_to
target_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: openstack.nova_plugin.server.attach_volume
inputs:
multivim_config:
default: {}
status_attempts:
description: >
Number of times to check for the attachment's status before failing
type: integer
default: 10
status_timeout:
description: >
Interval (in seconds) between subsequent inquiries of the attachment's
status
type: integer
default: 2
unlink:
implementation: openstack.nova_plugin.server.detach_volume
inputs:
multivim_config:
default: {}
status_attempts:
description: >
Number of times to check for the detachment's status before failing
type: integer
default: 10
status_timeout:
description: >
Interval (in seconds) between subsequent inquiries of the detachment's
status
type: integer
default: 2