-
Notifications
You must be signed in to change notification settings - Fork 53
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
Enable Plugin Framework based resources and functions for pulumi-gcp #1075
Conversation
f5936db
to
d7ce0f8
Compare
54c43f1
to
86feb0e
Compare
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
This change adds a single datasource:
|
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
@kpitzen not intentionally. Can you point me to the runbooks I can work with you on that. One obvious change is the new dependency on |
FYI Ian is on PTO until May 30 but I can answer any questions in the meanwhile. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy with all the implementation.
Let's split this PR so we've got a simple bridge upgrade PR first so we can see if there's any significant SDK changes.
Looking at we've reverted it looks like only data sources have been implemented in tfpf so far - so we're not seeing any added resources?
Once we're ready to merge, I'd suggest also including into this PR reverting framework revert patch from the fork as part of the upgrade so we don't carry it forward
provider/resources.go
Outdated
// Provider returns additional overlaid schema and metadata associated with the gcp package. | ||
func Provider() tfbridge.ProviderInfo { | ||
p := shimv2.NewProvider(google.Provider()) | ||
p = pf.MuxShimWithPF(context.Background(), p, google.New("")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the significance of the google.New("")
- why the empty string?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a version. Perhaps version.Version would be more appropriate here, something we could try.
Looks like the version is used by the pluginFrameworkProvider in particular in responses to GetMetadata function but I doubt we depend on that being accurate.
// New is a helper function to simplify provider server and testing implementation.
func New(version string) provider.ProviderWithMetaSchema {
return &frameworkProvider{
version: version,
}
}
I'm curious if there's automation to keep the bridge reference up-to-date, it's a chore. Trying this: https://github.com/pulumi/pulumi-gcp/actions/runs/5059976598 |
Yes, this is a bit strange; do you know which resources we expect? Is this because some PF resources were poly-filled in a different way? Can you give some pointers?
Any pointers? |
#1090 baseline bridge update |
Updated the PR. The diff is much smaller and highlights that's only one method is being added. |
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
2 similar comments
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
Per conv with @mikhailshilkov this provider has not been patching PF-based resources. Checks on upstream code. No PF resources:
We should be seeing more data sources though:
I'l have a closer look as to why we are not seeing those. |
Thanks @danielrbradley for pointing out an upstream commit that patched upstream to serve the missing datasources from SDKv2 versions. I've tried reverting this commit on an upstream branch and building again, hoping this move all the datasources onto PF implementation now.
|
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
So the 7 functions are not new according to schema-tools check but they're switching over to PF implementations as evidenced in the edit to bridge-metadata.json dispatch mappings. |
Does the PR have any schema changes?Looking good! No breaking changes found. New functions:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go as far as I am concerned
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for the late reply - agreed that this LGTM
Couple more quick questions before I merge. Does the pulumi/terraform-provider-google-beta@e22b067c5b69 change look good? Should I tag this in the upstream somehow? |
This LGTM - we had to do something similar as the upstream TF provider refactored some of the config functionality. Shouldn't be a need to tag upstream. |
Fixes #1051
Most of the diff in the PR comes from upgrading the bridge to the latest that can be done as a separate PR.
Here is also some context on deploying pulumi/pulumi-terraform-bridge#981 providers with a muxed SDKv2/PF design.
This currently does not have any known blockers and smaller providers are now in prod exercising the necessary code.
Per @iwahbe testing we are unable to test the new datasource due to test account limitations.