From: Thomas Goirand Date: Tue, 1 Apr 2014 16:24:00 +0000 (+0800) Subject: Merge tag '2014.1_rc1' into debian/icehouse X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=066269e9835fdaf80fb5f1b40a67d68b789982d2;p=openstack-build%2Fneutron-build.git Merge tag '2014.1_rc1' into debian/icehouse Neutron icehouse-rc1 milestone (2014.1.rc1) Conflicts: neutron/openstack/common/rootwrap/__init__.py neutron/plugins/ibm/common/constants.py neutron/plugins/nicira/vshield/common/__init__.py neutron/tests/unit/nicira/vshield/__init__.py neutron/tests/unit/vmware/extensions/test_addresspairs.py neutron/tests/unit/vmware/extensions/test_networkgw.py Change-Id: I4c423fb197f97f6eed0616fb094e0a8a5e9e6de6 --- 066269e9835fdaf80fb5f1b40a67d68b789982d2 diff --cc neutron/agent/linux/dhcp.py index 08cedfdcf,e650c0031..9fbc5753e --- a/neutron/agent/linux/dhcp.py +++ b/neutron/agent/linux/dhcp.py @@@ -407,58 -401,112 +401,133 @@@ class Dnsmasq(DhcpLocalProcess) LOG.debug(_('Reloading allocations for network: %s'), self.network.id) self.device_manager.update(self.network) + def _iter_hosts(self): + """Iterate over hosts. + + For each host on the network we yield a tuple containing: + ( + port, # a DictModel instance representing the port. + alloc, # a DictModel instance of the allocated ip and subnet. + host_name, # Host name. + name, # Host name and domain name in the format 'hostname.domain'. + ) + """ + for port in self.network.ports: + for alloc in port.fixed_ips: + hostname = 'host-%s' % alloc.ip_address.replace( + '.', '-').replace(':', '-') + fqdn = '%s.%s' % (hostname, self.conf.dhcp_domain) + yield (port, alloc, hostname, fqdn) + def _output_hosts_file(self): - """Writes a dnsmasq compatible hosts file.""" - r = re.compile('[:.]') + """Writes a dnsmasq compatible dhcp hosts file. + + The generated file is sent to the --dhcp-hostsfile option of dnsmasq, + and lists the hosts on the network which should receive a dhcp lease. + Each line in this file is in the form:: + + 'mac_address,FQDN,ip_address' + + IMPORTANT NOTE: a dnsmasq instance does not resolve hosts defined in + this file if it did not give a lease to a host listed in it (e.g.: + multiple dnsmasq instances on the same network if this network is on + multiple network nodes). This file is only defining hosts which + should receive a dhcp lease, the hosts resolution in itself is + defined by the `_output_addn_hosts_file` method. + """ buf = six.StringIO() + filename = self.get_conf_file_name('host') + + LOG.debug(_('Building host file: %s'), filename) + for (port, alloc, hostname, name) in self._iter_hosts(): + set_tag = '' + # (dzyu) Check if it is legal ipv6 address, if so, need wrap + # it with '[]' to let dnsmasq to distinguish MAC address from + # IPv6 address. + ip_address = alloc.ip_address + if netaddr.valid_ipv6(ip_address): + ip_address = '[%s]' % ip_address + + LOG.debug(_('Adding %(mac)s : %(name)s : %(ip)s'), + {"mac": port.mac_address, "name": name, + "ip": ip_address}) + + if getattr(port, 'extra_dhcp_opts', False): + if self.version >= self.MINIMUM_VERSION: + set_tag = 'set:' + + buf.write('%s,%s,%s,%s%s\n' % + (port.mac_address, name, ip_address, + set_tag, port.id)) + else: + buf.write('%s,%s,%s\n' % + (port.mac_address, name, ip_address)) + + utils.replace_file(filename, buf.getvalue()) + LOG.debug(_('Done building host file %s'), filename) + return filename + + def _read_hosts_file_leases(self, filename): + leases = set() + if os.path.exists(filename): + with open(filename) as f: + for l in f.readlines(): + host = l.strip().split(',') + leases.add((host[2], host[0])) + return leases + def _release_unused_leases(self): + filename = self.get_conf_file_name('host') + old_leases = self._read_hosts_file_leases(filename) + + new_leases = set() for port in self.network.ports: for alloc in port.fixed_ips: - name = 'host-%s.%s' % (r.sub('-', alloc.ip_address), - self.conf.dhcp_domain) - set_tag = '' - # (dzyu) Check if it is legal ipv6 address, if so, need wrap - # it with '[]' to let dnsmasq to distinguish MAC address from - # IPv6 address. - ip_address = alloc.ip_address - if netaddr.valid_ipv6(ip_address): - ip_address = '[%s]' % ip_address - if getattr(port, 'extra_dhcp_opts', False): - if self.version >= self.MINIMUM_VERSION: - set_tag = 'set:' - - buf.write('%s,%s,%s,%s%s\n' % - (port.mac_address, name, ip_address, - set_tag, port.id)) - else: - buf.write('%s,%s,%s\n' % - (port.mac_address, name, ip_address)) + new_leases.add((alloc.ip_address, port.mac_address)) - name = self.get_conf_file_name('host') - utils.replace_file(name, buf.getvalue()) - return name + for ip, mac in old_leases - new_leases: + self._release_lease(mac, ip) + + def _output_addn_hosts_file(self): + """Writes a dnsmasq compatible additional hosts file. + + The generated file is sent to the --addn-hosts option of dnsmasq, + and lists the hosts on the network which should be resolved even if + the dnsmaq instance did not give a lease to the host (see the + `_output_hosts_file` method). + Each line in this file is in the same form as a standard /etc/hosts + file. + """ + buf = six.StringIO() + for (port, alloc, hostname, fqdn) in self._iter_hosts(): + # It is compulsory to write the `fqdn` before the `hostname` in + # order to obtain it in PTR responses. + buf.write('%s\t%s %s\n' % (alloc.ip_address, fqdn, hostname)) + addn_hosts = self.get_conf_file_name('addn_hosts') + utils.replace_file(addn_hosts, buf.getvalue()) + return addn_hosts + def _read_hosts_file_leases(self, filename): + leases = set() + if os.path.exists(filename): + with open(filename) as f: + for l in f.readlines(): + host = l.strip().split(',') + leases.add((host[2], host[0])) + return leases + + def _release_unused_leases(self): + filename = self.get_conf_file_name('host') + old_leases = self._read_hosts_file_leases(filename) + + new_leases = set() + for port in self.network.ports: + for alloc in port.fixed_ips: + new_leases.add((alloc.ip_address, port.mac_address)) + + for ip, mac in old_leases - new_leases: + self._release_lease(mac, ip) + def _output_opts_file(self): """Write a dnsmasq compatible options file.""" diff --cc neutron/locale/ar/LC_MESSAGES/neutron.po index fe1cedea7,ac8d02b05..66a6ffca9 --- a/neutron/locale/ar/LC_MESSAGES/neutron.po +++ b/neutron/locale/ar/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/bg_BG/LC_MESSAGES/neutron.po index 048af937f,a1628f4f7..be385eb0b --- a/neutron/locale/bg_BG/LC_MESSAGES/neutron.po +++ b/neutron/locale/bg_BG/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/bn_IN/LC_MESSAGES/neutron.po index aaa7fc68e,893a3c7a3..697de866e --- a/neutron/locale/bn_IN/LC_MESSAGES/neutron.po +++ b/neutron/locale/bn_IN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/bs/LC_MESSAGES/neutron.po index 8d09217f1,4e7215bfd..5f8297785 --- a/neutron/locale/bs/LC_MESSAGES/neutron.po +++ b/neutron/locale/bs/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ca/LC_MESSAGES/neutron.po index 07fdcb59e,f7d44ea71..fea9d5c07 --- a/neutron/locale/ca/LC_MESSAGES/neutron.po +++ b/neutron/locale/ca/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/cs/LC_MESSAGES/neutron.po index a21249c52,a620868ca..861a14c4d --- a/neutron/locale/cs/LC_MESSAGES/neutron.po +++ b/neutron/locale/cs/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/da/LC_MESSAGES/neutron.po index 24107c7f3,31272e277..af66aec0e --- a/neutron/locale/da/LC_MESSAGES/neutron.po +++ b/neutron/locale/da/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/de/LC_MESSAGES/neutron.po index 16ba1135c,94ae45c50..4766b281e --- a/neutron/locale/de/LC_MESSAGES/neutron.po +++ b/neutron/locale/de/LC_MESSAGES/neutron.po @@@ -3808,26 -4057,16 +4057,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" - msgstr "Ursprüngliche Ausnahme wird gelöscht: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." + msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -4166,31 -4405,31 +4420,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" - msgstr "%s nicht in gültigen Prioritäten" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." ++msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" - "Problem %(e)s bei Versuch, an Benachrichtigungssystem zu senden. " - "Payload=%(payload)s" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" - "Benachrichtigung %s konnte nicht geladen werden. Diese Benachrichtigungen" - " werden nicht gesendet." + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" - "'rabbit_notifier' ist nun veraltet. Verwenden Sie stattdessen " ++ ++#: neutron/openstack/common/middleware/catch_errors.py:40 ++#, python-format ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "%s nicht in gültigen Prioritäten" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + "Problem %(e)s bei Versuch, an Benachrichtigungssystem zu senden. " + "Payload=%(payload)s" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + "Benachrichtigung %s konnte nicht geladen werden. Diese Benachrichtigungen" + " werden nicht gesendet." + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + "'rabbit_notifier' ist nun veraltet. Verwenden Sie stattdessen " "'rpc_notifier'." #: neutron/openstack/common/notifier/rpc_notifier.py:45 @@@ -4903,17 -5177,17 +5231,21 @@@ msgstr " #, python-format msgid "Updating router rules to %s" msgstr "" ++"In dieser Plug-in-Version wird das Einstellen von 'admin_state_up=False' " ++"nicht unterstützt. Einstellungen werden ignoriert für Ressource: %s" - #: neutron/plugins/bigswitch/servermanager.py:67 + #: neutron/plugins/bigswitch/servermanager.py:77 #, python-format msgid "Error in REST call to remote network controller: %(reason)s" msgstr "" - #: neutron/plugins/bigswitch/servermanager.py:95 + #: neutron/plugins/bigswitch/servermanager.py:116 msgid "Couldn't retrieve capabilities. Newer API calls won't be supported." msgstr "" ++"Der Betriebsstatus wird intern vom Plug-in eingestellt. Die Einstellung " ++"'status=%s' wird ignoriert." - #: neutron/plugins/bigswitch/servermanager.py:97 + #: neutron/plugins/bigswitch/servermanager.py:118 #, python-format msgid "The following capabilities were received for %(server)s: %(cap)s" msgstr "" @@@ -4976,131 -5276,141 +5334,288 @@@ msgid " "%(response)s" msgstr "" + #: neutron/plugins/bigswitch/servermanager.py:427 + #, python-format + msgid "" + "ServerProxy: Error details: status=%(status)d, reason=%(reason)r, " + "ret=%(ret)s, data=%(data)r" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:434 + #, python-format + msgid "ServerProxy: %(action)s failure for all servers: %(server)r" + msgstr "ServerProxy: Fehler bei %(action)s für alle Server: %(server)r" + + #: neutron/plugins/bigswitch/servermanager.py:457 + #, python-format + msgid "" + "NeutronRestProxyV2: Received and ignored error code %(code)s on " + "%(action)s action to resource %(resource)s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:467 + #, python-format + msgid "Unable to create remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:473 + #, python-format + msgid "Unable to update remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:478 + #, python-format + msgid "Unable to delete remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:484 + #, python-format + msgid "Unable to add router interface: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:489 + #, python-format + msgid "Unable to delete remote intf: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:495 + #, python-format + msgid "Unable to create remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:501 + #: neutron/plugins/bigswitch/servermanager.py:506 + #, python-format + msgid "Unable to update remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:515 + #, python-format + msgid "No device MAC attached to port %s. Skipping notification to controller." + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:520 + #, python-format + msgid "Unable to create remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:525 + #, python-format + msgid "Unable to delete remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:535 + #, python-format + msgid "Unable to create floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:540 + #, python-format + msgid "Unable to update floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:545 + #, python-format + msgid "Unable to delete floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:550 + msgid "Backend server(s) do not support automated consitency checks." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 + msgid "Port update received" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 + #, python-format + msgid "Port %s is not present on this host." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 + #, python-format + msgid "Port %s found. Refreshing firewall." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 + msgid "Agent loop has new device" + msgstr "Agentenschleife umfasst ein neues Gerät" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 + #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405 + #: neutron/plugins/nec/agent/nec_neutron_agent.py:222 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:156 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 + msgid "Error in agent event loop" + msgstr "Fehler in Agentenereignisschleife" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 + #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226 + #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 + #, python-format + msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" + msgstr "" + "Schleifeniteration hat Intervall (%(polling_interval)s contra " + "%(elapsed)s) überschritten!" + + #: neutron/plugins/bigswitch/db/consistency_db.py:55 + #, python-format + msgid "Consistency hash for group %(hash_id)s updated to %(hash)s" + msgstr "" + ++#: neutron/plugins/bigswitch/servermanager.py:196 ++msgid "ServerPool: initialization done" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:239 ++#, python-format ++msgid "Received an empty port ID for host_id '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:42 ++#, python-format ++msgid "Received an empty host_id for port '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:44 ++#, python-format ++msgid "Logging port %(port)s on host_id %(host)s" ++msgstr "" ++ +#: neutron/plugins/bigswitch/servermanager.py:245 +#, python-format +msgid "" +"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, " +"ret=%(ret)s, data=%(data)r" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:252 +#, python-format +msgid "ServerProxy: %(action)s failure for all servers: %(server)r" +msgstr "ServerProxy: Fehler bei %(action)s für alle Server: %(server)r" + +#: neutron/plugins/bigswitch/servermanager.py:274 +#, python-format +msgid "" +"NeutronRestProxyV2: Received and ignored error code %(code)s on " +"%(action)s action to resource %(resource)s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:284 +#, python-format +msgid "Unable to create remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:290 +#, python-format +msgid "Unable to update remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:295 +#, python-format +msgid "Unable to delete remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:301 +#, python-format +msgid "Unable to add router interface: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:306 - #, python-format - msgid "Unable to delete remote intf: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:66 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33 ++msgid "The address of the host to SSH to" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:312 - #, python-format - msgid "Unable to create remote network: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:68 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35 ++msgid "The SSH username to use" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:318 - #: neutron/plugins/bigswitch/servermanager.py:323 - #, python-format - msgid "Unable to update remote network: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:70 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37 ++msgid "The SSH password to use" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:332 +#, python-format +msgid "No device MAC attached to port %s. Skipping notification to controller." +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:337 +#, python-format +msgid "Unable to create remote port: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:342 ++#: neutron/plugins/brocade/NeutronPlugin.py:134 ++#: neutron/plugins/hyperv/rpc_callbacks.py:55 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:89 ++#: neutron/plugins/mlnx/rpc_callbacks.py:76 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96 +#, python-format +msgid "Unable to delete remote port: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:352 +#, python-format +msgid "Unable to create floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:357 +#, python-format +msgid "Unable to update floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:362 +#, python-format +msgid "Unable to delete floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 +msgid "Port update received" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 +#, python-format +msgid "Port %s is not present on this host." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 +#, python-format +msgid "Port %s found. Refreshing firewall." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 +msgid "Agent loop has new device" +msgstr "Agentenschleife umfasst ein neues Gerät" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 +#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401 +#: neutron/plugins/nec/agent/nec_neutron_agent.py:222 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 +msgid "Error in agent event loop" +msgstr "Fehler in Agentenereignisschleife" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 +#: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201 +#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 +#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 +#, python-format +msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" +msgstr "" +"Schleifeniteration hat Intervall (%(polling_interval)s contra " +"%(elapsed)s) überschritten!" + #: neutron/plugins/bigswitch/db/porttracker_db.py:36 msgid "No host_id in port request to track port location." msgstr "" @@@ -8883,6 -9239,36 +9441,38 @@@ msgstr " msgid "HTTP timeout in seconds." msgstr "" + #: neutron/plugins/ml2/drivers/mechanism_odl.py:47 + msgid "HTTP URL of OpenDaylight REST interface." + msgstr "" + + #: neutron/plugins/ml2/drivers/mechanism_odl.py:55 + msgid "Tomcat session timeout in minutes." + msgstr "" + + #: neutron/plugins/ml2/drivers/mechanism_odl.py:278 + #, python-format + msgid "%(object_type)s not found (%(obj_id)s)" + msgstr "" + + #: neutron/plugins/ml2/drivers/mechanism_odl.py:315 + #, python-format + msgid "ODL-----> sending URL (%s) <-----ODL" + msgstr "" + + #: neutron/plugins/ml2/drivers/mechanism_odl.py:316 + #, python-format + msgid "ODL-----> sending JSON (%s) <-----ODL" + msgstr "" ++"Erstellung von Teilschnittstelle %(interface)s für VLAN %(vlan_id)s auf " ++"Schnittstelle %(physical_interface)s" + + #: neutron/plugins/ml2/drivers/mechanism_odl.py:339 + #, python-format + msgid "" + "Refusing to bind port for segment ID %(id)s, segment %(seg)s, phys net " + "%(physnet)s, and network type %(nettype)s" + msgstr "" + #: neutron/plugins/ml2/drivers/type_flat.py:30 msgid "" "List of physical_network names with which flat networks can be created. " @@@ -8938,13 -9324,13 +9528,17 @@@ msgid " "Comma-separated list of : tuples enumerating ranges of " "GRE tunnel IDs that are available for tenant network allocation" msgstr "" ++"Starten von Brücke %(bridge_name)s für Teilschnittstelle %(interface)s " ++"abgeschlossen" - #: neutron/plugins/ml2/drivers/type_gre.py:84 + #: neutron/plugins/ml2/drivers/type_gre.py:85 #, python-format msgid "Reserving specific gre tunnel %s from pool" msgstr "" ++"Hinzufügen von %(interface)s zu %(bridge_name)s nicht möglich! Ausnahme: " ++"%(e)s" - #: neutron/plugins/ml2/drivers/type_gre.py:88 + #: neutron/plugins/ml2/drivers/type_gre.py:89 #, python-format msgid "Reserving specific gre tunnel %s outside pool" msgstr "" @@@ -9009,14 -9395,14 +9603,18 @@@ msgstr " #, python-format msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Agent terminated!" msgstr "" ++"Entfernen von Einheit %(interface_name)s von Brücke %(bridge_name)s " ++"abgeschlossen" #: neutron/plugins/ml2/drivers/type_tunnel.py:65 #, python-format msgid "%(type)s ID ranges: %(range)s" msgstr "" ++"Einheit %(interface_name)s kann nicht von Brücke %(bridge_name)s entfernt" ++" werden, da nicht vorhanden" #: neutron/plugins/ml2/drivers/type_tunnel.py:71 - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429 + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:430 #, python-format msgid "provider:physical_network specified for %s network" msgstr "" @@@ -10612,39 -11267,306 +11479,337 @@@ msgstr " msgid "Number of seconds to retry acquiring an Open vSwitch datapath" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:209 + #: neutron/plugins/oneconvergence/plugin.py:243 + msgid "Failed to create subnet, deleting it from neutron" + msgstr "" + + #: neutron/plugins/oneconvergence/plugin.py:307 #, python-format - msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" + msgid "Deleting newly created neutron port %s" + msgstr "" + + #: neutron/plugins/oneconvergence/plugin.py:377 + msgid "Failed to create floatingip" + msgstr "" + + #: neutron/plugins/oneconvergence/plugin.py:416 + msgid "Failed to create router" + msgstr "" + + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:151 + msgid "Port list is updated" + msgstr "" + + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:158 + msgid "AGENT looping....." + msgstr "" + + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:171 + msgid "NVSD Agent initialized successfully, now running... " + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:26 + msgid "NVSD Controller IP address" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:29 + msgid "NVSD Controller Port number" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:32 + msgid "NVSD Controller username" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:35 + msgid "NVSD Controller password" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:38 + msgid "NVSD controller REST API request timeout in seconds" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:40 + msgid "Number of login retries to NVSD controller" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/config.py:45 + msgid "integration bridge" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:23 + #, python-format + msgid "An unknown nvsd plugin exception occurred: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:27 + #: neutron/plugins/vmware/api_client/exception.py:68 + msgid "The request has timed out." + msgstr "Die Anforderung hat das zulässige Zeitlimit überschritten." + + #: neutron/plugins/oneconvergence/lib/exception.py:31 + msgid "Invalid access credentials to the Server." + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:35 + #, python-format + msgid "A resource is not found: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:39 + #, python-format + msgid "Request sent to server is invalid: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:43 + #, python-format + msgid "Internal Server Error: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:47 + msgid "Connection is closed by the server." + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:51 + #, python-format + msgid "The request is forbidden access to the resource: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/exception.py:55 + #, python-format + msgid "Internal Server Error from NVSD controller: %(reason)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:55 + #, python-format + msgid "Could not create a %(resource)s under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:59 + #, python-format + msgid "Failed to %(method)s %(resource)s id=%(resource_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:65 + #, python-format + msgid "Failed to %(method)s %(resource)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:109 + #, python-format + msgid "Network %(id)s created under tenant %(tenant_id)s" + msgstr "" ++"Bereitstellung von VLAN-Netz für net-id=%(net_uuid)s nicht möglich - " ++"keine Brücke für 'physical_network' %(physical_network)s" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:126 + #, python-format + msgid "Network %(id)s updated under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:147 + #, python-format + msgid "Network %(id)s deleted under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:160 + #, python-format + msgid "Subnet %(id)s created under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:174 + #, python-format + msgid "Subnet %(id)s deleted under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:190 + #, python-format + msgid "Subnet %(id)s updated under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:222 + #, python-format + msgid "Port %(id)s created under tenant %(tenant_id)s" + msgstr "" ++"Brücke %(bridge)s für physisches Netz %(physical_network)s ist nicht " ++"vorhanden. Agent beendet!" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:246 + #, python-format + msgid "Port %(id)s updated under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:259 + #, python-format + msgid "Port %(id)s deleted under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:281 + #, python-format + msgid "Flatingip %(id)s created under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:298 + #, python-format + msgid "Flatingip %(id)s updated under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:312 + #, python-format + msgid "Flatingip %(id)s deleted under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:325 + #, python-format + msgid "Router %(id)s created under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:341 + #, python-format + msgid "Router %(id)s updated under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:351 + #, python-format + msgid "Router %(id)s deleted under tenant %(tenant_id)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:81 + #, python-format + msgid "Unable to connect to NVSD controller. Exiting after %(retries)s attempts" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:91 + #, python-format + msgid "Login Failed: %s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:92 + #, python-format + msgid "Unable to establish connection with Controller %s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:94 + msgid "Retrying after 1 second..." + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:98 + #, python-format + msgid "Login Successful %(uri)s %(status)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:102 + #, python-format + msgid "AuthToken = %s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:104 + msgid "login failed" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:112 + msgid "No Token, Re-login" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:129 + #, python-format + msgid "request: %(method)s %(uri)s successful" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:136 + #, python-format + msgid "request: Request failed from Controller side :%s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:141 + #, python-format + msgid "Response is Null, Request timed out: %(method)s to %(uri)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:153 + #, python-format + msgid "Request %(method)s %(uri)s body = %(body)s failed with status %(status)s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:157 + #, python-format + msgid "%s" msgstr "" +"Unverhältnismäßiger Tunnel-ID-Bereich %(tun_min)s:%(tun_max)s wird " +"übersprungen" + +#: neutron/plugins/openvswitch/ovs_db_v2.py:257 +#, python-format +msgid "Reserving tunnel %s from pool" +msgstr "Reservieren von Tunnel %s aus Pool" + +#: neutron/plugins/openvswitch/ovs_db_v2.py:272 +#, python-format +msgid "Reserving specific tunnel %s from pool" +msgstr "Reservieren eines bestimmten Tunnels %s aus Pool" + +#: neutron/plugins/openvswitch/ovs_db_v2.py:275 +#, python-format +msgid "Reserving specific tunnel %s outside pool" +msgstr "Reservieren eines bestimmten Tunnels %s außerhalb des Pools" + +#: neutron/plugins/openvswitch/ovs_db_v2.py:298 +#, python-format +msgid "Releasing tunnel %s outside pool" +msgstr "Freigabe von Tunnel %s außerhalb des Pools" + +#: neutron/plugins/openvswitch/ovs_db_v2.py:300 +#, python-format +msgid "Releasing tunnel %s to pool" +msgstr "Freigabe von Tunnel %s an Pool" - #: neutron/plugins/openvswitch/ovs_db_v2.py:302 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:161 + #, python-format + msgid "%(method)s to %(url)s, unexpected response code: %(status)d" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:167 + #, python-format + msgid "Request failed from Controller side with Status=%s" + msgstr "" + + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:171 + #, python-format + msgid "Success: %(method)s %(url)s status=%(status)s" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:210 + #, python-format + msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" + msgstr "" + "Unverhältnismäßiger Tunnel-ID-Bereich %(tun_min)s:%(tun_max)s wird " + "übersprungen" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:258 + #, python-format + msgid "Reserving tunnel %s from pool" + msgstr "Reservieren von Tunnel %s aus Pool" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:273 + #, python-format + msgid "Reserving specific tunnel %s from pool" + msgstr "Reservieren eines bestimmten Tunnels %s aus Pool" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:276 + #, python-format + msgid "Reserving specific tunnel %s outside pool" + msgstr "Reservieren eines bestimmten Tunnels %s außerhalb des Pools" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:299 + #, python-format + msgid "Releasing tunnel %s outside pool" + msgstr "Freigabe von Tunnel %s außerhalb des Pools" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:301 + #, python-format + msgid "Releasing tunnel %s to pool" + msgstr "Freigabe von Tunnel %s an Pool" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:303 #, python-format msgid "tunnel_id %s not found" msgstr "'tunnel_id' %s nicht gefunden" @@@ -11045,28 -11973,15 +12216,17 @@@ msgstr " msgid "PLUMgrid Library: update_floatingip() called" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:520 + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:522 msgid "Neutron PLUMgrid Director: delete_floatingip() called" msgstr "" - - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:533 - msgid "PLUMgrid Library: delete_floatingip() called" - msgstr "" - - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:559 - #, python-format - msgid "" - "Network with admin_state_up=False are not supported yet by this plugin. " - "Ignoring setting for network %s" - msgstr "" +"Netze, für die 'admin_state_up=False' gilt, werden von diesem Plug-in " +"noch nicht unterstützt. Einstellungen für Netz %s werden ignoriert" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:563 - msgid "Network Admin State Validation Failed: " + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:535 + msgid "PLUMgrid Library: delete_floatingip() called" msgstr "" - #: neutron/plugins/ryu/ryu_neutron_plugin.py:63 + #: neutron/plugins/ryu/ryu_neutron_plugin.py:64 #, python-format msgid "get_ofp_rest_api: %s" msgstr "get_ofp_rest_api: %s" @@@ -11320,44 -12235,44 +12480,101 @@@ msgstr " "%(method)s an %(url)s, unerwarteter Antwortcode: %(status)d (Inhalt = " "'%(body)s')" - #: neutron/plugins/vmware/api_client/client.py:141 - msgid "Unable to determine NSX version. Plugin might not work as expected." ++#: neutron/plugins/vmware/api_client/base.py:148 ++#, python-format ++msgid "[%(rid)d] Connection returned in bad state, reconnecting to %(conn)s" +msgstr "" + - #: neutron/plugins/vmware/api_client/eventlet_client.py:144 ++#: neutron/plugins/vmware/api_client/base.py:173 +#, python-format +msgid "Login error \"%s\"" +msgstr "" + - #: neutron/plugins/vmware/api_client/eventlet_client.py:149 ++#: neutron/plugins/vmware/api_client/base.py:183 +#, python-format +msgid "Saving new authentication cookie '%s'" +msgstr "Speichern von neuem Authentifizierungscookie '%s'" + - #: neutron/plugins/vmware/api_client/eventlet_request.py:102 - msgid "Joining an invalid green thread" - msgstr "Verknüpfen von ungültigem grünem Thread" ++#: neutron/plugins/vmware/api_client/base.py:194 ++msgid "Waiting for auth to complete" ++msgstr "Warten auf Abschluss von Authentifizierung" + - #: neutron/plugins/vmware/api_client/eventlet_request.py:122 ++#: neutron/plugins/vmware/api_client/base.py:236 +#, python-format +msgid "[%d] Request timeout." +msgstr "[%d] Anforderungs-Zeitlimitüberschreitung." + +#: neutron/plugins/vmware/api_client/eventlet_request.py:123 +msgid "Request timeout" +msgstr "Anforderungs-Zeitlimitüberschreitung" + - #: neutron/plugins/vmware/api_client/eventlet_request.py:145 ++#: neutron/plugins/vmware/api_client/client.py:93 +#, python-format - msgid "[%(rid)d] Completed request '%(method)s %(url)s': %(status)s" - msgstr "[%(rid)d] Anforderung '%(method)s %(url)s' abgeschlossen: %(status)s" ++msgid "Request returns \"%s\"" ++msgstr "" + - #: neutron/plugins/vmware/api_client/eventlet_request.py:152 ++#: neutron/plugins/vmware/api_client/client.py:106 +#, python-format - msgid "[%(rid)d] Error while handling request: %(req)s" - msgstr "[%(rid)d] Fehler bei Verarbeitung von Anforderung: %(req)s" ++msgid "Request timed out: %(method)s to %(url)s" ++msgstr "Anforderung hat zulässiges Zeitlimit überschritten: %(method)s an %(url)s" ++ ++#: neutron/plugins/vmware/api_client/client.py:117 ++#, python-format ++msgid "Received error code: %s" ++msgstr "Empfangener Fehlercode: %s" ++ ++#: neutron/plugins/vmware/api_client/client.py:118 ++#, python-format ++msgid "Server Error Message: %s" ++msgstr "Serverfehlernachricht: %s" ++ ++#: neutron/plugins/vmware/api_client/client.py:124 ++#, python-format ++msgid "" ++"%(method)s to %(url)s, unexpected response code: %(status)d (content = " ++"'%(body)s')" ++msgstr "" ++"%(method)s an %(url)s, unerwarteter Antwortcode: %(status)d (Inhalt = " ++"'%(body)s')" ++ + #: neutron/plugins/vmware/api_client/client.py:141 + msgid "Unable to determine NSX version. Plugin might not work as expected." + msgstr "" + + #: neutron/plugins/vmware/api_client/eventlet_client.py:144 + #, python-format + msgid "Login error \"%s\"" + msgstr "" + + #: neutron/plugins/vmware/api_client/eventlet_client.py:149 + #, python-format -msgid "Saving new authentication cookie '%s'" -msgstr "Speichern von neuem Authentifizierungscookie '%s'" ++msgid "[%(rid)d] Error while handling request: %(req)s" ++msgstr "[%(rid)d] Fehler bei Verarbeitung von Anforderung: %(req)s" + + #: neutron/plugins/vmware/api_client/eventlet_request.py:102 + msgid "Joining an invalid green thread" + msgstr "Verknüpfen von ungültigem grünem Thread" + + #: neutron/plugins/vmware/api_client/eventlet_request.py:122 + #, python-format + msgid "[%d] Request timeout." + msgstr "[%d] Anforderungs-Zeitlimitüberschreitung." + + #: neutron/plugins/vmware/api_client/eventlet_request.py:123 + msgid "Request timeout" + msgstr "Anforderungs-Zeitlimitüberschreitung" - #: neutron/plugins/vmware/api_client/eventlet_request.py:208 + #: neutron/plugins/vmware/api_client/eventlet_request.py:149 + #, python-format + msgid "[%(rid)d] Completed request '%(method)s %(url)s': %(status)s" + msgstr "[%(rid)d] Anforderung '%(method)s %(url)s' abgeschlossen: %(status)s" + + #: neutron/plugins/vmware/api_client/eventlet_request.py:156 + #, python-format + msgid "[%(rid)d] Error while handling request: %(req)s" + msgstr "[%(rid)d] Fehler bei Verarbeitung von Anforderung: %(req)s" + + #: neutron/plugins/vmware/api_client/eventlet_request.py:212 #, python-format msgid "[%(rid)d] Failed to parse API provider: %(e)s" msgstr "[%(rid)d] Fehler bei Analyse von API-Provider: %(e)s" @@@ -12034,9 -12982,24 +13284,24 @@@ msgid " "'%(network_gateway_id)s'" msgstr "Netz '%(network_id)s' wird von Gateway '%(network_gateway_id)s' getrennt" + #: neutron/plugins/vmware/dbexts/networkgw_db.py:460 + #, python-format + msgid "Created network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:471 + #, python-format + msgid "Updated network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:484 + #, python-format + msgid "Deleted network gateway device: %s." + msgstr "" + #: neutron/plugins/vmware/dbexts/nsxrouter.py:61 #, python-format --msgid "Nsx router extension successfully processed for router:%s" ++msgid "DSCP value (%s) will be ignored with 'trusted' marking" msgstr "" #: neutron/plugins/vmware/dbexts/qos_db.py:286 @@@ -12671,19 -13643,19 +13945,23 @@@ msgstr " msgid "Logical router resource %s not found on NSX platform" msgstr "" - #: neutron/plugins/vmware/plugins/base.py:681 - #: neutron/plugins/vmware/plugins/base.py:1779 + #: neutron/plugins/vmware/plugins/base.py:672 + #: neutron/plugins/vmware/plugins/base.py:1776 msgid "Unable to update logical routeron NSX Platform" msgstr "" ++"Ausnahme wird ignoriert, da dies bedeutet, dass der Peer für Port '%s' " ++"bereits gelöscht wurde." - #: neutron/plugins/vmware/plugins/base.py:683 + #: neutron/plugins/vmware/plugins/base.py:674 #, python-format msgid "" "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, " "attached to NSX router:%(router_id)s" msgstr "" ++"Die Erstellung von Routerschnittstellenports in externen Netzen wie %s " ++"ist nicht zulässig" - #: neutron/plugins/vmware/plugins/base.py:725 + #: neutron/plugins/vmware/plugins/base.py:716 #, python-format msgid "" "_nsx_create_l2_gw_port completed for port %(name)s on network " @@@ -12765,16 -13737,16 +14043,18 @@@ msgstr " msgid "Logical switch for network %s was not found in NSX." msgstr "" - #: neutron/plugins/vmware/plugins/base.py:1198 + #: neutron/plugins/vmware/plugins/base.py:1189 msgid "Unable to create port or set port attachment in NSX." msgstr "" ++"Netze, für die 'admin_state_up=False' gilt, werden von diesem Plug-in " ++"noch nicht unterstützt. Einstellungen für Netz %s werden ignoriert" - #: neutron/plugins/vmware/plugins/base.py:1290 + #: neutron/plugins/vmware/plugins/base.py:1281 #, python-format - msgid "Update port request: %s" - msgstr "Portanforderung aktualisieren: %s" + msgid "Updating port: %s" + msgstr "" - #: neutron/plugins/vmware/plugins/base.py:1318 + #: neutron/plugins/vmware/plugins/base.py:1316 #, python-format msgid "Unable to update port id: %s." msgstr "" @@@ -12915,8 -13887,54 +14195,56 @@@ msgstr " #, python-format msgid "Unable to update name on NSX backend for network gateway: %s" msgstr "" ++"'Add_router_interface' für Teilnetz: %(subnet_id)s und Router: " ++"%(router_id)s abgeschlossen" + + #: neutron/plugins/vmware/plugins/base.py:2130 + #: neutron/plugins/vmware/plugins/base.py:2176 + #, python-format + msgid "" + "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: " + "%(nsx_id)s; Operational status: %(status)s." + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2140 + #, python-format + msgid "Unable to create gateway device: %s on NSX backend." + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2188 + #, python-format + msgid "Unable to update gateway device: %s on NSX backend." + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2197 + #, python-format + msgid "" + "Unable to update gateway device: %s on NSX backend, as the gateway was " + "not found on the NSX backend." + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2284 + #, python-format + msgid "" + "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX " + "id:%(nsx_id)s) because the NSX resource was not found" + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2291 + #, python-format + msgid "" + "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX " + "id:%(nsx_id)s). Neutron and NSX states have diverged." + msgstr "" + + #: neutron/plugins/vmware/plugins/base.py:2339 + #, python-format + msgid "" + "Error while updating security profile %(uuid)s with name %(name)s: " + "%(error)s." + msgstr "" - #: neutron/plugins/vmware/plugins/base.py:2146 + #: neutron/plugins/vmware/plugins/base.py:2371 #, python-format msgid "" "The NSX security profile %(sec_profile_id)s, associated with the Neutron " @@@ -14223,267 -15271,332 +15581,534 @@@ msgstr "Fehler beim Importieren von Las msgid "Multiple device drivers with the same name found: %s" msgstr "" +#: neutron/services/loadbalancer/agent/agent_manager.py:141 +msgid "Error upating stats" +msgstr "Fehler beim Aktualisieren der Statistiken" + +#: neutron/services/loadbalancer/agent/agent_manager.py:156 +msgid "Unable to retrieve ready devices" +msgstr "Abrufen von bereiten Einheiten nicht möglich" + +#: neutron/services/loadbalancer/agent/agent_manager.py:173 +#: neutron/services/loadbalancer/agent/agent_manager.py:238 +#, python-format +msgid "No device driver on agent: %s." +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:183 +#, python-format +msgid "Unable to deploy instance for pool: %s" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:193 +#, python-format +msgid "Unable to destroy device for pool: %s" +msgstr "Einheit für Pool kann nicht gelöscht werden: %s" + +#: neutron/services/loadbalancer/agent/agent_manager.py:206 +#, python-format +msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:332 +#, python-format +msgid "Destroying pool %s due to agent disabling" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:335 +#, python-format +msgid "Agent_updated by server side %s!" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:44 +msgid "Driver to use for scheduling pool to a default loadbalancer agent" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:52 +msgid "Device driver for agent should be specified in plugin driver." +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:79 +#, python-format +msgid "Multiple lbaas agents found on host %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99 +msgid "Expected active pool" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161 +#, python-format +msgid "Unknown object type: %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172 +#, python-format +msgid "" +"Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was" +" probably deleted concurrently" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195 +#, python-format +msgid "Unable to find port %s to plug." +msgstr "Zu verbindender Port %s kann nicht gefunden werden." + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219 +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236 +#, python-format +msgid "" +"Unable to find port %s to unplug. This can occur when the Vip has been " +"deleted first." +msgstr "" +"Zu entfernender Port %s kann nicht gefunden werden. Dies kann auftreten, " +"wenn die VIP zuerst gelöscht wurde." + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:48 +msgid "Location to store config and state files" +msgstr "Position zum Speichern der Konfigurations- und Statusdateien" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:54 +msgid "The user group" +msgstr "Die Benutzergruppe" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:70 +#, python-format +msgid "Error importing interface driver: %s" +msgstr "Fehler beim Importieren von Schnittstellentreiber: %s" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:160 +#, python-format +msgid "Stats socket not found for pool %s" +msgstr "Statistiksocket für Pool nicht gefunden: %s" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:202 +#, python-format +msgid "Error while connecting to stats socket: %s" +msgstr "Fehler beim Versuch, mit Statistiksocket zu verbinden: %s" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:348 +#, python-format +msgid "Unable to kill haproxy process: %s" +msgstr "HAProxy-Prozess kann nicht beendet werden: %s" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:43 +#, python-format +msgid "NCC Error %d" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:54 +msgid "No NetScaler Control Center URI specified. Cannot connect." +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:133 +#, python-format +msgid "Connection error occurred while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:138 +#, python-format +msgid "SSL error occurred while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:143 +#, python-format +msgid "Request to %s timed out" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:150 +msgid "Request did not specify a valid URL" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:154 +#, python-format +msgid "Too many redirects occurred for request to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:158 +#, python-format +msgid "A request error while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:163 +#, python-format +msgid "A unknown error occurred during request to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:168 +#, python-format +msgid "Response: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:171 ++#: neutron/services/loadbalancer/plugin.py:82 +#, python-format +msgid "Unable to login. Invalid credentials passed.for: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:175 ++#: neutron/services/loadbalancer/plugin.py:91 +#, python-format +msgid "Failed %(method)s operation on %(url)s status code: %(response_status)s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:29 - msgid "The URL to reach the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/plugin.py:99 ++#, python-format ++msgid "Error retrieving provider for pool %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:33 - msgid "Username to login to the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/plugin.py:190 ++#, python-format ++msgid "Failed to delete pool %s, putting it in ERROR state" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:37 - msgid "Password to login to the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/agent/agent.py:34 ++msgid "Seconds between periodic task runs" ++msgstr "Sekunden zwischen Ausführungen regelmäßig wiederkehrender Tasks" ++ ++#: neutron/services/loadbalancer/agent/agent_manager.py:40 ++msgid "Drivers used to manage loadbalancing devices" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:75 ++#: neutron/services/loadbalancer/agent/agent_manager.py:46 +#, python-format +msgid "NetScaler driver vip creation: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:90 ++#: neutron/services/loadbalancer/agent/agent_manager.py:94 +#, python-format +msgid "NetScaler driver vip %(vip_id)s update: %(vip_obj)s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:105 ++#: neutron/services/loadbalancer/agent/agent_manager.py:101 +#, python-format +msgid "NetScaler driver vip removal: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:126 + #: neutron/services/loadbalancer/agent/agent_manager.py:141 + #, python-format + msgid "Error updating statistics on pool %s" + msgstr "" + + #: neutron/services/loadbalancer/agent/agent_manager.py:157 + msgid "Unable to retrieve ready devices" + msgstr "Abrufen von bereiten Einheiten nicht möglich" + + #: neutron/services/loadbalancer/agent/agent_manager.py:174 + #: neutron/services/loadbalancer/agent/agent_manager.py:239 #, python-format -msgid "No device driver on agent: %s." +msgid "NetScaler driver pool creation: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:141 + #: neutron/services/loadbalancer/agent/agent_manager.py:184 #, python-format -msgid "Unable to deploy instance for pool: %s" +msgid "NetScaler driver pool %(pool_id)s update: %(pool_obj)s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:156 + #: neutron/services/loadbalancer/agent/agent_manager.py:194 #, python-format -msgid "Unable to destroy device for pool: %s" -msgstr "Einheit für Pool kann nicht gelöscht werden: %s" +msgid "NetScaler driver pool removal: %s" +msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:173 + #: neutron/services/loadbalancer/agent/agent_manager.py:207 #, python-format - msgid "NetScaler driver poolmember creation: %s" + msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:191 + #: neutron/services/loadbalancer/agent/agent_manager.py:333 #, python-format - msgid "NetScaler driver poolmember %(member_id)s update: %(member_obj)s" + msgid "Destroying pool %s due to agent disabling" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:208 + #: neutron/services/loadbalancer/agent/agent_manager.py:336 #, python-format - msgid "NetScaler driver poolmember removal: %s" + msgid "Agent_updated by server side %s!" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:226 - #, python-format - msgid "" - "NetScaler driver healthmonitor creation for pool %(pool_id)s: " - "%(monitor_obj)s" + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:44 + msgid "Driver to use for scheduling pool to a default loadbalancer agent" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:249 - #, python-format - msgid "NetScaler driver healthmonitor %(monitor_id)s update: %(monitor_obj)s" + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:52 + msgid "Device driver for agent should be specified in plugin driver." msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:270 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:79 #, python-format - msgid "NetScaler driver healthmonitor %(monitor_id)sremoval for pool %(pool_id)s" + msgid "Multiple lbaas agents found on host %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:290 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:159 #, python-format - msgid "NetScaler driver pool stats retrieval: %s" + msgid "Unknown object type: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:415 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:170 #, python-format msgid "" - "Filtering ports based on network_id=%(network_id)s, " - "tenant_id=%(tenant_id)s, device_id=%(device_id)s" + "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was" + " probably deleted concurrently" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:430 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:193 #, python-format - msgid "Found an existing SNAT port for subnet %s" - msgstr "" + msgid "Unable to find port %s to plug." + msgstr "Zu verbindender Port %s kann nicht gefunden werden." - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:433 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:217 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:234 + #, python-format + msgid "" + "Unable to find port %s to unplug. This can occur when the Vip has been " + "deleted first." + msgstr "" + "Zu entfernender Port %s kann nicht gefunden werden. Dies kann auftreten, " + "wenn die VIP zuerst gelöscht wurde." + + #: neutron/services/loadbalancer/drivers/embrane/config.py:32 + msgid "Load Balancer image id (Embrane LB)" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:34 + msgid "In band Security Zone id for LBs" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:36 + msgid "Out of band Security Zone id for LBs" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:38 + msgid "Management Security Zone id for LBs" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:40 + msgid "Dummy user traffic Security Zone id for LBs" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:44 + msgid "choose LB image flavor to use, accepted values: small, medium" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:47 + msgid "resource synchronization interval in seconds" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/constants.py:51 + #, python-format + msgid "%s, probably was cancelled through the heleos UI" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/constants.py:58 + #, python-format + msgid "" + "Failed to delete the backend load balancer for reason %s. Please remove " + "it manually through the heleos UI" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/constants.py:61 + #, python-format + msgid "" + "No subnet is associated to member %s (required to identify the proper " + "load balancer port)" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/driver.py:88 + msgid "Connection limit is not supported by Embrane LB" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/driver.py:94 + #, python-format + msgid "Session persistence %s not supported by Embrane LBaaS" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/driver.py:132 + #, python-format + msgid "Subnet assigned to pool %s doesn't exist, backend port can't be created" + msgstr "" + + #: neutron/services/loadbalancer/drivers/embrane/agent/lb_operations.py:111 + #, python-format + msgid "" + "The load balancer %s had no physical representation, likely already " + "deleted" + msgstr "" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:48 + msgid "Location to store config and state files" + msgstr "Position zum Speichern der Konfigurations- und Statusdateien" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:54 + msgid "The user group" + msgstr "Die Benutzergruppe" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:70 + #, python-format + msgid "Error importing interface driver: %s" + msgstr "Fehler beim Importieren von Schnittstellentreiber: %s" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:160 + #, python-format + msgid "Stats socket not found for pool %s" + msgstr "Statistiksocket für Pool nicht gefunden: %s" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:202 + #, python-format + msgid "Error while connecting to stats socket: %s" + msgstr "Fehler beim Versuch, mit Statistiksocket zu verbinden: %s" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:353 + #, python-format + msgid "Unable to kill haproxy process: %s" + msgstr "HAProxy-Prozess kann nicht beendet werden: %s" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:43 + #, python-format + msgid "NCC Error %d" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:54 + msgid "No NetScaler Control Center URI specified. Cannot connect." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:133 + #, python-format + msgid "Connection error occurred while connecting to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:138 + #, python-format + msgid "SSL error occurred while connecting to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:143 + #, python-format + msgid "Request to %s timed out" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:150 + msgid "Request did not specify a valid URL" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:154 + #, python-format + msgid "Too many redirects occurred for request to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:158 + #, python-format + msgid "A request error while connecting to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:163 + #, python-format + msgid "A unknown error occurred during request to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:168 + #, python-format + msgid "Response: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:171 + #, python-format + msgid "Unable to login. Invalid credentials passed.for: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:175 + #, python-format + msgid "Failed %(method)s operation on %(url)s status code: %(response_status)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:29 + msgid "The URL to reach the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:33 + msgid "Username to login to the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:37 + msgid "Password to login to the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:75 + #, python-format + msgid "NetScaler driver vip creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:90 + #, python-format + msgid "NetScaler driver vip %(vip_id)s update: %(vip_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:105 + #, python-format + msgid "NetScaler driver vip removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:126 + #, python-format + msgid "NetScaler driver pool creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:141 + #, python-format + msgid "NetScaler driver pool %(pool_id)s update: %(pool_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:156 + #, python-format + msgid "NetScaler driver pool removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:173 + #, python-format + msgid "NetScaler driver poolmember creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:191 + #, python-format + msgid "NetScaler driver poolmember %(member_id)s update: %(member_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:208 + #, python-format + msgid "NetScaler driver poolmember removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:226 + #, python-format + msgid "" + "NetScaler driver healthmonitor creation for pool %(pool_id)s: " + "%(monitor_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:249 + #, python-format + msgid "NetScaler driver healthmonitor %(monitor_id)s update: %(monitor_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:270 + #, python-format + msgid "NetScaler driver healthmonitor %(monitor_id)sremoval for pool %(pool_id)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:290 + #, python-format + msgid "NetScaler driver pool stats retrieval: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:415 + #, python-format + msgid "" + "Filtering ports based on network_id=%(network_id)s, " + "tenant_id=%(tenant_id)s, device_id=%(device_id)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:430 + #, python-format + msgid "Found an existing SNAT port for subnet %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:433 #, python-format msgid "Found no SNAT ports for subnet %s" msgstr "" diff --cc neutron/locale/en_AU/LC_MESSAGES/neutron.po index 6e336756b,fbcb0732e..10c39a19a --- a/neutron/locale/en_AU/LC_MESSAGES/neutron.po +++ b/neutron/locale/en_AU/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/en_GB/LC_MESSAGES/neutron.po index 18ab7b9ca,d1d957c4a..65baa3c3f --- a/neutron/locale/en_GB/LC_MESSAGES/neutron.po +++ b/neutron/locale/en_GB/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/en_US/LC_MESSAGES/neutron.po index 15696e917,a5600f72c..b39aeada3 --- a/neutron/locale/en_US/LC_MESSAGES/neutron.po +++ b/neutron/locale/en_US/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/es/LC_MESSAGES/neutron.po index 74802414f,ef42bc365..b8c41f47c --- a/neutron/locale/es/LC_MESSAGES/neutron.po +++ b/neutron/locale/es/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/es_MX/LC_MESSAGES/neutron.po index a6288971e,0306f9c66..b347fa7c7 --- a/neutron/locale/es_MX/LC_MESSAGES/neutron.po +++ b/neutron/locale/es_MX/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/eu/LC_MESSAGES/neutron.po index 40c321d9d,f3284c0f2..716e1c0dc --- a/neutron/locale/eu/LC_MESSAGES/neutron.po +++ b/neutron/locale/eu/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/eu_ES/LC_MESSAGES/neutron.po index 60920dc3d,f45ee749b..dc03d61a9 --- a/neutron/locale/eu_ES/LC_MESSAGES/neutron.po +++ b/neutron/locale/eu_ES/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/fa/LC_MESSAGES/neutron.po index 36355e967,4906a59dd..7282b87f2 --- a/neutron/locale/fa/LC_MESSAGES/neutron.po +++ b/neutron/locale/fa/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/fi_FI/LC_MESSAGES/neutron.po index 8f214115e,ae72e1350..3caf4aaac --- a/neutron/locale/fi_FI/LC_MESSAGES/neutron.po +++ b/neutron/locale/fi_FI/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/fil/LC_MESSAGES/neutron.po index 8ddda24b7,a3c535035..8a3b5ca6d --- a/neutron/locale/fil/LC_MESSAGES/neutron.po +++ b/neutron/locale/fil/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/fr/LC_MESSAGES/neutron.po index a3c0e0349,0b6a6619f..20d61dd8e --- a/neutron/locale/fr/LC_MESSAGES/neutron.po +++ b/neutron/locale/fr/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/gl/LC_MESSAGES/neutron.po index 234438d90,731dd7fad..9af4c5c02 --- a/neutron/locale/gl/LC_MESSAGES/neutron.po +++ b/neutron/locale/gl/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/hi/LC_MESSAGES/neutron.po index 8fb4aaf72,b69e2bdd4..eff7f841d --- a/neutron/locale/hi/LC_MESSAGES/neutron.po +++ b/neutron/locale/hi/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/hr/LC_MESSAGES/neutron.po index 37c21cb22,68a4174ec..793188276 --- a/neutron/locale/hr/LC_MESSAGES/neutron.po +++ b/neutron/locale/hr/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/hu/LC_MESSAGES/neutron.po index 58217934f,1a5029df9..589a22a98 --- a/neutron/locale/hu/LC_MESSAGES/neutron.po +++ b/neutron/locale/hu/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/id/LC_MESSAGES/neutron.po index 660b90f87,cf3a4b8b1..4e2c4ca67 --- a/neutron/locale/id/LC_MESSAGES/neutron.po +++ b/neutron/locale/id/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/is_IS/LC_MESSAGES/neutron.po index da65d72b8,28aa4cce2..e38e0f3b0 --- a/neutron/locale/is_IS/LC_MESSAGES/neutron.po +++ b/neutron/locale/is_IS/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/it/LC_MESSAGES/neutron.po index 585cdd59b,be2c547b1..3d67915d6 --- a/neutron/locale/it/LC_MESSAGES/neutron.po +++ b/neutron/locale/it/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/it_IT/LC_MESSAGES/neutron.po index 5a3d56d2f,2c404e9ae..85faa112a --- a/neutron/locale/it_IT/LC_MESSAGES/neutron.po +++ b/neutron/locale/it_IT/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ja/LC_MESSAGES/neutron.po index fd9966264,e265e2818..7125bd2dc --- a/neutron/locale/ja/LC_MESSAGES/neutron.po +++ b/neutron/locale/ja/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ka_GE/LC_MESSAGES/neutron.po index b707dcb17,0158a4ca9..0e1557edd --- a/neutron/locale/ka_GE/LC_MESSAGES/neutron.po +++ b/neutron/locale/ka_GE/LC_MESSAGES/neutron.po @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3978,29 -4219,29 +4234,29 @@@ msgstr " #: neutron/openstack/common/notifier/api.py:125 #, python-format --msgid "%s not in valid priorities" ++msgid "Invalid SSL version : %s" msgstr "" --#: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/versionutils.py:69 #, python-format msgid "" --"Problem '%(e)s' attempting to send to notification system. " --"Payload=%(payload)s" ++"%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and " ++"may be removed in %(remove_in)s." msgstr "" --#: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/versionutils.py:73 #, python-format --msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "" ++"%(what)s is deprecated as of %(as_of)s and may be removed in " ++"%(remove_in)s. It will not be superseded." msgstr "" --#: neutron/openstack/common/notifier/rabbit_notifier.py:27 --msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/api.py:97 ++msgid "DB exceeded retry limit." msgstr "" --#: neutron/openstack/common/notifier/rpc_notifier.py:45 --#: neutron/openstack/common/notifier/rpc_notifier2.py:51 --#, python-format --msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++#: neutron/openstack/common/db/api.py:101 ++msgid "DB connection error." msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -4754,122 -5056,132 +5071,320 @@@ msgid " "ret=%(ret)s, data=%(data)r" msgstr "" + #: neutron/plugins/bigswitch/servermanager.py:434 + #, python-format + msgid "ServerProxy: %(action)s failure for all servers: %(server)r" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:457 + #, python-format + msgid "" + "NeutronRestProxyV2: Received and ignored error code %(code)s on " + "%(action)s action to resource %(resource)s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:467 + #, python-format + msgid "Unable to create remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:473 + #, python-format + msgid "Unable to update remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:478 + #, python-format + msgid "Unable to delete remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:484 + #, python-format + msgid "Unable to add router interface: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:489 + #, python-format + msgid "Unable to delete remote intf: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:495 + #, python-format + msgid "Unable to create remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:501 + #: neutron/plugins/bigswitch/servermanager.py:506 + #, python-format + msgid "Unable to update remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:515 + #, python-format + msgid "No device MAC attached to port %s. Skipping notification to controller." + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:520 + #, python-format + msgid "Unable to create remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:525 + #, python-format + msgid "Unable to delete remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:535 + #, python-format + msgid "Unable to create floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:540 + #, python-format + msgid "Unable to update floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:545 + #, python-format + msgid "Unable to delete floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:550 + msgid "Backend server(s) do not support automated consitency checks." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 + msgid "Port update received" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 + #, python-format + msgid "Port %s is not present on this host." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 + #, python-format + msgid "Port %s found. Refreshing firewall." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 + msgid "Agent loop has new device" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 + #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405 + #: neutron/plugins/nec/agent/nec_neutron_agent.py:222 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:156 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 + msgid "Error in agent event loop" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 + #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226 + #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 + #, python-format + msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" + msgstr "" + + #: neutron/plugins/bigswitch/db/consistency_db.py:55 + #, python-format + msgid "Consistency hash for group %(hash_id)s updated to %(hash)s" + msgstr "" + ++#: neutron/plugins/bigswitch/servermanager.py:115 ++#, python-format ++msgid "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:118 ++#, python-format ++msgid "Received an empty port ID for host_id '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:42 ++#, python-format ++msgid "Received an empty host_id for port '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:44 ++#, python-format ++msgid "Logging port %(port)s on host_id %(host)s" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:128 ++msgid "ServerProxy: Could not establish HTTPS connection" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:135 ++msgid "ServerProxy: Could not establish HTTP connection" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:152 ++#, python-format ++msgid "ServerProxy: %(action)s failure, %(e)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:156 ++#, python-format ++msgid "" ++"ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, " ++"data=%(data)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:168 ++msgid "ServerPool: initializing" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:184 ++msgid "Servers not defined. Aborting server manager." ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:190 ++#, python-format ++msgid "Servers must be defined as :. Configuration was %s" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:66 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33 ++msgid "The address of the host to SSH to" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:68 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35 ++msgid "The SSH username to use" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:70 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37 ++msgid "The SSH password to use" ++msgstr "" ++ +#: neutron/plugins/bigswitch/servermanager.py:252 +#, python-format +msgid "ServerProxy: %(action)s failure for all servers: %(server)r" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:274 +#, python-format +msgid "" +"NeutronRestProxyV2: Received and ignored error code %(code)s on " +"%(action)s action to resource %(resource)s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:284 ++#: neutron/plugins/brocade/NeutronPlugin.py:134 ++#: neutron/plugins/hyperv/rpc_callbacks.py:55 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:89 ++#: neutron/plugins/mlnx/rpc_callbacks.py:76 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96 +#, python-format +msgid "Unable to create remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:290 +#, python-format +msgid "Unable to update remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:295 +#, python-format +msgid "Unable to delete remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:301 +#, python-format +msgid "Unable to add router interface: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:306 +#, python-format +msgid "Unable to delete remote intf: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:312 +#, python-format +msgid "Unable to create remote network: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:318 +#: neutron/plugins/bigswitch/servermanager.py:323 +#, python-format +msgid "Unable to update remote network: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:332 +#, python-format +msgid "No device MAC attached to port %s. Skipping notification to controller." +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:337 +#, python-format +msgid "Unable to create remote port: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:342 +#, python-format +msgid "Unable to delete remote port: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:352 +#, python-format +msgid "Unable to create floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:357 +#, python-format +msgid "Unable to update floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:362 +#, python-format +msgid "Unable to delete floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 +msgid "Port update received" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 +#, python-format +msgid "Port %s is not present on this host." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 +#, python-format +msgid "Port %s found. Refreshing firewall." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 +msgid "Agent loop has new device" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 +#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401 +#: neutron/plugins/nec/agent/nec_neutron_agent.py:222 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 +msgid "Error in agent event loop" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 +#: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201 +#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 +#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 +#, python-format +msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" +msgstr "" + #: neutron/plugins/bigswitch/db/porttracker_db.py:36 msgid "No host_id in port request to track port location." msgstr "" @@@ -10289,327 -10946,600 +11146,604 @@@ msgstr " msgid "Number of seconds to retry acquiring an Open vSwitch datapath" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:209 - #, python-format - msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" + #: neutron/plugins/oneconvergence/plugin.py:243 + msgid "Failed to create subnet, deleting it from neutron" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:257 + #: neutron/plugins/oneconvergence/plugin.py:307 #, python-format - msgid "Reserving tunnel %s from pool" + msgid "Deleting newly created neutron port %s" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:272 - #, python-format - msgid "Reserving specific tunnel %s from pool" + #: neutron/plugins/oneconvergence/plugin.py:377 + msgid "Failed to create floatingip" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:275 - #, python-format - msgid "Reserving specific tunnel %s outside pool" + #: neutron/plugins/oneconvergence/plugin.py:416 + msgid "Failed to create router" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:298 - #, python-format - msgid "Releasing tunnel %s outside pool" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:151 + msgid "Port list is updated" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:300 - #, python-format - msgid "Releasing tunnel %s to pool" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:158 + msgid "AGENT looping....." msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:302 - #, python-format - msgid "tunnel_id %s not found" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:171 + msgid "NVSD Agent initialized successfully, now running... " msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:374 - #, python-format - msgid "Adding a tunnel endpoint for %s" + #: neutron/plugins/oneconvergence/lib/config.py:26 + msgid "NVSD Controller IP address" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:390 - #, python-format - msgid "" - "Adding a tunnel endpoint failed due to a concurrenttransaction had been " - "committed (%s attempts left)" + #: neutron/plugins/oneconvergence/lib/config.py:29 + msgid "NVSD Controller Port number" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:395 - msgid "Unable to generate a new tunnel id" + #: neutron/plugins/oneconvergence/lib/config.py:32 + msgid "NVSD Controller username" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:304 - #, python-format - msgid "Invalid tenant_network_type: %s. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:35 + msgid "NVSD Controller password" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:321 - #, python-format - msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:38 + msgid "NVSD controller REST API request timeout in seconds" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:367 - #, python-format - msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:40 + msgid "Number of login retries to NVSD controller" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:371 - #, python-format - msgid "Tunnel ID ranges: %s" + #: neutron/plugins/oneconvergence/lib/config.py:45 + msgid "integration bridge" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:426 + #: neutron/plugins/oneconvergence/lib/exception.py:23 #, python-format - msgid "%s networks are not enabled" + msgid "An unknown nvsd plugin exception occurred: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297 - #, python-format - msgid "port_update message processed for port %s" + #: neutron/plugins/oneconvergence/lib/exception.py:27 + #: neutron/plugins/vmware/api_client/exception.py:68 + msgid "The request has timed out." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:671 - #, python-format - msgid "Adding %s to list of bridges." + #: neutron/plugins/oneconvergence/lib/exception.py:31 + msgid "Invalid access credentials to the Server." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:857 + #: neutron/plugins/oneconvergence/lib/exception.py:35 #, python-format - msgid "VIF port: %s has no ofport configured, and might not be able to transmit" + msgid "A resource is not found: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:923 + #: neutron/plugins/oneconvergence/lib/exception.py:39 #, python-format - msgid "Processing port %s" + msgid "Request sent to server is invalid: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/oneconvergence/lib/exception.py:43 #, python-format - msgid "" - "Port %s was not found on the integration bridge and will therefore not be" - " processed" + msgid "Internal Server Error: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955 - #, python-format - msgid "Setting status for %s to UP" + #: neutron/plugins/oneconvergence/lib/exception.py:47 + msgid "Connection is closed by the server." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:959 + #: neutron/plugins/oneconvergence/lib/exception.py:51 #, python-format - msgid "Setting status for %s to DOWN" + msgid "The request is forbidden access to the resource: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:962 + #: neutron/plugins/oneconvergence/lib/exception.py:55 #, python-format - msgid "Configuration for device %s completed." + msgid "Internal Server Error from NVSD controller: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1053 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:55 #, python-format - msgid "" - "process_network_ports - iteration:%(iter_num)d " - "-treat_devices_added_or_updated completed in %(elapsed).3f" + msgid "Could not create a %(resource)s under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1061 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:59 #, python-format - msgid "" - "process_network_ports - iteration:%(iter_num)d -treat_devices_removed " - "completed in %(elapsed).3f" + msgid "Failed to %(method)s %(resource)s id=%(resource_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1140 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:65 #, python-format - msgid "Agent rpc_loop - iteration:%d started" + msgid "Failed to %(method)s %(resource)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154 - msgid "Error while synchronizing tunnels" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:109 + #, python-format + msgid "Network %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1158 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:126 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - starting polling. " - "Elapsed:%(elapsed).3f" + msgid "Network %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1170 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:147 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. " - "Elapsed:%(elapsed).3f" + msgid "Network %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1179 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:160 #, python-format - msgid "Starting to process devices in:%s" + msgid "Subnet %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1183 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:174 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d -ports processed. " - "Elapsed:%(elapsed).3f" + msgid "Subnet %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1197 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:190 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. " - "Elapsed:%(elapsed).3f" + msgid "Subnet %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:222 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " - "Elapsed:%(elapsed).3f" + msgid "Port %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1220 - msgid "Error while processing VIF ports" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:246 + #, python-format + msgid "Port %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:259 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports " - "statistics: %(port_stats)s. Elapsed:%(elapsed).3f" + msgid "Port %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:32 - msgid "Enable tunneling support" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:281 + #, python-format + msgid "Flatingip %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:34 - msgid "Tunnel bridge to use" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:298 + #, python-format + msgid "Flatingip %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:36 - msgid "Peer patch port in integration bridge for tunnel bridge" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:312 + #, python-format + msgid "Flatingip %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:39 - msgid "Peer patch port in tunnel bridge for integration bridge" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:325 + #, python-format + msgid "Router %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:42 - msgid "Local IP address of GRE tunnel endpoints." + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:341 + #, python-format + msgid "Router %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:45 - msgid "List of :" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:351 + #, python-format + msgid "Router %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:47 - msgid "Network type for tenant networks (local, vlan, gre, vxlan, or none)" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:81 + #, python-format + msgid "Unable to connect to NVSD controller. Exiting after %(retries)s attempts" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:55 - msgid "List of :" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:91 + #, python-format + msgid "Login Failed: %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:57 - msgid "The type of tunnels to use when utilizing tunnels, either 'gre' or 'vxlan'" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:92 + #, python-format + msgid "Unable to establish connection with Controller %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:67 - msgid "Minimize polling by monitoring ovsdb for interface changes." + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:94 + msgid "Retrying after 1 second..." msgstr "" - #: neutron/plugins/openvswitch/common/config.py:71 - msgid "" - "The number of seconds to wait before respawning the ovsdb monitor after " - "losing communication with it" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:98 + #, python-format + msgid "Login Successful %(uri)s %(status)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:74 - msgid "Network types supported by the agent (gre and/or vxlan)" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:102 + #, python-format + msgid "AuthToken = %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:77 - msgid "The UDP port to use for VXLAN tunnels." + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:104 + msgid "login failed" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:79 - msgid "MTU size of veth interfaces" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:112 + msgid "No Token, Re-login" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:81 - msgid "" - "Use ml2 l2population mechanism driver to learn remote mac and IPs and " - "improve tunnel scalability" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:129 + #, python-format + msgid "request: %(method)s %(uri)s successful" msgstr "" - #: neutron/plugins/plumgrid/common/exceptions.py:26 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:136 #, python-format - msgid "PLUMgrid Plugin Error: %(err_msg)s" + msgid "request: Request failed from Controller side :%s" msgstr "" - #: neutron/plugins/plumgrid/common/exceptions.py:30 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:141 #, python-format - msgid "Connection failed with PLUMgrid Director: %(err_msg)s" + msgid "Response is Null, Request timed out: %(method)s to %(uri)s" msgstr "" - #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:32 - msgid "Python PLUMgrid Fake Library Started " + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:153 + #, python-format + msgid "Request %(method)s %(uri)s body = %(body)s failed with status %(status)s" msgstr "" - #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:37 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:157 #, python-format - msgid "Fake Director: %s" + msgid "%s" msgstr "" - #: neutron/plugins/plumgrid/drivers/plumlib.py:38 - msgid "Python PLUMgrid Library Started " + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:161 + #, python-format + msgid "%(method)s to %(url)s, unexpected response code: %(status)d" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:44 - msgid "PLUMgrid Director server to connect to" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:167 + #, python-format + msgid "Request failed from Controller side with Status=%s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:46 - msgid "PLUMgrid Director server port to connect to" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:171 + #, python-format + msgid "Success: %(method)s %(url)s status=%(status)s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:48 - msgid "PLUMgrid Director admin username" + #: neutron/plugins/openvswitch/ovs_db_v2.py:210 + #, python-format + msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:50 - msgid "PLUMgrid Director admin password" + #: neutron/plugins/openvswitch/ovs_db_v2.py:258 + #, python-format + msgid "Reserving tunnel %s from pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:52 - msgid "PLUMgrid Director server timeout" + #: neutron/plugins/openvswitch/ovs_db_v2.py:273 + #, python-format + msgid "Reserving specific tunnel %s from pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:69 - msgid "Neutron PLUMgrid Director: Starting Plugin" + #: neutron/plugins/openvswitch/ovs_db_v2.py:276 + #, python-format + msgid "Reserving specific tunnel %s outside pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:74 - msgid "Neutron PLUMgrid Director: Neutron server with PLUMgrid Plugin has started" + #: neutron/plugins/openvswitch/ovs_db_v2.py:299 + #, python-format + msgid "Releasing tunnel %s outside pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:86 + #: neutron/plugins/openvswitch/ovs_db_v2.py:301 #, python-format - msgid "Neutron PLUMgrid Director: %s" + msgid "Releasing tunnel %s to pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:97 - msgid "Neutron PLUMgrid Director: create_network() called" + #: neutron/plugins/openvswitch/ovs_db_v2.py:303 + #, python-format + msgid "tunnel_id %s not found" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:111 - msgid "PLUMgrid Library: create_network() called" + #: neutron/plugins/openvswitch/ovs_db_v2.py:375 + #, python-format + msgid "Adding a tunnel endpoint for %s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:126 + #: neutron/plugins/openvswitch/ovs_db_v2.py:391 + #, python-format + msgid "" + "Adding a tunnel endpoint failed due to a concurrenttransaction had been " + "committed (%s attempts left)" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:396 + msgid "Unable to generate a new tunnel id" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:305 + #, python-format + msgid "Invalid tenant_network_type: %s. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:322 + #, python-format + msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:368 + #, python-format + msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:372 + #, python-format + msgid "Tunnel ID ranges: %s" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427 + #, python-format + msgid "%s networks are not enabled" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299 + #, python-format + msgid "port_update message processed for port %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673 + #, python-format + msgid "Adding %s to list of bridges." + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858 + #, python-format + msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886 + #, python-format + msgid "VIF port: %s has no ofport configured, and might not be able to transmit" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952 + #, python-format + msgid "Processing port %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 + #, python-format + msgid "" + "Port %s was not found on the integration bridge and will therefore not be" + " processed" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984 + #, python-format + msgid "Setting status for %s to UP" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988 + #, python-format + msgid "Setting status for %s to DOWN" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991 + #, python-format + msgid "Configuration for device %s completed." + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082 + #, python-format + msgid "" + "process_network_ports - iteration:%(iter_num)d " + "-treat_devices_added_or_updated completed in %(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090 + #, python-format + msgid "" + "process_network_ports - iteration:%(iter_num)d -treat_devices_removed " + "completed in %(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125 + #, python-format + msgid "Unable to create tunnel port. Invalid remote IP: %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185 + #, python-format + msgid "Agent rpc_loop - iteration:%d started" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199 + msgid "Error while synchronizing tunnels" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - starting polling. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224 + #, python-format + msgid "Starting to process devices in:%s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d -ports processed. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242 + #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265 + msgid "Error while processing VIF ports" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports " + "statistics: %(port_stats)s. Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:32 + msgid "Enable tunneling support" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:34 + msgid "Tunnel bridge to use" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:36 + msgid "Peer patch port in integration bridge for tunnel bridge" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:39 + msgid "Peer patch port in tunnel bridge for integration bridge" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:42 + msgid "Local IP address of GRE tunnel endpoints." + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:45 + msgid "List of :" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:47 + msgid "Network type for tenant networks (local, vlan, gre, vxlan, or none)" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:55 + msgid "List of :" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:57 + msgid "The type of tunnels to use when utilizing tunnels, either 'gre' or 'vxlan'" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:67 + msgid "Minimize polling by monitoring ovsdb for interface changes." + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:71 + msgid "" + "The number of seconds to wait before respawning the ovsdb monitor after " + "losing communication with it" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:74 + msgid "Network types supported by the agent (gre and/or vxlan)" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:79 + msgid "MTU size of veth interfaces" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:81 + msgid "" + "Use ml2 l2population mechanism driver to learn remote mac and IPs and " + "improve tunnel scalability" + msgstr "" + + #: neutron/plugins/plumgrid/common/exceptions.py:26 + #, python-format + msgid "PLUMgrid Plugin Error: %(err_msg)s" + msgstr "" + + #: neutron/plugins/plumgrid/common/exceptions.py:30 + #, python-format + msgid "Connection failed with PLUMgrid Director: %(err_msg)s" + msgstr "" + + #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:32 + msgid "Python PLUMgrid Fake Library Started " + msgstr "" + + #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:37 + #, python-format + msgid "Fake Director: %s" + msgstr "" + + #: neutron/plugins/plumgrid/drivers/plumlib.py:38 + msgid "Python PLUMgrid Library Started " + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:45 + msgid "PLUMgrid Director server to connect to" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:47 + msgid "PLUMgrid Director server port to connect to" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:49 + msgid "PLUMgrid Director admin username" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:51 + msgid "PLUMgrid Director admin password" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:53 + msgid "PLUMgrid Director server timeout" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:70 + msgid "Neutron PLUMgrid Director: Starting Plugin" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:75 + msgid "Neutron PLUMgrid Director: Neutron server with PLUMgrid Plugin has started" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:87 + #, python-format + msgid "Neutron PLUMgrid Director: %s" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:98 + msgid "Neutron PLUMgrid Director: create_network() called" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:112 + msgid "PLUMgrid Library: create_network() called" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:127 msgid "Neutron PLUMgrid Director: update_network() called" msgstr "" diff --cc neutron/locale/km/LC_MESSAGES/neutron.po index c9d61f8de,961e9f3f9..d81bc23de --- a/neutron/locale/km/LC_MESSAGES/neutron.po +++ b/neutron/locale/km/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/kn/LC_MESSAGES/neutron.po index 8d15858e4,4707ed3c8..0dedd532c --- a/neutron/locale/kn/LC_MESSAGES/neutron.po +++ b/neutron/locale/kn/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ko/LC_MESSAGES/neutron.po index 05d3a5087,02251b743..bcf431efe --- a/neutron/locale/ko/LC_MESSAGES/neutron.po +++ b/neutron/locale/ko/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ko_KR/LC_MESSAGES/neutron.po index ce4a0becf,8fdcfbf39..6d2b814d0 --- a/neutron/locale/ko_KR/LC_MESSAGES/neutron.po +++ b/neutron/locale/ko_KR/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3922,7 -4163,7 +4178,7 @@@ msgstr " #: neutron/openstack/common/db/sqlalchemy/session.py:804 #, python-format --msgid "SQL connection failed. %s attempts left." ++msgid "Unable to find ca_file : %s" msgstr "" #: neutron/openstack/common/db/sqlalchemy/utils.py:57 @@@ -3978,29 -4219,29 +4234,28 @@@ msgstr " #: neutron/openstack/common/notifier/api.py:125 #, python-format --msgid "%s not in valid priorities" ++msgid "" ++"%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and " ++"may be removed in %(remove_in)s." msgstr "" --#: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/versionutils.py:73 #, python-format msgid "" --"Problem '%(e)s' attempting to send to notification system. " --"Payload=%(payload)s" ++"%(what)s is deprecated as of %(as_of)s and may be removed in " ++"%(remove_in)s. It will not be superseded." msgstr "" --#: neutron/openstack/common/notifier/api.py:171 --#, python-format --msgid "Failed to load notifier %s. These notifications will not be sent." ++#: neutron/openstack/common/db/api.py:97 ++msgid "DB exceeded retry limit." msgstr "" --#: neutron/openstack/common/notifier/rabbit_notifier.py:27 --msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/api.py:101 ++msgid "DB connection error." msgstr "" --#: neutron/openstack/common/notifier/rpc_notifier.py:45 --#: neutron/openstack/common/notifier/rpc_notifier2.py:51 --#, python-format --msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++#: neutron/openstack/common/db/exception.py:44 ++msgid "Invalid Parameter: Unicode is not supported by the current database." msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -4766,110 -5068,120 +5082,307 @@@ msgid " "%(action)s action to resource %(resource)s" msgstr "" + #: neutron/plugins/bigswitch/servermanager.py:467 + #, python-format + msgid "Unable to create remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:473 + #, python-format + msgid "Unable to update remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:478 + #, python-format + msgid "Unable to delete remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:484 + #, python-format + msgid "Unable to add router interface: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:489 + #, python-format + msgid "Unable to delete remote intf: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:495 + #, python-format + msgid "Unable to create remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:501 + #: neutron/plugins/bigswitch/servermanager.py:506 + #, python-format + msgid "Unable to update remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:515 + #, python-format + msgid "No device MAC attached to port %s. Skipping notification to controller." + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:520 + #, python-format + msgid "Unable to create remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:525 + #, python-format + msgid "Unable to delete remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:535 + #, python-format + msgid "Unable to create floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:540 + #, python-format + msgid "Unable to update floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:545 + #, python-format + msgid "Unable to delete floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:550 + msgid "Backend server(s) do not support automated consitency checks." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 + msgid "Port update received" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 + #, python-format + msgid "Port %s is not present on this host." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 + #, python-format + msgid "Port %s found. Refreshing firewall." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 + msgid "Agent loop has new device" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 + #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405 + #: neutron/plugins/nec/agent/nec_neutron_agent.py:222 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:156 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 + msgid "Error in agent event loop" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 + #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226 + #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 + #, python-format + msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" + msgstr "" + + #: neutron/plugins/bigswitch/db/consistency_db.py:55 + #, python-format + msgid "Consistency hash for group %(hash_id)s updated to %(hash)s" + msgstr "" + ++#: neutron/plugins/bigswitch/servermanager.py:115 ++#, python-format ++msgid "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:118 ++#, python-format ++msgid "Received an empty port ID for host_id '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:42 ++#, python-format ++msgid "Received an empty host_id for port '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:44 ++#, python-format ++msgid "Logging port %(port)s on host_id %(host)s" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:128 ++msgid "ServerProxy: Could not establish HTTPS connection" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:135 ++msgid "ServerProxy: Could not establish HTTP connection" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:152 ++#, python-format ++msgid "ServerProxy: %(action)s failure, %(e)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:156 ++#, python-format ++msgid "" ++"ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, " ++"data=%(data)r" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:168 ++msgid "ServerPool: initializing" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:184 ++msgid "Servers not defined. Aborting server manager." ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:190 ++#, python-format ++msgid "Servers must be defined as :. Configuration was %s" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:196 ++msgid "ServerPool: initialization done" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:239 ++#, python-format ++msgid "" ++"ServerProxy: %(action)s failure for servers: %(server)r Response: " ++"%(response)s" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:66 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33 ++msgid "The address of the host to SSH to" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:68 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35 ++msgid "The SSH username to use" ++msgstr "" ++ ++#: neutron/plugins/brocade/NeutronPlugin.py:70 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37 ++msgid "The SSH password to use" ++msgstr "" ++ +#: neutron/plugins/bigswitch/servermanager.py:284 +#, python-format +msgid "Unable to create remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:290 +#, python-format +msgid "Unable to update remote router: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:295 ++#: neutron/plugins/brocade/NeutronPlugin.py:134 ++#: neutron/plugins/hyperv/rpc_callbacks.py:55 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:89 ++#: neutron/plugins/mlnx/rpc_callbacks.py:76 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96 +#, python-format +msgid "Unable to delete remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:301 +#, python-format +msgid "Unable to add router interface: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:306 +#, python-format +msgid "Unable to delete remote intf: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:312 +#, python-format +msgid "Unable to create remote network: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:318 +#: neutron/plugins/bigswitch/servermanager.py:323 +#, python-format +msgid "Unable to update remote network: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:332 +#, python-format +msgid "No device MAC attached to port %s. Skipping notification to controller." +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:337 +#, python-format +msgid "Unable to create remote port: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:342 +#, python-format +msgid "Unable to delete remote port: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:352 +#, python-format +msgid "Unable to create floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:357 +#, python-format +msgid "Unable to update floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:362 +#, python-format +msgid "Unable to delete floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 +msgid "Port update received" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 +#, python-format +msgid "Port %s is not present on this host." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 +#, python-format +msgid "Port %s found. Refreshing firewall." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 +msgid "Agent loop has new device" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 +#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401 +#: neutron/plugins/nec/agent/nec_neutron_agent.py:222 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 +msgid "Error in agent event loop" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 +#: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201 +#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 +#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 +#, python-format +msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" +msgstr "" + #: neutron/plugins/bigswitch/db/porttracker_db.py:36 msgid "No host_id in port request to track port location." msgstr "" @@@ -10288,333 -10945,606 +11143,610 @@@ msgstr " msgid "Number of seconds to retry acquiring an Open vSwitch datapath" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:209 - #, python-format - msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" + #: neutron/plugins/oneconvergence/plugin.py:243 + msgid "Failed to create subnet, deleting it from neutron" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:257 + #: neutron/plugins/oneconvergence/plugin.py:307 #, python-format - msgid "Reserving tunnel %s from pool" + msgid "Deleting newly created neutron port %s" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:272 - #, python-format - msgid "Reserving specific tunnel %s from pool" + #: neutron/plugins/oneconvergence/plugin.py:377 + msgid "Failed to create floatingip" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:275 - #, python-format - msgid "Reserving specific tunnel %s outside pool" + #: neutron/plugins/oneconvergence/plugin.py:416 + msgid "Failed to create router" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:298 - #, python-format - msgid "Releasing tunnel %s outside pool" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:151 + msgid "Port list is updated" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:300 - #, python-format - msgid "Releasing tunnel %s to pool" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:158 + msgid "AGENT looping....." msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:302 - #, python-format - msgid "tunnel_id %s not found" + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:171 + msgid "NVSD Agent initialized successfully, now running... " msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:374 - #, python-format - msgid "Adding a tunnel endpoint for %s" + #: neutron/plugins/oneconvergence/lib/config.py:26 + msgid "NVSD Controller IP address" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:390 - #, python-format - msgid "" - "Adding a tunnel endpoint failed due to a concurrenttransaction had been " - "committed (%s attempts left)" + #: neutron/plugins/oneconvergence/lib/config.py:29 + msgid "NVSD Controller Port number" msgstr "" - #: neutron/plugins/openvswitch/ovs_db_v2.py:395 - msgid "Unable to generate a new tunnel id" + #: neutron/plugins/oneconvergence/lib/config.py:32 + msgid "NVSD Controller username" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:304 - #, python-format - msgid "Invalid tenant_network_type: %s. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:35 + msgid "NVSD Controller password" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:321 - #, python-format - msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:38 + msgid "NVSD controller REST API request timeout in seconds" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:367 - #, python-format - msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!" + #: neutron/plugins/oneconvergence/lib/config.py:40 + msgid "Number of login retries to NVSD controller" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:371 - #, python-format - msgid "Tunnel ID ranges: %s" + #: neutron/plugins/oneconvergence/lib/config.py:45 + msgid "integration bridge" msgstr "" - #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:426 + #: neutron/plugins/oneconvergence/lib/exception.py:23 #, python-format - msgid "%s networks are not enabled" + msgid "An unknown nvsd plugin exception occurred: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297 - #, python-format - msgid "port_update message processed for port %s" + #: neutron/plugins/oneconvergence/lib/exception.py:27 + #: neutron/plugins/vmware/api_client/exception.py:68 + msgid "The request has timed out." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:671 - #, python-format - msgid "Adding %s to list of bridges." + #: neutron/plugins/oneconvergence/lib/exception.py:31 + msgid "Invalid access credentials to the Server." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:857 + #: neutron/plugins/oneconvergence/lib/exception.py:35 #, python-format - msgid "VIF port: %s has no ofport configured, and might not be able to transmit" + msgid "A resource is not found: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:923 + #: neutron/plugins/oneconvergence/lib/exception.py:39 #, python-format - msgid "Processing port %s" + msgid "Request sent to server is invalid: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/oneconvergence/lib/exception.py:43 #, python-format - msgid "" - "Port %s was not found on the integration bridge and will therefore not be" - " processed" + msgid "Internal Server Error: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955 - #, python-format - msgid "Setting status for %s to UP" + #: neutron/plugins/oneconvergence/lib/exception.py:47 + msgid "Connection is closed by the server." msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:959 + #: neutron/plugins/oneconvergence/lib/exception.py:51 #, python-format - msgid "Setting status for %s to DOWN" + msgid "The request is forbidden access to the resource: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:962 + #: neutron/plugins/oneconvergence/lib/exception.py:55 #, python-format - msgid "Configuration for device %s completed." + msgid "Internal Server Error from NVSD controller: %(reason)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1053 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:55 #, python-format - msgid "" - "process_network_ports - iteration:%(iter_num)d " - "-treat_devices_added_or_updated completed in %(elapsed).3f" + msgid "Could not create a %(resource)s under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1061 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:59 #, python-format - msgid "" - "process_network_ports - iteration:%(iter_num)d -treat_devices_removed " - "completed in %(elapsed).3f" + msgid "Failed to %(method)s %(resource)s id=%(resource_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1140 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:65 #, python-format - msgid "Agent rpc_loop - iteration:%d started" + msgid "Failed to %(method)s %(resource)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154 - msgid "Error while synchronizing tunnels" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:109 + #, python-format + msgid "Network %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1158 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:126 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - starting polling. " - "Elapsed:%(elapsed).3f" + msgid "Network %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1170 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:147 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. " - "Elapsed:%(elapsed).3f" + msgid "Network %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1179 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:160 #, python-format - msgid "Starting to process devices in:%s" + msgid "Subnet %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1183 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:174 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d -ports processed. " - "Elapsed:%(elapsed).3f" + msgid "Subnet %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1197 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:190 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. " - "Elapsed:%(elapsed).3f" + msgid "Subnet %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:222 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " - "Elapsed:%(elapsed).3f" + msgid "Port %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1220 - msgid "Error while processing VIF ports" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:246 + #, python-format + msgid "Port %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227 + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:259 #, python-format - msgid "" - "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports " - "statistics: %(port_stats)s. Elapsed:%(elapsed).3f" + msgid "Port %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:32 - msgid "Enable tunneling support" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:281 + #, python-format + msgid "Flatingip %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:34 - msgid "Tunnel bridge to use" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:298 + #, python-format + msgid "Flatingip %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:36 - msgid "Peer patch port in integration bridge for tunnel bridge" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:312 + #, python-format + msgid "Flatingip %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:39 - msgid "Peer patch port in tunnel bridge for integration bridge" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:325 + #, python-format + msgid "Router %(id)s created under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:42 - msgid "Local IP address of GRE tunnel endpoints." + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:341 + #, python-format + msgid "Router %(id)s updated under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:45 - msgid "List of :" + #: neutron/plugins/oneconvergence/lib/nvsdlib.py:351 + #, python-format + msgid "Router %(id)s deleted under tenant %(tenant_id)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:47 - msgid "Network type for tenant networks (local, vlan, gre, vxlan, or none)" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:81 + #, python-format + msgid "Unable to connect to NVSD controller. Exiting after %(retries)s attempts" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:55 - msgid "List of :" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:91 + #, python-format + msgid "Login Failed: %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:57 - msgid "The type of tunnels to use when utilizing tunnels, either 'gre' or 'vxlan'" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:92 + #, python-format + msgid "Unable to establish connection with Controller %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:67 - msgid "Minimize polling by monitoring ovsdb for interface changes." + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:94 + msgid "Retrying after 1 second..." msgstr "" - #: neutron/plugins/openvswitch/common/config.py:71 - msgid "" - "The number of seconds to wait before respawning the ovsdb monitor after " - "losing communication with it" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:98 + #, python-format + msgid "Login Successful %(uri)s %(status)s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:74 - msgid "Network types supported by the agent (gre and/or vxlan)" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:102 + #, python-format + msgid "AuthToken = %s" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:77 - msgid "The UDP port to use for VXLAN tunnels." + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:104 + msgid "login failed" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:79 - msgid "MTU size of veth interfaces" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:112 + msgid "No Token, Re-login" msgstr "" - #: neutron/plugins/openvswitch/common/config.py:81 - msgid "" - "Use ml2 l2population mechanism driver to learn remote mac and IPs and " - "improve tunnel scalability" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:129 + #, python-format + msgid "request: %(method)s %(uri)s successful" msgstr "" - #: neutron/plugins/plumgrid/common/exceptions.py:26 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:136 #, python-format - msgid "PLUMgrid Plugin Error: %(err_msg)s" + msgid "request: Request failed from Controller side :%s" msgstr "" - #: neutron/plugins/plumgrid/common/exceptions.py:30 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:141 #, python-format - msgid "Connection failed with PLUMgrid Director: %(err_msg)s" + msgid "Response is Null, Request timed out: %(method)s to %(uri)s" msgstr "" - #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:32 - msgid "Python PLUMgrid Fake Library Started " + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:153 + #, python-format + msgid "Request %(method)s %(uri)s body = %(body)s failed with status %(status)s" msgstr "" - #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:37 + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:157 #, python-format - msgid "Fake Director: %s" + msgid "%s" msgstr "" - #: neutron/plugins/plumgrid/drivers/plumlib.py:38 - msgid "Python PLUMgrid Library Started " + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:161 + #, python-format + msgid "%(method)s to %(url)s, unexpected response code: %(status)d" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:44 - msgid "PLUMgrid Director server to connect to" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:167 + #, python-format + msgid "Request failed from Controller side with Status=%s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:46 - msgid "PLUMgrid Director server port to connect to" + #: neutron/plugins/oneconvergence/lib/plugin_helper.py:171 + #, python-format + msgid "Success: %(method)s %(url)s status=%(status)s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:48 - msgid "PLUMgrid Director admin username" + #: neutron/plugins/openvswitch/ovs_db_v2.py:210 + #, python-format + msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:50 - msgid "PLUMgrid Director admin password" + #: neutron/plugins/openvswitch/ovs_db_v2.py:258 + #, python-format + msgid "Reserving tunnel %s from pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:52 - msgid "PLUMgrid Director server timeout" + #: neutron/plugins/openvswitch/ovs_db_v2.py:273 + #, python-format + msgid "Reserving specific tunnel %s from pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:69 - msgid "Neutron PLUMgrid Director: Starting Plugin" + #: neutron/plugins/openvswitch/ovs_db_v2.py:276 + #, python-format + msgid "Reserving specific tunnel %s outside pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:74 - msgid "Neutron PLUMgrid Director: Neutron server with PLUMgrid Plugin has started" + #: neutron/plugins/openvswitch/ovs_db_v2.py:299 + #, python-format + msgid "Releasing tunnel %s outside pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:86 + #: neutron/plugins/openvswitch/ovs_db_v2.py:301 #, python-format - msgid "Neutron PLUMgrid Director: %s" + msgid "Releasing tunnel %s to pool" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:97 - msgid "Neutron PLUMgrid Director: create_network() called" + #: neutron/plugins/openvswitch/ovs_db_v2.py:303 + #, python-format + msgid "tunnel_id %s not found" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:111 - msgid "PLUMgrid Library: create_network() called" + #: neutron/plugins/openvswitch/ovs_db_v2.py:375 + #, python-format + msgid "Adding a tunnel endpoint for %s" msgstr "" - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:126 - msgid "Neutron PLUMgrid Director: update_network() called" + #: neutron/plugins/openvswitch/ovs_db_v2.py:391 + #, python-format ++msgid "Creating NAT rule: %s" +msgstr "" + - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:137 - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:162 - #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:346 ++#: neutron/plugins/vmware/nsxlib/router.py:460 + msgid "" + "Adding a tunnel endpoint failed due to a concurrenttransaction had been " + "committed (%s attempts left)" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_db_v2.py:396 + msgid "Unable to generate a new tunnel id" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:305 + #, python-format + msgid "Invalid tenant_network_type: %s. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:322 + #, python-format + msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:368 + #, python-format + msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:372 + #, python-format + msgid "Tunnel ID ranges: %s" + msgstr "" + + #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427 + #, python-format + msgid "%s networks are not enabled" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299 + #, python-format + msgid "port_update message processed for port %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673 + #, python-format + msgid "Adding %s to list of bridges." + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858 + #, python-format + msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886 + #, python-format + msgid "VIF port: %s has no ofport configured, and might not be able to transmit" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952 + #, python-format + msgid "Processing port %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 + #, python-format + msgid "" + "Port %s was not found on the integration bridge and will therefore not be" + " processed" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984 + #, python-format + msgid "Setting status for %s to UP" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988 + #, python-format + msgid "Setting status for %s to DOWN" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991 + #, python-format + msgid "Configuration for device %s completed." + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082 + #, python-format + msgid "" + "process_network_ports - iteration:%(iter_num)d " + "-treat_devices_added_or_updated completed in %(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090 + #, python-format + msgid "" + "process_network_ports - iteration:%(iter_num)d -treat_devices_removed " + "completed in %(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125 + #, python-format + msgid "Unable to create tunnel port. Invalid remote IP: %s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185 + #, python-format + msgid "Agent rpc_loop - iteration:%d started" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199 + msgid "Error while synchronizing tunnels" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - starting polling. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224 + #, python-format + msgid "Starting to process devices in:%s" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d -ports processed. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " + "Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265 + msgid "Error while processing VIF ports" + msgstr "" + + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272 + #, python-format + msgid "" + "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports " + "statistics: %(port_stats)s. Elapsed:%(elapsed).3f" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:32 + msgid "Enable tunneling support" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:34 + msgid "Tunnel bridge to use" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:36 + msgid "Peer patch port in integration bridge for tunnel bridge" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:39 + msgid "Peer patch port in tunnel bridge for integration bridge" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:42 + msgid "Local IP address of GRE tunnel endpoints." + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:45 + msgid "List of :" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:47 + msgid "Network type for tenant networks (local, vlan, gre, vxlan, or none)" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:55 + msgid "List of :" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:57 + msgid "The type of tunnels to use when utilizing tunnels, either 'gre' or 'vxlan'" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:67 + msgid "Minimize polling by monitoring ovsdb for interface changes." + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:71 + msgid "" + "The number of seconds to wait before respawning the ovsdb monitor after " + "losing communication with it" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:74 + msgid "Network types supported by the agent (gre and/or vxlan)" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:79 + msgid "MTU size of veth interfaces" + msgstr "" + + #: neutron/plugins/openvswitch/common/config.py:81 + msgid "" + "Use ml2 l2population mechanism driver to learn remote mac and IPs and " + "improve tunnel scalability" + msgstr "" + + #: neutron/plugins/plumgrid/common/exceptions.py:26 + #, python-format + msgid "PLUMgrid Plugin Error: %(err_msg)s" + msgstr "" + + #: neutron/plugins/plumgrid/common/exceptions.py:30 + #, python-format + msgid "Connection failed with PLUMgrid Director: %(err_msg)s" + msgstr "" + + #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:32 + msgid "Python PLUMgrid Fake Library Started " + msgstr "" + + #: neutron/plugins/plumgrid/drivers/fake_plumlib.py:37 + #, python-format + msgid "Fake Director: %s" + msgstr "" + + #: neutron/plugins/plumgrid/drivers/plumlib.py:38 + msgid "Python PLUMgrid Library Started " + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:45 + msgid "PLUMgrid Director server to connect to" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:47 + msgid "PLUMgrid Director server port to connect to" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:49 + msgid "PLUMgrid Director admin username" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:51 + msgid "PLUMgrid Director admin password" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:53 + msgid "PLUMgrid Director server timeout" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:70 + msgid "Neutron PLUMgrid Director: Starting Plugin" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:75 + msgid "Neutron PLUMgrid Director: Neutron server with PLUMgrid Plugin has started" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:87 + #, python-format + msgid "Neutron PLUMgrid Director: %s" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:98 + msgid "Neutron PLUMgrid Director: create_network() called" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:112 + msgid "PLUMgrid Library: create_network() called" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:127 + msgid "Neutron PLUMgrid Director: update_network() called" + msgstr "" + + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:139 + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:164 + #: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:348 msgid "PLUMgrid Library: update_network() called" msgstr "" diff --cc neutron/locale/ml_IN/LC_MESSAGES/neutron.po index dbe081a9f,9c16feda1..34335a31d --- a/neutron/locale/ml_IN/LC_MESSAGES/neutron.po +++ b/neutron/locale/ml_IN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/mr_IN/LC_MESSAGES/neutron.po index aff3ba5c7,cf98edc41..ea28ffe8f --- a/neutron/locale/mr_IN/LC_MESSAGES/neutron.po +++ b/neutron/locale/mr_IN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ms/LC_MESSAGES/neutron.po index 592e15e48,0736d0577..d6b440947 --- a/neutron/locale/ms/LC_MESSAGES/neutron.po +++ b/neutron/locale/ms/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/nb/LC_MESSAGES/neutron.po index 5a5a711c0,60c82be5c..3a02dc610 --- a/neutron/locale/nb/LC_MESSAGES/neutron.po +++ b/neutron/locale/nb/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ne/LC_MESSAGES/neutron.po index 4bfbc891b,ef42ebbaa..639e291bd --- a/neutron/locale/ne/LC_MESSAGES/neutron.po +++ b/neutron/locale/ne/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/neutron.pot index 0a9901fcd,9381e1b7a..f2ed8fdce --- a/neutron/locale/neutron.pot +++ b/neutron/locale/neutron.pot @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -11652,9 -12604,24 +12658,24 @@@ msgid " "'%(network_gateway_id)s'" msgstr "" + #: neutron/plugins/vmware/dbexts/networkgw_db.py:460 + #, python-format + msgid "Created network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:471 + #, python-format + msgid "Updated network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:484 + #, python-format + msgid "Deleted network gateway device: %s." + msgstr "" + #: neutron/plugins/vmware/dbexts/nsxrouter.py:61 #, python-format --msgid "Nsx router extension successfully processed for router:%s" ++msgid "DSCP value (%s) will be ignored with 'trusted' marking" msgstr "" #: neutron/plugins/vmware/dbexts/qos_db.py:286 @@@ -12020,8 -12996,8 +13050,12 @@@ msgstr " msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s" msgstr "" - #: neutron/plugins/vmware/nsxlib/router.py:602 + #: neutron/plugins/vmware/nsxlib/router.py:605 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "An exception occurred while updating IP addresses on a router logical " "port:%s" @@@ -12132,8 -13108,8 +13166,16 @@@ msgstr " msgid "Unable to create port on NSX logical router %s" msgstr "" - #: neutron/plugins/vmware/plugins/base.py:258 + #: neutron/plugins/vmware/plugins/base.py:249 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Unable to create logical router port for neutron port id %(port_id)s on " "router %(nsx_router_id)s" diff --cc neutron/locale/nl_NL/LC_MESSAGES/neutron.po index 09dbe1a91,8dd201da9..aabd349dd --- a/neutron/locale/nl_NL/LC_MESSAGES/neutron.po +++ b/neutron/locale/nl_NL/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/pa_IN/LC_MESSAGES/neutron.po index 6d024a8b8,c6731d8af..f1690501c --- a/neutron/locale/pa_IN/LC_MESSAGES/neutron.po +++ b/neutron/locale/pa_IN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/pl_PL/LC_MESSAGES/neutron.po index 07cb12d7d,d5f72a11e..fb27948f4 --- a/neutron/locale/pl_PL/LC_MESSAGES/neutron.po +++ b/neutron/locale/pl_PL/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/pt/LC_MESSAGES/neutron.po index f416b9eef,5cd033849..f29588f6f --- a/neutron/locale/pt/LC_MESSAGES/neutron.po +++ b/neutron/locale/pt/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/pt_BR/LC_MESSAGES/neutron.po index bd90ba5d7,7f28167d5..ff5ff44d6 --- a/neutron/locale/pt_BR/LC_MESSAGES/neutron.po +++ b/neutron/locale/pt_BR/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ro/LC_MESSAGES/neutron.po index bd5563f39,c80df0558..7d42c65c5 --- a/neutron/locale/ro/LC_MESSAGES/neutron.po +++ b/neutron/locale/ro/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ru/LC_MESSAGES/neutron.po index 3c2287986,72dee59cc..3bef03d64 --- a/neutron/locale/ru/LC_MESSAGES/neutron.po +++ b/neutron/locale/ru/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ru_RU/LC_MESSAGES/neutron.po index 6b409652e,3d1cd60d1..051fcc485 --- a/neutron/locale/ru_RU/LC_MESSAGES/neutron.po +++ b/neutron/locale/ru_RU/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/sk/LC_MESSAGES/neutron.po index 15ee090ca,0394abc21..89ba68136 --- a/neutron/locale/sk/LC_MESSAGES/neutron.po +++ b/neutron/locale/sk/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/sl_SI/LC_MESSAGES/neutron.po index fceba625f,175a9afc7..913015c9b --- a/neutron/locale/sl_SI/LC_MESSAGES/neutron.po +++ b/neutron/locale/sl_SI/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/sv/LC_MESSAGES/neutron.po index d67583a79,055300f0d..d9dcbe45f --- a/neutron/locale/sv/LC_MESSAGES/neutron.po +++ b/neutron/locale/sv/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/sw_KE/LC_MESSAGES/neutron.po index 2e7680247,93f6b5de1..a18d7898e --- a/neutron/locale/sw_KE/LC_MESSAGES/neutron.po +++ b/neutron/locale/sw_KE/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/tl/LC_MESSAGES/neutron.po index d9156315e,5d6f3a5c6..630e12951 --- a/neutron/locale/tl/LC_MESSAGES/neutron.po +++ b/neutron/locale/tl/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/tl_PH/LC_MESSAGES/neutron.po index 749e90e77,bf2e0efac..baddbca41 --- a/neutron/locale/tl_PH/LC_MESSAGES/neutron.po +++ b/neutron/locale/tl_PH/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/tr_TR/LC_MESSAGES/neutron.po index 9ecdcc532,443b430a6..3f331877c --- a/neutron/locale/tr_TR/LC_MESSAGES/neutron.po +++ b/neutron/locale/tr_TR/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/uk/LC_MESSAGES/neutron.po index 55381df66,bb2aa6838..16d82efd5 --- a/neutron/locale/uk/LC_MESSAGES/neutron.po +++ b/neutron/locale/uk/LC_MESSAGES/neutron.po @@@ -1237,7 -1270,7 +1270,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3619,26 -3870,16 +3870,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3977,31 -4218,31 +4233,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10385,8 -11314,8 +11368,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10463,8 -11397,8 +11455,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/ur/LC_MESSAGES/neutron.po index 7bc68b845,d72ab1f0f..00f944ca9 --- a/neutron/locale/ur/LC_MESSAGES/neutron.po +++ b/neutron/locale/ur/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/vi_VN/LC_MESSAGES/neutron.po index 13f88ca63,9dbc34bd0..29f731722 --- a/neutron/locale/vi_VN/LC_MESSAGES/neutron.po +++ b/neutron/locale/vi_VN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/zh_CN/LC_MESSAGES/neutron.po index 277a5e397,970a83b3e..b85521e93 --- a/neutron/locale/zh_CN/LC_MESSAGES/neutron.po +++ b/neutron/locale/zh_CN/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/zh_HK/LC_MESSAGES/neutron.po index abdd47fe2,1b1a9d831..ee26a1379 --- a/neutron/locale/zh_HK/LC_MESSAGES/neutron.po +++ b/neutron/locale/zh_HK/LC_MESSAGES/neutron.po @@@ -1236,7 -1269,7 +1269,7 @@@ msgstr " msgid "Found failed openvswitch port: %s" msgstr "" - #: neutron/agent/linux/ovs_lib.py:418 -#: neutron/agent/linux/ovs_lib.py:400 ++#: neutron/agent/linux/ovs_lib.py:464 #, python-format msgid "Port: %(port_name)s is on %(switch)s, not on %(br_name)s" msgstr "" @@@ -3618,26 -3869,16 +3869,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3976,31 -4217,31 +4232,70 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." +msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" +msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" +msgstr "" + - #: neutron/openstack/common/notifier/rpc_notifier.py:45 - #: neutron/openstack/common/notifier/rpc_notifier2.py:51 ++#: neutron/openstack/common/middleware/catch_errors.py:40 +#, python-format - msgid "Could not send notification to %(topic)s. Payload=%(message)s" ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "" + + #: neutron/openstack/common/notifier/rpc_notifier.py:45 + #: neutron/openstack/common/notifier/rpc_notifier2.py:51 + #, python-format + msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" #: neutron/openstack/common/rpc/__init__.py:103 @@@ -10384,8 -11313,8 +11367,12 @@@ msgstr " msgid "Processing port %s" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:929 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958 #, python-format ++msgid "Creating NAT rule: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/router.py:460 msgid "" "Port %s was not found on the integration bridge and will therefore not be" " processed" @@@ -10462,8 -11396,8 +11454,16 @@@ msgid " "Elapsed:%(elapsed).3f" msgstr "" - #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251 #, python-format ++msgid "Port not found, Error: %s" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:56 ++msgid "Operation may not be supported" ++msgstr "" ++ ++#: neutron/plugins/vmware/nsxlib/versioning.py:64 msgid "" "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. " "Elapsed:%(elapsed).3f" diff --cc neutron/locale/zh_TW/LC_MESSAGES/neutron.po index 33959decf,581c31195..b27edc354 --- a/neutron/locale/zh_TW/LC_MESSAGES/neutron.po +++ b/neutron/locale/zh_TW/LC_MESSAGES/neutron.po @@@ -3633,26 -3884,16 +3884,31 @@@ msgstr " msgid "Eventlet backdoor listening on %(port)s for process %(pid)d" msgstr "" - #: neutron/openstack/common/excutils.py:62 - #, python-format - msgid "Original exception being dropped: %s" - msgstr "正在捨棄原始異常狀況:%s" + #: neutron/openstack/common/gettextutils.py:271 + msgid "Message objects do not support addition." + msgstr "" + + #: neutron/openstack/common/gettextutils.py:280 + msgid "" + "Message objects do not support str() because they may contain non-ascii " + "characters. Please use unicode() or translate() instead." + msgstr "" +#: neutron/openstack/common/excutils.py:91 +#, python-format +msgid "Unexpected exception occurred %d time(s)... retrying." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:262 +msgid "Message objects do not support addition." +msgstr "" + +#: neutron/openstack/common/gettextutils.py:271 +msgid "" +"Message objects do not support str() because they may contain non-ascii " +"characters. Please use unicode() or translate() instead." +msgstr "" + #: neutron/openstack/common/lockutils.py:103 #, python-format msgid "Could not release the acquired lock `%s`" @@@ -3991,26 -4232,26 +4247,65 @@@ msgstr " msgid "Request is too large." msgstr "" +#: neutron/openstack/common/notifier/api.py:125 +#, python-format - msgid "%s not in valid priorities" - msgstr "%s 的優先順序無效" ++msgid "" ++"Please specify column %s in col_name_col_instance param. It is required " ++"because column has unsupported type by sqlite)." ++msgstr "" + - #: neutron/openstack/common/notifier/api.py:141 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:199 +#, python-format +msgid "" - "Problem '%(e)s' attempting to send to notification system. " - "Payload=%(payload)s" - msgstr "嘗試傳送至通知系統時發生問題 '%(e)s'。有效負載 = %(payload)s" ++"col_name_col_instance param has wrong type of column instance for column " ++"%s It should be instance of sqlalchemy.Column." ++msgstr "" + - #: neutron/openstack/common/notifier/api.py:171 ++#: neutron/openstack/common/db/sqlalchemy/utils.py:279 +#, python-format - msgid "Failed to load notifier %s. These notifications will not be sent." - msgstr "無法載入通知者 %s。將不會傳送這些通知。" ++msgid "Deleting duplicated row with id: %(id)s from table: %(table)s" ++msgstr "" + - #: neutron/openstack/common/notifier/rabbit_notifier.py:27 - msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." - msgstr "rabbit_notifier 現已淘汰。請改用 rpc_notifier。" ++#: neutron/openstack/common/db/sqlalchemy/utils.py:300 ++msgid "Unsupported id columns type" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/catch_errors.py:40 ++#, python-format ++msgid "An error occurred during processing the request: %s" ++msgstr "" ++ ++#: neutron/openstack/common/middleware/notifier.py:40 ++#, python-format ++msgid "An exception occurred processing the API call: %s " ++msgstr "" ++ ++#: neutron/openstack/common/middleware/sizelimit.py:55 ++#: neutron/openstack/common/middleware/sizelimit.py:64 ++#: neutron/openstack/common/middleware/sizelimit.py:75 ++msgid "Request is too large." ++msgstr "" ++ + #: neutron/openstack/common/notifier/api.py:125 + #, python-format + msgid "%s not in valid priorities" + msgstr "%s 的優先順序無效" + + #: neutron/openstack/common/notifier/api.py:141 + #, python-format + msgid "" + "Problem '%(e)s' attempting to send to notification system. " + "Payload=%(payload)s" + msgstr "嘗試傳送至通知系統時發生問題 '%(e)s'。有效負載 = %(payload)s" + + #: neutron/openstack/common/notifier/api.py:171 + #, python-format + msgid "Failed to load notifier %s. These notifications will not be sent." + msgstr "無法載入通知者 %s。將不會傳送這些通知。" + + #: neutron/openstack/common/notifier/rabbit_notifier.py:27 + msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead." + msgstr "rabbit_notifier 現已淘汰。請改用 rpc_notifier。" #: neutron/openstack/common/notifier/rpc_notifier.py:45 #: neutron/openstack/common/notifier/rpc_notifier2.py:51 @@@ -4768,129 -5070,139 +5124,296 @@@ msgid " "%(response)s" msgstr "" + #: neutron/plugins/bigswitch/servermanager.py:427 + #, python-format + msgid "" + "ServerProxy: Error details: status=%(status)d, reason=%(reason)r, " + "ret=%(ret)s, data=%(data)r" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:434 + #, python-format + msgid "ServerProxy: %(action)s failure for all servers: %(server)r" + msgstr "ServerProxy:對所有伺服器 %(server)r 執行的 %(action)s 失敗" + + #: neutron/plugins/bigswitch/servermanager.py:457 + #, python-format + msgid "" + "NeutronRestProxyV2: Received and ignored error code %(code)s on " + "%(action)s action to resource %(resource)s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:467 + #, python-format + msgid "Unable to create remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:473 + #, python-format + msgid "Unable to update remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:478 + #, python-format + msgid "Unable to delete remote router: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:484 + #, python-format + msgid "Unable to add router interface: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:489 + #, python-format + msgid "Unable to delete remote intf: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:495 + #, python-format + msgid "Unable to create remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:501 + #: neutron/plugins/bigswitch/servermanager.py:506 + #, python-format + msgid "Unable to update remote network: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:515 + #, python-format + msgid "No device MAC attached to port %s. Skipping notification to controller." + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:520 + #, python-format + msgid "Unable to create remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:525 + #, python-format + msgid "Unable to delete remote port: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:535 + #, python-format + msgid "Unable to create floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:540 + #, python-format + msgid "Unable to update floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:545 + #, python-format + msgid "Unable to delete floating IP: %s" + msgstr "" + + #: neutron/plugins/bigswitch/servermanager.py:550 + msgid "Backend server(s) do not support automated consitency checks." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 + msgid "Port update received" + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 + #, python-format + msgid "Port %s is not present on this host." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 + #, python-format + msgid "Port %s found. Refreshing firewall." + msgstr "" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 + msgid "Agent loop has new device" + msgstr "代理程式迴圈具有新裝置" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 + #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405 + #: neutron/plugins/nec/agent/nec_neutron_agent.py:222 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 + #: neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py:156 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 + msgid "Error in agent event loop" + msgstr "代理程式事件迴圈發生錯誤" + + #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 + #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226 + #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007 + #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 + #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281 + #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 + #, python-format + msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" + msgstr "迴圈反覆運算已超出間隔(%(polling_interval)s 與 %(elapsed)s)!" + + #: neutron/plugins/bigswitch/db/consistency_db.py:55 + #, python-format + msgid "Consistency hash for group %(hash_id)s updated to %(hash)s" + msgstr "" + ++#: neutron/plugins/bigswitch/servermanager.py:196 ++msgid "ServerPool: initialization done" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/servermanager.py:239 ++#, python-format ++msgid "Received an empty port ID for host_id '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:42 ++#, python-format ++msgid "Received an empty host_id for port '%s'" ++msgstr "" ++ ++#: neutron/plugins/bigswitch/db/porttracker_db.py:44 ++#, python-format ++msgid "Logging port %(port)s on host_id %(host)s" ++msgstr "" ++ +#: neutron/plugins/bigswitch/servermanager.py:245 +#, python-format +msgid "" +"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, " +"ret=%(ret)s, data=%(data)r" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:252 +#, python-format +msgid "ServerProxy: %(action)s failure for all servers: %(server)r" +msgstr "ServerProxy:對所有伺服器 %(server)r 執行的 %(action)s 失敗" + +#: neutron/plugins/bigswitch/servermanager.py:274 +#, python-format +msgid "" +"NeutronRestProxyV2: Received and ignored error code %(code)s on " +"%(action)s action to resource %(resource)s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:284 +#, python-format +msgid "Unable to create remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:290 +#, python-format +msgid "Unable to update remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:295 +#, python-format +msgid "Unable to delete remote router: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:301 +#, python-format +msgid "Unable to add router interface: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:306 - #, python-format - msgid "Unable to delete remote intf: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:66 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33 ++msgid "The address of the host to SSH to" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:312 - #, python-format - msgid "Unable to create remote network: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:68 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35 ++msgid "The SSH username to use" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:318 - #: neutron/plugins/bigswitch/servermanager.py:323 - #, python-format - msgid "Unable to update remote network: %s" ++#: neutron/plugins/brocade/NeutronPlugin.py:70 ++#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37 ++msgid "The SSH password to use" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:332 +#, python-format +msgid "No device MAC attached to port %s. Skipping notification to controller." +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:337 +#, python-format +msgid "Unable to create remote port: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:342 ++#: neutron/plugins/brocade/NeutronPlugin.py:134 ++#: neutron/plugins/hyperv/rpc_callbacks.py:55 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:89 ++#: neutron/plugins/mlnx/rpc_callbacks.py:76 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96 +#, python-format +msgid "Unable to delete remote port: %s" +msgstr "" + - #: neutron/plugins/bigswitch/servermanager.py:352 ++#: neutron/plugins/brocade/NeutronPlugin.py:148 ++#: neutron/plugins/brocade/NeutronPlugin.py:165 ++#: neutron/plugins/hyperv/rpc_callbacks.py:71 ++#: neutron/plugins/hyperv/rpc_callbacks.py:90 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:112 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:139 ++#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:162 ++#: neutron/plugins/mlnx/rpc_callbacks.py:98 ++#: neutron/plugins/mlnx/rpc_callbacks.py:117 ++#: neutron/plugins/mlnx/rpc_callbacks.py:132 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141 ++#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:164 +#, python-format +msgid "Unable to create floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:357 +#, python-format +msgid "Unable to update floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/servermanager.py:362 +#, python-format +msgid "Unable to delete floating IP: %s" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:113 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:236 +msgid "Port update received" +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:117 +#, python-format +msgid "Port %s is not present on this host." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:120 +#, python-format +msgid "Port %s found. Refreshing firewall." +msgstr "" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:148 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:269 +msgid "Agent loop has new device" +msgstr "代理程式迴圈具有新裝置" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:152 +#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401 +#: neutron/plugins/nec/agent/nec_neutron_agent.py:222 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273 +msgid "Error in agent event loop" +msgstr "代理程式事件迴圈發生錯誤" + +#: neutron/plugins/bigswitch/agent/restproxy_agent.py:158 +#: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201 +#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975 +#: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328 +#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236 +#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279 +#, python-format +msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!" +msgstr "迴圈反覆運算已超出間隔(%(polling_interval)s 與 %(elapsed)s)!" + #: neutron/plugins/bigswitch/db/porttracker_db.py:36 msgid "No host_id in port request to track port location." msgstr "" @@@ -7800,7 -8178,7 +8386,7 @@@ msgstr " #: neutron/plugins/midonet/midonet_lib.py:273 #, python-format --msgid "MidoClient.update_port called: id=%(id)s, kwargs=%(kwargs)s" ++msgid "%s. Agent terminated!" msgstr "" #: neutron/plugins/midonet/midonet_lib.py:298 @@@ -11701,9 -12653,24 +12861,24 @@@ msgid " "'%(network_gateway_id)s'" msgstr "正在切斷網路 '%(network_id)s' 與閘道 '%(network_gateway_id)s' 的連線" + #: neutron/plugins/vmware/dbexts/networkgw_db.py:460 + #, python-format + msgid "Created network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:471 + #, python-format + msgid "Updated network gateway device: %s" + msgstr "" + + #: neutron/plugins/vmware/dbexts/networkgw_db.py:484 + #, python-format + msgid "Deleted network gateway device: %s." + msgstr "" + #: neutron/plugins/vmware/dbexts/nsxrouter.py:61 #, python-format --msgid "Nsx router extension successfully processed for router:%s" ++msgid "DSCP value (%s) will be ignored with 'trusted' marking" msgstr "" #: neutron/plugins/vmware/dbexts/qos_db.py:286 @@@ -13864,560 -14916,909 +15124,1119 @@@ msgstr "匯入負載平衡器裝置驅å msgid "Multiple device drivers with the same name found: %s" msgstr "" +#: neutron/services/loadbalancer/agent/agent_manager.py:141 +msgid "Error upating stats" +msgstr "更新統計資料時發生錯誤" + +#: neutron/services/loadbalancer/agent/agent_manager.py:156 +msgid "Unable to retrieve ready devices" +msgstr "無法擷取備妥的裝置" + +#: neutron/services/loadbalancer/agent/agent_manager.py:173 +#: neutron/services/loadbalancer/agent/agent_manager.py:238 +#, python-format +msgid "No device driver on agent: %s." +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:183 +#, python-format +msgid "Unable to deploy instance for pool: %s" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:193 +#, python-format +msgid "Unable to destroy device for pool: %s" +msgstr "無法毀損儲存區的裝置:%s" + +#: neutron/services/loadbalancer/agent/agent_manager.py:206 +#, python-format +msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:332 +#, python-format +msgid "Destroying pool %s due to agent disabling" +msgstr "" + +#: neutron/services/loadbalancer/agent/agent_manager.py:335 +#, python-format +msgid "Agent_updated by server side %s!" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:44 +msgid "Driver to use for scheduling pool to a default loadbalancer agent" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:52 +msgid "Device driver for agent should be specified in plugin driver." +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:79 +#, python-format +msgid "Multiple lbaas agents found on host %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99 +msgid "Expected active pool" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161 +#, python-format +msgid "Unknown object type: %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172 +#, python-format +msgid "" +"Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was" +" probably deleted concurrently" +msgstr "" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195 +#, python-format +msgid "Unable to find port %s to plug." +msgstr "找不到要插入的埠 %s。" + +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219 +#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236 +#, python-format +msgid "" +"Unable to find port %s to unplug. This can occur when the Vip has been " +"deleted first." +msgstr "找不到要拔除的埠 %s。如果先刪除 VIP,則可能會發生此情況。" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:48 +msgid "Location to store config and state files" +msgstr "配置檔及狀態檔的儲存位置" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:54 +msgid "The user group" +msgstr "使用者群組" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:70 +#, python-format +msgid "Error importing interface driver: %s" +msgstr "匯入介面驅動程式時發生錯誤:%s" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:160 +#, python-format +msgid "Stats socket not found for pool %s" +msgstr "找不到儲存區 %s 的統計資料 Socket" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:202 +#, python-format +msgid "Error while connecting to stats socket: %s" +msgstr "連接至統計資料 Socket 時發生錯誤:%s" + +#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:348 +#, python-format +msgid "Unable to kill haproxy process: %s" +msgstr "無法結束 haproxy 處理程序:%s" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:43 +#, python-format +msgid "NCC Error %d" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:54 +msgid "No NetScaler Control Center URI specified. Cannot connect." +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:133 +#, python-format +msgid "Connection error occurred while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:138 +#, python-format +msgid "SSL error occurred while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:143 +#, python-format +msgid "Request to %s timed out" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:150 +msgid "Request did not specify a valid URL" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:154 +#, python-format +msgid "Too many redirects occurred for request to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:158 +#, python-format +msgid "A request error while connecting to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:163 +#, python-format +msgid "A unknown error occurred during request to %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:168 +#, python-format +msgid "Response: %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:171 +#, python-format +msgid "Unable to login. Invalid credentials passed.for: %s" +msgstr "" + +#: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:175 +#, python-format +msgid "Failed %(method)s operation on %(url)s status code: %(response_status)s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:29 - msgid "The URL to reach the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/plugin.py:82 ++#, python-format ++msgid "Delete associated loadbalancer pools before removing providers %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:33 - msgid "Username to login to the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/plugin.py:91 ++#, python-format ++msgid "Error retrieving driver for provider %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:37 - msgid "Password to login to the NetScaler Control Center Server." ++#: neutron/services/loadbalancer/plugin.py:99 ++#, python-format ++msgid "Error retrieving provider for pool %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:75 ++#: neutron/services/loadbalancer/plugin.py:190 +#, python-format +msgid "NetScaler driver vip creation: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:90 - #, python-format - msgid "NetScaler driver vip %(vip_id)s update: %(vip_obj)s" ++#: neutron/services/loadbalancer/agent/agent.py:34 ++msgid "Seconds between periodic task runs" ++msgstr "定期執行作業的間隔秒數" ++ ++#: neutron/services/loadbalancer/agent/agent_manager.py:40 ++msgid "Drivers used to manage loadbalancing devices" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:105 ++#: neutron/services/loadbalancer/agent/agent_manager.py:46 +#, python-format +msgid "NetScaler driver vip removal: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:126 ++#: neutron/services/loadbalancer/agent/agent_manager.py:94 +#, python-format +msgid "NetScaler driver pool creation: %s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:141 ++#: neutron/services/loadbalancer/agent/agent_manager.py:101 +#, python-format +msgid "NetScaler driver pool %(pool_id)s update: %(pool_obj)s" +msgstr "" + - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:156 + #: neutron/services/loadbalancer/agent/agent_manager.py:141 #, python-format - msgid "NetScaler driver pool removal: %s" + msgid "Error updating statistics on pool %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:173 + #: neutron/services/loadbalancer/agent/agent_manager.py:157 + msgid "Unable to retrieve ready devices" + msgstr "無法擷取備妥的裝置" + + #: neutron/services/loadbalancer/agent/agent_manager.py:174 + #: neutron/services/loadbalancer/agent/agent_manager.py:239 #, python-format - msgid "NetScaler driver poolmember creation: %s" + msgid "No device driver on agent: %s." msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:191 + #: neutron/services/loadbalancer/agent/agent_manager.py:184 #, python-format - msgid "NetScaler driver poolmember %(member_id)s update: %(member_obj)s" + msgid "Unable to deploy instance for pool: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:208 + #: neutron/services/loadbalancer/agent/agent_manager.py:194 #, python-format - msgid "NetScaler driver poolmember removal: %s" + msgid "Unable to destroy device for pool: %s" + msgstr "無法毀損儲存區的裝置:%s" + + #: neutron/services/loadbalancer/agent/agent_manager.py:207 + #, python-format + msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:226 + #: neutron/services/loadbalancer/agent/agent_manager.py:333 #, python-format - msgid "" - "NetScaler driver healthmonitor creation for pool %(pool_id)s: " - "%(monitor_obj)s" + msgid "Destroying pool %s due to agent disabling" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:249 + #: neutron/services/loadbalancer/agent/agent_manager.py:336 #, python-format - msgid "NetScaler driver healthmonitor %(monitor_id)s update: %(monitor_obj)s" + msgid "Agent_updated by server side %s!" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:270 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:44 + msgid "Driver to use for scheduling pool to a default loadbalancer agent" + msgstr "" + + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:52 + msgid "Device driver for agent should be specified in plugin driver." + msgstr "" + + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:79 #, python-format - msgid "NetScaler driver healthmonitor %(monitor_id)sremoval for pool %(pool_id)s" + msgid "Multiple lbaas agents found on host %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:290 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:159 #, python-format - msgid "NetScaler driver pool stats retrieval: %s" + msgid "Unknown object type: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:415 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:170 #, python-format msgid "" - "Filtering ports based on network_id=%(network_id)s, " - "tenant_id=%(tenant_id)s, device_id=%(device_id)s" + "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was" + " probably deleted concurrently" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:430 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:193 #, python-format - msgid "Found an existing SNAT port for subnet %s" - msgstr "" + msgid "Unable to find port %s to plug." + msgstr "找不到要插入的埠 %s。" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:433 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:217 + #: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:234 #, python-format - msgid "Found no SNAT ports for subnet %s" + msgid "" + "Unable to find port %s to unplug. This can occur when the Vip has been " + "deleted first." + msgstr "找不到要拔除的埠 %s。如果先刪除 VIP,則可能會發生此情況。" + + #: neutron/services/loadbalancer/drivers/embrane/config.py:32 + msgid "Load Balancer image id (Embrane LB)" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:454 - #, python-format - msgid "Created SNAT port: %s" + #: neutron/services/loadbalancer/drivers/embrane/config.py:34 + msgid "In band Security Zone id for LBs" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:462 - #, python-format - msgid "Removed SNAT port: %s" + #: neutron/services/loadbalancer/drivers/embrane/config.py:36 + msgid "Out of band Security Zone id for LBs" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:469 - #, python-format - msgid "No SNAT port found for subnet %s. Creating one..." + #: neutron/services/loadbalancer/drivers/embrane/config.py:38 + msgid "Management Security Zone id for LBs" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:477 - #, python-format - msgid "SNAT port: %s" + #: neutron/services/loadbalancer/drivers/embrane/config.py:40 + msgid "Dummy user traffic Security Zone id for LBs" msgstr "" - #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:487 - #, python-format - msgid "Removing SNAT port for subnet %s as this is the last pool using it..." + #: neutron/services/loadbalancer/drivers/embrane/config.py:44 + msgid "choose LB image flavor to use, accepted values: small, medium" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:61 - msgid "vdirect server IP address" + #: neutron/services/loadbalancer/drivers/embrane/config.py:47 + msgid "resource synchronization interval in seconds" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:64 - msgid "vdirect user name" + #: neutron/services/loadbalancer/drivers/embrane/constants.py:51 + #, python-format + msgid "%s, probably was cancelled through the heleos UI" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:67 - msgid "vdirect user password" + #: neutron/services/loadbalancer/drivers/embrane/constants.py:58 + #, python-format + msgid "" + "Failed to delete the backend load balancer for reason %s. Please remove " + "it manually through the heleos UI" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:70 - msgid "Service ADC type" + #: neutron/services/loadbalancer/drivers/embrane/constants.py:61 + #, python-format + msgid "" + "No subnet is associated to member %s (required to identify the proper " + "load balancer port)" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:73 - msgid "Service ADC version" + #: neutron/services/loadbalancer/drivers/embrane/driver.py:88 + msgid "Connection limit is not supported by Embrane LB" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:76 - msgid "service HA pair" + #: neutron/services/loadbalancer/drivers/embrane/driver.py:94 + #, python-format + msgid "Session persistence %s not supported by Embrane LBaaS" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:79 - msgid "service throughtput" + #: neutron/services/loadbalancer/drivers/embrane/driver.py:132 + #, python-format + msgid "Subnet assigned to pool %s doesn't exist, backend port can't be created" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:82 - msgid "service ssl throughtput" + #: neutron/services/loadbalancer/drivers/embrane/agent/lb_operations.py:111 + #, python-format + msgid "" + "The load balancer %s had no physical representation, likely already " + "deleted" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:85 - msgid "service compression throughtput" + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:48 + msgid "Location to store config and state files" + msgstr "配置檔及狀態檔的儲存位置" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:54 + msgid "The user group" + msgstr "使用者群組" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:70 + #, python-format + msgid "Error importing interface driver: %s" + msgstr "匯入介面驅動程式時發生錯誤:%s" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:160 + #, python-format + msgid "Stats socket not found for pool %s" + msgstr "找不到儲存區 %s 的統計資料 Socket" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:202 + #, python-format + msgid "Error while connecting to stats socket: %s" + msgstr "連接至統計資料 Socket 時發生錯誤:%s" + + #: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:353 + #, python-format + msgid "Unable to kill haproxy process: %s" + msgstr "無法結束 haproxy 處理程序:%s" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:43 + #, python-format + msgid "NCC Error %d" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:88 - msgid "service cache" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:54 + msgid "No NetScaler Control Center URI specified. Cannot connect." msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:91 - msgid "l2_l3 workflow name" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:133 + #, python-format + msgid "Connection error occurred while connecting to %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:94 - msgid "l4 workflow name" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:138 + #, python-format + msgid "SSL error occurred while connecting to %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:101 - msgid "l2_l3 workflow constructor params" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:143 + #, python-format + msgid "Request to %s timed out" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:108 - msgid "l2_l3 workflow setup params" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:150 + msgid "Request did not specify a valid URL" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:111 - msgid "List of actions that we dont want to push to the completion queue" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:154 + #, python-format + msgid "Too many redirects occurred for request to %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:115 - msgid "l4 workflow action name" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:158 + #, python-format + msgid "A request error while connecting to %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:118 - msgid "Resource pool ids" + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:163 + #, python-format + msgid "A unknown error occurred during request to %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:168 + #, python-format + msgid "Response: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:171 + #, python-format + msgid "Unable to login. Invalid credentials passed.for: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/ncc_client.py:175 + #, python-format + msgid "Failed %(method)s operation on %(url)s status code: %(response_status)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:29 + msgid "The URL to reach the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:33 + msgid "Username to login to the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:37 + msgid "Password to login to the NetScaler Control Center Server." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:75 + #, python-format + msgid "NetScaler driver vip creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:90 + #, python-format + msgid "NetScaler driver vip %(vip_id)s update: %(vip_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:105 + #, python-format + msgid "NetScaler driver vip removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:126 + #, python-format + msgid "NetScaler driver pool creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:141 + #, python-format + msgid "NetScaler driver pool %(pool_id)s update: %(pool_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:156 + #, python-format + msgid "NetScaler driver pool removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:173 + #, python-format + msgid "NetScaler driver poolmember creation: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:191 + #, python-format + msgid "NetScaler driver poolmember %(member_id)s update: %(member_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:208 + #, python-format + msgid "NetScaler driver poolmember removal: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:226 + #, python-format + msgid "" + "NetScaler driver healthmonitor creation for pool %(pool_id)s: " + "%(monitor_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:249 + #, python-format + msgid "NetScaler driver healthmonitor %(monitor_id)s update: %(monitor_obj)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:270 + #, python-format + msgid "NetScaler driver healthmonitor %(monitor_id)sremoval for pool %(pool_id)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:290 + #, python-format + msgid "NetScaler driver pool stats retrieval: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:415 + #, python-format + msgid "" + "Filtering ports based on network_id=%(network_id)s, " + "tenant_id=%(tenant_id)s, device_id=%(device_id)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:430 + #, python-format + msgid "Found an existing SNAT port for subnet %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:433 + #, python-format + msgid "Found no SNAT ports for subnet %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:454 + #, python-format + msgid "Created SNAT port: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:462 + #, python-format + msgid "Removed SNAT port: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:469 + #, python-format + msgid "No SNAT port found for subnet %s. Creating one..." + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:477 + #, python-format + msgid "SNAT port: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py:487 + #, python-format + msgid "Removing SNAT port for subnet %s as this is the last pool using it..." + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:61 + msgid "vdirect server IP address" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:64 + msgid "vdirect user name" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:67 + msgid "vdirect user password" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:70 + msgid "Service ADC type" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:73 + msgid "Service ADC version" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:76 + msgid "service HA pair" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:79 + msgid "service throughtput" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:82 + msgid "service ssl throughtput" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:85 + msgid "service compression throughtput" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:88 + msgid "service cache" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:91 + msgid "l2_l3 workflow name" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:94 + msgid "l4 workflow name" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:101 + msgid "l2_l3 workflow constructor params" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:108 + msgid "l2_l3 workflow setup params" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:111 + msgid "List of actions that we dont want to push to the completion queue" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:115 + msgid "l4 workflow action name" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:118 + msgid "Resource pool ids" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:121 + msgid "A required VLAN for the interswitch link to use" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:124 + msgid "Support an Alteon interswitch link for stateful session failover" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:183 + #, python-format + msgid "create_vip. vip: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:185 + #, python-format + msgid "create_vip. extended_vip: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:187 + #, python-format + msgid "create_vip. network_id: %s " + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:189 + #, python-format + msgid "create_vip. service_name: %s " + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:223 + #, python-format + msgid "Failed to remove workflow %s. Going to set vip to ERROR status" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:314 + #, python-format + msgid "" + "_handle_pool_health_monitor. health_monitor = %(hm_id)s pool_id = " + "%(pool_id)s delete = %(delete)s vip_id = %(vip_id)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:364 + #, python-format + msgid "_update_workflow response: %s " + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:373 + #: neutron/services/loadbalancer/drivers/radware/driver.py:393 + #, python-format + msgid "Pushing operation %s to the queue" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:379 + #, python-format + msgid "Remove the workflow %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:484 + #, python-format + msgid "create_workflow response: %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:531 + #, python-format + msgid "vDirectRESTClient:init server=%(server)s, port=%(port)d, ssl=%(ssl)r" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:557 + msgid "vdirectRESTClient: Could not establish HTTPS connection" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:564 + msgid "vdirectRESTClient: Could not establish HTTP connection" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:581 + #, python-format + msgid "vdirectRESTClient: %(action)s failure, %(e)r" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:628 + #, python-format + msgid "Operation %(operation)s failed. Reason: %(msg)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:669 + #, python-format + msgid "" + "Operation %(oper)s is completed after %(sec_to_completion)d sec with " + "success status: %(success)s :" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:681 + #, python-format + msgid "Operation %s is not completed yet.." + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:696 + msgid "Exception was thrown inside OperationCompletionHandler" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:723 + #, python-format + msgid "_update: %s " + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/driver.py:763 + #, python-format + msgid "_remove_object_from_db %s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/exceptions.py:24 + msgid "An unknown exception occurred in Radware LBaaS provider." + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/exceptions.py:28 + msgid "" + "vDirect user/password missing. Specify in configuration file, under " + "[radware] section" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/exceptions.py:33 + #, python-format + msgid "" + "Workflow %(workflow)s is missing on vDirect server. Upload missing " + "workflow" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/exceptions.py:38 + #, python-format + msgid "" + "REST request failed with status %(status)s. Reason: %(reason)s, " + "Description: %(description)s. Success status codes are %(success_codes)s" + msgstr "" + + #: neutron/services/loadbalancer/drivers/radware/exceptions.py:44 + #, python-format + msgid "%(operation)s operation is not supported for %(entity)s." + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:67 + msgid "Metering driver" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:69 + msgid "Interval between two metering measures" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:71 + msgid "Interval between two metering reports" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:95 + #, python-format + msgid "Loading Metering driver %s" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:97 + msgid "A metering driver must be specified" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:112 + #, python-format + msgid "Send metering report: %s" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:179 + #, python-format + msgid "Driver %(driver)s does not implement %(func)s" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:183 + #, python-format + msgid "Driver %(driver)s:%(func)s runtime error" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:218 + msgid "Get router traffic counters" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:222 + msgid "Update metering rules from agent" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:227 + msgid "Creating a metering label from agent" + msgstr "" + + #: neutron/services/metering/agents/metering_agent.py:234 + msgid "Delete a metering label from agent" + msgstr "" + + #: neutron/services/metering/drivers/iptables/iptables_driver.py:93 + #, python-format + msgid "Loading interface driver %s" + msgstr "" + + #: neutron/services/vpn/agent.py:28 + msgid "The vpn device drivers Neutron will use" + msgstr "" + + #: neutron/services/vpn/plugin.py:48 + #, python-format + msgid "VPN plugin using service driver: %s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:71 + #, python-format + msgid "RESPONSE: %s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:84 + #, python-format + msgid "%(method)s: Request for %(resource)s payload: %(payload)s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:91 + #, python-format + msgid "%(method)s Took %(time).2f seconds to process" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:97 + #, python-format + msgid "%(method)s: Request timeout%(ssl)s (%(timeout).3f sec) for CSR(%(host)s)" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106 + #, python-format + msgid "%(method)s: Unable to connect to CSR(%(host)s)" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110 + #, python-format + msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116 + #, python-format + msgid "%(method)s: Completed [%(status)s]" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131 + #, python-format + msgid "%(auth)s with CSR %(host)s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138 + #, python-format + msgid "Successfully authenticated with CSR %s" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140 + #, python-format + msgid "Failed authentication with CSR %(host)s [%(status)s]" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175 + #, python-format + msgid "%(method)s: Request timeout for CSR(%(host)s)" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:43 + msgid "Status check interval for Cisco CSR IPSec connections" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:53 + #, python-format + msgid "Cisco CSR failed to create %(resource)s (%(which)s)" + msgstr "" + + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:57 + #, python-format + msgid "" + "Required %(resource)s attribute %(attr)s mapping for Cisco CSR is missing" + " in device driver" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:121 - msgid "A required VLAN for the interswitch link to use" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:62 + #, python-format + msgid "" + "Device driver does not have a mapping of '%(value)s for attribute " + "%(attr)s of %(resource)s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:124 - msgid "Support an Alteon interswitch link for stateful session failover" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:77 + #, python-format + msgid "Scanning config files %s for Cisco CSR configurations" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:183 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:82 #, python-format - msgid "create_vip. vip: %s" + msgid "Config file parse error: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:185 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:86 #, python-format - msgid "create_vip. extended_vip: %s" + msgid "Unable to parse config files %s for Cisco CSR info" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:187 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:96 #, python-format - msgid "create_vip. network_id: %s " + msgid "Ignoring Cisco CSR configuration entry - router IP %s is not valid" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:189 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:107 #, python-format - msgid "create_vip. service_name: %s " + msgid "Ignoring Cisco CSR for router %(router)s - missing %(field)s setting" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:223 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:115 #, python-format - msgid "Failed to remove workflow %s. Going to set vip to ERROR status" + msgid "Ignoring Cisco CSR for router %s - timeout is not a floating point number" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:314 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:124 #, python-format - msgid "" - "_handle_pool_health_monitor. health_monitor = %(hm_id)s pool_id = " - "%(pool_id)s delete = %(delete)s vip_id = %(vip_id)s" + msgid "Ignoring Cisco CSR for subnet %s - REST management is not an IP address" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:364 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:131 #, python-format - msgid "_update_workflow response: %s " + msgid "Ignoring Cisco CSR for router %s - local tunnel is not an IP address" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:373 - #: neutron/services/loadbalancer/drivers/radware/driver.py:393 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:141 #, python-format - msgid "Pushing operation %s to the queue" + msgid "Found CSR for router %(router)s: %(info)s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:379 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:206 #, python-format - msgid "Remove the workflow %s" + msgid "Loaded %(num)d Cisco CSR configuration%(plural)s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:484 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:210 #, python-format - msgid "create_workflow response: %s" + msgid "No Cisco CSR configurations found in: %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:531 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224 #, python-format - msgid "vDirectRESTClient:init server=%(server)s, port=%(port)d, ssl=%(ssl)r" + msgid "Handling VPN service update notification '%s'" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:557 - msgid "vdirectRESTClient: Could not establish HTTPS connection" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:246 + #, python-format + msgid "Update: IPSec connection %s unchanged - marking clean" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:564 - msgid "vdirectRESTClient: Could not establish HTTP connection" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:252 + #, python-format + msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:581 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:256 #, python-format - msgid "vdirectRESTClient: %(action)s failure, %(e)r" + msgid "Update: Unknown IPSec connection %s is admin down - ignoring" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:628 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:259 #, python-format - msgid "Operation %(operation)s failed. Reason: %(msg)s" + msgid "Update: New IPSec connection %s - marking clean" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:669 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:270 #, python-format msgid "" - "Operation %(oper)s is completed after %(sec_to_completion)d sec with " - "success status: %(success)s :" + "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is " + "not associated with a Cisco CSR" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:681 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:281 #, python-format - msgid "Operation %s is not completed yet.." + msgid "Update: VPN service %s is admin down - will be removed in sweep phase" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:696 - msgid "Exception was thrown inside OperationCompletionHandler" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:286 + #, python-format + msgid "Update: Unknown VPN service %s is admin down - ignoring" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:723 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:291 #, python-format - msgid "_update: %s " + msgid "Update: Processing IPSec connections for VPN service %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/driver.py:763 - #, python-format - msgid "_remove_object_from_db %s" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:295 + msgid "Update: Completed update processing" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/exceptions.py:24 - msgid "An unknown exception occurred in Radware LBaaS provider." + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:325 + #, python-format + msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/exceptions.py:28 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:344 + #, python-format msgid "" - "vDirect user/password missing. Specify in configuration file, under " - "[radware] section" + "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d " + "dirty IPSec connection%(cplural)s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/exceptions.py:33 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:359 #, python-format - msgid "" - "Workflow %(workflow)s is missing on vDirect server. Upload missing " - "workflow" + msgid "Report: Collecting status for IPSec connections on VPN service %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/exceptions.py:38 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:367 #, python-format - msgid "" - "REST request failed with status %(status)s. Reason: %(reason)s, " - "Description: %(description)s. Success status codes are %(success_codes)s" + msgid "Report: Adding info for IPSec connection %s" msgstr "" - #: neutron/services/loadbalancer/drivers/radware/exceptions.py:44 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:391 #, python-format - msgid "%(operation)s operation is not supported for %(entity)s." + msgid "Report: Adding info for VPN service %s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:67 - msgid "Metering driver" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:408 + msgid "Report: Starting status report" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:69 - msgid "Interval between two metering measures" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:410 + #, python-format + msgid "Report: Collecting status for VPN service %s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:71 - msgid "Interval between two metering reports" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:416 + msgid "Sending status report update to plugin" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:95 - #, python-format - msgid "Loading Metering driver %s" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:418 + msgid "Report: Completed status report processing" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:97 - msgid "A metering driver must be specified" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:683 + #, python-format + msgid "Unable to create %(resource)s %(which)s: %(status)d" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:112 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:696 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:724 #, python-format - msgid "Send metering report: %s" + msgid "Internal error - '%s' is not defined" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:179 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:709 #, python-format - msgid "Driver %(driver)s does not implement %(func)s" + msgid "Unable to delete %(resource)s %(which)s: %(status)d" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:183 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:718 #, python-format - msgid "Driver %(driver)s:%(func)s runtime error" + msgid "Performing rollback action %(action)s for resource %(resource)s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:218 - msgid "Get router traffic counters" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:744 + #, python-format + msgid "Creating IPSec connection %s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:222 - msgid "Update metering rules from agent" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:777 + #, python-format + msgid "FAILED: Create of IPSec site-to-site connection %s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:227 - msgid "Creating a metering label from agent" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:780 + #, python-format + msgid "SUCCESS: Created IPSec site-to-site connection %s" msgstr "" - #: neutron/services/metering/agents/metering_agent.py:234 - msgid "Delete a metering label from agent" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:789 + #, python-format + msgid "Deleting IPSec connection %s" msgstr "" - #: neutron/services/metering/drivers/iptables/iptables_driver.py:93 + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:791 #, python-format - msgid "Loading interface driver %s" + msgid "Unable to find connection %s" msgstr "" - #: neutron/services/vpn/agent.py:28 - msgid "The vpn device drivers Neutron will use" + #: neutron/services/vpn/device_drivers/cisco_ipsec.py:795 + #, python-format + msgid "SUCCESS: Deleted IPSec site-to-site connection %s" msgstr "" #: neutron/services/vpn/device_drivers/ipsec.py:49 diff --cc neutron/plugins/ml2/drivers/mech_agent.py index 319055a89,62134439b..fbd5092e8 --- a/neutron/plugins/ml2/drivers/mech_agent.py +++ b/neutron/plugins/ml2/drivers/mech_agent.py @@@ -163,8 -125,26 +125,55 @@@ class SimpleAgentMechanismDriverBase(Ag self.vif_type = vif_type self.vif_details = vif_details + def try_to_bind_segment_for_agent(self, context, segment, agent): + if self.check_segment_for_agent(segment, agent): + context.set_binding(segment[api.ID], + self.vif_type, + self.vif_details) + return True + else: + return False + ++ @abstractmethod ++ def try_to_bind_segment_for_agent(self, context, segment, agent): ++ """Try to bind with segment for agent. ++ ++ :param context: PortContext instance describing the port ++ :param segment: segment dictionary describing segment to bind ++ :param agent: agents_db entry describing agent to bind ++ :returns: True iff segment has been bound for agent ++ ++ Called inside transaction during bind_port() so that derived ++ MechanismDrivers can use agent_db data along with built-in ++ knowledge of the corresponding agent's capabilities to attempt ++ to bind to the specified network segment for the agent. ++ ++ If the segment can be bound for the agent, this function must ++ call context.set_binding() with appropriate values and then ++ return True. Otherwise, it must return False. ++ """ ++ + @abstractmethod + def check_segment_for_agent(self, segment, agent): + """Check if segment can be bound for agent. + + :param segment: segment dictionary describing segment to bind + :param agent: agents_db entry describing agent to bind + :returns: True iff segment can be bound for agent + + Called inside transaction during bind_port so that derived + MechanismDrivers can use agent_db data along with built-in + knowledge of the corresponding agent's capabilities to + determine whether or not the specified network segment can be + bound for the agent. + """ ++ super(SimpleAgentMechanismDriverBase, self).__init__( ++ agent_type, supported_vnic_types) ++ self.vif_type = vif_type ++ self.vif_details = vif_details ++ + def try_to_bind_segment_for_agent(self, context, segment, agent): + if self.check_segment_for_agent(segment, agent): + context.set_binding(segment[api.ID], + self.vif_type, + self.vif_details) diff --cc neutron/plugins/nec/drivers/pfc.py index 63124a784,deae83354..65ba1b342 --- a/neutron/plugins/nec/drivers/pfc.py +++ b/neutron/plugins/nec/drivers/pfc.py @@@ -143,36 -142,7 +142,155 @@@ class PFCDriverBase(ofc_driver_base.OFC def delete_port(self, ofc_port_id): return self.client.delete(ofc_port_id) - def convert_ofc_tenant_id(self, context, ofc_tenant_id): - # If ofc_tenant_id starts with '/', it is already new-style - if ofc_tenant_id[0] == '/': - return ofc_tenant_id - return '/tenants/%s' % ofc_tenant_id - - def convert_ofc_network_id(self, context, ofc_network_id, tenant_id): - # If ofc_network_id starts with '/', it is already new-style - if ofc_network_id[0] == '/': - return ofc_network_id - - ofc_tenant_id = ndb.get_ofc_id_lookup_both( - context.session, 'ofc_tenant', tenant_id) - ofc_tenant_id = self.convert_ofc_tenant_id(context, ofc_tenant_id) - params = dict(tenant=ofc_tenant_id, network=ofc_network_id) - return '%(tenant)s/networks/%(network)s' % params - - def convert_ofc_port_id(self, context, ofc_port_id, tenant_id, network_id): - # If ofc_port_id starts with '/', it is already new-style - if ofc_port_id[0] == '/': - return ofc_port_id - - ofc_network_id = ndb.get_ofc_id_lookup_both( - context.session, 'ofc_network', network_id) - ofc_network_id = self.convert_ofc_network_id( - context, ofc_network_id, tenant_id) - params = dict(network=ofc_network_id, port=ofc_port_id) - return '%(network)s/ports/%(port)s' % params + ++class PFCFilterDriverMixin(object): ++ """PFC PacketFilter Driver Mixin.""" ++ filters_path = "/filters" ++ filter_path = "/filters/%s" ++ ++ # PFC specific constants ++ MIN_PRIORITY = 1 ++ MAX_PRIORITY = 32766 ++ CREATE_ONLY_FIELDS = ['action', 'priority'] ++ PFC_ALLOW_ACTION = "pass" ++ PFC_DROP_ACTION = "drop" ++ ++ match_ofc_filter_id = re.compile("^/filters/(?P[^/]+)$") ++ ++ @classmethod ++ def filter_supported(cls): ++ return True ++ ++ def _set_param(self, filter_dict, body, key, create, convert_to=None): ++ if key in filter_dict: ++ if filter_dict[key]: ++ if convert_to: ++ body[key] = convert_to(filter_dict[key]) ++ else: ++ body[key] = filter_dict[key] ++ elif not create: ++ body[key] = "" ++ ++ def _generate_body(self, filter_dict, apply_ports=None, create=True): ++ body = {} ++ ++ if create: ++ # action : pass, drop (mandatory) ++ if filter_dict['action'].lower() in ext_pf.ALLOW_ACTIONS: ++ body['action'] = self.PFC_ALLOW_ACTION ++ else: ++ body['action'] = self.PFC_DROP_ACTION ++ # priority : mandatory ++ body['priority'] = filter_dict['priority'] ++ ++ for key in ['src_mac', 'dst_mac', 'src_port', 'dst_port']: ++ self._set_param(filter_dict, body, key, create) ++ ++ for key in ['src_cidr', 'dst_cidr']: ++ # CIDR must contain netmask even if it is an address. ++ convert_to = lambda x: str(netaddr.IPNetwork(x)) ++ self._set_param(filter_dict, body, key, create, convert_to) ++ ++ # protocol : decimal (0-255) ++ if 'protocol' in filter_dict: ++ if (not filter_dict['protocol'] or ++ # In the case of ARP, ip_proto should be set to wildcard. ++ # eth_type is set during adding an entry to DB layer. ++ filter_dict['protocol'].lower() == ext_pf.PROTO_NAME_ARP): ++ if not create: ++ body['protocol'] = "" ++ elif filter_dict['protocol'].lower() == constants.PROTO_NAME_ICMP: ++ body['protocol'] = constants.PROTO_NUM_ICMP ++ elif filter_dict['protocol'].lower() == constants.PROTO_NAME_TCP: ++ body['protocol'] = constants.PROTO_NUM_TCP ++ elif filter_dict['protocol'].lower() == constants.PROTO_NAME_UDP: ++ body['protocol'] = constants.PROTO_NUM_UDP ++ else: ++ body['protocol'] = int(filter_dict['protocol'], 0) ++ ++ # eth_type : hex (0x0-0xFFFF) ++ self._set_param(filter_dict, body, 'eth_type', create, hex) ++ ++ # apply_ports ++ if apply_ports: ++ # each element of apply_ports is a tuple of (neutron_id, ofc_id), ++ body['apply_ports'] = [] ++ for p in apply_ports: ++ try: ++ body['apply_ports'].append(self._extract_ofc_port_id(p[1])) ++ except InvalidOFCIdFormat: ++ pass ++ ++ return body ++ ++ def _validate_filter_common(self, filter_dict): ++ # Currently PFC support only IPv4 CIDR. ++ for field in ['src_cidr', 'dst_cidr']: ++ if (not filter_dict.get(field) or ++ filter_dict[field] == attributes.ATTR_NOT_SPECIFIED): ++ continue ++ net = netaddr.IPNetwork(filter_dict[field]) ++ if net.version != 4: ++ raise ext_pf.PacketFilterIpVersionNonSupported( ++ version=net.version, field=field, value=filter_dict[field]) ++ if ('priority' in filter_dict and ++ not (self.MIN_PRIORITY <= filter_dict['priority'] ++ <= self.MAX_PRIORITY)): ++ raise ext_pf.PacketFilterInvalidPriority( ++ min=self.MIN_PRIORITY, max=self.MAX_PRIORITY) ++ ++ def _validate_duplicate_priority(self, context, filter_dict): ++ plugin = manager.NeutronManager.get_plugin() ++ filters = {'network_id': [filter_dict['network_id']], ++ 'priority': [filter_dict['priority']]} ++ ret = plugin.get_packet_filters(context, filters=filters, ++ fields=['id']) ++ if ret: ++ raise ext_pf.PacketFilterDuplicatedPriority( ++ priority=filter_dict['priority']) ++ ++ def validate_filter_create(self, context, filter_dict): ++ self._validate_filter_common(filter_dict) ++ self._validate_duplicate_priority(context, filter_dict) ++ ++ def validate_filter_update(self, context, filter_dict): ++ for field in self.CREATE_ONLY_FIELDS: ++ if field in filter_dict: ++ raise ext_pf.PacketFilterUpdateNotSupported(field=field) ++ self._validate_filter_common(filter_dict) ++ ++ @call_log.log ++ def create_filter(self, ofc_network_id, filter_dict, ++ portinfo=None, filter_id=None, apply_ports=None): ++ body = self._generate_body(filter_dict, apply_ports, create=True) ++ res = self.client.post(self.filters_path, body=body) ++ # filter_id passed from a caller is not used. ++ # ofc_filter_id is generated by PFC because the prefix of ++ # filter_id has special meaning and it is internally used. ++ ofc_filter_id = res['id'] ++ return self.filter_path % ofc_filter_id ++ ++ @call_log.log ++ def update_filter(self, ofc_filter_id, filter_dict): ++ body = self._generate_body(filter_dict, create=False) ++ self.client.put(ofc_filter_id, body) ++ ++ @call_log.log ++ def delete_filter(self, ofc_filter_id): ++ return self.client.delete(ofc_filter_id) ++ ++ def _extract_ofc_filter_id(self, ofc_filter_id): ++ match = self.match_ofc_filter_id.match(ofc_filter_id) ++ if match: ++ return match.group('filter_id') ++ raise InvalidOFCIdFormat(resource='filter', ofc_id=ofc_filter_id) ++ ++ def convert_ofc_filter_id(self, context, ofc_filter_id): ++ # PFC Packet Filter is supported after the format of mapping tables ++ # are changed, so it is enough just to return ofc_filter_id ++ return ofc_filter_id + + class PFCFilterDriverMixin(object): """PFC PacketFilter Driver Mixin.""" filters_path = "/filters" diff --cc neutron/tests/unit/db/vpn/test_db_vpnaas.py index 0c7493445,826416d72..274228e40 --- a/neutron/tests/unit/db/vpn/test_db_vpnaas.py +++ b/neutron/tests/unit/db/vpn/test_db_vpnaas.py @@@ -377,64 -376,77 +376,124 @@@ class VPNTestMixin(object) **kwargs) if res.status_int >= 400: raise webob.exc.HTTPClientError(code=res.status_int) - try: - ipsec_site_connection = self.deserialize( - fmt or self.fmt, res + + ipsec_site_connection = self.deserialize( + fmt or self.fmt, res + ) + yield ipsec_site_connection + + if not no_delete: + self._delete( + 'ipsec-site-connections', + ipsec_site_connection[ + 'ipsec_site_connection']['id'] ) - yield ipsec_site_connection - finally: - if not no_delete: - self._delete( - 'ipsec-site-connections', - ipsec_site_connection[ - 'ipsec_site_connection']['id'] - ) + + def _check_ipsec_site_connection(self, ipsec_site_connection, keys, dpd): + self.assertEqual( + keys, + dict((k, v) for k, v + in ipsec_site_connection.items() + if k in keys)) + self.assertEqual( + dpd, + dict((k, v) for k, v + in ipsec_site_connection['dpd'].items() + if k in dpd)) + + def _set_active(self, model, resource_id): + service_plugin = manager.NeutronManager.get_service_plugins()[ + constants.VPN] + adminContext = context.get_admin_context() + with adminContext.session.begin(subtransactions=True): + resource_db = service_plugin._get_resource( + adminContext, + model, + resource_id) + resource_db.status = constants.ACTIVE + + + class VPNPluginDbTestCase(VPNTestMixin, + test_l3_plugin.L3NatTestCaseMixin, + test_db_plugin.NeutronDbPluginV2TestCase): + def setUp(self, core_plugin=None, vpnaas_plugin=DB_VPN_PLUGIN_KLASS, + vpnaas_provider=None): + if not vpnaas_provider: + vpnaas_provider = ( + constants.VPN + + ':vpnaas:neutron.services.vpn.' + 'service_drivers.ipsec.IPsecVPNDriver:default') + + cfg.CONF.set_override('service_provider', + [vpnaas_provider], + 'service_providers') + # force service type manager to reload configuration: + sdb.ServiceTypeManager._instance = None + + service_plugins = {'vpnaas_plugin': vpnaas_plugin} + plugin_str = ('neutron.tests.unit.db.vpn.' + 'test_db_vpnaas.TestVpnCorePlugin') + + super(VPNPluginDbTestCase, self).setUp( + plugin_str, + service_plugins=service_plugins + ) + self._subnet_id = uuidutils.generate_uuid() + self.core_plugin = TestVpnCorePlugin + self.plugin = vpn_plugin.VPNPlugin() + ext_mgr = PluginAwareExtensionManager( + extensions_path, + {constants.CORE: self.core_plugin, + constants.VPN: self.plugin} + ) + app = config.load_paste_app('extensions_test_app') ++ self.ext_api = ExtensionMiddleware(app, ext_mgr=ext_mgr) + + def _check_ipsec_site_connection(self, ipsec_site_connection, keys, dpd): + self.assertEqual( + keys, + dict((k, v) for k, v + in ipsec_site_connection.items() + if k in keys)) + self.assertEqual( + dpd, + dict((k, v) for k, v + in ipsec_site_connection['dpd'].items() + if k in dpd)) + + def _set_active(self, model, resource_id): + service_plugin = manager.NeutronManager.get_service_plugins()[ + constants.VPN] + adminContext = context.get_admin_context() + with adminContext.session.begin(subtransactions=True): + resource_db = service_plugin._get_resource( + adminContext, + model, + resource_id) + resource_db.status = constants.ACTIVE + + +class VPNPluginDbTestCase(VPNTestMixin, + test_l3_plugin.L3NatTestCaseMixin, + test_db_plugin.NeutronDbPluginV2TestCase): + def setUp(self, core_plugin=None, vpnaas_plugin=DB_VPN_PLUGIN_KLASS): + service_plugins = {'vpnaas_plugin': vpnaas_plugin} + plugin_str = ('neutron.tests.unit.db.vpn.' + 'test_db_vpnaas.TestVpnCorePlugin') + + super(VPNPluginDbTestCase, self).setUp( + plugin_str, + service_plugins=service_plugins + ) + self._subnet_id = uuidutils.generate_uuid() + self.core_plugin = TestVpnCorePlugin + self.plugin = vpn_plugin.VPNPlugin() + ext_mgr = PluginAwareExtensionManager( + extensions_path, + {constants.CORE: self.core_plugin, + constants.VPN: self.plugin} + ) + app = config.load_paste_app('extensions_test_app') self.ext_api = ExtensionMiddleware(app, ext_mgr=ext_mgr) diff --cc neutron/tests/unit/hyperv/test_hyperv_utilsv2.py index 565368a24,52970aa52..1471d2127 --- a/neutron/tests/unit/hyperv/test_hyperv_utilsv2.py +++ b/neutron/tests/unit/hyperv/test_hyperv_utilsv2.py @@@ -40,15 -40,16 +40,24 @@@ class TestHyperVUtilsV2(base.BaseTestCa _FAKE_VLAN_ID = "fake_vlan_id" _FAKE_CLASS_NAME = "fake_class_name" _FAKE_ELEMENT_NAME = "fake_element_name" + _FAKE_HYPERV_VM_STATE = 'fake_hyperv_state' + + _FAKE_ACL_ACT = 'fake_acl_action' + _FAKE_ACL_DIR = 'fake_acl_dir' + _FAKE_ACL_TYPE = 'fake_acl_type' + _FAKE_LOCAL_PORT = 'fake_local_port' + _FAKE_PROTOCOL = 'fake_port_protocol' + _FAKE_REMOTE_ADDR = '0.0.0.0/0' + _FAKE_WEIGHT = 'fake_weight' + _FAKE_ACL_ACT = 'fake_acl_action' + _FAKE_ACL_DIR = 'fake_acl_dir' + _FAKE_ACL_TYPE = 'fake_acl_type' + _FAKE_LOCAL_PORT = 'fake_local_port' + _FAKE_PROTOCOL = 'fake_port_protocol' + _FAKE_REMOTE_ADDR = '0.0.0.0/0' + _FAKE_WEIGHT = 'fake_weight' + def setUp(self): super(TestHyperVUtilsV2, self).setUp() self._utils = utilsv2.HyperVUtilsV2() diff --cc neutron/tests/unit/nec/test_packet_filter.py index 148727a8f,b87a9255a..d18642992 --- a/neutron/tests/unit/nec/test_packet_filter.py +++ b/neutron/tests/unit/nec/test_packet_filter.py @@@ -121,13 -119,11 +119,22 @@@ class TestNecPluginPacketFilterBase(tes kwargs['in_port'] = port_id pf = self._make_packet_filter(fmt or self.fmt, net_id, **kwargs) self.assertEqual(port_id, pf['packet_filter']['in_port']) - try: - yield pf - finally: - if do_delete: - self._delete('packet_filters', pf['packet_filter']['id']) + yield pf + if do_delete: + self._delete('packet_filters', pf['packet_filter']['id']) + + ++class TestNecPluginPacketFilter(TestNecPluginPacketFilterBase): ++ ++ def setUp(self): ++ super(TestNecPluginPacketFilter, self).setUp() ++ # Remove attributes explicitly from mock object to check ++ # a case where there are no update_filter and validate_*. ++ del self.ofc.driver.update_filter ++ del self.ofc.driver.validate_filter_create ++ del self.ofc.driver.validate_filter_update + + class TestNecPluginPacketFilter(TestNecPluginPacketFilterBase): def setUp(self): diff --cc neutron/tests/unit/test_linux_dhcp.py index 1baa17c59,7764bce76..40fd3e601 --- a/neutron/tests/unit/test_linux_dhcp.py +++ b/neutron/tests/unit/test_linux_dhcp.py @@@ -721,6 -722,6 +722,7 @@@ class TestDnsmasq(TestBase) self.conf.set_override('dnsmasq_dns_servers', ['8.8.8.8']) self._test_spawn(['--conf-file=', '--server=8.8.8.8', ++ '--server=9.9.9.9', '--domain=openstacklocal']) def test_spawn_cfg_multiple_dns_server(self): diff --cc neutron/tests/unit/vmware/extensions/test_networkgw.py index 25c542f57,6c81f9c33..000000000 deleted file mode 100644,100644 --- a/neutron/tests/unit/vmware/extensions/test_networkgw.py +++ /dev/null @@@ -1,713 -1,1007 +1,0 @@@ --# Copyright 2012 VMware, Inc. All rights reserved. --# --# 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. -- --import contextlib --import mock -- --from oslo.config import cfg --from webob import exc --import webtest -- --from neutron.api import extensions --from neutron.api.extensions import PluginAwareExtensionManager --from neutron.api.v2 import attributes --from neutron.common import config --from neutron import context --from neutron.db import api as db_api --from neutron.db import db_base_plugin_v2 --from neutron import manager - from neutron.openstack.common import uuidutils --from neutron.plugins.vmware.api_client import exception as api_exc --from neutron.plugins.vmware.dbexts import networkgw_db --from neutron.plugins.vmware.extensions import networkgw --from neutron.plugins.vmware import nsxlib -from neutron.plugins.vmware.nsxlib import l2gateway as l2gwlib --from neutron import quota --from neutron.tests import base --from neutron.tests.unit import test_api_v2 --from neutron.tests.unit import test_db_plugin --from neutron.tests.unit import test_extensions --from neutron.tests.unit.vmware import NSXEXT_PATH --from neutron.tests.unit.vmware import PLUGIN_NAME --from neutron.tests.unit.vmware.test_nsx_plugin import NsxPluginV2TestCase -- --_uuid = test_api_v2._uuid --_get_path = test_api_v2._get_path -- -- --class TestExtensionManager(object): -- -- def get_resources(self): -- # Add the resources to the global attribute map -- # This is done here as the setup process won't -- # initialize the main API router which extends -- # the global attribute map -- attributes.RESOURCE_ATTRIBUTE_MAP.update( -- networkgw.RESOURCE_ATTRIBUTE_MAP) -- return networkgw.Networkgw.get_resources() -- -- def get_actions(self): -- return [] -- -- def get_request_extensions(self): -- return [] -- -- --class NetworkGatewayExtensionTestCase(base.BaseTestCase): -- -- def setUp(self): -- super(NetworkGatewayExtensionTestCase, self).setUp() -- plugin = '%s.%s' % (networkgw.__name__, -- networkgw.NetworkGatewayPluginBase.__name__) - self._resource = networkgw.RESOURCE_NAME.replace('-', '_') - self._gw_resource = networkgw.GATEWAY_RESOURCE_NAME - self._dev_resource = networkgw.DEVICE_RESOURCE_NAME -- -- # Ensure existing ExtensionManager is not used -- extensions.PluginAwareExtensionManager._instance = None -- -- # Create the default configurations -- args = ['--config-file', test_api_v2.etcdir('neutron.conf.test')] -- config.parse(args=args) -- -- # Update the plugin and extensions path -- self.setup_coreplugin(plugin) - self.addCleanup(cfg.CONF.reset) -- -- _plugin_patcher = mock.patch(plugin, autospec=True) -- self.plugin = _plugin_patcher.start() -- self.addCleanup(_plugin_patcher.stop) -- -- # Instantiate mock plugin and enable extensions -- manager.NeutronManager.get_plugin().supported_extension_aliases = ( -- [networkgw.EXT_ALIAS]) -- ext_mgr = TestExtensionManager() -- PluginAwareExtensionManager._instance = ext_mgr -- self.ext_mdw = test_extensions.setup_extensions_middleware(ext_mgr) -- self.api = webtest.TestApp(self.ext_mdw) -- -- quota.QUOTAS._driver = None -- cfg.CONF.set_override('quota_driver', 'neutron.quota.ConfDriver', -- group='QUOTAS') -- -- def test_network_gateway_create(self): -- nw_gw_id = _uuid() - data = {self._resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': [{'id': _uuid(), - 'interface_name': 'xxx'}]}} - return_value = data[self._resource].copy() - data = {self._gw_resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': [{'id': _uuid(), - 'interface_name': 'xxx'}]}} - return_value = data[self._gw_resource].copy() -- return_value.update({'id': nw_gw_id}) -- instance = self.plugin.return_value -- instance.create_network_gateway.return_value = return_value - res = self.api.post_json(_get_path(networkgw.COLLECTION_NAME), data) - res = self.api.post_json(_get_path(networkgw.NETWORK_GATEWAYS), data) -- instance.create_network_gateway.assert_called_with( -- mock.ANY, network_gateway=data) -- self.assertEqual(res.status_int, exc.HTTPCreated.code) - self.assertIn(self._resource, res.json) - nw_gw = res.json[self._resource] - self.assertIn(self._gw_resource, res.json) - nw_gw = res.json[self._gw_resource] -- self.assertEqual(nw_gw['id'], nw_gw_id) -- -- def _test_network_gateway_create_with_error( -- self, data, error_code=exc.HTTPBadRequest.code): - res = self.api.post_json(_get_path(networkgw.COLLECTION_NAME), data, - res = self.api.post_json(_get_path(networkgw.NETWORK_GATEWAYS), data, -- expect_errors=True) -- self.assertEqual(res.status_int, error_code) -- -- def test_network_gateway_create_invalid_device_spec(self): - data = {self._resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': [{'id': _uuid(), - 'invalid': 'xxx'}]}} - data = {self._gw_resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': [{'id': _uuid(), - 'invalid': 'xxx'}]}} -- self._test_network_gateway_create_with_error(data) -- -- def test_network_gateway_create_extra_attr_in_device_spec(self): - data = {self._resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': [{'id': _uuid(), - 'interface_name': 'xxx', - 'extra_attr': 'onetoomany'}]}} - data = {self._gw_resource: {'name': 'nw-gw', - 'tenant_id': _uuid(), - 'devices': - [{'id': _uuid(), - 'interface_name': 'xxx', - 'extra_attr': 'onetoomany'}]}} -- self._test_network_gateway_create_with_error(data) -- -- def test_network_gateway_update(self): -- nw_gw_name = 'updated' - data = {self._resource: {'name': nw_gw_name}} - data = {self._gw_resource: {'name': nw_gw_name}} -- nw_gw_id = _uuid() -- return_value = {'id': nw_gw_id, -- 'name': nw_gw_name} -- -- instance = self.plugin.return_value -- instance.update_network_gateway.return_value = return_value - res = self.api.put_json(_get_path('%s/%s' % (networkgw.COLLECTION_NAME, - nw_gw_id)), - data) - res = self.api.put_json( - _get_path('%s/%s' % (networkgw.NETWORK_GATEWAYS, nw_gw_id)), data) -- instance.update_network_gateway.assert_called_with( -- mock.ANY, nw_gw_id, network_gateway=data) -- self.assertEqual(res.status_int, exc.HTTPOk.code) - self.assertIn(self._resource, res.json) - nw_gw = res.json[self._resource] - self.assertIn(self._gw_resource, res.json) - nw_gw = res.json[self._gw_resource] -- self.assertEqual(nw_gw['id'], nw_gw_id) -- self.assertEqual(nw_gw['name'], nw_gw_name) -- -- def test_network_gateway_delete(self): -- nw_gw_id = _uuid() -- instance = self.plugin.return_value - res = self.api.delete(_get_path('%s/%s' % (networkgw.COLLECTION_NAME, - res = self.api.delete(_get_path('%s/%s' % (networkgw.NETWORK_GATEWAYS, -- nw_gw_id))) -- -- instance.delete_network_gateway.assert_called_with(mock.ANY, -- nw_gw_id) -- self.assertEqual(res.status_int, exc.HTTPNoContent.code) -- -- def test_network_gateway_get(self): -- nw_gw_id = _uuid() - return_value = {self._resource: {'name': 'test', - 'devices': - [{'id': _uuid(), - 'interface_name': 'xxx'}], - 'id': nw_gw_id}} - return_value = {self._gw_resource: {'name': 'test', - 'devices': - [{'id': _uuid(), - 'interface_name': 'xxx'}], - 'id': nw_gw_id}} -- instance = self.plugin.return_value -- instance.get_network_gateway.return_value = return_value -- - res = self.api.get(_get_path('%s/%s' % (networkgw.COLLECTION_NAME, - res = self.api.get(_get_path('%s/%s' % (networkgw.NETWORK_GATEWAYS, -- nw_gw_id))) -- -- instance.get_network_gateway.assert_called_with(mock.ANY, -- nw_gw_id, -- fields=mock.ANY) -- self.assertEqual(res.status_int, exc.HTTPOk.code) -- -- def test_network_gateway_list(self): -- nw_gw_id = _uuid() - return_value = [{self._resource: {'name': 'test', - 'devices': - [{'id': _uuid(), - 'interface_name': 'xxx'}], - 'id': nw_gw_id}}] - return_value = [{self._gw_resource: {'name': 'test', - 'devices': - [{'id': _uuid(), - 'interface_name': 'xxx'}], - 'id': nw_gw_id}}] -- instance = self.plugin.return_value -- instance.get_network_gateways.return_value = return_value -- - res = self.api.get(_get_path(networkgw.COLLECTION_NAME)) - res = self.api.get(_get_path(networkgw.NETWORK_GATEWAYS)) -- -- instance.get_network_gateways.assert_called_with(mock.ANY, -- fields=mock.ANY, -- filters=mock.ANY) -- self.assertEqual(res.status_int, exc.HTTPOk.code) -- -- def test_network_gateway_connect(self): -- nw_gw_id = _uuid() -- nw_id = _uuid() -- gw_port_id = _uuid() -- mapping_data = {'network_id': nw_id, -- 'segmentation_type': 'vlan', -- 'segmentation_id': '999'} -- return_value = {'connection_info': { -- 'network_gateway_id': nw_gw_id, -- 'port_id': gw_port_id, -- 'network_id': nw_id}} -- instance = self.plugin.return_value -- instance.connect_network.return_value = return_value -- res = self.api.put_json(_get_path('%s/%s/connect_network' % - (networkgw.COLLECTION_NAME, - (networkgw.NETWORK_GATEWAYS, -- nw_gw_id)), -- mapping_data) -- instance.connect_network.assert_called_with(mock.ANY, -- nw_gw_id, -- mapping_data) -- self.assertEqual(res.status_int, exc.HTTPOk.code) -- nw_conn_res = res.json['connection_info'] -- self.assertEqual(nw_conn_res['port_id'], gw_port_id) -- self.assertEqual(nw_conn_res['network_id'], nw_id) -- -- def test_network_gateway_disconnect(self): -- nw_gw_id = _uuid() -- nw_id = _uuid() -- mapping_data = {'network_id': nw_id} -- instance = self.plugin.return_value -- res = self.api.put_json(_get_path('%s/%s/disconnect_network' % - (networkgw.COLLECTION_NAME, - (networkgw.NETWORK_GATEWAYS, -- nw_gw_id)), -- mapping_data) -- instance.disconnect_network.assert_called_with(mock.ANY, -- nw_gw_id, -- mapping_data) - self.assertEqual(res.status_int, exc.HTTPOk.code) - - def test_gateway_device_get(self): - gw_dev_id = _uuid() - return_value = {self._dev_resource: {'name': 'test', - 'connector_type': 'stt', - 'connector_ip': '1.1.1.1', - 'id': gw_dev_id}} - instance = self.plugin.return_value - instance.get_gateway_device.return_value = return_value - - res = self.api.get(_get_path('%s/%s' % (networkgw.GATEWAY_DEVICES, - gw_dev_id))) - - instance.get_gateway_device.assert_called_with(mock.ANY, - gw_dev_id, - fields=mock.ANY) - self.assertEqual(res.status_int, exc.HTTPOk.code) - - def test_gateway_device_list(self): - gw_dev_id = _uuid() - return_value = [{self._dev_resource: {'name': 'test', - 'connector_type': 'stt', - 'connector_ip': '1.1.1.1', - 'id': gw_dev_id}}] - instance = self.plugin.return_value - instance.get_gateway_devices.return_value = return_value - - res = self.api.get(_get_path(networkgw.GATEWAY_DEVICES)) - - instance.get_gateway_devices.assert_called_with(mock.ANY, - fields=mock.ANY, - filters=mock.ANY) - self.assertEqual(res.status_int, exc.HTTPOk.code) - - def test_gateway_device_create(self): - gw_dev_id = _uuid() - data = {self._dev_resource: {'name': 'test-dev', - 'tenant_id': _uuid(), - 'client_certificate': 'xyz', - 'connector_type': 'stt', - 'connector_ip': '1.1.1.1'}} - return_value = data[self._dev_resource].copy() - return_value.update({'id': gw_dev_id}) - instance = self.plugin.return_value - instance.create_gateway_device.return_value = return_value - res = self.api.post_json(_get_path(networkgw.GATEWAY_DEVICES), data) - instance.create_gateway_device.assert_called_with( - mock.ANY, gateway_device=data) - self.assertEqual(res.status_int, exc.HTTPCreated.code) - self.assertIn(self._dev_resource, res.json) - gw_dev = res.json[self._dev_resource] - self.assertEqual(gw_dev['id'], gw_dev_id) - - def _test_gateway_device_create_with_error( - self, data, error_code=exc.HTTPBadRequest.code): - res = self.api.post_json(_get_path(networkgw.GATEWAY_DEVICES), data, - expect_errors=True) - self.assertEqual(res.status_int, error_code) - - def test_gateway_device_create_invalid_connector_type(self): - data = {self._gw_resource: {'name': 'test-dev', - 'client_certificate': 'xyz', - 'tenant_id': _uuid(), - 'connector_type': 'invalid', - 'connector_ip': '1.1.1.1'}} - self._test_gateway_device_create_with_error(data) - - def test_gateway_device_create_invalid_connector_ip(self): - data = {self._gw_resource: {'name': 'test-dev', - 'client_certificate': 'xyz', - 'tenant_id': _uuid(), - 'connector_type': 'stt', - 'connector_ip': 'invalid'}} - self._test_gateway_device_create_with_error(data) - - def test_gateway_device_create_extra_attr_in_device_spec(self): - data = {self._gw_resource: {'name': 'test-dev', - 'client_certificate': 'xyz', - 'tenant_id': _uuid(), - 'alien_attribute': 'E.T.', - 'connector_type': 'stt', - 'connector_ip': '1.1.1.1'}} - self._test_gateway_device_create_with_error(data) - - def test_gateway_device_update(self): - gw_dev_name = 'updated' - data = {self._dev_resource: {'name': gw_dev_name}} - gw_dev_id = _uuid() - return_value = {'id': gw_dev_id, - 'name': gw_dev_name} - - instance = self.plugin.return_value - instance.update_gateway_device.return_value = return_value - res = self.api.put_json( - _get_path('%s/%s' % (networkgw.GATEWAY_DEVICES, gw_dev_id)), data) - instance.update_gateway_device.assert_called_with( - mock.ANY, gw_dev_id, gateway_device=data) -- self.assertEqual(res.status_int, exc.HTTPOk.code) - self.assertIn(self._dev_resource, res.json) - gw_dev = res.json[self._dev_resource] - self.assertEqual(gw_dev['id'], gw_dev_id) - self.assertEqual(gw_dev['name'], gw_dev_name) - - def test_gateway_device_delete(self): - gw_dev_id = _uuid() - instance = self.plugin.return_value - res = self.api.delete(_get_path('%s/%s' % (networkgw.GATEWAY_DEVICES, - gw_dev_id))) - instance.delete_gateway_device.assert_called_with(mock.ANY, gw_dev_id) - self.assertEqual(res.status_int, exc.HTTPNoContent.code) -- -- --class NetworkGatewayDbTestCase(test_db_plugin.NeutronDbPluginV2TestCase): -- """Unit tests for Network Gateway DB support.""" -- -- def setUp(self, plugin=None, ext_mgr=None): -- if not plugin: -- plugin = '%s.%s' % (__name__, TestNetworkGatewayPlugin.__name__) -- if not ext_mgr: -- ext_mgr = TestExtensionManager() - self.resource = networkgw.RESOURCE_NAME.replace('-', '_') - self.gw_resource = networkgw.GATEWAY_RESOURCE_NAME - self.dev_resource = networkgw.DEVICE_RESOURCE_NAME - -- super(NetworkGatewayDbTestCase, self).setUp(plugin=plugin, -- ext_mgr=ext_mgr) -- -- def _create_network_gateway(self, fmt, tenant_id, name=None, -- devices=None, arg_list=None, **kwargs): - data = {self.resource: {'tenant_id': tenant_id, - 'devices': devices}} - data = {self.gw_resource: {'tenant_id': tenant_id, - 'devices': devices}} -- if name: - data[self.resource]['name'] = name - data[self.gw_resource]['name'] = name -- for arg in arg_list or (): -- # Arg must be present and not empty -- if arg in kwargs and kwargs[arg]: - data[self.resource][arg] = kwargs[arg] - nw_gw_req = self.new_create_request(networkgw.COLLECTION_NAME, - data[self.gw_resource][arg] = kwargs[arg] - nw_gw_req = self.new_create_request(networkgw.NETWORK_GATEWAYS, -- data, fmt) -- if (kwargs.get('set_context') and tenant_id): -- # create a specific auth context for this request -- nw_gw_req.environ['neutron.context'] = context.Context( -- '', tenant_id) -- return nw_gw_req.get_response(self.ext_api) -- -- @contextlib.contextmanager -- def _network_gateway(self, name='gw1', devices=None, -- fmt='json', tenant_id=_uuid()): - device = None -- if not devices: - devices = [{'id': _uuid(), 'interface_name': 'xyz'}] - device_res = self._create_gateway_device( - fmt, tenant_id, 'stt', '1.1.1.1', 'xxxxxx', - name='whatever') - if device_res.status_int >= 400: - raise exc.HTTPClientError(code=device_res.status_int) - device = self.deserialize(fmt, device_res) - devices = [{'id': device[self.dev_resource]['id'], - 'interface_name': 'xyz'}] - -- res = self._create_network_gateway(fmt, tenant_id, name=name, -- devices=devices) - network_gateway = self.deserialize(fmt, res) -- if res.status_int >= 400: -- raise exc.HTTPClientError(code=res.status_int) - network_gateway = self.deserialize(fmt, res) -- yield network_gateway - self._delete(networkgw.COLLECTION_NAME, - network_gateway[self.resource]['id']) - - self._delete(networkgw.NETWORK_GATEWAYS, - network_gateway[self.gw_resource]['id']) - if device: - self._delete(networkgw.GATEWAY_DEVICES, - device[self.dev_resource]['id']) - - def _create_gateway_device(self, fmt, tenant_id, - connector_type, connector_ip, - client_certificate, name=None, - set_context=False): - data = {self.dev_resource: {'tenant_id': tenant_id, - 'connector_type': connector_type, - 'connector_ip': connector_ip, - 'client_certificate': client_certificate}} - if name: - data[self.dev_resource]['name'] = name - gw_dev_req = self.new_create_request(networkgw.GATEWAY_DEVICES, - data, fmt) - if (set_context and tenant_id): - # create a specific auth context for this request - gw_dev_req.environ['neutron.context'] = context.Context( - '', tenant_id) - return gw_dev_req.get_response(self.ext_api) - - def _update_gateway_device(self, fmt, gateway_device_id, - connector_type=None, connector_ip=None, - client_certificate=None, name=None, - set_context=False, tenant_id=None): - data = {self.dev_resource: {}} - if connector_type: - data[self.dev_resource]['connector_type'] = connector_type - if connector_ip: - data[self.dev_resource]['connector_ip'] = connector_ip - if client_certificate: - data[self.dev_resource]['client_certificate'] = client_certificate - if name: - data[self.dev_resource]['name'] = name - gw_dev_req = self.new_update_request(networkgw.GATEWAY_DEVICES, - data, gateway_device_id, fmt) - if (set_context and tenant_id): - # create a specific auth context for this request - gw_dev_req.environ['neutron.context'] = context.Context( - '', tenant_id) - return gw_dev_req.get_response(self.ext_api) - - @contextlib.contextmanager - def _gateway_device(self, name='gw_dev', - connector_type='stt', - connector_ip='1.1.1.1', - client_certificate='xxxxxxxxxxxxxxx', - fmt='json', tenant_id=_uuid()): - res = self._create_gateway_device( - fmt, - tenant_id, - connector_type=connector_type, - connector_ip=connector_ip, - client_certificate=client_certificate, - name=name) - if res.status_int >= 400: - raise exc.HTTPClientError(code=res.status_int) - gateway_device = self.deserialize(fmt, res) - yield gateway_device - - self._delete(networkgw.GATEWAY_DEVICES, - gateway_device[self.dev_resource]['id']) -- -- def _gateway_action(self, action, network_gateway_id, network_id, -- segmentation_type, segmentation_id=None, -- expected_status=exc.HTTPOk.code): -- connection_data = {'network_id': network_id, -- 'segmentation_type': segmentation_type} -- if segmentation_id: -- connection_data['segmentation_id'] = segmentation_id -- - req = self.new_action_request(networkgw.COLLECTION_NAME, - req = self.new_action_request(networkgw.NETWORK_GATEWAYS, -- connection_data, -- network_gateway_id, -- "%s_network" % action) -- res = req.get_response(self.ext_api) -- self.assertEqual(res.status_int, expected_status) -- return self.deserialize('json', res) -- -- def _test_connect_and_disconnect_network(self, segmentation_type, -- segmentation_id=None): -- with self._network_gateway() as gw: -- with self.network() as net: -- body = self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net['network']['id'], -- segmentation_type, -- segmentation_id) -- self.assertIn('connection_info', body) -- connection_info = body['connection_info'] -- for attr in ('network_id', 'port_id', -- 'network_gateway_id'): -- self.assertIn(attr, connection_info) -- # fetch port and confirm device_id -- gw_port_id = connection_info['port_id'] -- port_body = self._show('ports', gw_port_id) -- self.assertEqual(port_body['port']['device_id'], - gw[self.resource]['id']) - gw[self.gw_resource]['id']) -- # Clean up - otherwise delete will fail -- body = self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net['network']['id'], -- segmentation_type, -- segmentation_id) -- # Check associated port has been deleted too -- body = self._show('ports', gw_port_id, -- expected_code=exc.HTTPNotFound.code) -- -- def test_create_network_gateway(self): - name = 'test-gw' - devices = [{'id': _uuid(), 'interface_name': 'xxx'}, - {'id': _uuid(), 'interface_name': 'yyy'}] - keys = [('devices', devices), ('name', name)] - with self._network_gateway(name=name, devices=devices) as gw: - for k, v in keys: - self.assertEqual(gw[self.resource][k], v) - with contextlib.nested( - self._gateway_device(name='dev_1'), - self._gateway_device(name='dev_2')) as (dev_1, dev_2): - name = 'test-gw' - dev_1_id = dev_1[self.dev_resource]['id'] - dev_2_id = dev_2[self.dev_resource]['id'] - devices = [{'id': dev_1_id, 'interface_name': 'xxx'}, - {'id': dev_2_id, 'interface_name': 'yyy'}] - keys = [('devices', devices), ('name', name)] - with self._network_gateway(name=name, devices=devices) as gw: - for k, v in keys: - self.assertEqual(gw[self.gw_resource][k], v) -- -- def test_create_network_gateway_no_interface_name(self): - name = 'test-gw' - devices = [{'id': _uuid()}] - exp_devices = devices - exp_devices[0]['interface_name'] = 'breth0' - keys = [('devices', exp_devices), ('name', name)] - with self._network_gateway(name=name, devices=devices) as gw: - for k, v in keys: - self.assertEqual(gw[self.resource][k], v) - with self._gateway_device() as dev: - name = 'test-gw' - devices = [{'id': dev[self.dev_resource]['id']}] - exp_devices = devices - exp_devices[0]['interface_name'] = 'breth0' - keys = [('devices', exp_devices), ('name', name)] - with self._network_gateway(name=name, devices=devices) as gw: - for k, v in keys: - self.assertEqual(gw[self.gw_resource][k], v) -- - def _test_delete_network_gateway(self, exp_gw_count=0): - name = 'test-gw' - devices = [{'id': _uuid(), 'interface_name': 'xxx'}, - {'id': _uuid(), 'interface_name': 'yyy'}] - with self._network_gateway(name=name, devices=devices): - # Nothing to do here - just let the gateway go - pass - def test_delete_network_gateway(self): - with self._gateway_device() as dev: - name = 'test-gw' - device_id = dev[self.dev_resource]['id'] - devices = [{'id': device_id, - 'interface_name': 'xxx'}] - with self._network_gateway(name=name, devices=devices) as gw: - # Nothing to do here - just let the gateway go - gw_id = gw[self.gw_resource]['id'] -- # Verify nothing left on db -- session = db_api.get_session() - gw_query = session.query(networkgw_db.NetworkGateway) - dev_query = session.query(networkgw_db.NetworkGatewayDevice) - self.assertEqual(exp_gw_count, gw_query.count()) - self.assertEqual(0, dev_query.count()) - - def test_delete_network_gateway(self): - self._test_delete_network_gateway() - dev_query = session.query( - networkgw_db.NetworkGatewayDevice).filter( - networkgw_db.NetworkGatewayDevice.id == device_id) - self.assertIsNone(dev_query.first()) - gw_query = session.query(networkgw_db.NetworkGateway).filter( - networkgw_db.NetworkGateway.id == gw_id) - self.assertIsNone(gw_query.first()) -- -- def test_update_network_gateway(self): -- with self._network_gateway() as gw: - data = {self.resource: {'name': 'new_name'}} - req = self.new_update_request(networkgw.COLLECTION_NAME, - data = {self.gw_resource: {'name': 'new_name'}} - req = self.new_update_request(networkgw.NETWORK_GATEWAYS, -- data, - gw[self.resource]['id']) - gw[self.gw_resource]['id']) -- res = self.deserialize('json', req.get_response(self.ext_api)) - self.assertEqual(res[self.resource]['name'], - data[self.resource]['name']) - self.assertEqual(res[self.gw_resource]['name'], - data[self.gw_resource]['name']) -- -- def test_get_network_gateway(self): -- with self._network_gateway(name='test-gw') as gw: - req = self.new_show_request(networkgw.COLLECTION_NAME, - gw[self.resource]['id']) - req = self.new_show_request(networkgw.NETWORK_GATEWAYS, - gw[self.gw_resource]['id']) -- res = self.deserialize('json', req.get_response(self.ext_api)) - self.assertEqual(res[self.resource]['name'], - gw[self.resource]['name']) - self.assertEqual(res[self.gw_resource]['name'], - gw[self.gw_resource]['name']) -- -- def test_list_network_gateways(self): -- with self._network_gateway(name='test-gw-1') as gw1: -- with self._network_gateway(name='test_gw_2') as gw2: - req = self.new_list_request(networkgw.COLLECTION_NAME) - req = self.new_list_request(networkgw.NETWORK_GATEWAYS) -- res = self.deserialize('json', req.get_response(self.ext_api)) - key = self.resource + 's' - key = self.gw_resource + 's' -- self.assertEqual(len(res[key]), 2) -- self.assertEqual(res[key][0]['name'], - gw1[self.resource]['name']) - gw1[self.gw_resource]['name']) -- self.assertEqual(res[key][1]['name'], - gw2[self.resource]['name']) - gw2[self.gw_resource]['name']) -- -- def _test_list_network_gateway_with_multiple_connections( -- self, expected_gateways=1): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) - req = self.new_list_request(networkgw.COLLECTION_NAME) - req = self.new_list_request(networkgw.NETWORK_GATEWAYS) -- res = self.deserialize('json', req.get_response(self.ext_api)) - key = self.resource + 's' - key = self.gw_resource + 's' -- self.assertEqual(len(res[key]), expected_gateways) -- for item in res[key]: -- self.assertIn('ports', item) - if item['id'] == gw[self.resource]['id']: - if item['id'] == gw[self.gw_resource]['id']: -- gw_ports = item['ports'] -- self.assertEqual(len(gw_ports), 2) -- segmentation_ids = [555, 777] -- for gw_port in gw_ports: -- self.assertEqual('vlan', gw_port['segmentation_type']) -- self.assertIn(gw_port['segmentation_id'], segmentation_ids) -- segmentation_ids.remove(gw_port['segmentation_id']) -- # Required cleanup -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) -- -- def test_list_network_gateway_with_multiple_connections(self): -- self._test_list_network_gateway_with_multiple_connections() -- -- def test_connect_and_disconnect_network(self): -- self._test_connect_and_disconnect_network('flat') -- -- def test_connect_and_disconnect_network_no_seg_type(self): -- self._test_connect_and_disconnect_network(None) -- -- def test_connect_and_disconnect_network_with_segmentation_id(self): -- self._test_connect_and_disconnect_network('vlan', 999) -- -- def test_connect_network_multiple_times(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) -- -- def test_connect_network_multiple_gateways(self): -- with self._network_gateway() as gw_1: -- with self._network_gateway() as gw_2: -- with self.network() as net_1: -- self._gateway_action('connect', - gw_1[self.resource]['id'], - gw_1[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('connect', - gw_2[self.resource]['id'], - gw_2[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw_1[self.resource]['id'], - gw_1[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw_2[self.resource]['id'], - gw_2[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- -- def test_connect_network_mapping_in_use_returns_409(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- with self.network() as net_2: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_2['network']['id'], -- 'vlan', 555, -- expected_status=exc.HTTPConflict.code) -- # Clean up - otherwise delete will fail -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- -- def test_connect_invalid_network_returns_400(self): -- with self._network_gateway() as gw: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- 'hohoho', -- 'vlan', 555, -- expected_status=exc.HTTPBadRequest.code) -- -- def test_connect_unspecified_network_returns_400(self): -- with self._network_gateway() as gw: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- None, -- 'vlan', 555, -- expected_status=exc.HTTPBadRequest.code) -- -- def test_disconnect_network_ambiguous_returns_409(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) -- # This should raise -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', -- expected_status=exc.HTTPConflict.code) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 777) -- -- def test_delete_active_gateway_port_returns_409(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- body = self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- # fetch port id and try to delete it -- gw_port_id = body['connection_info']['port_id'] -- self._delete('ports', gw_port_id, -- expected_code=exc.HTTPConflict.code) -- body = self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- -- def test_delete_network_gateway_active_connections_returns_409(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'flat') - self._delete(networkgw.COLLECTION_NAME, - gw[self.resource]['id'], - self._delete(networkgw.NETWORK_GATEWAYS, - gw[self.gw_resource]['id'], -- expected_code=exc.HTTPConflict.code) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'flat') -- -- def test_disconnect_non_existing_connection_returns_404(self): -- with self._network_gateway() as gw: -- with self.network() as net_1: -- self._gateway_action('connect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 999, -- expected_status=exc.HTTPNotFound.code) -- self._gateway_action('disconnect', - gw[self.resource]['id'], - gw[self.gw_resource]['id'], -- net_1['network']['id'], -- 'vlan', 555) - - def test_create_gateway_device( - self, expected_status=networkgw_db.STATUS_UNKNOWN): - with self._gateway_device(name='test-dev', - connector_type='stt', - connector_ip='1.1.1.1', - client_certificate='xyz') as dev: - self.assertEqual(dev[self.dev_resource]['name'], 'test-dev') - self.assertEqual(dev[self.dev_resource]['connector_type'], 'stt') - self.assertEqual(dev[self.dev_resource]['connector_ip'], '1.1.1.1') - self.assertEqual(dev[self.dev_resource]['status'], expected_status) - - def test_get_gateway_device( - self, expected_status=networkgw_db.STATUS_UNKNOWN): - with self._gateway_device(name='test-dev', - connector_type='stt', - connector_ip='1.1.1.1', - client_certificate='xyz') as dev: - req = self.new_show_request(networkgw.GATEWAY_DEVICES, - dev[self.dev_resource]['id']) - res = self.deserialize('json', req.get_response(self.ext_api)) - self.assertEqual(res[self.dev_resource]['name'], 'test-dev') - self.assertEqual(res[self.dev_resource]['connector_type'], 'stt') - self.assertEqual(res[self.dev_resource]['connector_ip'], '1.1.1.1') - self.assertEqual(res[self.dev_resource]['status'], expected_status) - - def test_update_gateway_device( - self, expected_status=networkgw_db.STATUS_UNKNOWN): - with self._gateway_device(name='test-dev', - connector_type='stt', - connector_ip='1.1.1.1', - client_certificate='xyz') as dev: - self._update_gateway_device('json', dev[self.dev_resource]['id'], - connector_type='stt', - connector_ip='2.2.2.2', - name='test-dev-upd') - req = self.new_show_request(networkgw.GATEWAY_DEVICES, - dev[self.dev_resource]['id']) - res = self.deserialize('json', req.get_response(self.ext_api)) - - self.assertEqual(res[self.dev_resource]['name'], 'test-dev-upd') - self.assertEqual(res[self.dev_resource]['connector_type'], 'stt') - self.assertEqual(res[self.dev_resource]['connector_ip'], '2.2.2.2') - self.assertEqual(res[self.dev_resource]['status'], expected_status) - - def test_delete_gateway_device(self): - with self._gateway_device(name='test-dev', - connector_type='stt', - connector_ip='1.1.1.1', - client_certificate='xyz') as dev: - # Nothing to do here - just note the device id - dev_id = dev[self.dev_resource]['id'] - # Verify nothing left on db - session = db_api.get_session() - dev_query = session.query(networkgw_db.NetworkGatewayDevice) - dev_query.filter(networkgw_db.NetworkGatewayDevice.id == dev_id) - self.assertIsNone(dev_query.first()) -- -- --class TestNetworkGateway(NsxPluginV2TestCase, -- NetworkGatewayDbTestCase): -- -- def setUp(self, plugin=PLUGIN_NAME, ext_mgr=None): -- cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH) - # Mock l2gwlib calls for gateway devices since this resource is not - # mocked through the fake NVP API client - create_gw_dev_patcher = mock.patch.object( - l2gwlib, 'create_gateway_device') - update_gw_dev_patcher = mock.patch.object( - l2gwlib, 'update_gateway_device') - delete_gw_dev_patcher = mock.patch.object( - l2gwlib, 'delete_gateway_device') - get_gw_dev_status_patcher = mock.patch.object( - l2gwlib, 'get_gateway_device_status') - mock_create_gw_dev = create_gw_dev_patcher.start() - mock_create_gw_dev.return_value = {'uuid': 'callejon'} - update_gw_dev_patcher.start() - delete_gw_dev_patcher.start() - self.mock_get_gw_dev_status = get_gw_dev_status_patcher.start() - -- super(TestNetworkGateway, -- self).setUp(plugin=plugin, ext_mgr=ext_mgr) -- -- def test_create_network_gateway_name_exceeds_40_chars(self): -- name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars' -- with self._network_gateway(name=name) as nw_gw: -- # Assert Neutron name is not truncated - self.assertEqual(nw_gw[self.resource]['name'], name) - self.assertEqual(nw_gw[self.gw_resource]['name'], name) -- -- def test_update_network_gateway_with_name_calls_backend(self): -- with mock.patch.object( -- nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw: -- with self._network_gateway(name='cavani') as nw_gw: - nw_gw_id = nw_gw[self.resource]['id'] - self._update(networkgw.COLLECTION_NAME, nw_gw_id, - {self.resource: {'name': 'higuain'}}) - nw_gw_id = nw_gw[self.gw_resource]['id'] - self._update(networkgw.NETWORK_GATEWAYS, nw_gw_id, - {self.gw_resource: {'name': 'higuain'}}) -- mock_update_gw.assert_called_once_with( -- mock.ANY, nw_gw_id, 'higuain') -- -- def test_update_network_gateway_without_name_does_not_call_backend(self): -- with mock.patch.object( -- nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw: -- with self._network_gateway(name='something') as nw_gw: - nw_gw_id = nw_gw[self.resource]['id'] - self._update(networkgw.COLLECTION_NAME, nw_gw_id, - {self.resource: {}}) - nw_gw_id = nw_gw[self.gw_resource]['id'] - self._update(networkgw.NETWORK_GATEWAYS, nw_gw_id, - {self.gw_resource: {}}) -- self.assertEqual(mock_update_gw.call_count, 0) -- -- def test_update_network_gateway_name_exceeds_40_chars(self): -- new_name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars' -- with self._network_gateway(name='something') as nw_gw: - nw_gw_id = nw_gw[self.resource]['id'] - self._update(networkgw.COLLECTION_NAME, nw_gw_id, - {self.resource: {'name': new_name}}) - req = self.new_show_request(networkgw.COLLECTION_NAME, - nw_gw_id = nw_gw[self.gw_resource]['id'] - self._update(networkgw.NETWORK_GATEWAYS, nw_gw_id, - {self.gw_resource: {'name': new_name}}) - req = self.new_show_request(networkgw.NETWORK_GATEWAYS, -- nw_gw_id) -- res = self.deserialize('json', req.get_response(self.ext_api)) -- # Assert Neutron name is not truncated - self.assertEqual(new_name, res[self.resource]['name']) - self.assertEqual(new_name, res[self.gw_resource]['name']) -- # Assert NSX name is truncated -- self.assertEqual( -- new_name[:40], -- self.fc._fake_gatewayservice_dict[nw_gw_id]['display_name']) -- -- def test_create_network_gateway_nsx_error_returns_500(self): -- def raise_nsx_api_exc(*args, **kwargs): -- raise api_exc.NsxApiException -- -- with mock.patch.object(nsxlib.l2gateway, -- 'create_l2_gw_service', -- new=raise_nsx_api_exc): - res = self._create_network_gateway( - self.fmt, 'xxx', name='yyy', - devices=[{'id': uuidutils.generate_uuid()}]) - with self._gateway_device() as dev: - res = self._create_network_gateway( - self.fmt, 'xxx', name='yyy', - devices=[{'id': dev[self.dev_resource]['id']}]) -- self.assertEqual(500, res.status_int) -- -- def test_create_network_gateway_nsx_error_returns_409(self): -- with mock.patch.object(nsxlib.l2gateway, -- 'create_l2_gw_service', -- side_effect=api_exc.Conflict): - res = self._create_network_gateway( - self.fmt, 'xxx', name='yyy', - devices=[{'id': uuidutils.generate_uuid()}]) - with self._gateway_device() as dev: - res = self._create_network_gateway( - self.fmt, 'xxx', name='yyy', - devices=[{'id': dev[self.dev_resource]['id']}]) -- self.assertEqual(409, res.status_int) -- -- def test_list_network_gateways(self): -- with self._network_gateway(name='test-gw-1') as gw1: -- with self._network_gateway(name='test_gw_2') as gw2: - req = self.new_list_request(networkgw.COLLECTION_NAME) - req = self.new_list_request(networkgw.NETWORK_GATEWAYS) -- res = self.deserialize('json', req.get_response(self.ext_api)) -- # We expect the default gateway too - key = self.resource + 's' - key = self.gw_resource + 's' -- self.assertEqual(len(res[key]), 3) -- self.assertEqual(res[key][0]['default'], -- True) -- self.assertEqual(res[key][1]['name'], - gw1[self.resource]['name']) - gw1[self.gw_resource]['name']) -- self.assertEqual(res[key][2]['name'], - gw2[self.resource]['name']) - gw2[self.gw_resource]['name']) -- -- def test_list_network_gateway_with_multiple_connections(self): -- self._test_list_network_gateway_with_multiple_connections( -- expected_gateways=2) - - def test_delete_network_gateway(self): - # The default gateway must still be there - self._test_delete_network_gateway(1) -- -- def test_show_network_gateway_nsx_error_returns_404(self): -- invalid_id = 'b5afd4a9-eb71-4af7-a082-8fc625a35b61' - req = self.new_show_request(networkgw.COLLECTION_NAME, invalid_id) - req = self.new_show_request(networkgw.NETWORK_GATEWAYS, invalid_id) -- res = req.get_response(self.ext_api) -- self.assertEqual(exc.HTTPNotFound.code, res.status_int) - - def test_create_gateway_device(self): - self.mock_get_gw_dev_status.return_value = True - super(TestNetworkGateway, self).test_create_gateway_device( - expected_status=networkgw_db.STATUS_ACTIVE) - - def test_create_gateway_device_status_down(self): - self.mock_get_gw_dev_status.return_value = False - super(TestNetworkGateway, self).test_create_gateway_device( - expected_status=networkgw_db.STATUS_DOWN) - - def test_get_gateway_device(self): - self.mock_get_gw_dev_status.return_value = True - super(TestNetworkGateway, self).test_get_gateway_device( - expected_status=networkgw_db.STATUS_ACTIVE) - - def test_get_gateway_device_status_down(self): - self.mock_get_gw_dev_status.return_value = False - super(TestNetworkGateway, self).test_get_gateway_device( - expected_status=networkgw_db.STATUS_DOWN) - - def test_update_gateway_device(self): - self.mock_get_gw_dev_status.return_value = True - super(TestNetworkGateway, self).test_update_gateway_device( - expected_status=networkgw_db.STATUS_ACTIVE) - - def test_update_gateway_device_status_down(self): - self.mock_get_gw_dev_status.return_value = False - super(TestNetworkGateway, self).test_update_gateway_device( - expected_status=networkgw_db.STATUS_DOWN) -- -- --class TestNetworkGatewayPlugin(db_base_plugin_v2.NeutronDbPluginV2, -- networkgw_db.NetworkGatewayMixin): -- """Simple plugin class for testing db support for network gateway ext.""" -- -- supported_extension_aliases = ["network-gateway"] -- -- def __init__(self, **args): -- super(TestNetworkGatewayPlugin, self).__init__(**args) -- extensions.append_api_extensions_path([NSXEXT_PATH]) -- -- def delete_port(self, context, id, nw_gw_port_check=True): -- if nw_gw_port_check: -- port = self._get_port(context, id) -- self.prevent_network_gateway_port_deletion(context, port) -- super(TestNetworkGatewayPlugin, self).delete_port(context, id)