Test locations don't show up in list

Hi all, I’m running in some problems in setting up a private instance in the Google Cloud. I believe my agents aren’t communicating to the server. I have done the following:

  1. I’ve installed the server on GCE according to https://github.com/WPO-Foundation/webpagetest-docs/blob/master/user/Private%20Instances/gce_server.md
  2. Then, I’ve installed multiple test agents according to: https://github.com/WPO-Foundation/webpagetest-docs/blob/master/user/Private%20Instances/gce_agents.md

My problem:
The server seems to work, but it doesn’t show any locations to test on. According to my /install/ everything is green, except the test agents. It says they’re not connected.

gce-us-east1-linux-loc : South Carolina, USA (Chrome,Firefox,Opera) gce-us-east1-linux : South Carolina, USA - No Agents Connected

When I go to my server with ?hidden=1 added, I see the list of locations. So locations.ini is loaded properly.

But, I think the agents are not communicating to the server. Now, I’ve read a lot of threads where people post their wptdriver.ini. But I can’t find them when I browse through the folders of the agents (via SSH, these are also on the GCE).

Do you guys have any idea what I’m doing wrong?

The agents are configured through metadata (wpt_data key). If you configured the server using the script it should have provided the metadata string to use: https://github.com/WPO-Foundation/webpagetest-docs/blob/master/user/Private%20Instances/gce_server.md#install-the-server-software

Here are the steps for the agent instances: https://github.com/WPO-Foundation/webpagetest-docs/blob/master/user/Private%20Instances/gce_agents.md

The main issue I have seen is that sometimes the auto-generated server name doesn’t work. If you replace the server name in the wpt_server= part of the string with the private IP address of the instance (10.x.x.x) that usually clears it up.

The agents will also normally auto-identify their location based on the region they are running in so you can use a single template across all regions. If you want to use specific location ID’s you can set up a template for each region and add wpt_loc= with the appropriate location ID (and the key).

I’ll just assume this will answer my question as well… https://www.webpagetest.org/forums/showthread.php?tid=15510

No luck with using the IP.

Awesome! This worked. I changed the wpt_server to the ip address of the server and now I’m able to connect the agents.

For future reference, editing an agent doesn’t work for long. You have to run the template again and add the ip of the server there during installing the template.

I’ve tried, guys. My template uses my wpt-server public IP (tried internal IP as well), but I still see no agents.

I followed the documents exactly, with the exception of making both the server and the agent reside in us-west2.

Are there some logs I can check? Somewhere? Because Stackdriver is only showing happiness in the logs.


Would you like to know how I finally got it working?

Use us-west1 instead of us-west2 for wpt-agent.

Thanks for stealing 30 hours of my life, Google.

How did Google steal 30 hours of your life? WebPageTest isn’t a Google product. When I worked for them they did contribute dev resources to work on it from time to time but that’s about it.

The project is open source and isn’t abandoned but there also isn’t some sort of big team or company behind it supporting it. I work on it in my spare time and don’t have time to remotely diagnose every install.

If you’re looking for something with better support I STRONGLY recommend you invest in a commercial service like SpeedCurve, Catchpoint or Calibre. Otherwise the trade-off for open source is your time (and the 30 hours you spent getting it up is likely just the tip of the iceberg).

No, not Webpagetest. GCP. I am seeing several zones that are troublesome, and that was one of them. Sorry - should have been more specific in my complaining.
And SpeedCurve is awesome - I have that implemented on all of my projects.