Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An error occurred (404) when calling the ListDomainNames operation #72

Closed
narcotics726 opened this issue Apr 21, 2017 · 4 comments · May be fixed by codefresh-io/localstack#1 or supaflysnooka/localstack#1
Labels
status: triage needed Requires evaluation by maintainers

Comments

@narcotics726
Copy link

ERROR: '. .venv/bin/activate; aws --endpoint-url="http://6a9eab4132ee:4578" es list-domain-names':
An error occurred (404) when calling the ListDomainNames operation: 

This error raised after the docker container started. What should I do? I'm running it in docker on Windows 10.

@whummer
Copy link
Member

whummer commented Apr 23, 2017

Thanks for the report. Can you please provide more details about your environment/configuration, and the steps to reproduce?

It looks like this error is coming from the backend of the Web UI, so I'm assuming the error is triggered once you point your browser to http://localhost:8080 , is that correct? If not, which user action actually triggers that error?

Which exact command did you use to start the Docker container? Can you please post the entire output of the terminal in which you execute docker run ....

Also, did you set any of the custom configurations (see https://github.com/atlassian/localstack#configurations)? For instance, did you provide custom values for the SERVICES or HOSTNAME environment variables?

Finally, just to double check that you are using the latest image, can you please post the output of the following command:

docker images atlassianlabs/localstack

Thanks

@narcotics726
Copy link
Author

Sorry my question was not so clear.

My network is behind a proxy, all requests should go through that proxy or failed. I've set the http_proxy and https_proxy env variable.

And:

  1. Yes, after I start docker, and open the browser at http://localhost:8080, it redirects to /#/infra and shows Retrieving deployment model from AWS resources..., then the error shows and the web page says An error has occurred, could not load data from the service.

  2. The cmd I used to start was just the same in this project's README, docker run -it -p 4567-4578:4567-4578 -p 8080:8080 atlassianlabs/localstack

  3. The error stack is:

Traceback (most recent call last):
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/code/localstack/.venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/code/localstack/localstack/dashboard/api.py", line 36, in get_graph
    graph = infra.get_graph(name_filter=data['nameFilter'], env=env)
  File "/opt/code/localstack/localstack/dashboard/infra.py", line 376, in get_graph
    domains = get_elasticsearch_domains(name_filter, pool=pool, env=env)
  File "/opt/code/localstack/localstack/dashboard/infra.py", line 245, in get_elasticsearch_domains
    out = cmd_es('list-domain-names', env)
  File "/opt/code/localstack/localstack/dashboard/infra.py", line 38, in cmd_es
    return run_aws_cmd('es', cmd_params, env)
  File "/opt/code/localstack/localstack/dashboard/infra.py", line 30, in run_aws_cmd
    return run_cached(cmd, cache_duration_secs=cache_duration_secs)
  File "/opt/code/localstack/localstack/dashboard/infra.py", line 25, in run_cached
    return run(cmd, cache_duration_secs=cache_duration_secs)
  File "/opt/code/localstack/localstack/utils/common.py", line 261, in run
    result = do_run(cmd)
  File "/opt/code/localstack/localstack/utils/common.py", line 246, in do_run
    raise e
CalledProcessError: Command '. .venv/bin/activate; aws --endpoint-url="http://e0ffa9f2913b:4578" es list-domain-names' returned non-zero exit status 255
Kinesis health check failed: An error occurred (404) when calling the ListStreams operation
  1. No, I'm just trying this project out, haven't changed any configuration. I just pull the image and start.

  2. So the image I'm using should be the latest:

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
atlassianlabs/localstack   latest              e06205b76729        5 days ago          952 MB

@whummer
Copy link
Member

whummer commented May 5, 2017

My network is behind a proxy, all requests should go through that proxy or failed.

Unfortunately I still cannot reproduce this issue. Can you please elaborate a little more on your exact setup (exact proxy configuration, value of http_proxy environment variable, etc).

Generally speaking, having all services behind a (single) proxy might be a problem, because LocalStack expects the services to run on different ports.

When you encounter a 404 error from an API call like ListStreams, it is often an indicator that a client is configured with the incorrect endpoint URL. More specifically, in the stacktrace above, it could be the case that the client i trying to access the Elasticsearch Service (ES) API on port 4578, whereas in fact a different API (e.g., Kinesis) is running on that port. Could that be the case?

@whummer whummer added the status: triage needed Requires evaluation by maintainers label May 5, 2017
@whummer
Copy link
Member

whummer commented May 14, 2017

I'm closing this issue for now, as there are not enough details provided to reproduce the problem (might be related to incorrect proxy settings). Please feel free to re-open if the problem persists and you can provide more details. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: triage needed Requires evaluation by maintainers
Projects
None yet
2 participants