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

Upgrade to Terraform 0.12 #423

Closed
wants to merge 3 commits into from
Closed

Upgrade to Terraform 0.12 #423

wants to merge 3 commits into from

Conversation

@borgoat
Copy link

@borgoat borgoat commented Nov 19, 2018

Fixes #422

I've upgraded all the dependencies coming from hashicorp and that's it.
The new plugin SDK takes care of the compatibility with the new version of Terraform.

I think I need some guidance for proper testing, maybe you have an environment in IBM Cloud specifically for this?

Giorgio Azzinnaro added 3 commits Nov 19, 2018
@jjasghar
Copy link
Contributor

@jjasghar jjasghar commented Nov 19, 2018

I'm not comfortable putting an alpha alpha2 release in this. We should wait for the full release in my opinion.

@borgoat
Copy link
Author

@borgoat borgoat commented Nov 19, 2018

Agreed, I just based my work on master because I wasn't sure about your workflow. But what if was released as an alpha version for the provider as well? After all terraform 0.12 should reach beta in a matter of days and brings some pretty major changes.

@jjasghar
Copy link
Contributor

@jjasghar jjasghar commented Nov 19, 2018

@davetropeano can you chime in here? 🤘

@davetropeano
Copy link
Collaborator

@davetropeano davetropeano commented Nov 19, 2018

Thank you @giorgioazzinnaro for the contribution. I'll sync with the dev team on our larger support for 0.12... in general we won't support alpha/beta -- it typically just isn't needed.

@borgoat
Copy link
Author

@borgoat borgoat commented Nov 20, 2018

Well, then I'd say, let's just keep this PR alive until 0.12 reaches GA and then we can further bump the SDK version to 0.12.0

@sputnik62
Copy link

@sputnik62 sputnik62 commented Dec 11, 2018

Not supporting Alpha makes sense but it would be very good to have support for the beta for those of us who want to start the work ahead of the GA.

@stevestrutt
Copy link
Contributor

@stevestrutt stevestrutt commented Dec 12, 2018

I would be wary of the effort moving to 0.12, even when its beta. The unanswered question in the Terraform forums is how much provider code breaks and how much dev resource is required to fix it. Interested users can always fork the existing provider, upgrade it and run the provider acceptance tests to understand the level of breakage. The IBM instructions for testing start here: https://github.com/IBM-Cloud/terraform-provider-ibm . Terraforms explanation is here: https://www.terraform.io/docs/extend/testing/acceptance-tests/index.html . This would be valuable information, without distracting dev from enhancing the existing provider.

@borgoat
Copy link
Author

@borgoat borgoat commented Dec 13, 2018

Shouldn't these acceptance tests become part of the Travis pipeline of this very project?
As this is an official, IBM-managed, Terraform provider I would expect you guys have ways to get an experimental environment without incurring in fees?
Happy to help in setting up Travis if that's needed

@stevestrutt
Copy link
Contributor

@stevestrutt stevestrutt commented Dec 13, 2018

The way Hashicorp have designed the test suite for a provider is that all tests run automatically. Linked into Travis any push would trigger the whole lot, which will run for hours and cost a fortune as any public push would trigger it! That is unless they are triggered manually. The real question is one of prioritisation of dev time and the level of resource committed to enhancing the provider. Today it is focused on new function and the existing code base.

@stevestrutt
Copy link
Contributor

@stevestrutt stevestrutt commented Dec 13, 2018

The upside is that this is an open source community and if people have a need to meet their use cases they are free to develop and contribute it themselves. Hashicorp have not made it easy using golang and the development guidance is limited. But there are lots of examples out there. I have a requirement for Cloud Internet Services DNS and global load balancers. I issued the PR yesterday for thousands of lines of code and several new resources, including writing the gloang SDK for the CIS API. It should be available in the next drop of the provider. There are lots of examples on the Internet and I plan to write up how to develop new resources for the IBM provider which should help others down the same path. Terraform 0.12 should be easier for the community to work with as its not writing new code. Fork the provider, govendor in the new Terraform libraries, recompile and run the test suites, find and fix what breaks.

@borgoat
Copy link
Author

@borgoat borgoat commented Mar 7, 2019

Now that Terraform 0.12 is in beta I think this is relevant again
https://www.terraform.io/upgrade-guides/0-12.html#third-party-providers

Since HashiCorp treats it as a major release,
I wouldn't wait until it's GA to start upgrading the provider.

@altvnk
Copy link

@altvnk altvnk commented May 29, 2019

Since Terraform 0.12 is already GA, is there any plans to push this forward?

@stevestrutt
Copy link
Contributor

@stevestrutt stevestrutt commented May 29, 2019

@davetropeano can you provide an official response.
Unofficially the current priority with the provider is to expand the breadth of the current 0.11.x provider starting with VPC support to cover more IBM Cloud functionality. The work to support 0.12 has not been scoped and my investigation so far suggests there maybe a lot of rework due to the HCL changes. The provider dev team is growing and the plan is to get to 0.12 when we can. In practice Hashicorp are likely to need a number of 0.12 revisions before it is stable for practical production usage.

@davetropeano
Copy link
Collaborator

@davetropeano davetropeano commented May 30, 2019

To Steve's point we haven't scoped the PR or the internal work we need to do yet for 0.12.

There are a number of IBM Cloud specific resources such as VPC support that are taking top priority.

We will support v0.12 and will publish a timeline. As mentioned, our history with 0.10 and other major releases gives us pause. We feel it is more prudent to wait for the first patch dot release while starting to evaluate the GA -- which was just public 7 days ago.

@hkantare hkantare added this to 2020Q1-Backlog in IBM Cloud Terraform Provider Jul 1, 2019
@hkantare hkantare moved this from 2020Q1-Backlog to 2019Q4 in IBM Cloud Terraform Provider Jul 1, 2019
@hkantare hkantare moved this from 2019Q4 to 2019Q3 in IBM Cloud Terraform Provider Nov 15, 2019
@hkantare hkantare moved this from 2019Q3 to To do in IBM Cloud Terraform Provider Nov 15, 2019
@delps1001
Copy link

@delps1001 delps1001 commented Dec 10, 2019

@davetropeano is there any place I can find a road map about when terraform 0.12.x will be supported?

@davetropeano
Copy link
Collaborator

@davetropeano davetropeano commented Dec 11, 2019

Right now this is scheduled for 1q2020.

#886

The public roadmap is in a GH project you can track here

https://github.com/IBM-Cloud/terraform-provider-ibm/projects/1

@hkantare
Copy link
Collaborator

@hkantare hkantare commented May 12, 2020

closing this PR request ...As we already migrated to terraform v0.12 support

@hkantare hkantare closed this May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

8 participants