projects
/
osm
/
openvim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Provide openflow information at network show
[osm/openvim.git]
/
osm_openvim
/
ovim.py
diff --git
a/osm_openvim/ovim.py
b/osm_openvim/ovim.py
index
53a39eb
..
6b95456
100755
(executable)
--- a/
osm_openvim/ovim.py
+++ b/
osm_openvim/ovim.py
@@
-43,9
+43,9
@@
import openflow_conn
__author__ = "Alfonso Tierno, Leonardo Mirabal"
__date__ = "$06-Feb-2017 12:07:15$"
__author__ = "Alfonso Tierno, Leonardo Mirabal"
__date__ = "$06-Feb-2017 12:07:15$"
-__version__ = "0.5.2
0-r536
"
-version_date = "
Sep 2017
"
-database_version = 2
1
#needed database schema version
+__version__ = "0.5.2
5-r545
"
+version_date = "
Jul 2018
"
+database_version = 2
3
#needed database schema version
HTTP_Bad_Request = 400
HTTP_Unauthorized = 401
HTTP_Bad_Request = 400
HTTP_Unauthorized = 401
@@
-199,8
+199,8
@@
class ovim():
host_develop_bridge_iface = self.config.get('development_bridge', None)
# get host list from data base before starting threads
host_develop_bridge_iface = self.config.get('development_bridge', None)
# get host list from data base before starting threads
- r, hosts = self.db.get_table(SELECT=('name', 'ip_name', 'user', 'uuid', 'password', 'keyfile'),
- FROM='hosts', WHERE={'status': 'ok'})
+ r, hosts = self.db.get_table(SELECT=('name', 'ip_name', 'user', 'uuid', '
hypervisors', '
password', 'keyfile'),
+ FROM='hosts', WHERE={'status': 'ok'})
#Unikernels extension
if r < 0:
raise ovimException("Cannot get hosts from database {}".format(hosts))
if r < 0:
raise ovimException("Cannot get hosts from database {}".format(hosts))
@@
-215,6
+215,7
@@
class ovim():
version=self.config['version'], host_id=host['uuid'],
develop_mode=host_develop_mode,
develop_bridge_iface=host_develop_bridge_iface,
version=self.config['version'], host_id=host['uuid'],
develop_mode=host_develop_mode,
develop_bridge_iface=host_develop_bridge_iface,
+ hypervisors=host['hypervisors'], #Unikernels extension
logger_name=self.logger_name + ".host." + host['name'],
debug=self.config.get('log_level_host'))
logger_name=self.logger_name + ".host." + host['name'],
debug=self.config.get('log_level_host'))
@@
-525,8
+526,12
@@
class ovim():
WHERE={'net_id': network_id}, LIMIT=100)
if len(ports) > 0:
content[0]['ports'] = ports
WHERE={'net_id': network_id}, LIMIT=100)
if len(ports) > 0:
content[0]['ports'] = ports
-
convert_boolean(content, ('shared', 'admin_state_up', 'enable_dhcp'))
convert_boolean(content, ('shared', 'admin_state_up', 'enable_dhcp'))
+
+ result, flows = self.db.get_table(FROM='of_flows', SELECT=('priority', 'vlan_id', 'ingress_port', 'src_mac', 'dst_mac', 'actions'),
+ WHERE={'net_id': network_id}, LIMIT=100)
+ if len(flows) > 0:
+ content[0]['flows'] = flows
return content[0]
def new_network(self, network):
return content[0]
def new_network(self, network):
@@
-661,7
+666,7
@@
class ovim():
network['vlan'] = net_vlan
network['region'] = net_region
dhcp_integrity = True
network['vlan'] = net_vlan
network['region'] = net_region
dhcp_integrity = True
- if
'enable_dhcp' in network and network['enable_dhcp']
:
+ if
network.get('enable_dhcp')
:
dhcp_integrity = self._check_dhcp_data_integrity(network)
if network.get('links'):
dhcp_integrity = self._check_dhcp_data_integrity(network)
if network.get('links'):
@@
-672,10
+677,10
@@
class ovim():
network['routes'] = yaml.safe_dump(network['routes'], default_flow_style=True, width=256)
result, content = self.db.new_row('nets', network, True, True)
network['routes'] = yaml.safe_dump(network['routes'], default_flow_style=True, width=256)
result, content = self.db.new_row('nets', network, True, True)
- if result >= 0 and dhcp_integrity:
+ if result >= 0
: #
and dhcp_integrity:
if bridge_net:
bridge_net[3] = content
if bridge_net:
bridge_net[3] = content
- if self.config.get("dhcp_server") and self.config['network_type'] == 'bridge':
# \
+ if self.config.get("dhcp_server") and self.config['network_type'] == 'bridge':
if network["name"] in self.config["dhcp_server"].get("nets", ()):
self.config["dhcp_nets"].append(content)
self.logger.debug("dhcp_server: add new net", content)
if network["name"] in self.config["dhcp_server"].get("nets", ()):
self.config["dhcp_nets"].append(content)
self.logger.debug("dhcp_server: add new net", content)
@@
-684,7
+689,8
@@
class ovim():
self.logger.debug("dhcp_server: add new net", content, content)
return content
else:
self.logger.debug("dhcp_server: add new net", content, content)
return content
else:
- raise ovimException("Error posting network", HTTP_Internal_Server_Error)
+ raise ovimException("Error creating network: {}".format(content), -result)
+
# TODO kei change update->edit
def edit_network(self, network_id, network):
# TODO kei change update->edit
def edit_network(self, network_id, network):