You have been subscribed to a public bug:

When neutron lbaas agent is not running, all the ‘neutron lb*’ commands
display "404 Not Found". This makes the user think that something is
wrong with the lbaas agent (when it is not even running!).

Instead, when neutron lbaas agent is not running, an error like “Neutron
Load Balancer Agent not running” must be displayed so the user knows
that the lbaas agent must be started first.

The ‘ps’ command below shows that the neutron lbaas agent is not
running.

$ ps aux | grep lb
$

$ neutron lb-healthmonitor-list
404 Not Found
The resource could not be found.

$ neutron lb-member-list
404 Not Found
The resource could not be found.

$ neutron lb-pool-list
404 Not Found
The resource could not be found.

$ neutron lb-vip-list
404 Not Found
The resource could not be found.

$ neutron lbaas-healthmonitor-list
404 Not Found
The resource could not be found.

$ neutron lbaas-listener-list
404 Not Found
The resource could not be found.

$ neutron lbaas-loadbalancer-list
404 Not Found
The resource could not be found.

$ neutron lbaas-pool-list
404 Not Found
The resource could not be found.

$ neutron --version
2.3.11

=============================

Below are the neutron verbose messages that show "404 Not Found".

$ neutron -v lb-healthmonitor-list
DEBUG: keystoneclient.session REQ: curl -g -i -X GET 
http://192.168.122.205:5000/v2.0/ -H "Accept: application/json" -H "User-Agent: 
python-keystoneclient"
DEBUG: keystoneclient.session RESP: [200] content-length: 341 vary: 
X-Auth-Token keep-alive: timeout=5, max=100 server: Apache/2.4.7 (Ubuntu) 
connection: Keep-Alive date: Sat, 04 Apr 2015 04:37:54 GMT content-type: 
application/json x-openstack-request-id: 
req-95c6d1e1-02a7-4077-8ed2-0cb4f574a397
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", 
"media-types": [{"base": "application/json", "type": 
"application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": 
[{"href": "http://192.168.122.205:5000/v2.0/";, "rel": "self"}, {"href": 
"http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}}

DEBUG: stevedore.extension found extension EntryPoint.parse('table = 
cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('csv = 
cliff.formatters.commaseparated:CSVLister')
DEBUG: stevedore.extension found extension EntryPoint.parse('yaml = 
clifftablib.formatters:YamlFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('json = 
clifftablib.formatters:JsonFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('html = 
clifftablib.formatters:HtmlFormatter')
DEBUG: neutronclient.neutron.v2_0.lb.healthmonitor.ListHealthMonitor 
get_data(Namespace(columns=[], fields=[], formatter='table', max_width=0, 
page_size=None, quote_mode='nonnumeric', request_format='json', 
show_details=False, sort_dir=[], sort_key=[]))
DEBUG: keystoneclient.auth.identity.v2 Making authentication request to 
http://192.168.122.205:5000/v2.0/tokens
DEBUG: keystoneclient.session REQ: curl -g -i -X GET 
http://192.168.122.205:9696/v2.0/lb/health_monitors.json -H "User-Agent: 
python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: 
{SHA1}23f2a54d0348e6bfc5364565ece4baf2e2148fa8"
DEBUG: keystoneclient.session RESP:
DEBUG: neutronclient.v2_0.client Error message: 404 Not Found

The resource could not be found.

ERROR: neutronclient.shell 404 Not Found

The resource could not be found.

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 
760, in run_subcommand
    return run_command(cmd, cmd_parser, sub_argv)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 
100, in run_command
    return cmd.run(known_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/common/command.py", line 
29, in run
    return super(OpenStackCommand, self).run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 91, in 
run
    column_names, data = self.take_action(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/common/command.py", line 
35, in take_action
    return self.get_data(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 691, in get_data
    data = self.retrieve_list(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 654, in retrieve_list
    data = self.call_server(neutron_client, search_opts, parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 626, in call_server
    data = obj_lister(**search_opts)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 102, in with_params
    ret = self.function(instance, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 1088, in list_health_monitors
    retrieve_all, **_params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 307, in list
    for r in self._pagination(collection, path, **params):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 320, in _pagination
    res = self.get(path, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 293, in get
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 270, in retry_request
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 211, in do_request
    self._handle_fault_response(status_code, replybody)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 185, in _handle_fault_response
    exception_handler_v20(status_code, des_error_body)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 83, in exception_handler_v20
    message=message)
NeutronClientException: 404 Not Found

The resource could not be found.

=============================

$ neutron -v lb-member-list
DEBUG: keystoneclient.session REQ: curl -g -i -X GET 
http://192.168.122.205:5000/v2.0/ -H "Accept: application/json" -H "User-Agent: 
python-keystoneclient"
DEBUG: keystoneclient.session RESP: [200] content-length: 341 vary: 
X-Auth-Token keep-alive: timeout=5, max=100 server: Apache/2.4.7 (Ubuntu) 
connection: Keep-Alive date: Sat, 04 Apr 2015 04:39:43 GMT content-type: 
application/json x-openstack-request-id: 
req-3b906800-0aae-40a1-aca0-08f220f50878
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", 
"media-types": [{"base": "application/json", "type": 
"application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": 
[{"href": "http://192.168.122.205:5000/v2.0/";, "rel": "self"}, {"href": 
"http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}}

DEBUG: stevedore.extension found extension EntryPoint.parse('table = 
cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('csv = 
cliff.formatters.commaseparated:CSVLister')
DEBUG: stevedore.extension found extension EntryPoint.parse('yaml = 
clifftablib.formatters:YamlFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('json = 
clifftablib.formatters:JsonFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('html = 
clifftablib.formatters:HtmlFormatter')
DEBUG: neutronclient.neutron.v2_0.lb.member.ListMember 
get_data(Namespace(columns=[], fields=[], formatter='table', max_width=0, 
page_size=None, quote_mode='nonnumeric', request_format='json', 
show_details=False, sort_dir=[], sort_key=[]))
DEBUG: keystoneclient.auth.identity.v2 Making authentication request to 
http://192.168.122.205:5000/v2.0/tokens
DEBUG: keystoneclient.session REQ: curl -g -i -X GET 
http://192.168.122.205:9696/v2.0/lb/members.json -H "User-Agent: 
python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: 
{SHA1}480bc62db89194e83942975df576f28c5a463b8d"
DEBUG: keystoneclient.session RESP:
DEBUG: neutronclient.v2_0.client Error message: 404 Not Found

The resource could not be found.

ERROR: neutronclient.shell 404 Not Found

The resource could not be found.

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 
760, in run_subcommand
    return run_command(cmd, cmd_parser, sub_argv)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 
100, in run_command
    return cmd.run(known_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/common/command.py", line 
29, in run
    return super(OpenStackCommand, self).run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 91, in 
run
    column_names, data = self.take_action(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/common/command.py", line 
35, in take_action
    return self.get_data(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 691, in get_data
    data = self.retrieve_list(parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 654, in retrieve_list
    data = self.call_server(neutron_client, search_opts, parsed_args)
  File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py",
 line 626, in call_server
    data = obj_lister(**search_opts)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 102, in with_params
    ret = self.function(instance, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 1061, in list_members
    **_params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 307, in list
    for r in self._pagination(collection, path, **params):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 320, in _pagination
    res = self.get(path, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 293, in get
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 270, in retry_request
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 211, in do_request
    self._handle_fault_response(status_code, replybody)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 185, in _handle_fault_response
    exception_handler_v20(status_code, des_error_body)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", 
line 83, in exception_handler_v20
    message=message)
NeutronClientException: 404 Not Found

The resource could not be found.

** Affects: neutron
     Importance: Undecided
     Assignee: Vikram Hosakote (vhosakot)
         Status: Confirmed


** Tags: lbaas
-- 
When neutron lbaas agent is not running, 'neutron lb*’ commands must display an 
error instead of "404 Not Found"
https://bugs.launchpad.net/bugs/1440285
You received this bug notification because you are a member of Yahoo! 
Engineering Team, which is subscribed to neutron.

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to