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

Open
wants to merge 3 commits into
base: master
from

Conversation

@giorgioazzinnaro
Copy link

giorgioazzinnaro 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?

@jjasghar

This comment has been minimized.

Copy link
Contributor

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.

@giorgioazzinnaro

This comment has been minimized.

Copy link
Author

giorgioazzinnaro 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

This comment has been minimized.

Copy link
Contributor

jjasghar commented Nov 19, 2018

@davetropeano can you chime in here? 🤘

@davetropeano

This comment has been minimized.

Copy link
Collaborator

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.

@giorgioazzinnaro

This comment has been minimized.

Copy link
Author

giorgioazzinnaro 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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link
Contributor

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.

@giorgioazzinnaro

This comment has been minimized.

Copy link
Author

giorgioazzinnaro 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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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.

@giorgioazzinnaro

This comment has been minimized.

Copy link
Author

giorgioazzinnaro 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

This comment has been minimized.

Copy link

altvnk commented May 29, 2019

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

@stevestrutt

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Collaborator

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 force-pushed the IBM-Cloud:master branch from 68c1c1a to d79c418 Jul 15, 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
6 participants
You can’t perform that action at this time.