IBM / ignition

Framework for VIM and Lifecycle driver applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Increase default api_version_auto_timeout_ms value for topic creation

sglover opened this issue · comments

Consistent NoBrokersAvailable exceptions are being seen on bootstrap during job queue topic creation, particularly for the Openstack driver on OCP 4.4. in this case:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/osvimdriver/__init__.py", line 34, in create_wsgi_app
    ignition_app = create_app()
  File "/usr/local/lib/python3.7/site-packages/osvimdriver/app.py", line 36, in create_app
    return app_builder.configure()
  File "/usr/local/lib/python3.7/site-packages/ignition/boot/api.py", line 110, in configure
    return BootstrapRunner(configuration).init_app()
  File "/usr/local/lib/python3.7/site-packages/ignition/boot/app.py", line 131, in init_app
    service_configurator.configure(self.configuration, self.service_register)
  File "/usr/local/lib/python3.7/site-packages/ignition/boot/configurators/jobqueue.py", line 36, in configure
    TopicCreator().create_topic_if_needed(messaging_config.connection_address, messaging_config.topics.job_queue)
  File "/usr/local/lib/python3.7/site-packages/ignition/service/messaging.py", line 62, in create_topic_if_needed
    admin_client = KafkaAdminClient(bootstrap_servers=connection_address, client_id='ignition')
  File "/usr/local/lib/python3.7/site-packages/kafka/admin/client.py", line 206, in __init__
    **self.config)
  File "/usr/local/lib/python3.7/site-packages/kafka/client_async.py", line 242, in __init__
    self.config['api_version'] = self.check_version(timeout=check_timeout)
  File "/usr/local/lib/python3.7/site-packages/kafka/client_async.py", line 925, in check_version
    raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable

This renders the driver unusable because it never completes bootstrap. The default timeout is 2s, but this seems to be too low in this case, for some reason.