Bug 1986849 - [16.1.7] openstack tripleo validator list throws traceback and exceptions
Summary: [16.1.7] openstack tripleo validator list throws traceback and exceptions
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-validations-libs
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: z7
: 16.1 (Train on RHEL 8.2)
Assignee: Gaël Chamoulaud
QA Contact: nlevinki
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-07-28 13:17 UTC by Gaël Chamoulaud
Modified: 2021-12-09 20:20 UTC (History)
9 users (show)

Fixed In Version: python-validations-libs-1.0.5-1.20210528061104.el8ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-12-09 20:20:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-6527 0 None None None 2021-11-18 11:34:26 UTC
Red Hat Issue Tracker VALFRWK-590 0 None None None 2021-08-13 05:41:01 UTC
Red Hat Product Errata RHBA-2021:3762 0 None None None 2021-12-09 20:20:32 UTC

Description Gaël Chamoulaud 2021-07-28 13:17:30 UTC
With the last core puddle RHOS-16.1-RHEL-8-20210727.n.1

When listing validations, `openstack tripleo validator list` throws traceback and exceptions:

    $ openstack tripleo validator -vvv --debug list
    START with options: tripleo validator -vvv --debug list
    options: Namespace(access_token='***', access_token_endpoint='', access_token_type='', aodh_endpoint='', application_credential_id='', application_credential_name='', application_credential_secret='***', auth_methods='', auth_type='', auth_url='', cacert=None, cert='', client_id='', client_secret='***', cloud='', code='', debug=True, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', identity_provider_url='', insecure=None, inspector_api_version='1', inspector_url=None, interface='public', key='', log_file=None, openid_scope='', os_alarming_api_version='2', os_baremetal_api_version='1.58', os_beta_command=False, os_compute_api_version='', os_container_infra_api_version='1', os_data_processing_api_version='1.1', os_data_processing_url='', os_database_api_version='1', os_dns_api_version='2', os_event_api_version='2', os_identity_api_version='', os_image_api_version='', os_key_manager_api_version='1', os_loadbalancer_api_version='2.0', os_metrics_api_version='1', os_network_api_version='', os_object_api_version='', os_orchestration_api_version='1', os_placement_api_version='1.0', os_project_id=None, os_project_name=None, os_queues_api_version='2', os_tripleoclient_api_version='1', os_volume_api_version='', os_workflow_api_version='2', passcode='', password='***', profile='', project_domain_id='', project_domain_name='', project_id='', project_name='', protocol='', redirect_uri='', region_name='', remote_project_domain_id='', remote_project_domain_name='', remote_project_id='', remote_project_name='', roles='', service_provider='', service_provider_endpoint='', service_provider_entity_id='', system_scope='', timing=False, token='***', trust_id='', user='', user_domain_id='', user_domain_name='', user_id='', username='', verbose_level=3, verify=None)
    Auth plugin password selected
    auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'default_domain': 'default', 'timing': False, 'inspector_api_version': '1', 'beta_command': False, 'queues_api_version': '2', 'database_api_version': '1', 'tripleoclient_api_version': '1', 'data_processing_api_version': '1.1', 'loadbalancer_api_version': '2.0', 'workflow_api_version': '2', 'container_infra_api_version': '1', 'baremetal_api_version': '1.58', 'orchestration_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'event_api_version': '2', 'placement_api_version': '1.0', 'metrics_api_version': '1', 'alarming_api_version': '2', 'region_name': '', 'auth_type': 'password', 'networks': []}
    defaults: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'auth_type': 'password', 'baremetal_status_code_retries': 5, 'baremetal_introspection_status_code_retries': 5, 'image_status_code_retries': 5, 'disable_vendor_agent': {}, 'interface': None, 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active'}
    cloud cfg: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'default_domain': 'default', 'timing': False, 'inspector_api_version': '1', 'beta_command': False, 'queues_api_version': '2', 'database_api_version': '1', 'tripleoclient_api_version': '1', 'data_processing_api_version': '1.1', 'loadbalancer_api_version': '2.0', 'workflow_api_version': '2', 'container_infra_api_version': '1', 'baremetal_api_version': '1.58', 'orchestration_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'event_api_version': '2', 'placement_api_version': '1.0', 'metrics_api_version': '1', 'alarming_api_version': '2', 'region_name': '', 'auth_type': 'password', 'networks': []}
    compute API version 2.1, cmd group openstack.compute.v2
    identity API version 3, cmd group openstack.identity.v3
    image API version 2, cmd group openstack.image.v2
    network API version 2, cmd group openstack.network.v2
    object_store API version 1, cmd group openstack.object_store.v1
    volume API version 3, cmd group openstack.volume.v3
    messaging API version 2, cmd group openstack.messaging.v2
    database API version 1, cmd group openstack.database.v1
    tripleoclient API version 1, cmd group openstack.tripleoclient.v1
    data_processing API version 1.1, cmd group openstack.data_processing.v1
    load_balancer API version 2.0, cmd group openstack.load_balancer.v2
    neutronclient API version 2, cmd group openstack.neutronclient.v2
    workflow_engine API version 2, cmd group openstack.workflow_engine.v2
    container_infra API version 1, cmd group openstack.container_infra.v1
    baremetal API version 1.58, cmd group openstack.baremetal.v1
    baremetal_introspection API version 1, cmd group openstack.baremetal_introspection.v1
    orchestration API version 1, cmd group openstack.orchestration.v1
    dns API version 2, cmd group openstack.dns.v2
    key_manager API version 1, cmd group openstack.key_manager.v1
    event API version 2, cmd group openstack.event.v2
    placement API version 1.0, cmd group openstack.placement.v1
    metric API version 1, cmd group openstack.metric.v1
    alarming API version 2, cmd group openstack.alarming.v2
    Popen(['git', 'version'], cwd=/home/stack, universal_newlines=False, shell=None)
    Popen(['git', 'version'], cwd=/home/stack, universal_newlines=False, shell=None)
    Auth plugin password selected
    auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'default_domain': 'default', 'timing': False, 'inspector_api_version': '1', 'beta_command': False, 'queues_api_version': '2', 'database_api_version': '1', 'tripleoclient_api_version': '1', 'data_processing_api_version': '1.1', 'loadbalancer_api_version': '2.0', 'workflow_api_version': '2', 'container_infra_api_version': '1', 'baremetal_api_version': '1.58', 'orchestration_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'event_api_version': '2', 'placement_api_version': '1.0', 'metrics_api_version': '1', 'alarming_api_version': '2', 'region_name': '', 'auth_type': 'password', 'networks': []}
    command: tripleo validator list -> tripleoclient.v1.tripleo_validator.TripleOValidatorList (auth=False)
    Auth plugin password selected
    auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {}, 'additional_user_agent': [('osc-lib', '1.14.1')], 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'default_domain': 'default', 'timing': False, 'inspector_api_version': '1', 'beta_command': False, 'queues_api_version': '2', 'database_api_version': '1', 'tripleoclient_api_version': '1', 'data_processing_api_version': '1.1', 'loadbalancer_api_version': '2.0', 'workflow_api_version': '2', 'container_infra_api_version': '1', 'baremetal_api_version': '1.58', 'orchestration_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'event_api_version': '2', 'placement_api_version': '1.0', 'metrics_api_version': '1', 'alarming_api_version': '2', 'region_name': '', 'auth_type': 'password', 'networks': []}
    run(Namespace(columns=[], fit_width=False, formatter='table', group=[], max_width=0, noindent=False, print_empty=False, quote_mode='nonnumeric', sort_columns=[]))
    Launch listing the validations
    Exception occured while running the command
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 219, in take_action
        return actions.list_validations(parsed_args.group)
    TypeError: list_validations() takes 1 positional argument but 2 were given
     
    During handling of the above exception, another exception occurred:
     
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 32, in run
        super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run
        return super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/cliff/display.py", line 116, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 222, in take_action
        "Output: {}").format(e))
    RuntimeError: Validations listing finished with errors
    Output: list_validations() takes 1 positional argument but 2 were given
    Validations listing finished with errors
    Output: list_validations() takes 1 positional argument but 2 were given
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 219, in take_action
        return actions.list_validations(parsed_args.group)
    TypeError: list_validations() takes 1 positional argument but 2 were given
     
    During handling of the above exception, another exception occurred:
     
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/cliff/app.py", line 401, in run_subcommand
        result = cmd.run(parsed_args)
      File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 32, in run
        super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run
        return super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/cliff/display.py", line 116, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 222, in take_action
        "Output: {}").format(e))
    RuntimeError: Validations listing finished with errors
    Output: list_validations() takes 1 positional argument but 2 were given
    clean_up TripleOValidatorList: Validations listing finished with errors
    Output: list_validations() takes 1 positional argument but 2 were given
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 219, in take_action
        return actions.list_validations(parsed_args.group)
    TypeError: list_validations() takes 1 positional argument but 2 were given
     
    During handling of the above exception, another exception occurred:
     
    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/osc_lib/shell.py", line 136, in run
        ret_val = super(OpenStackShell, self).run(argv)
      File "/usr/lib/python3.6/site-packages/cliff/app.py", line 281, in run
        result = self.run_subcommand(remainder)
      File "/usr/lib/python3.6/site-packages/osc_lib/shell.py", line 176, in run_subcommand
        ret_value = super(OpenStackShell, self).run_subcommand(argv)
      File "/usr/lib/python3.6/site-packages/cliff/app.py", line 401, in run_subcommand
        result = cmd.run(parsed_args)
      File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 32, in run
        super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run
        return super(Command, self).run(parsed_args)
      File "/usr/lib/python3.6/site-packages/cliff/display.py", line 116, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python3.6/site-packages/tripleoclient/v1/tripleo_validator.py", line 222, in take_action
        "Output: {}").format(e))
    RuntimeError: Validations listing finished with errors
    Output: list_validations() takes 1 positional argument but 2 were given


This is issue is due to https://review.opendev.org/q/I5152ad37c7e47a46eb23c3c792b31b2bf3298368 and the fact that python-validations-libs is pinned to a very old tags for Downstream 16.1.7.

Possible solution to fix that asap is:
#1 revert https://review.opendev.org/q/I5152ad37c7e47a46eb23c3c792b31b2bf3298368 downstream in python-tripleoclient
#2 provide a quick hot fix downstream on python-validations-libs (already tested on Jad's machine)

Comment 3 Cédric Jeanneret 2021-08-03 15:11:02 UTC
Patch just merged in rhos-16.1-patches, it's currently building:
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=38642401

Updating the FIV accordingly (it was the -trunk-patches build).

Comment 18 errata-xmlrpc 2021-12-09 20:20:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenStack Platform 16.1.7 (Train) bug fix and enhancement advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:3762


Note You need to log in before you can comment on or make changes to this bug.