Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Oracle support to DBMS #9114

Merged
merged 15 commits into from
Oct 3, 2023
Merged

Conversation

NickElliot
Copy link
Contributor

@NickElliot NickElliot commented Sep 28, 2023

Fixes hashicorp/terraform-provider-google#15647

Adds support for Oracle profiles in DBMS, additionally adds missing static/private connectivity support to postgres profiles (that was also included with the Oracle profiles).

Two quirks happening here:
We can not actually create an oracle DB for testing (so the created tests fail, as it actually tests a connection to the supplied db)
The data stream private connection is actually a more generic resource than just data stream (reaches the same downstream URI with the same structure), so it would work for that oracle test... in theory

Release Note Template for Downstream PRs (will be copied)

databasemigrationservice: added support for `oracle` profiles to `google_database_migration_service_connection_profile`

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 3 files changed, 1174 insertions(+), 86 deletions(-))
Terraform Beta: Diff ( 3 files changed, 1174 insertions(+), 86 deletions(-))
TF Conversion: Diff ( 1 file changed, 314 insertions(+))
TF OiCS: Diff ( 9 files changed, 291 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    private_connectivity {
      private_connection = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3091
Passed tests 2785
Skipped tests: 299
Affected tests: 7

Action taken

Found 7 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccBigQueryDataTable_bigtable|TestAccBigtableAppProfile_bigtableAppProfileSingleclusterExample|TestAccBigtableAppProfile_bigtableAppProfileAnyclusterExample|TestAccBigtableAppProfile_bigtableAppProfileMulticlusterExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresPrivateConnectivityExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccBigQueryDataTable_bigtable[Debug log]
TestAccBigtableAppProfile_bigtableAppProfileSingleclusterExample[Debug log]
TestAccBigtableAppProfile_bigtableAppProfileAnyclusterExample[Debug log]
TestAccBigtableAppProfile_bigtableAppProfileMulticlusterExample[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresPrivateConnectivityExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresExample[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 1245 insertions(+), 82 deletions(-))
Terraform Beta: Diff ( 4 files changed, 1245 insertions(+), 82 deletions(-))
TF Conversion: Diff ( 1 file changed, 325 insertions(+))
TF OiCS: Diff ( 9 files changed, 261 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    database_service = # value needed
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
  postgresql {
    private_service_connect_connectivity {
      service_attachment = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 1243 insertions(+), 82 deletions(-))
Terraform Beta: Diff ( 4 files changed, 1243 insertions(+), 82 deletions(-))
TF Conversion: Diff ( 1 file changed, 325 insertions(+))
TF OiCS: Diff ( 9 files changed, 261 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    database_service = # value needed
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
  postgresql {
    private_service_connect_connectivity {
      service_attachment = # value needed
    }
  }
}

@NickElliot NickElliot requested a review from melinath September 28, 2023 19:19
@NickElliot
Copy link
Contributor Author

NickElliot commented Sep 28, 2023

Requested a review from you since it was a pretty similar situation to the Datastream stuff from before -- and is facing a similar problem with the Oracle DBs. That said, it is a requested (P1 near SLO) feature.

@NickElliot NickElliot marked this pull request as ready for review September 28, 2023 19:26
@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 1304 insertions(+), 83 deletions(-))
Terraform Beta: Diff ( 4 files changed, 1304 insertions(+), 83 deletions(-))
TF Conversion: Diff ( 1 file changed, 325 insertions(+))
TF OiCS: Diff ( 9 files changed, 261 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (4 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
  postgresql {
    private_service_connect_connectivity {
      service_attachment = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 1305 insertions(+), 83 deletions(-))
Terraform Beta: Diff ( 4 files changed, 1305 insertions(+), 83 deletions(-))
TF Conversion: Diff ( 1 file changed, 325 insertions(+))
TF OiCS: Diff ( 9 files changed, 261 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
  postgresql {
    private_service_connect_connectivity {
      service_attachment = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3102
Passed tests 2783
Skipped tests: 313
Affected tests: 6

Action taken

Found 6 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerCluster_withAddons|TestAccDatabaseMigrationServiceConnectionProfile_Postgres_PSC|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresExample|TestAccDataSourceGoogleServiceAccountAccessToken_basic

Get to know how VCR tests work

Copy link
Member

@melinath melinath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments below - I'll reach out separately regarding Oracle testing. Scanning the fields, they seem to match the API but we should test if possible.

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccDataSourceGoogleServiceAccountAccessToken_basic[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerCluster_withAddons[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_Postgres_PSC[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfilePostgresExample[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

- 'oracle.0.password'
vars:
profile: 'my-profileid'
network_name: 'my_network'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should have a test_vars_override that overrides this using acctest.BootstrapSharedTestNetwork

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also currently causing failures due to "name" ("tf_test_my_network1xauverxfi") doesn't match regexp "^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$"

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field oracle.database_service changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.hostname changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.username changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.host changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.password changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.private_connectivity.private_connection changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.ssl.ca_certificate changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.username changed from optional to required on google_database_migration_service_connection_profile - reference

If you believe this detection to be incorrect please raise the concern with your reviewer. If you intend to make this change you will need to wait for a major release window. An override-breaking-change label can be added to allow merging.

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 939 insertions(+), 6 deletions(-))
Terraform Beta: Diff ( 4 files changed, 939 insertions(+), 6 deletions(-))
TF Conversion: Diff ( 1 file changed, 273 insertions(+))
TF OiCS: Diff ( 8 files changed, 260 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3104
Passed tests 2786
Skipped tests: 314
Affected tests: 4

Action taken

Found 4 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerNodePool_withKubeletConfig|TestAccContainerNodePool_withUpgradeSettings|TestAccContainerCluster_withAddons|TestAccWorkstationsWorkstationConfig_update

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccWorkstationsWorkstationConfig_update[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerCluster_withAddons[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field oracle.database_service changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.hostname changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.username changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.host changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.password changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.private_connectivity.private_connection changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.ssl.ca_certificate changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.username changed from optional to required on google_database_migration_service_connection_profile - reference

If you believe this detection to be incorrect please raise the concern with your reviewer. If you intend to make this change you will need to wait for a major release window. An override-breaking-change label can be added to allow merging.

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 935 insertions(+), 6 deletions(-))
Terraform Beta: Diff ( 5 files changed, 935 insertions(+), 11 deletions(-))
TF Conversion: Diff ( 1 file changed, 273 insertions(+))
TF OiCS: Diff ( 8 files changed, 260 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3110
Passed tests 2790
Skipped tests: 314
Affected tests: 6

Action taken

Found 6 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerNodePool_withKubeletConfig|TestAccContainerNodePool_withUpgradeSettings|TestAccContainerCluster_withAddons|TestAccContainerCluster_withDeletionProtection|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerCluster_withAddons[Error message] [Debug log]
TestAccContainerCluster_withDeletionProtection[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field oracle.database_service changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.hostname changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.username changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.host changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.password changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.private_connectivity.private_connection changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.ssl.ca_certificate changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.username changed from optional to required on google_database_migration_service_connection_profile - reference

If you believe this detection to be incorrect please raise the concern with your reviewer. If you intend to make this change you will need to wait for a major release window. An override-breaking-change label can be added to allow merging.

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 935 insertions(+), 6 deletions(-))
Terraform Beta: Diff ( 4 files changed, 935 insertions(+), 6 deletions(-))
TF Conversion: Diff ( 1 file changed, 273 insertions(+))
TF OiCS: Diff ( 8 files changed, 260 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3110
Passed tests 2790
Skipped tests: 314
Affected tests: 6

Action taken

Found 6 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerCluster_withAddons|TestAccContainerCluster_withDeletionProtection|TestAccContainerNodePool_withUpgradeSettings|TestAccContainerNodePool_withKubeletConfig|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerCluster_withAddons[Error message] [Debug log]
TestAccContainerCluster_withDeletionProtection[Error message] [Debug log]
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field oracle.database_service changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.hostname changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.username changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.host changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.password changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.private_connectivity.private_connection changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.ssl.ca_certificate changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.username changed from optional to required on google_database_migration_service_connection_profile - reference

If you believe this detection to be incorrect please raise the concern with your reviewer. If you intend to make this change you will need to wait for a major release window. An override-breaking-change label can be added to allow merging.

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 4 files changed, 935 insertions(+), 6 deletions(-))
Terraform Beta: Diff ( 4 files changed, 935 insertions(+), 6 deletions(-))
TF Conversion: Diff ( 1 file changed, 273 insertions(+))
TF OiCS: Diff ( 8 files changed, 260 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    forward_ssh_connectivity {
      private_key = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3111
Passed tests 2788
Skipped tests: 314
Affected tests: 9

Action taken

Found 9 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerCluster_withDeletionProtection|TestAccContainerCluster_withAddons|TestAccContainerNodePool_withUpgradeSettings|TestAccContainerNodePool_withKubeletConfig|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample|TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample|TestAccDataprocJobIamPolicy|TestAccDataSourceGoogleServiceAccountIdToken_impersonation|TestAccDataSourceGoogleServiceAccountJwt

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccDataSourceGoogleServiceAccountIdToken_impersonation[Debug log]
TestAccDataSourceGoogleServiceAccountJwt[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerCluster_withDeletionProtection[Error message] [Debug log]
TestAccContainerCluster_withAddons[Error message] [Debug log]
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOracleForwardSshExample[Error message] [Debug log]
TestAccDatabaseMigrationServiceConnectionProfile_databaseMigrationServiceConnectionProfileOraclePrivateExample[Error message] [Debug log]
TestAccDataprocJobIamPolicy[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field oracle.database_service changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.hostname changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.forward_ssh_connectivity.username changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.host changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.password changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.port changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.private_connectivity.private_connection changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.ssl.ca_certificate changed from optional to required on google_database_migration_service_connection_profile - reference
  • Field oracle.username changed from optional to required on google_database_migration_service_connection_profile - reference

If you believe this detection to be incorrect please raise the concern with your reviewer. If you intend to make this change you will need to wait for a major release window. An override-breaking-change label can be added to allow merging.

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 8 files changed, 1752 insertions(+), 8 deletions(-))
Terraform Beta: Diff ( 8 files changed, 1752 insertions(+), 8 deletions(-))
TF Conversion: Diff ( 2 files changed, 399 insertions(+))
TF OiCS: Diff ( 4 files changed, 119 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    database_service = # value needed
    forward_ssh_connectivity {
      hostname    = # value needed
      password    = # value needed
      port        = # value needed
      private_key = # value needed
      username    = # value needed
    }
    host     = # value needed
    password = # value needed
    port     = # value needed
    private_connectivity {
      private_connection = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
    username = # value needed
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3111
Passed tests 2793
Skipped tests: 314
Affected tests: 4

Action taken

Found 4 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerCluster_withAddons|TestAccContainerNodePool_withUpgradeSettings|TestAccContainerNodePool_withKubeletConfig|TestAccDatabaseMigrationServicePrivateConnection_databaseMigrationServicePrivateConnectionExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccDatabaseMigrationServicePrivateConnection_databaseMigrationServicePrivateConnectionExample[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerCluster_withAddons[Error message] [Debug log]
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

@NickElliot NickElliot requested a review from melinath October 2, 2023 22:20
Copy link
Member

@melinath melinath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally the private connection resource would've been added separately & previously, since it doesn't have a dependency on the oracle support. I have a few questions and change requests, mostly related to it.

If you would like to move forward with the Oracle support I'd be happy to approve that on its own & handle the private connection in a separate PR.

@@ -336,15 +346,173 @@ properties:
Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
values:
- :NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER
- :NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER -
!ruby/object:Api::Type::NestedObject
- :NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was fixed as part of a separate postgres PR, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change was started with the post gres, but it was also definitely a typo that got through the original resource implementation so I don't see the harm in fixing it here rather than there so the change happens faster (especially since it isnt actually related to the functionality of that one)

# limitations under the License.

--- !ruby/object:Api::Resource
name: 'PrivateConnection'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the name of this file should be PrivateConnection.yaml (but you could fix that in a separate PR & fix connectionprofile at the same time.)

network_name: 'acctest.BootstrapSharedTestNetwork(t, "dbms-privateconnection")'
custom_code: !ruby/object:Provider::Terraform::CustomCode
constants: templates/terraform/constants/dbms_private_connection.go.erb
post_create: templates/terraform/post_create/private_connection.go.erb
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this seems to be reusing post_create and post_import functions created for datastream resources - just want to double-check that we're sure this is necessary? If it is necessary, we should create new custom code files that are namespaced to dbms.

@@ -0,0 +1,34 @@
<% unless compiler == "terraformgoogleconversion-codegen" -%>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this is copied from the datastream private connection - are we sure this code is all required?

description: Labels.
- !ruby/object:Api::Type::String
name: 'displayName'
required: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm guessing these fields might have been copied from datastream's PrivateConnection.yaml - just wanted to double-check that this field is actually required?

description: |
State of the PrivateConnection.
output: true
values:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is unused for output-only fields. You can use a String-type field with no values instead.

A list of messages that carry the error details.
- !ruby/object:Api::Type::NestedObject
name: 'vpcPeeringConfig'
required: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs aren't clear - double-checking that this is definitely required?

Copy link
Contributor Author

@NickElliot NickElliot Oct 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not totally verify for all the shared elements because the functionality seemed so similar -- will verify for the separate PR with the resource

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 3 files changed, 759 insertions(+), 6 deletions(-))
Terraform Beta: Diff ( 3 files changed, 759 insertions(+), 6 deletions(-))
TF Conversion: Diff ( 1 file changed, 273 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_database_migration_service_connection_profile (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_database_migration_service_connection_profile" "primary" {
  oracle {
    database_service = # value needed
    forward_ssh_connectivity {
      hostname    = # value needed
      password    = # value needed
      port        = # value needed
      private_key = # value needed
      username    = # value needed
    }
    host     = # value needed
    password = # value needed
    port     = # value needed
    private_connectivity {
      private_connection = # value needed
    }
    ssl {
      ca_certificate     = # value needed
      client_certificate = # value needed
      client_key         = # value needed
    }
    username = # value needed
  }
}

@NickElliot NickElliot requested a review from melinath October 2, 2023 23:50
@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3110
Passed tests 2793
Skipped tests: 314
Affected tests: 3

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccContainerNodePool_withUpgradeSettings|TestAccContainerNodePool_withKubeletConfig|TestAccContainerCluster_withAddons

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccContainerNodePool_withUpgradeSettings[Error message] [Debug log]
TestAccContainerNodePool_withKubeletConfig[Error message] [Debug log]
TestAccContainerCluster_withAddons[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

trodge pushed a commit to trodge/magic-modules that referenced this pull request Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for oracle to google_database_migration_service_connection_profile
3 participants