GoogleCloudPlatform / cloud-foundation-toolkit

The Cloud Foundation toolkit provides GCP best practices as code.
Apache License 2.0
940 stars 451 forks source link

Error running ruby tests on latest version of dev-tools 1.14 #1794

Closed amandakarina closed 11 months ago

amandakarina commented 11 months ago

During integration tests at latest version of dev-tools 1.14 we faced the following error:

Already have image (with digest): gcr.io/cloud-foundation-cicd/cft/developer-tools:1.14
Automatically setting inputs from outputs of test/setup
Activated service account credentials for: [ci-account@sdw-data-ing-5f4660-eda0.iam.gserviceaccount.com]
-----> Starting Test Kitchen (v3.5.0)
-----> Setting up <de-identification-template-default>...
       Finished setting up <de-identification-template-default> (0m0.00s).
-----> Verifying <de-identification-template-default>...
$$$$$$ Reading the Terraform input variables from the Kitchen instance state...
$$$$$$ Finished reading the Terraform input variables from the Kitchen instance state.
$$$$$$ Reading the Terraform output variables from the Kitchen instance state...
$$$$$$ Finished reading the Terraform output variables from the Kitchen instance state.
$$$$$$ Verifying the systems...
$$$$$$ Verifying the 'de-identification-template gcloud' system...
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
      minitest (>= 5.1)
      Available/installed versions of this gem:
      - 5.18.0
      - 5.14.2
      rake (>= 0)
      Available/installed versions of this gem:
      - 13.0.6
      - 13.0.3
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
Please report a bug if this causes problems.
>>>>>> Could not fetch inspec profile in "/workspace/de-identification-template".
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Verify failed on instance <de-identification-template-default>.  Please see .kitchen/logs/de-identification-template-default.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

Build link: https://console.cloud.google.com/cloud-build/builds/31dcd738-c6fa-45b0-91f0-948002c37666;step=9?project=cloud-foundation-cicd

We were able to workaround the problem fixing the version to 1.14.0.

Thanks!

apeabody commented 11 months ago

Hi @amandakarina, thanks for reporting! To help localize, would you be able to try with 1.14.4?

amandakarina commented 11 months ago

The result with 1.14.4 https://console.cloud.google.com/cloud-build/builds/9666ed48-8c6d-49fb-9403-095dc5a26914?project=cloud-foundation-cicd

Already have image (with digest): gcr.io/cloud-foundation-cicd/cft/developer-tools:1.14.4
Automatically setting inputs from outputs of test/setup
Activated service account credentials for: [ci-account@sdw-data-ing-c34dbe-b341.iam.gserviceaccount.com]
-----> Starting Test Kitchen (v3.5.0)
-----> Setting up <de-identification-template-default>...
       Finished setting up <de-identification-template-default> (0m0.00s).
-----> Verifying <de-identification-template-default>...
$$$$$$ Reading the Terraform input variables from the Kitchen instance state...
$$$$$$ Finished reading the Terraform input variables from the Kitchen instance state.
$$$$$$ Reading the Terraform output variables from the Kitchen instance state...
$$$$$$ Finished reading the Terraform output variables from the Kitchen instance state.
$$$$$$ Verifying the systems...
$$$$$$ Verifying the 'de-identification-template gcloud' system...
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
      minitest (>= 5.1)
      Available/installed versions of this gem:
      - 5.18.0
      - 5.14.2
      rake (>= 0)
      Available/installed versions of this gem:
      - 13.0.6
      - 13.0.3
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
Please report a bug if this causes problems.
Skipping profile: 'inspec-gcp' on unsupported platform: 'alpine/3.16.7'.
Cannot find a UUID for your node.

Profile: de-identification-template
Version: (not specified)
Target:  local://

  ✔  gcloud: Gcloud Resources
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` exit_status is expected to eq 0
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` stderr is expected to eq ""
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` de-identification Template de_identification_be39b15d12f44e19 should exist
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` de-identification Template de_identification_be39b15d12f44e19 is expected to include {"name" => "projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19"}
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` de-identification Template de_identification_be39b15d12f44e19 is expected to include {"displayName" => "De-identification template using a KMS wrapped CMEK"}
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` de-identification Template de_identification_be39b15d12f44e19 is expected to include {"description" => "De-identifies sensitive content defined in the template with a KMS wrapped CMEK."}
     ✔  Command: `curl -s -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://dlp.googleapis.com/v2/projects/sdw-data-gov-c34dbe-f5c8/locations/us-east4/deidentifyTemplates/de_identification_be39b15d12f44e19` de-identification Template de_identification_be39b15d12f44e19 is expected to include (including {"primitiveTransformation" => (including {"cryptoReplaceFfxFpeConfig" => (including {"cryp...OdgagipedIp5TzxbSIiWtK3MYPfDCRnjBFrqrgWeHA53JEOX/554EGhgKEHBjqRTnoMLBY7AQVnVTJdwQ5YyDvQc="})})})})})

Profile Summary: 1 successful control, 0 control failures, 0 controls skipped
Test Summary: 7 successful, 0 failures, 0 skipped
$$$$$$ Finished verifying the 'de-identification-template gcloud' system.
$$$$$$ Finished verifying the systems.
       Finished verifying <de-identification-template-default> (0m8.66s).
-----> Test Kitchen is finished. (0m11.97s)
apeabody commented 11 months ago

Thanks @amandakarina - I think I've tracked down the issue (missing env) and it should be corrected in the next release https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/pull/1796

apeabody commented 11 months ago

@amandakarina - It should be resolved in the most recent 1.14, but let me know if you experience anything different.