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

New provider arukas #11171

Merged
merged 4 commits into from Feb 13, 2017
Merged

Conversation

yamamoto-febc
Copy link
Contributor

@yamamoto-febc yamamoto-febc commented Jan 12, 2017

==UPDATED==

By updating upstream, dependency library gopkg.in/alecthomas/kingpin.v2 is no longer used, so the following problem is solved.
And updating the ignore section of vendor/vendor.json is no longer necessary.


This PR was recreated to solve the problem occurring at #10862.

Problems

This provider includes a dependency that at time of writing requires a *nix system, and will not build on Windows.

Cause

The cause of this case is probably in govendor or gopkg.in/alecthomas/kingpin.v2 package.

First of all, the direct cause of this case was that vendor/gopkg.in/alecthomas/kingpin.v2/guesswidth.go file necessary for building on Windows was not included in the vendor directory.

Next, it is about why this file was not included in the vendor directory, but this seems to be caused by the existing "appengine" in the ignore section of vendor.json as follows.

https://github.com/hashicorp/terraform/blob/v0.8.4/vendor/vendor.json#L3

    "ignore": "appengine test",

The build tag of the target file and the fallback file is described as follows.

https://github.com/alecthomas/kingpin/blob/v2.2.3/guesswidth.go#L1

// +build appengine !linux,!freebsd,!darwin,!dragonfly,!netbsd,!openbsd

https://github.com/alecthomas/kingpin/blob/v2.2.3/guesswidth_unix.go#L1

// +build !appengine,linux freebsd darwin dragonfly netbsd openbsd

On the other hand, as discussed in this Issue, in govendor it seems that if the build tag matches even one of the ignore in vendor.json, it does not include the target file under the vendor directory.

In this case, since "appengine" is included in the ignore of vendor.json, guesswidth.go will not be copied under the vendor directory even if you execute govendor add or fetch.

Solution

  • Remove "appengine" from the ignore section of vendor.json

In this case, the size of the vendor directory will become large.
And there may be other problems as well.

What do you think about this method?

Looking forward to your feedback!

@yamamoto-febc
Copy link
Contributor Author

rebased.

@yamamoto-febc yamamoto-febc force-pushed the new-provider-arukas2 branch 2 times, most recently from a2e9f00 to 32695f9 Compare January 21, 2017 09:23
@yamamoto-febc yamamoto-febc changed the title [WIP]New provider arukas New provider arukas Jan 23, 2017
@yamamoto-febc yamamoto-febc force-pushed the new-provider-arukas2 branch 2 times, most recently from 2641045 to bb02258 Compare January 24, 2017 00:54
@stack72
Copy link
Contributor

stack72 commented Feb 13, 2017

Hi @yamamoto-febc

Thanks for this - @jbardin has checked out the vendor file and is happy with it

Pulling it locally to run the tests again

Thanks

Paul

@stack72
Copy link
Contributor

stack72 commented Feb 13, 2017

Test results post merge conflicts:

% make testacc TEST=./builtin/providers/arukas
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/13 19:02:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/arukas -v  -timeout 120m
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccArukasContainer_Basic
--- PASS: TestAccArukasContainer_Basic (22.90s)
=== RUN   TestAccArukasContainer_Update
--- PASS: TestAccArukasContainer_Update (101.32s)
=== RUN   TestAccArukasContainer_Minimum
--- PASS: TestAccArukasContainer_Minimum (80.00s)
=== RUN   TestAccArukasContainer_Import
--- PASS: TestAccArukasContainer_Import (22.16s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/arukas	226.409s

@stack72 stack72 merged commit cd7f69a into hashicorp:master Feb 13, 2017
stack72 pushed a commit that referenced this pull request Feb 13, 2017
* Add a Arukas provider

* Add dependencies for the Arukas provider

* Add documents for the Arukas
@ghost
Copy link

ghost commented Apr 16, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@hashicorp hashicorp locked and limited conversation to collaborators Apr 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants