rcbops / ansible-lxc-rpc

Ansible Playbooks to deploy openstack
https://rcbops.github.io/ansible-lxc-rpc/
Apache License 2.0
38 stars 31 forks source link

Upstream glanceclient/neutronclient don't allow internalURL #113

Closed andymcc closed 10 years ago

andymcc commented 10 years ago

This is a bug in the latest versions (2.6.7 for neutronclient, glanceclient 0.14.0) which doesn't exist in previous versions (2.6.6 and 0.13.1).

I've made upstream fixes for these issues, but in the meantime - we should probably be pinning the client versions (especially since we are pulling a specific sha for the openstack projects themselves) - having clients that are at the latest version when we aren't using the latest code doesn't seem sensible. (This would apply to all openstack clients)

jacobwagner commented 10 years ago

I am seeing this as well

Unable to establish connection to http://10.17.255.180:9696/v2.0/networks.json
root@569037-infra01_utility_container-4f1132a4:~# neutron --debug net-list
DEBUG: keystoneclient.session REQ: curl -i -X GET http://192.168.96.10:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
DEBUG: keystoneclient.session RESP: [200] {'content-length': '616', 'vary': 'X-Auth-Token', 'keep-alive': 'timeout=5, max=100', 'server': 'Apache/2.4.7 (Ubuntu)', 'connection': 'Keep-Alive', 'date': 'Fri, 12 Sep 2014 17:28:31 GMT', 'content-type': 'application/json'} 
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}, {"base": "application/xml", "type": "application/vnd.openstack.identity-v2.0+xml"}], "id": "v2.0", "links": [{"href": "http://192.168.96.10:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/api/openstack-identity-service/2.0/content/", "type": "text/html", "rel": "describedby"}, {"href": "http://docs.openstack.org/api/openstack-identity-service/2.0/identity-dev-guide-2.0.pdf", "type": "application/pdf", "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: neutronclient.neutron.v2_0.network.ListNetwork 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.96.10:5000/v2.0/tokens
DEBUG: iso8601.iso8601 Parsed 2014-09-13T05:28:32Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'05', 'daydash': u'13', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'32', 'tz_minute': None, 'year': u'2014', 'separator': u'T', 'monthdash': u'09', 'day': None, 'minute': u'28'} with default timezone <iso8601.iso8601.Utc object at 0x7f939f34b390>
DEBUG: iso8601.iso8601 Got u'2014' for 'year' with default None
DEBUG: iso8601.iso8601 Got u'09' for 'monthdash' with default 1
DEBUG: iso8601.iso8601 Got 9 for 'month' with default 9
DEBUG: iso8601.iso8601 Got u'13' for 'daydash' with default 1
DEBUG: iso8601.iso8601 Got 13 for 'day' with default 13
DEBUG: iso8601.iso8601 Got u'05' for 'hour' with default None
DEBUG: iso8601.iso8601 Got u'28' for 'minute' with default None
DEBUG: iso8601.iso8601 Got u'32' for 'second' with default None
DEBUG: iso8601.iso8601 Parsed 2014-09-13T05:28:32Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'05', 'daydash': u'13', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'32', 'tz_minute': None, 'year': u'2014', 'separator': u'T', 'monthdash': u'09', 'day': None, 'minute': u'28'} with default timezone <iso8601.iso8601.Utc object at 0x7f939f34b390>
DEBUG: iso8601.iso8601 Got u'2014' for 'year' with default None
DEBUG: iso8601.iso8601 Got u'09' for 'monthdash' with default 1
DEBUG: iso8601.iso8601 Got 9 for 'month' with default 9
DEBUG: iso8601.iso8601 Got u'13' for 'daydash' with default 1
DEBUG: iso8601.iso8601 Got 13 for 'day' with default 13
DEBUG: iso8601.iso8601 Got u'05' for 'hour' with default None
DEBUG: iso8601.iso8601 Got u'28' for 'minute' with default None
DEBUG: iso8601.iso8601 Got u'32' for 'second' with default None
DEBUG: iso8601.iso8601 Parsed 2014-09-13T05:28:32Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'05', 'daydash': u'13', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'32', 'tz_minute': None, 'year': u'2014', 'separator': u'T', 'monthdash': u'09', 'day': None, 'minute': u'28'} with default timezone <iso8601.iso8601.Utc object at 0x7f939f34b390>
DEBUG: iso8601.iso8601 Got u'2014' for 'year' with default None
DEBUG: iso8601.iso8601 Got u'09' for 'monthdash' with default 1
DEBUG: iso8601.iso8601 Got 9 for 'month' with default 9
DEBUG: iso8601.iso8601 Got u'13' for 'daydash' with default 1
DEBUG: iso8601.iso8601 Got 13 for 'day' with default 13
DEBUG: iso8601.iso8601 Got u'05' for 'hour' with default None
DEBUG: iso8601.iso8601 Got u'28' for 'minute' with default None
DEBUG: iso8601.iso8601 Got u'32' for 'second' with default None
DEBUG: keystoneclient.session REQ: curl -i -X GET http://10.17.255.180:9696/v2.0/networks.json -H "User-Agent: python-neutronclient" -H "X-Auth-Token: 72ca86860afe4bffa85ed13837cd2cdd"
ERROR: neutronclient.shell Unable to establish connection to http://10.17.255.180:9696/v2.0/networks.json
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 696, in run_subcommand
    return run_command(cmd, cmd_parser, sub_argv)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/shell.py", line 90, in run_command
    return cmd.run(known_args)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/common/command.py", line 34, 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 40, in take_action
    return self.get_data(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py", line 676, in get_data
    data = self.retrieve_list(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py", line 645, 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 617, in call_server
    data = obj_lister(**search_opts)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 101, in with_params
    ret = self.function(instance, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 343, in list_networks
    **_params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1335, in list
    for r in self._pagination(collection, path, **params):
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1348, in _pagination
    res = self.get(path, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1321, in get
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1298, in retry_request
    headers=headers, params=params)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1242, in do_request
    resp, replybody = self.httpclient.do_request(action, method, body=body)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/client.py", line 309, in do_request
    return self.request(url, method, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/neutronclient/client.py", line 304, in request
    resp = self.session.request(url, method, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", line 324, in request
    resp = self._send_request(url, method, redirect, log, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", line 359, in _send_request
    raise exceptions.ConnectionRefused(msg)
ConnectionRefused: Unable to establish connection to http://10.17.255.180:9696/v2.0/networks.json
DEBUG: neutronclient.shell clean_up ListNetwork
DEBUG: neutronclient.shell Got an error: Unable to establish connection to http://10.17.255.180:9696/v2.0/networks.json
Unable to establish connection to http://10.17.255.180:9696/v2.0/networks.json
jacobwagner commented 10 years ago

It also looks like nova compute will not be able to start up correctly until you fix this as well

 because its interval is negative
2014-09-12 19:06:32.660 22897 CRITICAL nova [-] ImportError: No module named neutron
2014-09-12 19:06:32.660 22897 TRACE nova Traceback (most recent call last):
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/bin/nova-compute", line 10, in <module>
2014-09-12 19:06:32.660 22897 TRACE nova     sys.exit(main())
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/cmd/compute.py", line 72, in main
2014-09-12 19:06:32.660 22897 TRACE nova     db_allowed=CONF.conductor.use_local)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/service.py", line 274, in create
2014-09-12 19:06:32.660 22897 TRACE nova     db_allowed=db_allowed)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/service.py", line 147, in __init__
2014-09-12 19:06:32.660 22897 TRACE nova     self.manager = manager_class(host=self.host, *args, **kwargs)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/compute/manager.py", line 573, in __init__
2014-09-12 19:06:32.660 22897 TRACE nova     self.network_api = network.API()
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/network/__init__.py", line 39, in API
2014-09-12 19:06:32.660 22897 TRACE nova     return cls()
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/network/neutronv2/api.py", line 104, in __init__
2014-09-12 19:06:32.660 22897 TRACE nova     openstack_driver.get_openstack_security_group_driver())
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/network/security_group/openstack_driver.py", line 39, in get_openstack_security_group_driver
2014-09-12 19:06:32.660 22897 TRACE nova     return importutils.import_object(NEUTRON_DRIVER)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/openstack/common/importutils.py", line 38, in import_object
2014-09-12 19:06:32.660 22897 TRACE nova     return import_class(import_str)(*args, **kwargs)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/openstack/common/importutils.py", line 28, in import_class
2014-09-12 19:06:32.660 22897 TRACE nova     __import__(mod_str)
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/security_groups.py", line 31, in <module>
2014-09-12 19:06:32.660 22897 TRACE nova     from nova.network.security_group import neutron_driver
2014-09-12 19:06:32.660 22897 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/nova/network/security_group/neutron_driver.py", line 19, in <module>
2014-09-12 19:06:32.660 22897 TRACE nova     from neutronclient.neutron import v2_0 as neutronv20
2014-09-12 19:06:32.660 22897 TRACE nova ImportError: No module named neutron
2014-09-12 19:06:32.660 22897 TRACE nova 

Once i installed the proper neutron client across the cluster and restarted nova all was well

cloudnull commented 10 years ago

related issue https://github.com/rcbops/ansible-lxc-rpc/issues/31