{ "id": 39, "title": "Yardstick-TC047", "originalTitle": "Yardstick-TC047", "tags": [ "yardstick-tc" ], "style": "dark", "timezone": "browser", "editable": true, "hideControls": false, "sharedCrosshair": false, "rows": [ { "collapse": false, "editable": true, "height": "", "panels": [ { "content": "
Control Node Openstack Service High Availability - Glance Api
\n
\n

This test case will verify the high availability of the image service provided by OpenStack (glance-api) on control node. For more information see TC047

\n
\n\n\n", "editable": true, "error": false, "id": 6, "isNew": true, "links": [], "mode": "html", "span": 12, "style": {}, "title": "", "type": "text" } ], "title": "New row" }, { "collapse": false, "editable": true, "height": "", "panels": [ { "content": "", "editable": true, "error": false, "id": 9, "isNew": true, "links": [], "mode": "markdown", "span": 12, "style": {}, "title": "Test Case Execution", "type": "text" } ], "title": "New row" }, { "collapse": false, "editable": true, "height": "300px", "panels": [ { "aliasColors": {}, "bars": false, "datasource": "yardstick-vtc", "decimals": 2, "editable": true, "error": false, "fill": 1, "grid": { "leftLogBase": 1, "leftMax": null, "leftMin": null, "rightLogBase": 1, "rightMax": null, "rightMin": null, "threshold1": null, "threshold1Color": "rgba(216, 200, 27, 0.27)", "threshold2": null, "threshold2Color": "rgba(234, 112, 112, 0.22)" }, "hideTimeOverride": false, "id": 1, "interval": "", "isNew": true, "leftYAxisLabel": "sla_pass", "legend": { "alignAsTable": true, "avg": true, "current": false, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": false, "show": true, "sort": "avg", "sortDesc": false, "total": false, "values": true }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "connected", "percentage": false, "pointradius": 5, "points": false, "renderer": "flot", "rightYAxisLabel": "", "seriesOverrides": [], "span": 12, "stack": false, "steppedLine": false, "targets": [ { "alias": "$tag_pod_name - $tag_deploy_scenario", "dsType": "influxdb", "groupBy": [ { "params": [ "pod_name" ], "type": "tag" }, { "params": [ "task_id" ], "type": "tag" }, { "params": [ "deploy_scenario" ], "type": "tag" } ], "hide": false, "measurement": "opnfv_yardstick_tc047", "query": "SELECT \"sla_pass\" FROM \"opnfv_yardstick_tc047\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"task_id\", \"deploy_scenario\"", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "sla_pass" ], "type": "field" } ] ], "tags": [ { "key": "pod_name", "operator": "=~", "value": "/$POD$/" }, { "condition": "AND", "key": "deploy_scenario", "operator": "=~", "value": "/$SCENARIO$/" } ] } ], "timeFrom": "7d", "timeShift": null, "title": "SLA PASS", "tooltip": { "shared": true, "value_type": "cumulative" }, "type": "graph", "x-axis": true, "y-axis": true, "y_formats": [ "none", "short" ] } ], "showTitle": false, "title": "Row" }, { "collapse": false, "editable": true, "height": "", "panels": [ { "content": "", "editable": true, "error": false, "id": 10, "isNew": true, "links": [], "mode": "markdown", "span": 12, "style": {}, "title": "Daily Averages", "type": "tex
#    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.

from toscaparser.properties import Property


class Capability(object):
    '''TOSCA built-in capabilities type.'''

    def __init__(self, name, properties, definition):
        self.name = name
        self._properties = properties
        self.definition = definition

    def get_properties_objects(self):
        '''Return a list of property objects.'''
        properties = []
        props = self._properties
        if props:
            for name, value in props.items():
                props_def = self.definition.get_properties_def()
                if props_def and name in props_def:
                    properties.append(Property(name, value,
                                               props_def[name].schema))
        return properties

    def get_properties(self):
        '''Return a dictionary of property name-object pairs.'''
        return {prop.name: prop
                for prop in self.get_properties_objects()}

    def get_property_value(self, name):
        '''Return the value of a given property name.'''
        props = self.get_properties()
        if prop