Netflix / consoleme

A Central Control Plane for AWS Permissions and Access
Apache License 2.0
3.12k stars 253 forks source link

Unable to open the page..........! #9069

Open Harsha-kumar-654 opened 3 years ago

Harsha-kumar-654 commented 3 years ago

Hi,

Someone help me, I'm getting the following error. image ERROR: Service 'consoleme' depends on service 'consoleme-redis' which is undefined.

castrapel commented 3 years ago

Hi, it sounds like you've followed the docker deployment instructions here. Is that correct, or are you running any part of ConsoleMe locally?

If it is correct, what do you see when you run docker ps after running docker-compose -f docker-compose-dockerhub.yaml -f docker-compose-dependencies.yaml up -d ?

You can also try docker logs and determine if a container failed to start for some reason.

When checking docker ps with the latest master branch of ConsoleMe, you should see output similar to the following:

CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS          PORTS                                            NAMES
b67bc7bd721b   consoleme/consoleme               "bash -c ' python sc…"   13 minutes ago   Up 13 minutes   0.0.0.0:3000->3000/tcp, 0.0.0.0:8081->8081/tcp   consoleme_consoleme_1
3306ee3c2795   cnadiminti/dynamodb-local         "java -jar DynamoDBL…"   13 minutes ago   Up 13 minutes   8000/tcp, 0.0.0.0:8005->8005/tcp                 consoleme-dynamodb
8920f0d2540a   aaronshaf/dynamodb-admin:latest   "node bin/dynamodb-a…"   13 minutes ago   Up 13 minutes   0.0.0.0:8001->8001/tcp                           consoleme-dynamodb-admin
df50feff3c02   redis:alpine                      "docker-entrypoint.s…"   3 weeks ago      Up 13 minutes   0.0.0.0:6379->6379/tcp                           consoleme-redis
Harsha-kumar-654 commented 3 years ago

Hi, I'm getting the same output that you mentioned above currently My console me application running in Docker, But when I try to open the application I'm getting "session expire", So kindly help me on this issue.

castrapel commented 3 years ago

Hi @Harsha-kumar-654 , can you run the below commands to stop your containers, start them up again, and follow the logs of the consoleme container as it starts? Please observe this for any errors, and share those logs here if appropriate.

docker-compose -f docker-compose-dockerhub.yaml -f docker-compose-dependencies.yaml down
docker-compose -f docker-compose-dockerhub.yaml -f docker-compose-dependencies.yaml up -d
docker container logs consoleme_consoleme_1 -f

When I've seen this problem before, it was due to the host having a low inotify limit. There's a section in the docs about increasing your inotify limits that you can also try.

image

Harsha-kumar-654 commented 3 years ago

@castrapel Now I'm able to open the application console. I've followed the above steps it's working thanks for the help, But I'm facing another issue following a screenshot for your reference, Kindly check and share your ideas on this concern. image I'm trying to clone the role from the existing account, But not allowing me to do,

castrapel commented 3 years ago

I suspect either:

1) Your ConsoleMe configuration is not correct 2) Your ConsoleMe permissions don't allow you to create an IAM role on the target account

To dig in deeper, try using the Chrome Inspector Network tab (Instructions). Once you have the network tab open, repeat your request to create a role. In the chrome inspector, go through the requests consoleme made (You can filter relevant requests by clicking XHR). On these requests, click the Response tab. You should see a response from the ConsoleMe backend that might give you a specific error. If this happens, let me know - We should fix this to properly show the error to the user.

The second thing you can try (This is always a good practice), is check the logs for your consoleme web container. IE: 1) Run docker container logs consoleme_consoleme_1 -f , 2) Make your web request again, 3) Observe those container logs for errors.

castrapel commented 3 years ago

Hi, any luck @Harsha-kumar-654 ?

Harsha-kumar-654 commented 3 years ago

Still, I'm facing the same issue.

castrapel commented 3 years ago

Per my previous message, I'll need more context about your configuration and container logs to replicate/assist.

eamonnfaherty commented 3 years ago

I am seeing the same problem. The application on port 8081 doesnt seem to come up in the docker container. I execed into the container and curled the url and got a could not connect. when I try to reauth via the web app I see this in the logs:

Proxy error: Could not proxy request /auth?redirect_url=http://localhost:3000/ from localhost:3000 to http://localhost:8081. See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

when I run ps aux in the container I see a python process running:

ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 5492 3268 pts/0 Ss+ 16:48 0:00 bash -c python scripts/retrieve_or_decode_configuration.py; pip install argh watchdog; pip install -e /apps/consoleme/default_plugins; watchmedo auto-restart --recursive --pattern=".py" --directory="." python consoleme/main.py & FORCE_COLOR=true yarn --cwd /apps/consoleme/ui/ start | cat root 23 0.1 0.2 246052 18552 pts/0 Sl+ 16:48 0:00 /usr/local/bin/python /usr/local/bin/watchmedo auto-restart --recursive --pattern=.py --directory=. python consoleme/main.py root 24 0.1 0.6 766476 56520 pts/0 Sl+ 16:48 0:00 node /usr/bin/yarn --cwd /apps/consoleme/ui/ start root 25 0.0 0.0 4192 688 pts/0 S+ 16:48 0:00 cat root 32 1.7 5.3 1168288 490852 ? Ssl 16:48 0:08 python consoleme/main.py root 37 0.0 0.0 2396 768 pts/0 S+ 16:48 0:00 /bin/sh -c cp -a public/ ../consoleme/templates; react-app-rewired start root 39 0.0 0.3 577364 35656 pts/0 Sl+ 16:48 0:00 /usr/bin/node /apps/consoleme/ui/node_modules/.bin/react-app-rewired start root 47 6.4 5.5 11827036 509376 pts/0 Sl+ 16:48 0:31 /usr/bin/node /apps/consoleme/ui/node_modules/react-app-rewired/scripts/start.js root 117 0.4 0.0 5492 3136 ? Ss 16:56 0:00 /bin/bash root 123 0.0 0.0 9396 3104 ? R 16:56 0:00 ps aux

Any idea how I can debug this further?

eamonnfaherty commented 3 years ago

I followed this guide: https://hawkins.gitbook.io/consoleme/quick-start/docker

when the python app runs in the container config.get("tornado.port") is returning None which is stopping the app from running. I have modified the python code to config.get("tornado.port", 8081) just to get it working and now when I hit re-authenticate I get the following error:

HTTPServerRequest(protocol='http', host='localhost:8081', method='GET', uri='/auth?redirect_url=http://localhost:3000/', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/tornado/web.py", line 1683, in _execute result = await result File "/apps/consoleme/consoleme/handlers/auth.py", line 11, in prepare await super(AuthHandler, self).prepare() File "/apps/consoleme/consoleme/handlers/base.py", line 170, in prepare return await self.authorization_flow() File "/apps/consoleme/consoleme/handlers/base.py", line 376, in authorization_flow self.user = await auth.get_user(headers=self.request.headers) File "/apps/consoleme/default_plugins/consoleme_default_plugins/plugins/auth/auth.py", line 130, in get_user raise Exception("auth.get_user not configured") Exception: auth.get_user not configured

I did not expect this as I thought I had disabled auth by adding this to my config

_development_user_override: consoleme_admin@example.com

# A development configuration can override your groups locally
_development_groups_override:
  - groupa@example.com
  - groupb@example.com
  - configeditors@example.com
  - consoleme_admins@example.com 

I will raise this as another issue but I think this one can be resolved by adding instructions on how to set the config option of tornado.port or adding a default to the code.

castrapel commented 3 years ago

@eamonnfaherty Thank you for your comments. Can you pull the latest docker container from dockerhub again? A new version was created, and the backend should start up properly now.