F5Networks / f5-google-gdm-templates-v2

Google Deployment Templates for quickly deploying BIG-IP services in Google Cloud Platform
5 stars 13 forks source link

Example - failover: error when deploying using sample_failover.yaml #7

Closed curtkersey closed 2 years ago

curtkersey commented 2 years ago

Describe the bug

Deploying the sample_failover.yaml example, and it is not working. There is an error in /var/log/cloud/bigIpRuntimeInit.log:

2022-03-22T13:21:57.600Z [19211]: info: Configuration file: /config/cloud/runtime-init-conf.yaml 2022-03-22T13:21:57.626Z [19211]: info: Validating provided declaration 2022-03-22T13:21:57.623Z [19211]: info: Processing controls parameters 2022-03-22T13:21:57.738Z [19211]: info: Successfully validated declaration 2022-03-22T13:21:57.801Z [19211]: info: Resolving parameters 2022-03-22T13:21:59.045Z [19211]: info: Executing install operations. 2022-03-22T13:21:59.056Z [19211]: info: Installing - do 1.27.0 2022-03-22T13:22:01.607Z [19211]: info: Validating - do extension is available. 2022-03-22T13:22:11.647Z [19211]: info: Installing - as3 3.34.0 2022-03-22T13:22:15.317Z [19211]: info: Validating - as3 extension is available. 2022-03-22T13:22:38.234Z [19211]: info: Installing - cf 1.10.0 2022-03-22T13:22:44.409Z [19211]: info: Validating - cf extension is available. 2022-03-22T13:22:57.477Z [19211]: info: Executing service operations. 2022-03-22T13:22:57.482Z [19211]: error: Unexpected token in JSON at position 780 2022-03-22T13:22:57.483Z [19211]: info: Sending F5 Teem report for failure case. 2022-03-22T13:22:58.172Z [19211]: info: {"id":"efb12381-01e5-c41a-78c0dccc25ef","product":"BIG-IP","cpuCount":8,"diskSize":81920,"memoryInMb":30160,"version":"16.1.0","nicCount":3,"regKey":"DIVTH-AGXAH-NWJPK-JIVCY-PFMWMHA","platformId":"Z100","hostname":"bigip1","management":"10.0.0.11/32","provisionedModules":{"ltm":"nominal"},"installedPackages":{"f5-service-discovery-1.10.6-1.noarch":"1.10.6","f5-declarative-onboarding-1.27.0-6.noarch":"1.27.0","f5-cloud-failover-1.10.0-0.noarch":"1.10.0","f5-appsvcs-3.34.0-4.noarch":"3.34.0"},"environment":{"pythonVersion":"Python 2.7.5","pythonVersionDetailed":"2.7.5 (default, Jun 22 2021, 22:47:51) \n[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]","nodeVersion":"v6.9.1","libraries":{"ssh":"OpenSSH_7.4p1, OpenSSL 1.0.2u-fips 20 Dec 2019"}}} 2022-03-22T13:23:10.182Z [19211]: info: F5 Teem report was successfully sent for failure case. 2022-03-22T13:23:10.182Z [19211]: info: Unexpected token in JSON at position 780

Not sure which JSON file is in play here. I will attach other log files to the issue also.

Note: admin password is not set either, and the devices are in Standalone / Active state at the end. No configuration on the BIG-IPs - it is at the Setup utility once I reset admin password to login to TMUI

Expected behavior

Expect it to create failover HA pair.

Current behavior

BIG-IPs are in Standalone / Active with no configuration, including admin password.

Yes, I have set password in Secrets Manager -- https://github.com/F5Networks/f5-google-gdm-templates-v2/issues/5.

Possible solution

Not sure -- will attach yaml file as well as log files.

Steps to reproduce

  1. Created YAML file - will attach.
  2. Created mySecretId -- gcloud secrets create mySecretId --data-file="password.txt"
  3. Ran command to deploy --gcloud deployment-manager deployments create --config

Screenshots

image

Context

Just trying to get HA pair of BIG-IPs deployed - using sample YAML file with minimal changes

Your Environment

curtkersey commented 2 years ago

bigIpRuntimeInit.log

curtkersey commented 2 years ago

startup-script-post-swap-nic.log

curtkersey commented 2 years ago

cloud.cfg.txt

curtkersey commented 2 years ago

05_logging.cfg.txt

curtkersey commented 2 years ago

ck_failover.yaml.txt

mikeshimkus commented 2 years ago

Hi @curtkersey, I believe the JSON file here is the DO declaration runtime init creates after it resolves the variables in the config file.

Can you share /config/cloud/runtime-init-conf.yaml? Also, does the content of password.txt have any characters that are illegal in JSON (quotes, etc)?

curtkersey commented 2 years ago

My password has a !# in it along with alphanumerics - nothing else.

I am adding /config/cloud/runtime-init-conf.yaml file.

curtkersey commented 2 years ago

runtime-init-conf.txt

mikeshimkus commented 2 years ago

That's odd, I get a 404 when I click on runtime-init-conf.txt.

Also it will help if you can send the contents of /var/log/restnoded/restnoded.log.

Feel free to contact me directly (in Teams, etc).

curtkersey commented 2 years ago

Thanks @mikeshimkus for your help!

For others, the problem was that when I set the BIG-IP password in mySecretId as described in https://github.com/F5Networks/f5-google-gdm-templates-v2/issues/5, the 'password.txt' file had a NEWLINE character at the end of the password. I created the file with 'vi'. The NEWLINE character in the secret was causing an error in the JSON file since that is an invalid character.

In order to set mySecretId without a NEWLINE character, I used the following command: % echo -n "MyPassw0rd" | gcloud secrets versions add mySecretId --data-file=-

After setting mySecretId like that, I re-ran the deployment, and it worked!

shyawnkarim commented 2 years ago

Closing.

Please reopen if more help is needed.