Skip to content

(cli) Stackl apply on host that does not exist #243

@stgrace

Description

@stgrace

Expected Result

Simple error message.
For example: Unable to connect to https://stackl.example.com

Actual Result

$ stackl connect https://stackl.example.com
$ stackl apply -c stack-instance.yml example
Traceback (most recent call last):
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connection.py", line 169, in _new_conn
    conn = connection.create_connection(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/util/connection.py", line 73, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib64/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connection.py", line 353, in connect
    conn = self._new_conn()
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7fb774a50a30>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/venv/bin/stackl", line 11, in <module>
    load_entry_point('stackl-cli==0.3.3', 'console_scripts', 'stackl')()
  File "/opt/venv/lib64/python3.8/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/opt/venv/lib64/python3.8/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/opt/venv/lib64/python3.8/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/venv/lib64/python3.8/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/venv/lib64/python3.8/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/opt/venv/lib64/python3.8/site-packages/commands/apply.py", line 31, in apply
    apply_stack_instance(config_file, params, tags, secrets,
  File "/opt/venv/lib64/python3.8/site-packages/commands/apply.py", line 75, in apply_stack_instance
    stackl_context.stack_instances_api.get_stack_instance(instance_name)
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/api/stack_instances_api.py", line 181, in get_stack_instance
    return self.get_stack_instance_with_http_info(name, **kwargs)  # noqa: E501
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/api/stack_instances_api.py", line 256, in get_stack_instance_with_http_info
    return self.api_client.call_api(
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/api_client.py", line 364, in call_api
    return self.__call_api(resource_path, method,
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/api_client.py", line 181, in __call_api
    response_data = self.request(
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/api_client.py", line 389, in request
    return self.rest_client.GET(url,
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/rest.py", line 230, in GET
    return self.request("GET", url,
  File "/opt/venv/lib64/python3.8/site-packages/stackl_client/rest.py", line 208, in request
    r = self.pool_manager.request(method, url,
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/request.py", line 74, in request
    return self.request_encode_url(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/request.py", line 96, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 783, in urlopen
    return self.urlopen(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/opt/venv/lib64/python3.8/site-packages/urllib3/util/retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='stackl.example.com', port=443): Max retries exceeded with url: /stack_instances/example (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fb774a50a30>: Failed to establish a new connection: [Errno -2] Name or service not known'))

Steps To Reproduce

$ stackl connect https://stackl.example.com
$ stackl apply -c stack-instance.yml example

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions