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

Destination Teradata: make connector avaialble on Airbyte Cloud #28667

Merged
merged 11 commits into from
Jan 30, 2024

Conversation

marcosmarxm
Copy link
Member

What

Teradata Destination has integration tests running properly and can be available on Airbyte Cloud

How

Describe the solution

Recommended reading order

  1. x.java
  2. y.python

🚨 User Impact 🚨

Are there any breaking changes? What is the end result perceived by the user?

For connector PRs, use this section to explain which type of semantic versioning bump occurs as a result of the changes. Refer to our Semantic Versioning for Connectors guidelines for more information. Breaking changes to connectors must be documented by an Airbyte engineer (PR author, or reviewer for community PRs) by using the Breaking Change Release Playbook.

If there are breaking changes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.

Pre-merge Actions

Expand the relevant checklist and delete the others.

New Connector

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Connector version is set to 0.0.1
    • Dockerfile has version 0.0.1
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • docs/integrations/<source or destination>/<name>.md including changelog with an entry for the initial version. See changelog example
    • docs/integrations/README.md

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • If new credentials are required for use in CI, add them to GSM. Instructions.
Updating a connector

Community member or Airbyter

  • Grant edit access to maintainers (instructions)
  • Unit & integration tests added

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • If new credentials are required for use in CI, add them to GSM. Instructions.
Connector Generator
  • Issue acceptance criteria met
  • PR name follows PR naming conventions
  • If adding a new generator, add it to the list of scaffold modules being tested
  • The generator test modules (all connectors with -scaffold in their name) have been updated with the latest scaffold by running ./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates then checking in your changes
  • Documentation which references the generator is updated as needed

@github-actions
Copy link
Contributor

github-actions bot commented Jul 25, 2023

Before Merging a Connector Pull Request

Wow! What a great pull request you have here! 🎉

To merge this PR, ensure the following has been done/considered for each connector added or updated:

  • PR name follows PR naming conventions
  • Breaking changes are considered. If a Breaking Change is being introduced, ensure an Airbyte engineer has created a Breaking Change Plan.
  • Connector version has been incremented in the Dockerfile and metadata.yaml according to our Semantic Versioning for Connectors guidelines
  • You've updated the connector's metadata.yaml file any other relevant changes, including a breakingChanges entry for major version bumps. See metadata.yaml docs
  • Secrets in the connector's spec are annotated with airbyte_secret
  • All documentation files are up to date. (README.md, bootstrap.md, docs.md, etc...)
  • Changelog updated in docs/integrations/<source or destination>/<name>.md with an entry for the new version. See changelog example
  • Migration guide updated in docs/integrations/<source or destination>/<name>-migrations.md with an entry for the new version, if the version is a breaking change. See migration guide example
  • If set, you've ensured the icon is present in the platform-internal repo. (Docs)

If the checklist is complete, but the CI check is failing,

  1. Check for hidden checklists in your PR description

  2. Toggle the github label checklist-action-run on/off to re-run the checklist CI.

@marcosmarxm marcosmarxm requested review from alafanechere and a team July 25, 2023 14:08
@octavia-squidington-iii
Copy link
Collaborator

destination-teradata test report (commit b6304ceca7) - ✅

⏲️ Total pipeline duration: 17mn02s

Step Result
Validate airbyte-integrations/connectors/destination-teradata/metadata.yaml
Connector version semver check
QA checks
Build connector tar
Build destination-teradata docker image for platform linux/x86_64
./gradlew :airbyte-integrations:connectors:destination-teradata:integrationTest

🔗 View the logs here

Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command

airbyte-ci connectors --name=destination-teradata test

evantahler

This comment was marked as outdated.

@evantahler
Copy link
Contributor

So one of the rules we have for running a connector on Airbyte cloud is that it is impossible to connect without using SSL/HTTPS/SSH. We want to prevent any PII from being moved without encryption. At the very least, when running on Airbyte cloud, we will need to remove "disable" "allow" and "prefer" from the SSL options.

Screenshot 2023-09-29 at 3 26 43 PM

Is it possible to self-host Teradata, and would your OSS users want to ever connect without SSL? The easiest thing to do would be to remove those insecure SSL options in all cases... but, if there's really a use case, you'll need to make the connector "Airbyte Cloud Aware".

To do that, you should inspect the environment variable, DEPLOYMENT_MODE and if it is "cloud", change your spec and runtime behavior to strongly validate SSL connections.

Finally, once that is done in this PR (and the version of the connector bumped and docs updates), also remove teradata from this file

@satish-chinthanippu
Copy link
Contributor

So one of the rules we have for running a connector on Airbyte cloud is that it is impossible to connect without using SSL/HTTPS/SSH. We want to prevent any PII from being moved without encryption. At the very least, when running on Airbyte cloud, we will need to remove "disable" "allow" and "prefer" from the SSL options.

Screenshot 2023-09-29 at 3 26 43 PM Is it possible to self-host Teradata, and would your OSS users want to ever connect without SSL? The easiest thing to do would be to remove those insecure SSL options in all cases... but, if there's really a use case, you'll need to make the connector "Airbyte Cloud Aware".

To do that, you should inspect the environment variable, DEPLOYMENT_MODE and if it is "cloud", change your spec and runtime behavior to strongly validate SSL connections.

Finally, once that is done in this PR (and the version of the connector bumped and docs updates), also remove teradata from this file

Thank you evantahler.
Currently, TLS is our strategy, but we and customers are not ready yet. TLS is still an optional component for Vantage Cloud and Vantage Core. Customers are using Non TLS connections but teradata provides TeraGSS-based encryption, which is more secure way of connection. TeraGSS-based encryption is enabled with JDBC parameter ENCRYPTDATA. When ENCRYPTDATA set to ON, data exchanged between the Teradata JDBC Driver and the database is encrypted. This provides greater security, though performance is impacted.
#32866 through this PR, I added ENCRYPTDATA=ON for connections making from airbyte.

also remove teradata from this file - this refers to source-teradata. but this PR is for destination-teradata. Do we still need this change?

Copy link

vercel bot commented Dec 18, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
airbyte-docs ⬜️ Ignored (Inspect) Visit Preview Jan 30, 2024 7:42pm

Copy link
Contributor

@evantahler evantahler left a comment

Choose a reason for hiding this comment

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

I pushed a fix for the lint errors. If the tests are green, I'm 👍!

@marcosmarxm
Copy link
Member Author

Merge to master is frozen until 2-Jan second tests aren't working so need to fix them before to get this merged.

@satish-chinthanippu
Copy link
Contributor

Merge to master is frozen until 2-Jan second tests aren't working so need to fix them before to get this merged.

I tried to run tests on this branch but its getting struck at Installing pyasn1. Is there anything else we need to do solve this issue.
image

@satish-chinthanippu
Copy link
Contributor

Merge to master is frozen until 2-Jan second tests aren't working so need to fix them before to get this merged.

I tried to run tests on this branch but its getting struck at Installing pyasn1. Is there anything else we need to do solve this issue. image

Able to resolve this issue along with integration tests failure with error - Cannot create a NOPI table as a SET table. after this fix, in our local environment, two integration tests are failing.
image

@satish-chinthanippu
Copy link
Contributor

Merge to master is frozen until 2-Jan second tests aren't working so need to fix them before to get this merged.

I tried to run tests on this branch but its getting struck at Installing pyasn1. Is there anything else we need to do solve this issue. image

Able to resolve this issue along with integration tests failure with error - Cannot create a NOPI table as a SET table. after this fix, in our local environment, two integration tests are failing. image

@marcosmarxm created other PR #33872 to resolve Cannot create a NOPI table as a SET Table. Can you please verify the tests with these changes

@sunilkmallam
Copy link

sunilkmallam commented Jan 13, 2024

Hi @evantahler,
Now that the changes related to NoPI issue are merged, could you please look into this PR as well?

@evantahler
Copy link
Contributor

@marcosmarxm this looks ok to me - your call on the final merge

@sunilkmallam
Copy link

@marcosmarxm this looks ok to me - your call on the final merge

Hi @marcosmarxm, have you had chance to look into this yet?

@sunilkmallam
Copy link

@marcosmarxm this looks ok to me - your call on the final merge

Hi @marcosmarxm, have you had chance to look into this yet?

Hi @marcosmarxm, just following up on this again. Have you had chance to look into this yet?

@sunilkmallam
Copy link

sunilkmallam commented Jan 29, 2024

@marcosmarxm this looks ok to me - your call on the final merge

Hi @marcosmarxm, have you had chance to look into this yet?

Hi @marcosmarxm, just following up on this again. Have you had chance to look into this yet?

Hi @evantahler, is Marcos out of office? If he is, is there anyone else who could review our changes and merge?

@marcosmarxm marcosmarxm merged commit 966a9c3 into master Jan 30, 2024
21 checks passed
@marcosmarxm marcosmarxm deleted the marcos/teradata-to-cloud branch January 30, 2024 22:43
jbfbell pushed a commit that referenced this pull request Feb 1, 2024
Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
xiaohansong pushed a commit that referenced this pull request Feb 13, 2024
Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
jatinyadav-cc pushed a commit to ollionorg/datapipes-airbyte that referenced this pull request Feb 21, 2024
…ytehq#28667)

Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
jatinyadav-cc pushed a commit to ollionorg/datapipes-airbyte that referenced this pull request Feb 26, 2024
…ytehq#28667)

Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
jatinyadav-cc pushed a commit to ollionorg/datapipes-airbyte that referenced this pull request Feb 26, 2024
…ytehq#28667)

Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
jatinyadav-cc pushed a commit to ollionorg/datapipes-airbyte that referenced this pull request Feb 26, 2024
…ytehq#28667)

Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
xiaohansong pushed a commit that referenced this pull request Feb 27, 2024
Co-authored-by: SatishChGit <satishchinthanippu@gmail.com>
Co-authored-by: evantahler <evan@airbyte.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues area/documentation Improvements or additions to documentation connectors/destination/teradata
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants