puppetlabs / puppetlabs-pecdm

Puppet Bolt driven fusion of puppetlabs/peadm and Terraform.
Apache License 2.0
14 stars 18 forks source link

compiler_pool_address resolving to empty string when creating a new large architecture on gcp #71

Closed jessereynolds closed 2 years ago

jessereynolds commented 2 years ago

Describe the Bug

When attempting to spin up a new large architecture on gcp it seems that the plan peadm::subplans::configure is either receiving or resolving compiler_pool_address to an empty string.

I suspect this is a bug with peadm in the peadm::certname() function but not sure. Maybe I just haven't set up my pecdm right?

Expected Behavior

A large architecture be spun up in gcp without errors

Steps to Reproduce

Using the following params.json :

{
    "project"          : "jessereynolds-pecdm-test",
    "ssh_user"         : "jesse.reynolds",
    "architecture"     : "large",
    "version"          : "2021.5.0",
    "console_password" : "puppetlabs",
    "provider"         : "google",
    "cloud_region"     : "australia-southeast1",
    "firewall_allow"   : [ "192.0.2.1/32" ]
}

Run with bolt plan run pecdm::provision --params @params.json

Environment

Additional Context

Full output of the run.

jesse@Control-Surface puppetlabs-pecdm % bolt plan run pecdm::provision --params @params.json
Starting: plan pecdm::provision
Starting: task terraform::initialize on localhost
Finished: task terraform::initialize with 0 failures in 0.14 sec
Starting: plan terraform::apply
Starting: task terraform::apply on localhost
Finished: task terraform::apply with 0 failures in 180.2 sec
Starting: task terraform::output on localhost
Finished: task terraform::output with 0 failures in 0.59 sec
Finished: plan terraform::apply in 3 min, 1 sec
Starting: wait until available on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal, pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: wait until available with 0 failures in 0.52 sec
Starting: plan peadm::install
Starting: plan peadm::subplans::install
Starting: task peadm::precheck on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal, pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::precheck with 0 failures in 1.34 sec
Starting: file upload from /var/folders/ch/z6xjgrjs39d3qybn87lkv41m0000gp/T/peadm20220521-43478-16y7sbs to /tmp/pe.conf on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: file upload from /var/folders/ch/z6xjgrjs39d3qybn87lkv41m0000gp/T/peadm20220521-43478-16y7sbs to /tmp/pe.conf with 0 failures in 1.13 sec
Starting: task peadm::mkdir_p_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.24 sec
Starting: task peadm::download on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::download with 0 failures in 56.46 sec
Starting: plan peadm::util::insert_csr_extension_requests
Starting: plan peadm::util::insert_csr_extension_requests
Finished: plan peadm::util::insert_csr_extension_requests in 0.0 sec
Starting: plan peadm::util::insert_csr_extension_requests
Finished: plan peadm::util::insert_csr_extension_requests in 0.0 sec
Starting: plan peadm::util::insert_csr_extension_requests
Finished: plan peadm::util::insert_csr_extension_requests in 0.0 sec
Starting: plan peadm::util::insert_csr_extension_requests
Starting: plan peadm::util::insert_csr_extension_requests
Finished: plan peadm::util::insert_csr_extension_requests in 0.0 sec
Starting: task peadm::read_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Starting: task peadm::read_file on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::read_file with 0 failures in 1.36 sec
Finished: task peadm::read_file with 0 failures in 1.42 sec
Starting: task peadm::mkdir_p_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Starting: task peadm::mkdir_p_file on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.25 sec
Finished: task peadm::mkdir_p_file with 0 failures in 1.27 sec
Finished: plan peadm::util::insert_csr_extension_requests in 3.03 sec
Finished: plan peadm::util::insert_csr_extension_requests in 3.53 sec
Starting: task peadm::pe_install on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::pe_install with 0 failures in 322.92 sec
Starting: task peadm::mkdir_p_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.26 sec
Starting: command 'systemctl stop pe-puppetdb' on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: command 'systemctl stop pe-puppetdb' with 0 failures in 1.52 sec
Starting: command 'systemctl start pe-puppetdb' on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: command 'systemctl start pe-puppetdb' with 0 failures in 29.68 sec
Starting: task peadm::rbac_token on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::rbac_token with 0 failures in 2.27 sec
Starting: task peadm::mkdir_p_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.34 sec
Starting: task peadm::code_manager on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::code_manager with 0 failures in 6.5 sec
Starting: task peadm::agent_install on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::agent_install with 0 failures in 28.11 sec
Starting: task peadm::submit_csr on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::submit_csr with 0 failures in 6.04 sec
Starting: task peadm::sign_csr on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::sign_csr with 0 failures in 3.01 sec
Starting: task peadm::puppet_runonce on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::puppet_runonce with 0 failures in 212.8 sec
Starting: task peadm::puppet_runonce on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::puppet_runonce with 0 failures in 118.09 sec
Starting: task peadm::wait_until_service_ready on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::wait_until_service_ready with 0 failures in 1.43 sec
Starting: task peadm::puppet_runonce on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::puppet_runonce with 0 failures in 56.0 sec
Starting: task peadm::mkdir_p_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.3 sec
Finished: plan peadm::subplans::install in 14 min, 21 sec
Starting: plan peadm::subplans::configure
Starting: task peadm::read_file on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::read_file with 0 failures in 1.26 sec
Starting: task peadm::mkdir_p_file on pe-compiler-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: task peadm::mkdir_p_file with 0 failures in 1.37 sec
Starting: apply catalog on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Finished: apply catalog with 1 failure in 2.12 sec
Finished: plan peadm::subplans::configure in 4.75 sec
Finished: plan peadm::install in 14 min, 26 sec
Finished: plan pecdm::provision in 17 min, 30 sec
Failed on pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal:
  Apply failed to compile for pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal: Class[Peadm::Setup::Node_manager]: parameter 'compiler_pool_address' expects a value of type Undef or String[1], got String (file: /Users/jesse/src/puppet/pecdm/puppetlabs-pecdm/.modules/peadm/plans/subplans/configure.pp, line: 82, column: 5)
Failed on 1 target: pe-server-f7276c-0.australia-southeast1-a.c.jessereynolds-pecdm-test.internal
Ran on 1 target
ody commented 2 years ago

@jessereynolds This is an issue which came out of cloud provider differences between GCP and AWS. Immediate fix is to set lb_ip_mode to private when deploying to GCP. I've created PR https://github.com/puppetlabs/puppetlabs-pecdm/pull/72 which switches the default to private and will fail the plan if public is set on GCP.

There is a feasible solution for the issue on GCP but it is convoluted, requiring the user to manage their own DNS entries