X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_openvim%2Fovim.py;h=852196499d1e6177f2a891343bd4e315549af889;hb=refs%2Fchanges%2F50%2F5850%2F4;hp=53a39eb22ce82f26acb01dd2571ee17950e883c5;hpb=338e9983982f9847e96da4419bb5c9f50a5dfefb;p=osm%2Fopenvim.git diff --git a/osm_openvim/ovim.py b/osm_openvim/ovim.py index 53a39eb..8521964 100755 --- 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$" -__version__ = "0.5.20-r536" -version_date = "Sep 2017" -database_version = 21 #needed database schema version +__version__ = "0.5.24-r542" +version_date = "Mar 2018" +database_version = 23 #needed database schema version 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 - 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)) @@ -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, + hypervisors=host['hypervisors'], #Unikernels extension logger_name=self.logger_name + ".host." + host['name'], debug=self.config.get('log_level_host')) @@ -661,7 +662,7 @@ class ovim(): 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'): @@ -672,10 +673,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) - if result >= 0 and dhcp_integrity: + if result >= 0: # and dhcp_integrity: 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) @@ -684,7 +685,8 @@ class ovim(): 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):