Aditya Vardhan Reddy

GCP collector module timeout issue

Hi Snowplow Community,

We have been trying to deploy snowplow pipeline in GCP using the terraform with quick-start examples in github. But while deploying we are seeing that terraform apply is being timed out with error.

module.collector_pubsub.module.service.google_compute_region_instance_group_manager.grp: Still creating...

We tried checking the cloud logging and we found the below error

Script start-up failed with error 126

We have used ssh_ip_allow_list = ["0.0.0.0/0"] .. Now we are stuck in deploying the pipeline. Kindly help us out


i am attaching few screenshots of the issue

2 3 3
Josh Beemster

Hey Aditya Vardhan Reddy this error means that the script never managed to execute correctly - can you share the logs from the actual script by any chance? That will tell us _why_ the script failed which will hopefully help us solve the problem.

For extra context for me could you also share:

1. The version of community edition that you are using

2. Whether you are using the public or private network setup

3. The settings you have put in to your `terraform.tfvars` file (please remove any secrets!)

Aditya Vardhan Reddy

Hi Josh Beemster,

we are using latest version on snowplow and deploying in default env

The below are the terraform.tfvars settings

# Please accept the terms of the Snowplow Limited Use License Agreement to proceed. (https://docs.snowplow.io/limited-use-license-1.0/)
accept_limited_use_license = true

# Will be prefixed to all resource names
# Use this to easily identify the resources created and provide entropy for subsequent environments
prefix = "sp"

# The project to deploy the infrastructure into
project_id = "***"

# Where to deploy the infrastructure
region = "us-west1"

# Update to the network you would like to deploy into
#
# Note: If you opt to use your own network then you will need to define a subnetwork to deploy into as well
network    = "default"
subnetwork = ""

# Update this to your IP Address
ssh_ip_allowlist = ["0.0.0.0/0"]
# Generate a new SSH key locally with `ssh-keygen`
# ssh-keygen -t rsa -b 4096
ssh_key_pairs = [
  {
    user_name  = "***"
    public_key = "***"
  }
]

iglu_server_dns_name = "***"
# Used for API actions on the Iglu Server
# Change this to the same UUID from when you created the Iglu Server
iglu_super_api_key = "***"

# Collector SSL Configuration (optional)
ssl_information = {
  certificate_id = ""
  enabled        = false
}

# --- TARGETS CONFIGURATION ZONE --- #

# --- Target: PostgreSQL
postgres_db_enabled = false

postgres_db_name     = "snowplow"
postgres_db_username = "snowplow"
# Change and keep this secret!
postgres_db_password = "Hell0W0rld!2"
# IP ranges that you want to query the Pipeline Postgres Cloud SQL instance from directly over the internet.  An alternative access method is to leverage
# the Cloud SQL Proxy service which creates an IAM authenticated tunnel to the instance
#
#
# Note: this exposes your data to the internet - take care to ensure your allowlist is strict enough
postgres_db_authorized_networks = [
  {
    name  = "foo"
    value = "999.999.999.999/32"
  },
  {
    name  = "bar"
    value = "888.888.888.888/32"
  }
]
# Note: the size of the database instance determines the number of concurrent connections - each Postgres Loader instance creates 10 open connections so having
# a sufficiently powerful database tier is important to not running out of connection slots
postgres_db_tier = "db-g1-small"

# --- Target: BigQuery
bigquery_db_enabled = true

# To use an existing bucket set this to false
bigquery_loader_dead_letter_bucket_deploy = true
# Must be globally unique so will need to be updated before applying
bigquery_loader_dead_letter_bucket_name = "sp-bq-loader-dead-letter"

# --- ADVANCED CONFIGURATION ZONE --- #

user_provided_id  = ""
telemetry_enabled = false

# --- Extra Labels to append to created resources (optional)
labels = {}







I am sharing the screen shots of logs of script
The image at last is the first log and the log at top is the last log



 
Josh Beemster

Hey Aditya Vardhan Reddy thanks for those details - the error "/bin/bash^M" normally shows up when there is a conflict between Windows and Unix systems (the Community Edition was 100% developed on Unix).

https://discourse.snowplow.io/t/quick-start-on-gcp-iglu-server-instance-group-creation-timeout/7899/8?u=josh

We have had this show up before and using `dos2unix` seemed to resolve the issue - could you confirm if:

1. You are running this from Windows?

2. If you can try to resolve this either by running from a Unix system or using `dos2unix` to fix line endings?