murano/meta/io.murano/Classes/resources/ExistingCinderVolume.yaml
Stan Lagun ec721c7e5c Support for Cinder volumes was added
This change adds core library classes necessary to work with
cinder volumes:

Volume is the base class for cinder volume implementations.
It defines the interface for volumes. The most important methods of it
are "deploy" to deploy the volume and "attachTo" that returns a HOT
snippet to attach the volume to Instance

CinderVolume represents a new volume.
The class wraps OS::Cinder::Volume Heat resource.

ExistingCinderVolume is a Volume implementation for volumes
created outside of Murano.

CinderVolumeBackup and CinderVolumeSnapshot are
adapter classes to wrap around Cinder backups and snapshots
using their ID.

In addition new property "volumes" was added to the Instance class.
It is a mapping of a mounting path to Volume implementations
that the Instance must be attached to. Because the mapping
can be empty (or omitted) new property doesn't break backward
compatibility.

This commit doesn't has boot from volume functionality that need to be
designed separately.

Implements blueprint: cinder-volumes-support

Change-Id: I8ff7f8e4b48e7fb8112271a642cac703db0963aa
2016-01-12 13:37:18 +00:00

28 lines
758 B
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.resources
Name: ExistingCinderVolume
Extends: Volume
Properties:
openstackId:
Contract: $.string().notNull()
Methods:
getRef:
Body:
Return: $.openstackId