aboutsummaryrefslogtreecommitdiffstats
path: root/heatbridge/heatbridge/HeatBridge.py
diff options
context:
space:
mode:
Diffstat (limited to 'heatbridge/heatbridge/HeatBridge.py')
-rw-r--r--heatbridge/heatbridge/HeatBridge.py75
1 files changed, 38 insertions, 37 deletions
diff --git a/heatbridge/heatbridge/HeatBridge.py b/heatbridge/heatbridge/HeatBridge.py
index bdf3e64..f236970 100644
--- a/heatbridge/heatbridge/HeatBridge.py
+++ b/heatbridge/heatbridge/HeatBridge.py
@@ -3,65 +3,66 @@ from OpenstackManager import OpenstackManager
from OpenstackContext import OpenstackContext
from AAIManager import AAIManager
+
class HeatBridge:
def __init__(self):
- pass;
+ pass
def init_bridge(self, openstack_identity_url, username, password, tenant, region, owner, domain_id=None, project_name=None):
- self.om = OpenstackManager(openstack_identity_url, OpenstackContext(username, password, tenant, region, owner, domain_id, project_name));
- self.am = AAIManager(OpenstackContext(username, password, tenant, region, owner, domain_id, project_name));
-
+ self.om = OpenstackManager(openstack_identity_url, OpenstackContext(username, password, tenant, region, owner, domain_id, project_name))
+ self.am = AAIManager(OpenstackContext(username, password, tenant, region, owner, domain_id, project_name))
def filterbyvalue(self, seq, key, value):
for el in seq:
- if el[key]==value: yield el
+ if el[key] == value:
+ yield el
def build_request(self, heat_stack_id):
resources = self.om.get_stack_resources(heat_stack_id)
- servers = list(self.filterbyvalue(resources, "resource_type", "OS::Nova::Server"));
- #networks = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Net"));
- #subnets = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Subnet"));
- ports = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Port"));
- #keys = list(self.filterbyvalue(resources, "resource_type", "OS::Nova::KeyPair"));
+ servers = list(self.filterbyvalue(resources, "resource_type", "OS::Nova::Server"))
+ # networks = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Net"))
+ # subnets = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Subnet"))
+ ports = list(self.filterbyvalue(resources, "resource_type", "OS::Neutron::Port"))
+ # keys = list(self.filterbyvalue(resources, "resource_type", "OS::Nova::KeyPair"))
put_blocks = []
- #build the servers and attach them to vnf
+ # build the servers and attach them to vnf
server_put_blocks = []
image_put_blocks = []
flavor_put_blocks = []
for item in servers:
- server_info = self.om.get_server_info(item['physical_resource_id']);
- server_volumes = self.om.get_server_volumes(item['physical_resource_id']);
- volumes = [];
+ server_info = self.om.get_server_info(item['physical_resource_id'])
+ server_volumes = self.om.get_server_volumes(item['physical_resource_id'])
+ volumes = []
for vols in server_volumes:
- volumes.append(self.om.get_volume_info(vols['id']));
- aai_vserver = self.am.create_vserver_put(server_info, volumes);
- flavor_info = self.om.get_flavor_info(server_info['flavor']['id']);
- aai_flavor = self.am.create_flavor_put(flavor_info);
- image_info = self.om.get_image_info(server_info['image']['id']);
- aai_image = self.am.create_image_put(image_info, server_info);
- server_put_blocks.append(self.am.create_put(aai_vserver));
- image_put_blocks.append(self.am.create_put(aai_image));
- flavor_put_blocks.append(self.am.create_put(aai_flavor));
- put_blocks.extend(image_put_blocks);
- put_blocks.extend(flavor_put_blocks);
- put_blocks.extend(server_put_blocks);
+ volumes.append(self.om.get_volume_info(vols['id']))
+ aai_vserver = self.am.create_vserver_put(server_info, volumes)
+ flavor_info = self.om.get_flavor_info(server_info['flavor']['id'])
+ aai_flavor = self.am.create_flavor_put(flavor_info)
+ image_info = self.om.get_image_info(server_info['image']['id'])
+ aai_image = self.am.create_image_put(image_info, server_info)
+ server_put_blocks.append(self.am.create_put(aai_vserver))
+ image_put_blocks.append(self.am.create_put(aai_image))
+ flavor_put_blocks.append(self.am.create_put(aai_flavor))
+ put_blocks.extend(image_put_blocks)
+ put_blocks.extend(flavor_put_blocks)
+ put_blocks.extend(server_put_blocks)
- #build the ports and attach them to servers
+ # build the ports and attach them to servers
linterface_put_blocks = []
- #all servers have same vnf id
- random_server_info = self.om.get_server_info(servers[0]['physical_resource_id']);
+ # all servers have same vnf id
+ random_server_info = self.om.get_server_info(servers[0]['physical_resource_id'])
for item in ports:
- #todo: pass in the networks from above
+ # todo: pass in the networks from above
port_info = self.om.get_port_info(item['physical_resource_id'])
- aai_linterface = self.am.create_l_interface_put(port_info, random_server_info);
- linterface_put_blocks.append(self.am.create_put(aai_linterface));
- put_blocks.extend(linterface_put_blocks);
+ aai_linterface = self.am.create_l_interface_put(port_info, random_server_info)
+ linterface_put_blocks.append(self.am.create_put(aai_linterface))
+ put_blocks.extend(linterface_put_blocks)
- return json.dumps(self.am.create_transactions(put_blocks));
+ return json.dumps(self.am.create_transactions(put_blocks))
def bridge_data(self, heat_stack_id):
- request = self.build_request(heat_stack_id);
- print(request);
- return request;
+ request = self.build_request(heat_stack_id)
+ print(request)
+ return request