https://pulumi.com logo
s

stocky-spoon-28903

07/23/2018, 4:55 PM
Is there a particular version of
pulumi-terraform
which is good to pin on?
I tried building a bridge for the Digital Ocean Terraform provider but see this on build:
Copy code
go install -ldflags "-X <http://github.com/jen20/pulumi-digitalocean/pkg/version.Version=0.14.1-dev-1532318662-g490f953-dirty|github.com/jen20/pulumi-digitalocean/pkg/version.Version=0.14.1-dev-1532318662-g490f953-dirty>" <http://github.com/jen20/pulumi-digitalocean/cmd/pulumi-tfgen-digitalocean|github.com/jen20/pulumi-digitalocean/cmd/pulumi-tfgen-digitalocean>
# <http://github.com/jen20/pulumi-digitalocean/vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge|github.com/jen20/pulumi-digitalocean/vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge>
vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge/provider.go:83:5: cannot use (*Provider)(nil) (type *Provider) as type pulumirpc.ResourceProviderServer in assignment:
	*Provider does not implement pulumirpc.ResourceProviderServer (missing Cancel method)
vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge/serve.go:43:21: cannot use NewProvider(host, module, version, info.P, info) (type *Provider) as type pulumirpc.ResourceProviderServer in return argument:
	*Provider does not implement pulumirpc.ResourceProviderServer (missing Cancel method)
make: *** [build] Error 2
All of that seems to be internal to the library, but I don’t see any constraints on anything else
(cc @big-piano-35669)
m

microscopic-florist-22719

07/23/2018, 5:06 PM
Hm, interesting. It would appear that we haven't yet absorbed some recent changes to the provider interface in
pulumi-terraform
. Can you try overriding the
pulumi
dependency in your
Gopkg.toml
s.t. it references commit
1f638410c7950d93bfc69cf860f36003a0b6691e
?
s

stocky-spoon-28903

07/23/2018, 5:08 PM
OK I’ll try that now.
@microscopic-florist-22719 That changes the failure a bit
Copy code
go install -ldflags "-X <http://github.com/jen20/pulumi-digitalocean/pkg/version.Version=0.14.1-dev-1532366113-g383c271|github.com/jen20/pulumi-digitalocean/pkg/version.Version=0.14.1-dev-1532366113-g383c271>" <http://github.com/jen20/pulumi-digitalocean/cmd/pulumi-tfgen-digitalocean|github.com/jen20/pulumi-digitalocean/cmd/pulumi-tfgen-digitalocean>
# <http://github.com/jen20/pulumi-digitalocean/vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge|github.com/jen20/pulumi-digitalocean/vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge>
vendor/github.com/pulumi/pulumi-terraform/pkg/tfbridge/names.go:95:4: too many arguments to return
	have (string, error)
	want (interface {})
(that’s the first one)
Does
pulumi-terraform
also need pinning to a specific version?
m

microscopic-florist-22719

07/23/2018, 5:22 PM
Let me take a peek at the configuration we have locked in for the AWS provider.
pulumi-aws
is locked to commit
b9a0907161faf401da9b1cb7dab972449efebc12
in
pulumi
and commit
f7064bdeddd27ee2a96d3556e8e7c9cc7689a1f5
in
pulumi-terraform
. Can you try locking to those and rebuilding?
s

stocky-spoon-28903

07/23/2018, 5:30 PM
That’s interesting, specifying those revisions together fails to resolve.
m

microscopic-florist-22719

07/23/2018, 5:31 PM
That's troubling.
What sort of failure do you get?
s

stocky-spoon-28903

07/23/2018, 5:32 PM
Copy code
$ cat Gopkg.toml
[[constraint]]
  name = "<http://github.com/pulumi/pulumi|github.com/pulumi/pulumi>"
  revision = "b9a0907161faf401da9b1cb7dab972449efebc12"

[[constraint]]
  name = "<http://github.com/pulumi/pulumi-terraform|github.com/pulumi/pulumi-terraform>"
  revision = "f7064bdeddd27ee2a96d3556e8e7c9cc7689a1f5"
(One sec, will gist the rest, it’s way too long for slack)
m

microscopic-florist-22719

07/23/2018, 6:19 PM
master: Could not introduce github.com/pulumi/pulumi-terraform@master, as it has a dependency on github.com/pulumi/pulumi with constraint master, which has no overlap with existing constraint b9a0907161faf401da9b1cb7dab972449efebc12 from (root)
This seems like it's the likely cause of the problem here. We may need to simply absorb the provider changes in order to unblock you.
s

stocky-spoon-28903

07/23/2018, 6:23 PM
Yup, or likely to be able to make any of the others resolve again (though that’s not necessarily an issue if they are locked and you don’t need to add dependencies etc)
m

microscopic-florist-22719

07/23/2018, 6:25 PM
@stocky-spoon-28903
pulumi-terraform
should now be buildable with `pulumi`@HEAD. Can you give things another shot on your end?
s

stocky-spoon-28903

07/23/2018, 8:42 PM
Yup, give me a couple of mins
That’s working a lot better, with
branch = "master"
for both pulumi and pulumi-terraform
👍 1