Provide support status info for some resources

Define the support_status attribute for resources added during the
icehouse and juno cycles. The `version` provided is the tag of the
stable release.

Implements: blueprint heat-templates
Change-Id: Ic1b14bfa338cddc91ae235ccec47241cc97d26ef
This commit is contained in:
Gauvain Pocentek 2014-09-04 18:07:24 +02:00
parent 140fe9081e
commit 14bda35b52
22 changed files with 82 additions and 0 deletions

View File

@ -28,6 +28,7 @@ from heat.engine import properties
from heat.engine import rsrc_defn
from heat.engine import scheduler
from heat.engine import stack_resource
from heat.engine import support
from heat.openstack.common import log as logging
from heat.scaling import cooldown
from heat.scaling import template
@ -443,6 +444,8 @@ class InstanceGroup(stack_resource.StackResource):
class AutoScalingGroup(InstanceGroup, cooldown.CooldownMixin):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
AVAILABILITY_ZONES, LAUNCH_CONFIGURATION_NAME, MAX_SIZE, MIN_SIZE,
COOLDOWN, DESIRED_CAPACITY, HEALTH_CHECK_GRACE_PERIOD,

View File

@ -17,6 +17,7 @@ from heat.common import exception
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.engine import watchrule
@ -243,6 +244,8 @@ class CeilometerAlarm(resource.Resource):
class CombinationAlarm(resource.Resource):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
ALARM_IDS, OPERATOR,
) = (

View File

@ -498,6 +498,8 @@ class PoolMember(neutron.NeutronResource):
A resource to handle load balancer members.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
POOL_ID, ADDRESS, PROTOCOL_PORT, WEIGHT, ADMIN_STATE_UP,
) = (

View File

@ -15,6 +15,7 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine.resources.neutron import neutron
from heat.engine import support
class MeteringLabel(neutron.NeutronResource):
@ -22,6 +23,8 @@ class MeteringLabel(neutron.NeutronResource):
A resource for creating neutron metering label.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
NAME, DESCRIPTION,
) = (
@ -82,6 +85,8 @@ class MeteringRule(neutron.NeutronResource):
A resource to create rule for some label.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
METERING_LABEL_ID, REMOTE_IP_PREFIX, DIRECTION, EXCLUDED,
) = (

View File

@ -27,6 +27,8 @@ class NetworkGateway(neutron.NeutronResource):
A resource for the Network Gateway resource in Neutron Network Gateway.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
NAME, DEVICES, CONNECTIONS,
) = (

View File

@ -16,9 +16,13 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine.resources.neutron import net
from heat.engine import support
class ProviderNet(net.Net):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
NAME, PROVIDER_NETWORK_TYPE, PROVIDER_PHYSICAL_NETWORK,
PROVIDER_SEGMENTATION_ID, ADMIN_STATE_UP, SHARED,

View File

@ -15,10 +15,13 @@ from heat.common import exception
from heat.engine import constraints
from heat.engine import properties
from heat.engine.resources.neutron import neutron
from heat.engine import support
class SecurityGroup(neutron.NeutronResource):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
NAME, DESCRIPTION, RULES,
) = (

View File

@ -17,12 +17,15 @@ from heat.common.i18n import _
from heat.engine import attributes
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
class NovaFloatingIp(resource.Resource):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (POOL,) = ('pool',)
ATTRIBUTES = (
@ -93,6 +96,8 @@ class NovaFloatingIp(resource.Resource):
class NovaFloatingIpAssociation(resource.Resource):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
SERVER, FLOATING_IP
) = (

View File

@ -17,6 +17,7 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
class KeyPair(resource.Resource):
@ -33,6 +34,8 @@ class KeyPair(resource.Resource):
save.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
NAME, SAVE_PRIVATE_KEY, PUBLIC_KEY,
) = (

View File

@ -14,6 +14,7 @@ from heat.common.i18n import _
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
class ServerGroup(resource.Resource):
@ -21,6 +22,8 @@ class ServerGroup(resource.Resource):
A resource for managing a Nova server group.
"""
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (
NAME, POLICIES
) = (

View File

@ -17,6 +17,7 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.openstack.common import log as logging
from heat.openstack.common import uuidutils
@ -28,6 +29,8 @@ class OSDBInstance(resource.Resource):
OpenStack cloud database instance resource.
'''
support_status = support.SupportStatus(version='2014.1')
TROVE_STATUS = (
ERROR, FAILED, ACTIVE,
) = (

View File

@ -31,6 +31,9 @@ class RandomString(resource.Resource):
This is useful for configuring passwords and secrets on services.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
LENGTH, SEQUENCE, CHARACTER_CLASSES, CHARACTER_SEQUENCES,
SALT,

View File

@ -20,6 +20,7 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine import stack_resource
from heat.engine import support
from heat.engine import template
template_template = {
@ -65,6 +66,8 @@ class ResourceGroup(stack_resource.StackResource):
used for substitution can be customized by using the `index_var` property.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
COUNT, INDEX_VAR, RESOURCE_DEF,
) = (

View File

@ -15,10 +15,13 @@ from heat.engine import properties
from heat.engine import resource
from heat.engine.resources.neutron import neutron
from heat.engine.resources.vpc import VPC
from heat.engine import support
class RouteTable(resource.Resource):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
VPC_ID, TAGS,
) = (

View File

@ -18,6 +18,7 @@ from heat.common.i18n import _
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
@ -30,6 +31,8 @@ SAHARA_NAME_REGEX = (r"^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]"
class SaharaNodeGroupTemplate(resource.Resource):
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (
NAME, PLUGIN_NAME, HADOOP_VERSION, FLAVOR,
DESCRIPTION, VOLUMES_PER_NODE, VOLUMES_SIZE,
@ -172,6 +175,8 @@ class SaharaNodeGroupTemplate(resource.Resource):
class SaharaClusterTemplate(resource.Resource):
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (
NAME, PLUGIN_NAME, HADOOP_VERSION, DESCRIPTION,
ANTI_AFFINITY, MANAGEMENT_NETWORK,

View File

@ -15,6 +15,7 @@ from heat.common.template_format import yaml
from heat.common.template_format import yaml_dumper
from heat.engine import properties
from heat.engine.resources.software_config import software_config
from heat.engine import support
class CloudConfig(software_config.SoftwareConfig):
@ -31,6 +32,8 @@ class CloudConfig(software_config.SoftwareConfig):
replacement of all servers which reference it.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
CLOUD_CONFIG
) = (

View File

@ -20,6 +20,7 @@ from heat.common.i18n import _
from heat.engine import constraints
from heat.engine import properties
from heat.engine.resources.software_config import software_config
from heat.engine import support
class MultipartMime(software_config.SoftwareConfig):
@ -41,6 +42,8 @@ class MultipartMime(software_config.SoftwareConfig):
will result in the replacement of all servers which reference it.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
PARTS, CONFIG, FILENAME, TYPE, SUBTYPE
) = (

View File

@ -16,6 +16,7 @@ from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
@ -43,6 +44,8 @@ class SoftwareConfig(resource.Resource):
are specific to the configuration tool being used.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
GROUP, CONFIG, OPTIONS, INPUTS, OUTPUTS
) = (

View File

@ -25,6 +25,7 @@ from heat.engine import resource
from heat.engine.resources import resource_group
from heat.engine.resources.software_config import software_config as sc
from heat.engine import signal_responder
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
@ -60,6 +61,8 @@ class SoftwareDeployment(signal_responder.SignalResponder):
actions.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
CONFIG, SERVER, INPUT_VALUES,
DEPLOY_ACTIONS, NAME, SIGNAL_TRANSPORT

View File

@ -20,6 +20,7 @@ import six
from heat.engine import properties
from heat.engine.resources.software_config import software_config as sc
from heat.engine.resources.software_config import software_deployment as sd
from heat.engine import support
class StructuredConfig(sc.SoftwareConfig):
@ -32,6 +33,8 @@ class StructuredConfig(sc.SoftwareConfig):
stored and returned by the software_configs API as parsed JSON.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
GROUP,
CONFIG,
@ -75,6 +78,8 @@ class StructuredDeployment(sd.SoftwareDeployment):
different input_key property value can be specified.
'''
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
CONFIG,
SERVER,

View File

@ -24,6 +24,7 @@ from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import scheduler
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
@ -50,6 +51,8 @@ class SwiftSignalTimeout(exception.Error):
class SwiftSignalHandle(resource.Resource):
support_status = support.SupportStatus(version='2014.2')
properties_schema = {}
ATTRIBUTES = (
@ -105,6 +108,8 @@ class SwiftSignalHandle(resource.Resource):
class SwiftSignal(resource.Resource):
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (HANDLE, TIMEOUT, COUNT,) = ('handle', 'timeout', 'count',)
properties_schema = {

View File

@ -22,6 +22,7 @@ from heat.engine import properties
from heat.engine import resource
from heat.engine import scheduler
from heat.engine import signal_responder
from heat.engine import support
from heat.openstack.common import log as logging
LOG = logging.getLogger(__name__)
@ -212,6 +213,9 @@ class WaitConditionHandle(BaseWaitConditionHandle):
then the cfn-signal will use this url to post to and
WaitCondition will poll it to see if has been written to.
'''
support_status = support.SupportStatus(version='2014.2')
METADATA_KEYS = (
DATA, REASON, STATUS, UNIQUE_ID
) = (
@ -261,6 +265,9 @@ class UpdateWaitConditionHandle(WaitConditionHandle):
out new configurations and be confident that they are rolled out once
UPDATE COMPLETE is reached.
'''
support_status = support.SupportStatus(version='2014.1')
def update(self, after, before=None, prev_resource=None):
raise resource.UpdateReplace(self.name)
@ -404,6 +411,9 @@ class HeatWaitCondition(resource.Resource):
class WaitCondition(HeatWaitCondition):
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (
HANDLE, TIMEOUT, COUNT,
) = (