Commit graph

2846 commits

Author SHA1 Message Date
CyrusNajmabadi
d19942f2b0
Go back to capturing *non-user* modules by 'require' reference. (#1655) 2018-07-31 11:37:46 -04:00
Joe Duffy
091c0e1c23
Upgrade Node.js SDK to TypeScript 3.0 (#1669)
Per pulumi/pulumi#1668. No code changes required, just package.json
and lockfile updates.
2018-07-30 23:19:28 -07:00
Matt Ellis
91247f2e19 Bump versions in compat test
There is not a prebuilt binary for Node 10.7 for the older version of gRPC
that we had locked to, forcing a rebuild when the project was restored.
On some CI workers this does not work out and the test spews a bunch of
output and then appears to hang.

Since this doesn't seem related to Pulumi in any way, just bump our
version.
2018-07-30 10:21:34 -07:00
Matt Ellis
f6571980ba Lock to same version of dep as *nix builds 2018-07-30 10:21:34 -07:00
Sean Gillespie
ad3b931bea
Merge pull request #1664 from pulumi/swgillespie/resource-break
Round out the breaking changes for ResourceV2
2018-07-27 18:44:37 -07:00
Pat Gavlin
d70d36b887
Handle non-{unknown,partial} statuses in Create/Update. (#1663)
For example resource.StatusOK. Unenlightened providers may return errors
that result in this status; we should not crash if this is the case.
2018-07-27 16:08:11 -07:00
Sean Gillespie
48d095d66f Remove "down" operation for migration - it is not semantically valid in
general.
2018-07-27 14:52:28 -07:00
Sean Gillespie
9ca76b65c0
Round out V2 breaking changes for Resource 2018-07-27 13:53:14 -07:00
Joe Duffy
f58ea68a7d
Make minor improvements to pulumi new (#1659)
After running `pulumi new`, we print a message to let the user
know the project has been created, along with next steps to actually
perform a deployment. It's easy for this to get lost among the rest
of the output, however. So, wordsmith it a little, and add some color,
to make it pop a little bit more.

Also add SuggestFor annotations so that `init` and `create` direct
you to run the `new` command (I often accidentally type `init`).
2018-07-26 15:49:12 -07:00
CyrusNajmabadi
48df5bfe1e
Update pulumi/pulumi to run on Nodejs v10. (#1658) 2018-07-25 16:55:20 -07:00
CyrusNajmabadi
b90235c611
Add license fields to package.json. (#1656) 2018-07-24 16:10:13 -07:00
Alex Clemmer
61324d5540 Print CLI warning for resource init failures
Fixes #1643.

When a resource fails to initialize (i.e., it is successfully created,
but fails to transition to a fully-initialized state), and a user
subsequently runs `pulumi update` without changing that resource, our
CLI will fail to warn the user that this resource is not initialized.

This commit resolves this issue.
2018-07-20 17:59:06 -07:00
Alex Clemmer
f037c7d143 Checkpoint resource initialization errors
When a resource fails to initialize (i.e., it is successfully created,
but fails to transition to a fully-initialized state), and a user
subsequently runs `pulumi update` without changing that resource, our
CLI will fail to warn the user that this resource is not initialized.

This commit begins the process of allowing our CLI to report this by
storing a list of initialization errors in the checkpoint.
2018-07-20 17:59:06 -07:00
Sean Gillespie
80c28c00d2
Add a migrate package for migrating to and from differently-versioned API types (#1647)
* Add a migrate package for migrating to and from differently-versioned
API types

* travis: gofmt -s deployment_test.go
2018-07-20 13:31:41 -07:00
Sean Gillespie
57ae7289f3
Work around a potentially bad assert in the engine (#1644)
* Work around a potentially bad assert in the engine

The engine asserts if presented with a plan that deletes the same URN
more than once. This has been empirically proven to be possible, so I am
removing the assert.

* CR: Add log for multiple pending-delete deletes
2018-07-18 15:48:55 -07:00
Justin Van Patten
db6f99055d
Suppress package restore output unless it fails (#1642)
Change `pulumi new` to no longer output STDOUT and STDERR by default. Instead, only output STDOUT and STDERR if the restore command fails.
2018-07-18 13:24:58 -07:00
CyrusNajmabadi
2e9a2e8a91
When printing message in non-interactive mode, do not keep printing out the worst diagnostic. (#1640) 2018-07-17 13:00:10 -07:00
Justin Van Patten
4e43dec05c
Show all templates when running pulumi new (#1637)
Previously, it would only show the first 7 templates (we currently have 9 total), and you'd have to move the cursor down to the bottom to show the last 2.
2018-07-16 16:08:56 -07:00
Alex Clemmer
0575595668 Add Pipfile.lock to make Python builds reproducible 2018-07-15 11:05:44 -10:00
Alex Clemmer
d182525fec Add signal cancellation to resource provider 2018-07-15 11:05:44 -10:00
Alex Clemmer
0e39b3c868 Add Cancel to gRPC resource provider interface 2018-07-15 11:05:44 -10:00
Alex Clemmer
4c184335ca Make generate.sh reproducible 2018-07-15 11:05:44 -10:00
Matt Ellis
1f638410c7 Include README in pypi package
Use `pandoc` to convert our README.md to a README.rst and then include
that as the long_description in our pypi package.
2018-07-13 18:19:42 -07:00
Sean Gillespie
89f2f8abb5
[Parallelism] Introduce a "step generator" component in the engine (#1622)
* [Parallelism] Introduce a "step generator" component by refactoring all
step generation logic out of PlanIterator

* CR: remove dead fields on PlanIterator
2018-07-12 14:24:38 -07:00
CyrusNajmabadi
953c082bd8
Use the actual ticker control we already ahve. (#1629) 2018-07-12 11:38:44 -07:00
CyrusNajmabadi
d79dbdce35
Rollback PRs (#1628)
* Revert "Parallelize much more of resource creation in the JS language provider SDK (#1618)"

This reverts commit 4edd244a26.

* Revert "Process our async-work-queue in parallel. (#1619)"

This reverts commit b8c1cb9574.
2018-07-11 18:33:53 -07:00
CyrusNajmabadi
4761a32cc1
Add support for providing a log stream-id to our RPC interface. (#1627) 2018-07-11 15:04:00 -07:00
Sean Gillespie
9bf37cc40d
Introduce ResourceV2, DeploymentV2, and CheckpointV2 (#1578)
* Introduce ResourceV2, DeploymentV2, and CheckpointV2, to prepare for a breaking change to the deployment format

* Rename Read -> External
2018-07-11 09:16:53 -07:00
CyrusNajmabadi
4edd244a26
Parallelize much more of resource creation in the JS language provider SDK (#1618) 2018-07-10 16:41:56 -07:00
CyrusNajmabadi
b8c1cb9574
Process our async-work-queue in parallel. (#1619) 2018-07-10 15:42:11 -07:00
CyrusNajmabadi
e6db67849c
Print out a 'still working' message every 20 seconds when in non-interactive mode. (#1616) 2018-07-10 13:44:18 -07:00
Chris Smith
ad3b5e7ee8
Remove references to unused API endpoints (#1608)
* Remove references to unused API endpoints

* Remove vertical whitespace
2018-07-09 13:48:30 -07:00
Luke Hoban
015344ab06
Support SkipBuild in integration test framework (#1603) 2018-07-06 22:06:28 -07:00
CyrusNajmabadi
3ca56d1e82
Support the NO_COLOR env variable to suppres any colored output. (#1594)
Also, make --color a viable command option for any pulumi command.
2018-07-06 21:30:00 -07:00
Alex Clemmer
fe7c8d554a
Merge pull request #1604 from pulumi/build-fix
FIX: Build break in partial update integration test
2018-07-06 18:25:34 -07:00
Alex Clemmer
582a002ccb FIX: Build break in partial update integration test 2018-07-06 18:03:42 -07:00
Alex Clemmer
db9277f934
Merge pull request #1590 from hausdorff/hausdorff/partial-update
Add partial state update
2018-07-06 16:14:49 -07:00
Alex Clemmer
456deaf442 Small cleanups and comments 2018-07-06 15:57:08 -07:00
Joe Duffy
b9a0907161
Support empty text assets (#1599)
Per #1481, we unintentionally disallowed empty text assets, simply
because of the way we did discriminated union testing.  It's easy
enough to just treat the empty asset like an empty string asset.
2018-07-05 14:30:35 -07:00
Joe Duffy
e8b5bb6f11
Export asset members from pulumi module (#1591) 2018-07-03 09:25:40 -07:00
Joe Duffy
416d3f5594
Merge pull request #1586 from pulumi/swgillespie/fix-unknown
Fix an issue where Unknown does not coerce to a bool correctly on Python
2018-07-02 14:55:03 -07:00
Joe Duffy
41996091af
Merge pull request #1587 from pulumi/swgillespie/python-assets
Implementation of Assets for Python
2018-07-02 14:52:30 -07:00
joeduffy
ae50253db5 Add support for archives 2018-07-02 14:24:45 -07:00
joeduffy
d89192a9d0 Fix reference to _custom_resource_type 2018-07-02 13:51:12 -07:00
Sean Gillespie
1cbf8bdc40 Partial status for resource providers
This commit adds CLI support for resource providers to provide partial
state upon failure. For resource providers that model resource
operations across multiple API calls, the Provider RPC interface can now
accomodate saving bags of state for resource operations that failed.
This is a common pattern for Terraform-backed providers that try to do
post-creation steps on resource as part of Create or Update resource
operations.
2018-07-02 13:32:23 -07:00
Sean Gillespie
8b9e24cd85 Allow dynamic-provider to send structured errors
A critical part of the partial update protocol is to return a structured
error when a resource is successfully created, but fails to initialize.
This structured error contains the properties of the
partially-initialized resource, and instructs the engine to halt.

Most languages implement this by attaching "details" to the error, i.e.,
an arbitrary proto message attached to the error. The JavaScript
implementation is not mature enough to include all the facilities
required to use this, so here we must add a `Status` message, which
protobuf requires as part of its structure for returning details.
2018-07-02 13:32:23 -07:00
Alex Clemmer
3bd2e6f235 Represent init errors in resource provider proto 2018-07-02 13:32:23 -07:00
Alex Clemmer
08b7b1e76e Make protobuf build more reproducible 2018-07-02 13:31:39 -07:00
Alex Clemmer
2394743c60 Fix the lies in sdk/proto/generate.sh 2018-07-02 13:31:39 -07:00
Matt Ellis
5dd2f10993 Support -s in stack {export, graph, import, output}
Instead of needing you to first select the current stack to use any of
these commands, allow passing `-s <stack-name>` or `--stack
<stack-name>` to say what stack you want to operate on.

These commands still require a `Pulumi.yaml` file to be present, which
is not ideal, but would require a larger refactoring to fix. That
refactoring will happen as part of #1556.

Fixes #1370
2018-07-02 11:42:31 -07:00