summaryrefslogtreecommitdiffstats
path: root/tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py
diff options
context:
space:
mode:
Diffstat (limited to 'tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py')
-rw-r--r--tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py117
1 files changed, 0 insertions, 117 deletions
diff --git a/tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py b/tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py
deleted file mode 100644
index f5f0b25..0000000
--- a/tosca2heat/heat-translator-0.3.0/translator/hot/tosca/tosca_network_port.py
+++ /dev/null
@@ -1,117 +0,0 @@
-#
-# 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 translator.hot.syntax.hot_resource import HotResource
-
-# Name used to dynamically load appropriate map class.
-TARGET_CLASS_NAME = 'ToscaNetworkPort'
-
-
-class ToscaNetworkPort(HotResource):
- '''Translate TOSCA node type tosca.nodes.network.Port.'''
-
- toscatype = 'tosca.nodes.network.Port'
-
- def __init__(self, nodetemplate):
- super(ToscaNetworkPort, self).__init__(nodetemplate,
- type='OS::Neutron::Port')
- # Default order
- self.order = 0
- pass
-
- def _generate_networks_for_compute(self, port_resources):
- '''Generate compute networks property list from the port resources.'''
- networks = []
- for resource in port_resources:
- networks.append({'port': '{ get_resource: %s }' % (resource.name)})
- return networks
-
- def _insert_sorted_resource(self, resources, resource):
- '''Insert a resource in the list of resources and keep the order.'''
- lo = 0
- hi = len(resources)
- while lo < hi:
- mid = (lo + hi) // 2
- if resource.order < resources[mid].order:
- hi = mid
- else:
- lo = mid + 1
- resources.insert(lo, resource)
-
- def handle_properties(self):
- tosca_props = self._get_tosca_props(
- self.nodetemplate.get_properties_objects())
- port_props = {}
- for key, value in tosca_props.items():
- if key == 'ip_address':
- fixed_ip = []
- fixed_ip['ip_address'] = value
- fixed_ip['subnet'] = ''
- port_props['fixed_ips'] = [fixed_ip]
- elif key == 'order':
- self.order = value
- # TODO(sdmonov): Need to implement the properties below
- elif key == 'is_default':
- pass
- elif key == 'ip_range_start':
- pass
- elif key == 'ip_range_end':
- pass
- else:
- port_props[key] = value
-
- # Get the nodetype relationships
- relationships = {relation.type: node for relation, node in
- self.nodetemplate.relationships.items()}
-
- # Check for LinksTo relations. If found add a network property with
- # the network name into the port
- links_to = None
- if 'tosca.relationships.network.LinksTo' in relationships:
- links_to = relationships['tosca.relationships.network.LinksTo']
-
- network_resource = None
- for hot_resource in self.depends_on_nodes:
- if links_to.name == hot_resource.name:
- network_resource = hot_resource
- self.depends_on.remove(hot_resource)
- break
-
- if network_resource.existing_resource_id:
- port_props['network'] =\
- str(network_resource.existing_resource_id)
- else:
- port_props['network'] = '{ get_resource: %s }'\
- % (links_to.name)
-
- # Check for BindsTo relationship. If found add network to the networks
- # property of the corresponding compute resource
- binds_to = None
- if 'tosca.relationships.network.BindsTo' in relationships:
- binds_to = relationships['tosca.relationships.network.BindsTo']
- compute_resource = None
- for hot_resource in self.depends_on_nodes:
- if binds_to.name == hot_resource.name:
- compute_resource = hot_resource
- self.depends_on.remove(hot_resource)
- break
- if compute_resource:
- port_resources = compute_resource.assoc_port_resources
- self._insert_sorted_resource(port_resources, self)
- # TODO(sdmonov): Using generate networks every time we add a
- # network is not the fastest way to do the things. We should
- # do this only once at the end.
- networks = self._generate_networks_for_compute(port_resources)
- compute_resource.properties['networks'] = networks
-
- self.properties = port_props