Activity log for bug #1640815

Date Who What changed Old value New value Message
2016-11-10 14:34:41 Julie Pichon bug added bug
2016-11-10 14:44:34 Julie Pichon description I'm using the UI to configure a deployment. I selected a bunch of environments (4 in this specific case: network isolation v6, storage environment, storage environment in order to deploy Ceph, enable tls, tls endpoints public IPs). I have 1 Controller, 1 Compute, 1 Ceph Node assigned. From them on it because impossible to use the UI to configure any parameters: - If I click on Parameters in "Edit Configuration", I get the message "There are currently no parameters to configure in this section" From the browser console: action @ 13:48:38.418 FETCH_PARAMETERS_PENDING reqwest.js:240 POST http://192.0.2.1:8989/v2/action_executions 500 (Internal Server Error) logger.js:66 action @ 13:48:49.833 FETCH_PARAMETERS_FAILED logger.js:58 Error in ParametersActions.fetchParameters XMLHttpRequest {readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, responseURL: "http://192.0.2.1:8989/v2/action_executions"…} - If I click on any edit "Pencil" button for any card, all 3 tabs - Parameters, Services, Network Configuration - shows the same "no parameters" error message. - If I click on "Edit Configuration" and wait for the "Overall settings to load", the window closes on its own with the message "{"debuginfo": null, "faultcode": "Server", "faultstring": "__init__() takes exactly 4 arguments (2 given)"}" This error appears to be coming from Mistral directly. Looking at the api.log: 2016-11-10 13:51:57.757 11167 INFO mistral.api.controllers.v2.action_execution [-] Create action_execution [action_execution=ActionExecution [id='Unset', workflow_name='Unset', task_name='Unset', task_execution_id='Unset', state='Unset', state_info='Unset', tags='Unset', name='tripleo.heat_capabilities.get', description='Unset', accepted='Unset', input='{'container': 'test'}', output='Unset', created_at='Unset', updated_at='Unset', params='{'save_result': True, 'run_sync': True}']] 2016-11-10 13:52:03.057 11167 INFO mistral.api.controllers.v2.environment [-] Fetch environment [name=test] 2016-11-10 13:52:07.666 11167 ERROR wsme.api [-] Server-side error: "__init__() takes exactly 4 arguments (2 given)". Detail: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/wsmeext/pecan.py", line 84, in callfunction result = f(self, *args, **kwargs) File "/usr/lib/python2.7/site-packages/mistral/api/controllers/v2/action_execution.py", line 141, in post **params File "/usr/lib/python2.7/site-packages/mistral/engine/rpc_backend/rpc.py", line 317, in decorator raise exc_cls(e.value) TypeError: __init__() takes exactly 4 arguments (2 given) That looks like it may be a bug on the Mistral side? The engine logs show the following: 2016-11-10 13:52:07.657 11554 ERROR mistral.db.v2.sqlalchemy.models [-] Size limit 1024KB exceed for class [<class 'mistral.db.v2.sqlalchemy.models.TaskExecution'>], field output of size 1148KB. 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server [-] Exception during message handling 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 155, in _process_incoming 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 225, in dispatch 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 195, in _do_dispatch 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/rpc_backend/rpc.py", line 177, in start_action 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server **params 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/action_queue.py", line 70, in decorate 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server res = func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/utils/__init__.py", line 123, in _logged 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/default_engine.py", line 110, in start_action 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return db_api.create_action_execution(values) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/api.py", line 224, in create_action_execution 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return IMPL.create_action_execution(values) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/sqlalchemy/base.py", line 118, in _within_session 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server result = func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/api.py", line 662, in create_action_execution 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server a_ex.update(values.copy()) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/models.py", line 94, in update 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server setattr(self, k, v) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 224, in __set__ 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server instance_dict(instance), value, None) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 701, in set 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server value, old, initiator) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 710, in fire_replace_event 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server self._init_append_or_replace_token()) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/events.py", line 1606, in wrap 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server fn(target, value, *arg) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/models.py", line 92, in <lambda> 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server lambda t, v, o, i: validate_long_type_length(cls, attr_name, v) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/models.py", line 77, in validate_long_type_length 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server size_limit_kb 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server SizeLimitExceededException: Size of 'output' is 1148KB which exceeds the limit of 1024KB It looks like we may need to adjust the Mistral configuration on the undercloud. Additional information: $ mistral environment-get test +-------------+-----------------------------------------------------------------------------------+ | Field | Value | +-------------+-----------------------------------------------------------------------------------+ | Name | test | | Description | <none> | | Variables | { | | | "passwords": { | | | "HAProxyStatsPassword": "eRH2Te3TRNHhqc3vhVX6Jjbq7", | | | "CephMonKey": "AQCJ0BlYAAAAABAAnjgsMS0yUThTokp644rxfg==", | | | "NeutronPassword": "Jaqwtm6Wn32rCvbdR3XchhNPU", | | | "HeatPassword": "Cn9WHhYZt4xGAzGVm3ttAEgCw", | | | "SnmpdReadonlyUserPassword": "5a81d2d83ee4b69b33587249abf49cd672d08541", | | | "GlancePassword": "QbaKFyataq9g8wQuwCaTbQw6g", | | | "IronicPassword": "YNhmNMYZ3d3HCGQBCzEZcT6Fv", | | | "HeatStackDomainAdminPassword": "UnF3dXY3rHJrfBk8Yudmq2bXE", | | | "ZaqarPassword": "zUxDHXD9YtWg6btHUWnuAA63s", | | | "MysqlClustercheckPassword": "6qzKuefZfcZrthBEbPvNzj9RU", | | | "GnocchiPassword": "FXBQe3uErWZJeBQyuyvBDcwyv", | | | "CephAdminKey": "AQCJ0BlYAAAAABAAzV243FBkxMCnC3FdmJp9OA==", | | | "CeilometerPassword": "K49rJbCQTU7vJxHFbsgZb6BNy", | | | "CinderPassword": "249BAzhaNaKMFDdKhjATDp98m", | | | "RabbitPassword": "Whhc9QtuFbCKTmHTkYXzeBHv8", | | | "CephRgwKey": "AQCJ0BlYAAAAABAAgkwZJoTLuprZxIRBqqHiRA==", | | | "TrovePassword": "rzefeQV6qGZc7jUnEa4J4pPP3", | | | "KeystoneCredential0": "jmqQdybmudfLd-gftwF9dDQsG5XtTTm4hXqH4dzEqno=", | | | "KeystoneCredential1": "_ulAQEXIqyK7CEdFYWUc11JNAgWHco3MK58G8VK6f_s=", | | | "CephClientKey": "AQCJ0BlYAAAAABAA4bxmTBjjBvgoZP6dHrKXjg==", | | | "NovaPassword": "WCCKzWeP7RsHte7uzRpuJGnJf", | | | "AdminToken": "xNWwyzTNBCfBNEyBkGgc2Pp3H", | | | "RedisPassword": "TZq9xQJFVt9TZ7dVXfmGuakE7", | | | "MistralPassword": "ChthnfF6hgWeddC3EaA23BURT", | | | "SwiftHashSuffix": "jTQ9jqkQsJgxGbtRXGVPvFqmM", | | | "AdminPassword": "BPWshyAkWNbWDA7HVhm9H3E8z", | | | "AodhPassword": "QrQ48ebuqfd2ezWUZJ4xgvsPw", | | | "ManilaPassword": "amtXbYqWDAn8pWtWAarVpWRaV", | | | "SwiftPassword": "qavgpKwzVs2BJfh44WmzN8Jbr", | | | "CeilometerMeteringSecret": "HyH3C9hgbXvG6DgrCPTaUmXG3", | | | "NeutronMetadataProxySharedSecret": "nW6KVpRwzFApGr22pamVuqaUw", | | | "BarbicanPassword": "CWhus8tB66n4yRY69VCNRfXsf", | | | "SaharaPassword": "aduhp3qErpb4eeURkNcMt4MAn" | | | }, | | | "parameter_defaults": { | | | "CloudDomain": "", | | | "CephStorageCount": "1" | | | }, | | | "template": "overcloud.yaml", | | | "environments": [ | | | { | | | "path": "overcloud-resource-registry-puppet.yaml" | | | }, | | | { | | | "path": "environments/network-isolation-v6.yaml" | | | }, | | | { | | | "path": "environments/storage-environment.yaml" | | | }, | | | { | | | "path": "environments/enable-tls.yaml" | | | }, | | | { | | | "path": "environments/tls-endpoints-public-ip.yaml" | | | } | | | ] | | | } | | Scope | private | | Created at | 2016-11-02 11:39:53 | | Updated at | 2016-11-10 13:43:13 | This reproduced on both a Newton and Ocata environment. I'm using the UI to configure a deployment. Steps to reproduce: ------------------- 1. Select a bunch of environments. I tried with 4 in this case: network isolation v6, storage environment, storage environment in order to deploy Ceph, enable tls, tls endpoints public IPs. I have 1 Controller, 1 Compute, 1 Ceph Node assigned. Problem description: -------------------- After saving the new environments, it becomes impossible to use the UI to configure any parameters: - If I click on Parameters in "Edit Configuration", I get the message "There are currently no parameters to configure in this section" From the browser console: action @ 13:48:38.418 FETCH_PARAMETERS_PENDING reqwest.js:240 POST http://192.0.2.1:8989/v2/action_executions 500 (Internal Server Error) logger.js:66 action @ 13:48:49.833 FETCH_PARAMETERS_FAILED logger.js:58 Error in ParametersActions.fetchParameters XMLHttpRequest {readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, responseURL: "http://192.0.2.1:8989/v2/action_executions"…} - If I click on any edit "Pencil" button for any card, all 3 tabs - Parameters, Services, Network Configuration - shows the same "no parameters" error message. - If I click on "Edit Configuration" and wait for the "Overall settings to load", the window closes on its own with the message "{"debuginfo": null, "faultcode": "Server", "faultstring": "__init__() takes exactly 4 arguments (2 given)"}" Mistral logs ------------ This error appears to be coming from Mistral directly. Looking at the api.log: 2016-11-10 13:51:57.757 11167 INFO mistral.api.controllers.v2.action_execution [-] Create action_execution [action_execution=ActionExecution [id='Unset', workflow_name='Unset', task_name='Unset', task_execution_id='Unset', state='Unset', state_info='Unset', tags='Unset', name='tripleo.heat_capabilities.get', description='Unset', accepted='Unset', input='{'container': 'test'}', output='Unset', created_at='Unset', updated_at='Unset', params='{'save_result': True, 'run_sync': True}']] 2016-11-10 13:52:03.057 11167 INFO mistral.api.controllers.v2.environment [-] Fetch environment [name=test] 2016-11-10 13:52:07.666 11167 ERROR wsme.api [-] Server-side error: "__init__() takes exactly 4 arguments (2 given)". Detail: Traceback (most recent call last):   File "/usr/lib/python2.7/site-packages/wsmeext/pecan.py", line 84, in callfunction     result = f(self, *args, **kwargs)   File "/usr/lib/python2.7/site-packages/mistral/api/controllers/v2/action_execution.py", line 141, in post     **params   File "/usr/lib/python2.7/site-packages/mistral/engine/rpc_backend/rpc.py", line 317, in decorator     raise exc_cls(e.value) TypeError: __init__() takes exactly 4 arguments (2 given) That one looks like a bug on the Mistral side? The engine logs show the following: 2016-11-10 13:52:07.657 11554 ERROR mistral.db.v2.sqlalchemy.models [-] Size limit 1024KB exceed for class [<class 'mistral.db.v2.sqlalchemy.models.TaskExecution'>], field output of size 1148KB. 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server [-] Exception during message handling 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 155, in _process_incoming 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 225, in dispatch 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 195, in _do_dispatch 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/rpc_backend/rpc.py", line 177, in start_action 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server **params 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/action_queue.py", line 70, in decorate 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server res = func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/utils/__init__.py", line 123, in _logged 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/engine/default_engine.py", line 110, in start_action 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return db_api.create_action_execution(values) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/api.py", line 224, in create_action_execution 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server return IMPL.create_action_execution(values) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/sqlalchemy/base.py", line 118, in _within_session 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server result = func(*args, **kw) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/api.py", line 662, in create_action_execution 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server a_ex.update(values.copy()) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/models.py", line 94, in update 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server setattr(self, k, v) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 224, in __set__ 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server instance_dict(instance), value, None) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 701, in set 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server value, old, initiator) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 710, in fire_replace_event 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server self._init_append_or_replace_token()) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/events.py", line 1606, in wrap 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server fn(target, value, *arg) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/models.py", line 92, in <lambda> 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server lambda t, v, o, i: validate_long_type_length(cls, attr_name, v) 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/mistral/db/v2/sqlalchemy/models.py", line 77, in validate_long_type_length 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server size_limit_kb 2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.rpc.server SizeLimitExceededException: Size of 'output' is 1148KB which exceeds the limit of 1024KB It looks like we may need to adjust the Mistral configuration on the undercloud. Additional information: ------------------------ $ mistral environment-get test +-------------+-----------------------------------------------------------------------------------+ | Field | Value | +-------------+-----------------------------------------------------------------------------------+ | Name | test | | Description | <none> | | Variables | { | | | "passwords": { | (snip) | | | "parameter_defaults": { | | | "CloudDomain": "", | | | "CephStorageCount": "1" | | | }, | | | "template": "overcloud.yaml", | | | "environments": [ | | | { | | | "path": "overcloud-resource-registry-puppet.yaml" | | | }, | | | { | | | "path": "environments/network-isolation-v6.yaml" | | | }, | | | { | | | "path": "environments/storage-environment.yaml" | | | }, | | | { | | | "path": "environments/enable-tls.yaml" | | | }, | | | { | | | "path": "environments/tls-endpoints-public-ip.yaml" | | | } | | | ] | | | } | | Scope | private | | Created at | 2016-11-02 11:39:53 | | Updated at | 2016-11-10 13:43:13 | This reproduced on both a Newton and Ocata environment.
2016-11-10 15:39:34 OpenStack Infra tripleo: status Triaged In Progress
2016-11-10 15:39:34 OpenStack Infra tripleo: assignee Julie Pichon (jpichon)
2016-11-10 15:48:21 Julie Pichon tripleo: milestone ocata-2 ocata-1
2016-11-10 15:48:53 Julie Pichon tripleo: importance High Critical
2016-11-10 16:17:11 Julie Pichon summary Selecting too many environments breaks Mistral (?) Enabling too many environments from the UI breaks Mistral
2016-11-10 19:49:37 OpenStack Infra tripleo: status In Progress Fix Released
2016-11-18 15:02:26 OpenStack Infra tags newton-backport-potential ui workflows in-stable-newton newton-backport-potential ui workflows