2 # Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
16 tosca_definitions_version: tosca_simple_yaml_1_0
23 multivim plugin executes operations.
31 onap.multivim.datatypes.Config:
33 multivim configuration
53 onap.multivim.datatypes.Rules:
55 multivim security group rules
64 # source: https://developer.multivim.org/api-ref/compute/
66 onap.multivim.datatypes.Server:
85 onap.multivim.datatypes.Keypair:
87 multivim keypair args.
99 # source: https://developer.multivim.org/api-ref/block-storage/v2/index.html
101 onap.multivim.datatypes.Volume:
103 multivim volume args.
130 # source: https://developer.multivim.org/api-ref/image/
132 onap.multivim.datatypes.Image:
159 # source: https://developer.multivim.org/api-ref/identity/v3/
161 onap.multivim.datatypes.Project:
184 # source: https://developer.multivim.org/api-ref/networking/v2/index.html
186 onap.multivim.datatypes.Subnet:
188 multivim subnet args.
214 onap.multivim.datatypes.Port:
240 onap.multivim.datatypes.Network:
242 multivim network args
261 onap.multivim.datatypes.SecurityGroup:
263 multivim network args
268 port_security_enabled:
291 onap.multivim.datatypes.Router:
293 multivim network args
302 onap.multivim.datatypes.FloatingIP:
304 multivim network args
315 floating_network_name:
334 onap.multivim.interfaces.validation:
335 derived_from: tosca.interfaces.Root
338 creation operation for the multivim validation interface
341 deletion operation for the multivim validation interface
346 onap.multivim.nodes.Server:
347 derived_from: tosca.nodes.Compute
351 type: onap.multivim.datatypes.Server
358 Property specifying what type of operating system family
359 this compute node will run.
362 use_external_resource:
366 a boolean for setting whether to create the resource or use an existing one.
367 See the using existing resources section.
372 If use_external_resource is ``true`` and the resource is missing,
373 create it instead of failing.
378 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).
383 The image for the server.
384 May receive either the ID or the name of the image.
385 note: This property is currently optional for backwards compatibility,
386 but will be modified to become a required property in future versions
392 The flavor for the server.
393 May receive either the ID or the name of the flavor.
394 note: This property is currently optional for backwards compatibility,
395 but will be modified to become a required property in future versions
401 A boolean describing whether this server image supports user-password authentication.
402 Images that do should post the administrator user's password to the Openstack metadata service (e.g. via cloudbase);
403 The password would then be retrieved by the plugin,
404 decrypted using the server's keypair and then saved in the server's runtime properties.
405 management_network_name:
408 The current implementation of the multivim plugin requires this field. The value of
409 this field should be set to the multivim name of a network this server is attached to.
411 type: onap.multivim.datatypes.Config
414 see Openstack Configuraion
418 implementation: onap-multivim-plugin > nova_plugin.server.create
423 type: onap.multivim.datatypes.Server
425 implementation: onap-multivim-plugin > nova_plugin.server.start
427 start_retry_interval:
434 stop: onap-multivim-plugin > nova_plugin.server.stop
435 delete: onap-multivim-plugin > nova_plugin.server.delete
437 type: onap.multivim.interfaces.validation
439 implementation: onap-multivim-plugin > nova_plugin.server.creation_validation
444 type: onap.multivim.datatypes.Server
448 capability: tosca.capabilities.Node
449 node: onap.multivim.nodes.FloatingIP
450 relationship: onap.multivim.server_connected_to_floating_ip
451 occurrences: [ 0, UNBOUNDED ]
453 capability: tosca.capabilities.Node
454 node: onap.multivim.nodes.SecurityGroup
455 relationship: onap.multivim.server_connected_to_security_group
456 occurrences: [ 0, UNBOUNDED ]
458 capability: tosca.capabilities.Node
459 node: onap.multivim.nodes.Port
460 relationship: onap.multivim.server_connected_to_port
461 occurrences: [ 0, UNBOUNDED ]
463 capability: tosca.capabilities.Node
464 node: onap.multivim.nodes.KeyPair
465 relationship: onap.multivim.server_connected_to_keypair
466 occurrences: [ 0, UNBOUNDED ]
471 onap.multivim.nodes.WindowsServer:
472 derived_from: onap.multivim.nodes.Server
478 Default changed for derived type
479 because Windows instances need a password for agent installation
484 (updates the os_family default as a convenience)
486 onap.multivim.nodes.KeyPair:
487 derived_from: tosca.nodes.Root
491 type: onap.multivim.datatypes.Keypair
494 the path (on the machine the plugin is running on) to
495 where the private key should be stored. If
496 use_external_resource is set to "true", the existing
497 private key is expected to be at this path.
500 the path (on the machine the plugin is running on) to
501 where the private key should be stored. If
502 use_external_resource is set to "true", the existing
503 private key is expected to be at this path.
505 use_external_resource:
509 a boolean describing whether this resource should be
510 created or rather that it already exists on Openstack
511 and should be used as-is.
516 If use_external_resource is ``true`` and the resource is missing,
517 create it instead of failing.
522 the name that will be given to the resource on Openstack (excluding optional prefix).
523 If not provided, a default name will be given instead.
524 If use_external_resource is set to "true", this exact
525 value (without any prefixes applied) will be looked for
526 as either the name or id of an existing keypair to be used.
528 type: onap.multivim.datatypes.Config
533 implementation: onap-multivim-plugin > nova_plugin.keypair.create
538 type: onap.multivim.datatypes.Keypair
540 delete: onap-multivim-plugin > nova_plugin.keypair.delete
543 type: onap.multivim.interfaces.validation
544 creation: onap-multivim-plugin > nova_plugin.keypair.creation_validation
548 type: tosca.capabilities.Node
550 onap.multivim.nodes.Subnet:
551 derived_from: tosca.nodes.Root
554 type: onap.multivim.datatypes.Subnet
558 use_external_resource:
562 a boolean for setting whether to create the resource or use an existing one.
563 See the using existing resources section.
568 If use_external_resource is ``true`` and the resource is missing,
569 create it instead of failing.
574 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).
576 type: onap.multivim.datatypes.Config
581 implementation: onap-multivim-plugin > neutron_plugin.subnet.create
585 type: onap.multivim.datatypes.Subnet
588 delete: onap-multivim-plugin > neutron_plugin.subnet.delete
590 type: onap.multivim.interfaces.validation
592 implementation: onap-multivim-plugin > neutron_plugin.subnet.creation_validation
595 type: onap.multivim.datatypes.Subnet
602 capability: tosca.capabilities.Node
603 node: onap.multivim.nodes.Router
604 relationship: onap.multivim.subnet_connected_to_router
605 occurrences: [ 0, UNBOUNDED ]
607 capability: tosca.capabilities.Node
608 node: onap.multivim.nodes.Network
611 type: tosca.capabilities.Node
613 onap.multivim.nodes.SecurityGroup:
614 derived_from: tosca.nodes.Root
617 type: onap.multivim.datatypes.SecurityGroup
624 SecurityGroup description.
629 If use_external_resource is ``true`` and the resource is missing,
630 create it instead of failing.
631 use_external_resource:
635 a boolean for setting whether to create the resource or use an existing one.
636 See the using existing resources section.
641 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).
643 type: onap.multivim.datatypes.Config
648 entry_schema: onap.multivim.datatypes.Rules
649 disable_default_egress_rules:
653 a flag for removing the default rules which https://wiki.multivim.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.
657 implementation: onap-multivim-plugin > neutron_plugin.security_group.create
660 type: onap.multivim.datatypes.SecurityGroup
663 delete: onap-multivim-plugin > neutron_plugin.security_group.delete
666 type: onap.multivim.interfaces.validation
667 creation: onap-multivim-plugin > neutron_plugin.security_group.creation_validation
671 type: tosca.capabilities.Node
673 onap.multivim.nodes.Router:
674 derived_from: tosca.nodes.Root
677 type: onap.multivim.datatypes.Router
684 An external network name or ID.
685 If given, the router will use this external network as a gateway.
686 use_external_resource:
690 a boolean for setting whether to create the resource or use an existing one.
691 See the using existing resources section.
696 If use_external_resource is ``true`` and the resource is missing,
697 create it instead of failing.
701 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).
704 type: onap.multivim.datatypes.Config
710 implementation: onap-multivim-plugin > neutron_plugin.router.create
714 type: onap.multivim.datatypes.Router
716 delete: onap-multivim-plugin > neutron_plugin.router.delete
718 type: onap.multivim.interfaces.validation
719 creation: onap-multivim-plugin > neutron_plugin.router.creation_validation
723 type: tosca.capabilities.Node
725 onap.multivim.nodes.Port:
726 derived_from: tosca.nodes.Root
729 type: onap.multivim.datatypes.Port
736 may be used to request a specific fixed IP for the port.
737 If the IP is unavailable
738 (either already taken or does not belong to a subnet the port is on)
739 an error will be raised.
740 use_external_resource:
744 a boolean for setting whether to create the resource or use an existing one.
745 See the using existing resources section.
750 If use_external_resource is ``true`` and the resource is missing,
751 create it instead of failing.
756 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).
758 type: onap.multivim.datatypes.Config
764 implementation: onap-multivim-plugin > neutron_plugin.port.create
768 type: onap.multivim.datatypes.Port
771 delete: onap-multivim-plugin > neutron_plugin.port.delete
774 type: onap.multivim.interfaces.validation
775 creation: onap-multivim-plugin > neutron_plugin.port.creation_validation
779 capability: tosca.capabilities.Node
780 node: onap.multivim.nodes.SecurityGroup
781 relationship: onap.multivim.port_connected_to_security_group
782 occurrences: [ 0, UNBOUNDED ]
784 capability: tosca.capabilities.Node
785 node: onap.multivim.nodes.FloatingIP
786 relationship: onap.multivim.port_connected_to_floating_ip
787 occurrences: [ 0, UNBOUNDED ]
789 capability: tosca.capabilities.Node
790 node: onap.multivim.nodes.Subnet
791 relationship: onap.multivim.port_connected_to_subnet
793 capability: tosca.capabilities.Node
794 node: onap.multivim.nodes.Network
795 occurrences: [ 0, UNBOUNDED ]
798 type: tosca.capabilities.Node
800 onap.multivim.nodes.Network:
801 derived_from: tosca.nodes.Root
804 type: onap.multivim.datatypes.Network
807 use_external_resource:
811 a boolean for setting whether to create the resource or use an existing one.
812 See the using existing resources section.
817 If use_external_resource is ``true`` and the resource is missing,
818 create it instead of failing.
823 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).
825 type: onap.multivim.datatypes.Config
830 implementation: onap-multivim-plugin > neutron_plugin.network.create
834 type: onap.multivim.datatypes.Network
837 delete: onap-multivim-plugin > neutron_plugin.network.delete
840 type: onap.multivim.interfaces.validation
841 creation: onap-multivim-plugin > neutron_plugin.network.creation_validation
845 type: tosca.capabilities.Node
847 onap.multivim.nodes.FloatingIP:
848 derived_from: tosca.nodes.Root
854 type: onap.multivim.datatypes.FloatingIP
857 use_external_resource:
861 a boolean for setting whether to create the resource or use an existing one.
862 See the using existing resources section.
867 If use_external_resource is ``true`` and the resource is missing,
868 create it instead of failing.
870 description: IP address of the floating IP
874 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).
876 type: onap.multivim.datatypes.Config
882 implementation: onap-multivim-plugin > neutron_plugin.floatingip.create
886 type: onap.multivim.datatypes.FloatingIP
889 delete: onap-multivim-plugin > neutron_plugin.floatingip.delete
892 type: onap.multivim.interfaces.validation
893 creation: onap-multivim-plugin > neutron_plugin.floatingip.creation_validation
897 type: tosca.capabilities.Node
899 onap.multivim.nodes.Volume:
900 derived_from: tosca.nodes.Root
904 type: onap.multivim.datatypes.Volume
906 key-value volume configuration as described in http://developer.multivim.org/api-ref-blockstorage-v1.html#volumes-v1. (**DEPRECATED - Use the `args` input in create operation instead**)
907 use_external_resource:
911 a boolean for setting whether to create the resource or use an existing one.
912 See the using existing resources section.
917 If use_external_resource is ``true`` and the resource is missing,
918 create it instead of failing.
923 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).
928 The device name this volume will be attached to.
929 Default value is *auto*,
930 which means multivim will auto-assign a device.
931 Note that if you do explicitly set a value,
932 this value may not be the actual device name assigned.
933 Sometimes the device requested will not be available and multivim will assign it to a different device,
934 this is why we recommend using *auto*.
936 type: onap.multivim.datatypes.Config
942 If a Server instance is connected to this Volume by a relationship,
943 this volume will be used as the boot volume for that Server.
947 implementation: onap-multivim-plugin > cinder_plugin.volume.create
951 type: onap.multivim.datatypes.Volume
956 Number of times to check for the creation's status before failing
961 Interval (in seconds) between subsequent inquiries of the creation's
965 delete: onap-multivim-plugin > cinder_plugin.volume.delete
968 type: onap.multivim.interfaces.validation
969 creation: onap-multivim-plugin > cinder_plugin.volume.creation_validation
973 capability: tosca.capabilities.Node
974 node: onap.multivim.nodes.Server
975 relationship: onap.multivim.volume_attached_to_server
977 onap.multivim.nodes.Image:
978 derived_from: tosca.nodes.Root
982 Required parameters are (container_format, disk_format). Accepted
983 types are available on
984 http://docs.multivim.org/developer/glance/formats.html
985 To create an image from the local file its path should be added
994 The multivim resource URL for the image.
995 use_external_resource:
999 a boolean for setting whether to create the resource or use an existing one.
1000 See the using existing resources section.
1005 If use_external_resource is ``true`` and the resource is missing,
1006 create it instead of failing.
1011 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).
1013 type: onap.multivim.datatypes.Config
1017 create: onap-multivim-plugin > glance_plugin.image.create
1020 implementation: onap-multivim-plugin > glance_plugin.image.start
1022 start_retry_interval:
1026 delete: onap-multivim-plugin > glance_plugin.image.delete
1029 type: onap.multivim.interfaces.validation
1030 creation: onap-multivim-plugin > glance_plugin.image.creation_validation
1032 onap.multivim.nodes.Project:
1033 derived_from: tosca.nodes.Root
1037 type: onap.multivim.datatypes.Project
1039 key-value project configuration.
1043 entry_schema: string
1045 List of users assigned to this project in the following format:
1046 { name: string, roles: [string] }
1050 entry_schema: string
1052 A dictionary mapping service names to quota definitions for a proejct
1059 use_external_resource:
1063 a boolean for setting whether to create the resource or use an existing one.
1064 See the using existing resources section.
1069 If use_external_resource is ``true`` and the resource is missing,
1070 create it instead of failing.
1075 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).
1077 type: onap.multivim.datatypes.Config
1081 create: multivim.keystone_plugin.project.create
1082 start: multivim.keystone_plugin.project.start
1083 delete: multivim.keystone_plugin.project.delete
1085 type: onap.multivim.interfaces.validation
1086 creation: multivim.keystone_plugin.project.creation_validation
1091 onap.multivim.port_connected_to_security_group:
1092 derived_from: ConnectsTo
1095 add_source: onap-multivim-plugin > neutron_plugin.port.connect_security_group
1097 onap.multivim.subnet_connected_to_router:
1098 derived_from: ConnectsTo
1101 add_target: onap-multivim-plugin > neutron_plugin.router.connect_subnet
1102 remove_target: onap-multivim-plugin > neutron_plugin.router.disconnect_subnet
1104 onap.multivim.server_connected_to_floating_ip:
1105 derived_from: ConnectsTo
1109 implementation: onap-multivim-plugin > nova_plugin.server.connect_floatingip
1113 The fixed IP to be associated with the floating IP.
1114 If omitted, Openstack will choose which port to associate.
1117 remove_source: onap-multivim-plugin > nova_plugin.server.disconnect_floatingip
1119 onap.multivim.port_connected_to_floating_ip:
1120 derived_from: ConnectsTo
1123 add_source: onap-multivim-plugin > neutron_plugin.floatingip.connect_port
1124 remove_source: onap-multivim-plugin > neutron_plugin.floatingip.disconnect_port
1126 onap.multivim.server_connected_to_security_group:
1127 derived_from: ConnectsTo
1130 add_source: onap-multivim-plugin > nova_plugin.server.connect_security_group
1131 remove_source: onap-multivim-plugin > nova_plugin.server.disconnect_security_group
1133 onap.multivim.server_connected_to_port:
1134 derived_from: ConnectsTo
1137 remove_source: onap-multivim-plugin > neutron_plugin.port.detach
1139 onap.multivim.server_connected_to_keypair:
1140 derived_from: ConnectsTo
1142 onap.multivim.port_connected_to_subnet:
1143 derived_from: ConnectsTo
1145 onap.multivim.volume_attached_to_server:
1146 derived_from: ConnectsTo
1150 implementation: onap-multivim-plugin > nova_plugin.server.attach_volume
1155 Number of times to check for the attachment's status before failing
1160 Interval (in seconds) between subsequent inquiries of the attachment's
1165 implementation: onap-multivim-plugin > nova_plugin.server.detach_volume
1170 Number of times to check for the detachment's status before failing
1175 Interval (in seconds) between subsequent inquiries of the detachment's