Handle exception when GraphQL server is not running
aditya-konarde opened this issue · 1 comments
aditya-konarde commented
Currently if you try to run qontract-reconcile
without having the graphql server running, it'll throw an exception.
Proposal: Handle this gracefully, return a clean message
~/Git/qontract-reconcile ⑂master* $ qontract-reconcile --config=config.local.toml --dry-run openshift-resources
Traceback (most recent call last):
File "/home/akonarde/Git/qontract-reconcile/venv/bin/qontract-reconcile", line 11, in <module>
load_entry_point('reconcile', 'console_scripts', 'qontract-reconcile')()
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/akonarde/Git/qontract-reconcile/reconcile/cli.py", line 159, in openshift_resources
ctx.obj['dry_run'], thread_pool_size)
File "/home/akonarde/Git/qontract-reconcile/reconcile/cli.py", line 65, in run_integration
func(*args)
File "/home/akonarde/Git/qontract-reconcile/reconcile/openshift_resources.py", line 507, in run
namespaces_query = gqlapi.query(NAMESPACES_QUERY)['namespaces']
File "/home/akonarde/Git/qontract-reconcile/utils/gql.py", line 24, in query
result_json = self.client.execute(query, variables)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/graphqlclient-0.2.4-py2.7.egg/graphqlclient/client.py", line 11, in execute
return self._send(query, variables)
File "/home/akonarde/Git/qontract-reconcile/venv/lib/python2.7/site-packages/graphqlclient-0.2.4-py2.7.egg/graphqlclient/client.py", line 29, in _send
response = urllib.request.urlopen(req)
File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 429, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 447, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1230, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.7/urllib2.py", line 1200, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>
maorfr commented