Accessing Swagger with UUID and prefix does not work


#1

I set up an EC2 instance running Snowplow-mini. Everything works well until I get to the step in the quickstart guide to test Iglu access:

Open up the Iglu Server frontend:

  • In your browser navigate to: http://< the public ip>:8081
  • Enter your API key from step 2.2.3 in the top right
  • Attempt to create a new api_key in the keygen section

I assume this means put the custom UUID generated for Iglu in the top right, and then enter a vendor name as a prefix so I can get the key pair through a POST. When I enter this information, Swagger shows a progress bar and runs forever without return. Everything else seems to work, and I converted the UUID to lowercase before entering it in the startup script.

Thoughts?


#2

Thanks for raising this. I believe that this is a bug in the underlying Iglu Server - i.e. not Snowplow Mini related. Paging @anton to confirm and if so, to raise a ticket! Cheers (also CCing @josh on this one)…


#3

The forever loading bar generally only occurs when the UUID entered in the top right is not correct. It might not be a bad idea to attempt to run the API command from the command line so you can get a better error output.

You can also SSH onto the instance and query the database feeding the Iglu Server:

$guest psql --host=localhost --port=5432 --username=snowplow --dbname=iglu
# Password is `snowplow`
$ guest select * from apikeys;

The first row should contain your Super API Key.

If the key is there then there is no reason that it should not be working. If it is not then it is possible something went wrong with the user-data script to add it in.

You can attempt to re-run the user-data like so:

$guest wget http://169.254.169.254/latest/user-data && chmod +x user-data && ./user-data

#4

Rebuilt the instance from scratch and used the online UUID generator. All working fine now, able to access iglu. THANKS


#5

Had the same problem. For me this was just because I mistakenly submitted the form. SwaggerAuthorizations-object need to be populated during POST-call which is not the case if the page gets reloaded.