Monasca client raises keystone url error

Bug #1713050 reported by daniel.pawlik
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
Medium
daniel.pawlik

Bug Description

Hello,
Im trying to run monasca-api with heat service on devstack with master branch.
I can not run heat autoscalling template (https://github.com/openstack/heat-templates/blob/master/hot/monasca/autoscaling.yaml) because heat engine raises error:

CREATE: MonascaNotification "down_notification" Stack "test" [4abca2b6-85d1-4a67-aed6-7f42050685d3]
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource Traceback (most recent call last):
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/heat/heat/engine/resource.py", line 840, in _action_recorder
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource yield
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/heat/heat/engine/resource.py", line 948, in _do_action
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource yield self.action_handler_task(action, args=handler_args)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/heat/heat/engine/scheduler.py", line 334, in wrapper
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource step = next(subtask)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/heat/heat/engine/resource.py", line 893, in action_handler_task
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource handler_data = handler(*args)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/heat/heat/engine/resources/openstack/monasca/notification.py", line 161, in handle_create
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource notification = self.client().notifications.create(**args)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/opt/stack/python-monascaclient/monascaclient/v2_0/notifications.py", line 26, in create
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource json=kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py", line 164, in create
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource ret = self._request(method, url, session=session, **params)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py", line 141, in _request
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return session.request(url, method, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py", line 578, in request
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource auth_headers = self.get_auth_headers(auth)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py", line 905, in get_auth_headers
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return auth.get_headers(self, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/plugin.py", line 90, in get_headers
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource token = self.get_token(session)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 89, in get_token
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return self.get_access(session).auth_token
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 135, in get_access
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource self.auth_ref = self.get_auth_ref(session)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 196, in get_auth_ref
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource self._plugin = self._do_create_plugin(session)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 135, in _do_create_plugin
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource authenticated=False)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 428, in get_discovery
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource authenticated=authenticated)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py", line 1164, in get_discovery
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource disc = Discover(session, url, authenticated=authenticated)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py", line 402, in __init__
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource authenticated=authenticated)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/discover.py", line 101, in get_version_data
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource resp = session.get(url, headers=headers, authenticated=authenticated)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py", line 845, in get
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return self.request(url, 'GET', **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 108, in inner
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource return wrapped(*args, **kwargs)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py", line 593, in request
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource if not urllib.parse.urlparse(url).netloc:
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/lib/python2.7/urlparse.py", line 143, in urlparse
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource tuple = urlsplit(url, scheme, allow_fragments)
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource File "/usr/lib/python2.7/urlparse.py", line 182, in urlsplit
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource i = url.find(':')
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource AttributeError: 'NoneType' object has no attribute 'find'
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: ERROR heat.engine.resource
Aug 24 10:57:23 devstack-monasca heat-engine[13097]: INFO heat.engine.stack [None req-6b602515-99c8-4e80-a086-b73b3e591fed admin None] Stack CREATE FAILED (test): Resource CREATE failed: AttributeError: resources.down_notification: 'NoneType' object has no attribute 'find'

My configuration in heat.conf:
[DEFAULT]
stack_domain_admin_password = password
stack_domain_admin = heat_domain_admin
stack_user_domain_id = 4c47cbaa98f645c4bc67eef580425f39
logging_exception_prefix = ERROR %(name)s ^[[01;35m%(instance)s^[[00m
logging_default_format_string = %(color)s%(levelname)s %(name)s [^[[00;36m-%(color)s] ^[[01;35m%(instance)s%(color)s%(message)s^[[00m
logging_context_format_string = %(color)s%(levelname)s %(name)s [^[[01;36m%(global_request_id)s %(request_id)s ^[[00;36m%(project_name)s %(user_name)s%(color)s] ^[[01;35m%(instance)s%(color)s%(message)s^[[00m
logging_debug_format_suffix = ^[[00;33m{{(pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d}}^[[00m
debug = True
region_name_for_services = RegionOne
auth_encryption_key = 767c3ed056cbaa3b9dfedb8c6f825bf0
heat_watch_server_url = http://devstack-monasca-1/heat-api-cloudwatch
heat_waitcondition_server_url = http://devstack-monasca-1/heat-api-cfn/v1/waitcondition
heat_metadata_server_url = http://devstack-monasca-1/heat-api-cfn
transport_url = rabbit://stackrabbit:434tgdfxfdr5@devstack-monasca-1:5672/
num_engine_workers=1

[database]
connection = mysql+pymysql://root:asdfxbth545y54@127.0.0.1/heat?charset=utf8

[keystone_authtoken]
memcached_servers = devstack-monasca-1:11211
signing_dir = /var/cache/heat
cafile = /opt/stack/data/ca-bundle.pem
project_domain_name = Default
project_name = service
user_domain_name = Default
password = password
username = heat
auth_url = http://devstack-monasca-1/identity
auth_uri = http://devstack-monasca-1/identity
auth_type = password
auth_version=3

[trustee]
user_domain_id = default
password = password
username = nova
auth_type = password
auth_url = http://devstack-monasca-1/identity
auth_uri = http://devstack-monasca-1/identity
auth_version=3

[clients_keystone]
auth_url = http://devstack-monasca-1/identity
auth_uri = http://devstack-monasca-1/identity
auth_version=3

[clients_monasca]
endpoint_type = publicURL

[heat_api]
workers = 2
bind_port = 8004

[heat_api_cfn]
bind_port = 8000

[heat_api_cloudwatch]
bind_port = 8003

[cache]
backend = dogpile.cache.memory
enabled = True

[volumes]
backups_enabled = false

Changed in heat:
assignee: nobody → daniel.pawlik (daniel-pawlik)
Revision history for this message
daniel.pawlik (daniel-pawlik) wrote :
Rico Lin (rico-lin)
Changed in heat:
importance: Undecided → Medium
status: New → In Progress
Zane Bitter (zaneb)
Changed in heat:
milestone: none → queens-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

Reviewed: https://review.openstack.org/497931
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=36e53d3c2b973c45a4dc7af7af39b0110437de48
Submitter: Zuul
Branch: master

commit 36e53d3c2b973c45a4dc7af7af39b0110437de48
Author: Daniel Pawlik <email address hidden>
Date: Fri Aug 25 12:49:53 2017 +0000

    Fix for None base_url for Monasca client

    Heat engine tries to create client object using token, but the token
    in Monsca client will be reauthenticated. It can't be reauthenticated,
    because it doesn't have base_url in kwargs (Monasca client), so it
    raises an error "AttributeError: 'NoneType' object has no attribute
    'find'".
    Using session instead of token fixes the issue.

    Change-Id: I154c0360946043f6dbb12ef756aa01d674f6de8f
    Closes-Bug: #1713050

Changed in heat:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/heat 10.0.0.0rc1

This issue was fixed in the openstack/heat 10.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/612829

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (stable/pike)

Reviewed: https://review.openstack.org/612829
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=e329e24cfe8748847907834c384b2496638c5a77
Submitter: Zuul
Branch: stable/pike

commit e329e24cfe8748847907834c384b2496638c5a77
Author: Joseph Davis <email address hidden>
Date: Tue Oct 23 16:13:05 2018 -0700

    Fix for None base_url for Monasca client

    The fix done for bug 1713050 could not be backported to Pike due to
    the differences in monascaclient version. This commit makes a fix
    by including the auth_url, project_name, and project_domain_id in
    the Client setup parameters.

    Reference I154c0360946043f6dbb12ef756aa01d674f6de8f for more context.

    Change-Id: I9f9e6a0f393c7748d4e8a9ed1a6ec9b537d0b7fd
    Closes-Bug: #1713050

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/heat 9.0.6

This issue was fixed in the openstack/heat 9.0.6 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.