Commit graph

3924 commits

Author SHA1 Message Date
CyrusNajmabadi
1387afec8f
Color 'reads' as cyan so they don't look like 'creates'. (#3236) 2019-09-18 09:49:13 -07:00
CyrusNajmabadi
f788eb8fc1
Add support for refreshing specific targets. (#3225) 2019-09-17 18:14:10 -07:00
Mikhail Shilkov
5e3cc50f4b Move a dot for a better prompt in local login 2019-09-17 01:42:06 -07:00
Erin Krengel
938c2e8bd8
Fix parsing of Gitlab urls w subgroups (#3239) 2019-09-16 20:35:23 -07:00
Pat Gavlin
82204230e1
Improve tracing support. (#3238)
* Fix some tracing issues.

- Add endpoints for `startUpdate` and `postEngineEventsBatch` so that
  spans for these invocations have proper names
- Inject a tracing span when walking a plan so that resource operations
  are properly parented
- When handling gRPC calls, inject a tracing span into the call's
  metadata if no span is already present so that resource monitor and
  engine spans are properly parented
- Do not trace client gRPC invocations of the empty method so that these
  calls (which are used to determine server availability) do not muddy
  the trace. Note that I tried parenting these spans appropriately, but
  doing so broke the trace entirely.

With these changes, the only unparented span in a typical Pulumi
invocation is a single call to `getUser`. This span is unparented
because that call does not have a context available. Plumbing a context
into that particular call is surprisingly tricky, as it is often called
by other context-less functions.

* Make tracing support more flexible.

- Add support for writing trace data to a local file using Appdash
- Add support for viewing Appdash traces via the CLI
2019-09-16 14:16:43 -07:00
Erin Krengel
48a00b507d
bump api version number to indicate PaC support (#3237) 2019-09-16 13:04:29 -07:00
Matt Ellis
1e2f4107c4 Reset patch to 0 when generating a version for a minor update
This fixes an issue we didn't forsee. If we do a patch release by
tagging a commit as `v1.1.1`, the next version we generate will be
`v1.2.1-alpha.....` which is not what we want. When bumping the minor
version, we should reset the patch version to zero, regardless of what
it is.
2019-09-13 15:50:38 -07:00
Matt Ellis
b019bc571e Use Python 3
Use `python3` and `pip3` explicitly, as we now depend on Python 3.
2019-09-13 11:58:23 -07:00
Mikhail Shilkov
6450e28a22 Add tests for templates (#3126)
* Add a test for a single template

* Test all templates

* Encrypting the GCP Credentials file for tests

* Exclude some tests for now

* Exclude tests that aren't ready

* Exclude tests that aren't ready

* Enable openstack tests
2019-09-13 00:41:46 +02:00
Matt Ellis
6b4fa1575a Don't fail if packages have already been published
This is https://github.com/pulumi/scripts/pull/84 but for
pulumi/pulumi (which doesn't use the shared script because we have to
do special things for pulumi/pulumi)
2019-09-12 11:50:31 -07:00
CyrusNajmabadi
b135af10be
Enable full strict mode. (#3218) 2019-09-11 16:21:35 -07:00
Matt Ellis
0a2384d175 Update version assignment logic
Previously, we would compute a version for a build by taking the last
relaesed bversion and then increment the patch number. We did this
because during pre 1.0 milestones, we would use the minor version to
say that there had been a "breaking change" and use the patch version
to mean there had been fixes or new features.

For packages that are 1.0 or later, we are now going to bump the minor
version per release and will use the patch version just for cases
where we do one off hot fixes.

This change updates our version generation logic to be in line with
this new plan.
2019-09-11 14:31:47 -07:00
Pat Gavlin
5af13f9a4f Prepare the CHANGELOG for v1.1.0 2019-09-11 13:56:48 -07:00
CyrusNajmabadi
4d9336caa9
Specify the 8.0 version of node types. (#3215) 2019-09-11 10:54:44 -07:00
Mikhail Shilkov
6ac21fc430 Fix the pulumi new --stack option (#3131)
* Fix the pulumi new --stack option

* Changelog

* Restore the existing stack check with an added guard
2019-09-11 18:40:04 +02:00
Mikhail Shilkov
02b883e7a6 Better prompt for a stack name in stack init (#3205) 2019-09-11 16:57:58 +02:00
CyrusNajmabadi
a7d1121a6b
Fix issue with converting stack outputs to POJOs (#3214) 2019-09-10 16:30:43 -07:00
CyrusNajmabadi
e61f8fdcb8
Update us to the same target ES version that Nodejs uses. (#3213) 2019-09-10 16:19:12 -07:00
CyrusNajmabadi
5681f8666f
Reenable test. (#3212) 2019-09-10 13:28:12 -07:00
Mikhail Shilkov
7b3a7c6253 Do not ask for a passphrase in non-interactive sessions (#3204)
* Do not ask for a passphrase in non-interactive sessions. Fail with a hint to set the environment variable.

* Changelog
2019-09-10 13:25:57 -07:00
Mikhail Shilkov
6c9556fe78 Add a link to docs for the 409 Conflict error message (#3207)
* Add a link to docs for the 409 Conflict error message

* Formatting
2019-09-10 13:25:08 -07:00
Mikhail Shilkov
bf96123d14 Stop ignoring HTTP errors at token validation (#3208) 2019-09-10 13:24:30 -07:00
CyrusNajmabadi
376d28318f
Properly handle recursive outputs without penalizing non-recursive ones. (#3206) 2019-09-10 12:29:52 -07:00
Luke Hoban
d3475c02b8
Merge pull request #3198 from pulumi/lukehoban/cloudsecretsfilestatebackend
Adds test coverage for cloud-backed secrets combined with filestate backend. This combination (for example, S3 + KMS) is likely to be common.

Fixes #3189.
2019-09-09 15:09:40 -07:00
Harrison Heck
a6c6ab0c9c fix: node_modules typo (#3175) 2019-09-09 23:11:35 +03:00
Paul Stack
27e6ee2097
Build against go1.12.9 (#3200)
We are not taking on the jump to 1.13 in this commit - it can be a
followup
2019-09-09 22:54:12 +03:00
Paul Stack
8d1b725840
GH-2319: Increase the grpc.MaxCallRecvMsgSize (#3201)
Fixes: #2319

In #2319, a user is hitting the gRPC limit on the message size the
server can receive when uploading ec2 user-data

This commit doubles the limit that can be sent from `1024*1024*4` to
`1024*1024*8`
2019-09-09 21:31:54 +03:00
Matt Ellis
32ac67e6bc Remove the need for pandoc during the build
We had been using `pandoc` to convert our README.md into a README.rst
for use with `setup.py` and the python package ecosystem. It turns out
that we can use markdown if we set a content type. So let's do that
and make things a little simpler.

While I was in the area, I made the encoding of UTF-8 explicit when
opening README.md.
2019-09-09 11:15:42 -07:00
Pat Gavlin
38876d64f0
Ignore reads in HasChanges. (#3197)
This matches the behavior of the display logic, which does not consider
reads to be changes. This also matches the expectation of tests that
pass `--expect-no-changes` (and likely user intuition).
2019-09-06 22:10:34 -07:00
Luke Hoban
801f1bbf45 Reduce use of magic strings 2019-09-06 17:45:00 -07:00
Luke Hoban
ad287b844b Add CHANGELOG 2019-09-06 17:19:31 -07:00
Luke Hoban
d55964e545 Fixes #3189. 2019-09-06 17:15:46 -07:00
David McKay
2c40d5bc76 fix: Cloud Based Secret Encryption with File Based State
The code forced the secret backend to be passphrase when using a
`filestate.Backend`, which means you can't use GCP/AWS/Azure KMS with
a cloud bucket state storage.

This PR removes that check and only forces passphrase storage when
explicitly set.
2019-09-06 17:15:46 -07:00
Pat Gavlin
b7404f202e
Expose update events to ExtraRuntimeValidation. (#3160)
* Add the ability to log all engine events to a file.

The path to the file can be specified using the `--event-log` flag to
the CLI. The file will be truncated if it exists. Events are written as
a list of JSON values using the schema described by `pkg/apitype`.

* Expose update engine events to ExtraRuntimeValidation.

Just what it says on the tin. Events from previews are not exposed.
2019-09-06 17:07:54 -07:00
Pat Gavlin
48c8ea1e8a
Do not drop unhandled exceptions in Python (#3170)
- Do not use a non-zero-to-zero transition in the number of outstanding
  RPCs to determine the completion of a Python program until after the
  synchronous piece of the program has finished running is complete
- Instead of using a future to indicate that either a) a zero-to-one
  transition in the number of outstanding RPCs has occurred, or b) an
  unhandled exception has occurred, a) observe the transition itself,
  and b) use an optional exception field to track the presence or
  absence of an exception.

Fixes #3162.
2019-09-06 13:53:07 -07:00
Matt Ellis
685b30b685 Ignore plugins which are being installed
When installing plugins, we download the plugin into a temporary
folder, unpack it and then move that folder into its final
location (as an atomic operation). We do this so that if the download
fails in some way, we would not "poision" our plugin cache.

In order to ensure the move into the final location happens
atomically, we download the plugin into a folder with a `.tmpXXXXXX`
suffix inside the plugin root itself.  However, we were not ignoring
this folder when enumarating plugins. This would cause some weird
behaviors:

- When a plugin was being installed `pulumi plugin ls` would show a
plugin with a version like `v1.0.0-rc.1.tmp123456`.

- For cases where the version of the plugin had applied
metadata (e.g. our alpha builds where we append the commit hash to the
version via `+gACBDEF123`) the `.tmpXXXXXX` suffix was considered part
of the build metadata. This would mean we could actually end up
selecting these plugins and trying to run them, which was not going to
work correctly (since they are in the process of being
downloaded). Because the way to hit this was using a dev release while
also trying to run a another program that used the same plugin, it was
unlikely that customers would hit this, but we would see this from
time to time in CI, where we run many pulumi programs at the same
time (the `examples` repo is one case where we'd often hit it).

Fixes: #1353
2019-09-06 13:49:57 -07:00
Pat Gavlin
9df29893ba
Build new docs when publishing tagged releases. (#3181)
These changes wire up a new script that clones
https://github.com/pulumi/docs, regenerates the appropriate parts of the
docs site, and opens a pull request with the changes. This script
executes on any build in which we publish packages that _also_ has a tag
present.
2019-09-05 12:20:48 -07:00
Pat Gavlin
6ea8b3b3dd
Update CHANGELOG for 1.0.0 (#3177) 2019-09-03 15:28:51 -07:00
Paul Stack
b54a1902cc
Exclude stack owner from stackname when using CloudStorage (#3169)
This was causing an error as follows:

```
error: could not create stack: validating stack properties: invalid stack name: a stack name may only contain alphanumeric, hyphens, underscores, or periods
```
2019-09-02 19:29:45 +03:00
Alex Clemmer
d033576348 Include pulumi-analyzer-policy in Windows releases 2019-08-30 20:46:39 -07:00
Alex Clemmer
261b69ae6a Requite debug env var for --policy-pack
Fixes https://github.com/pulumi/pulumi-policy/issues/89.
2019-08-29 10:49:11 -07:00
Matt Ellis
809c91c004 Update CHANGELOG for 1.0.0-rc.1 2019-08-28 13:54:57 -07:00
Matt Ellis
fe32c1eb61
Merge pull request #3155 from pulumi/ellismg/update-baselines
Update baselines to react to TypeScript 3.6.2
2019-08-28 13:52:19 -07:00
Matt Ellis
67f6d4d7e5 Update baseline for a previously failing test
Change is 3.6.2 of typescript have caused their code generation to no
longer emit a call to `this` inside an arrow function, so this test is
no longer causing an error to be thrown.

For now, just accept the baseline, but I'll file an issue so we can
actually get a real failing test here.
2019-08-28 13:18:28 -07:00
Matt Ellis
e9fc96d4dc Update baselines for Typescript 3.6.2
TypeScript has changed the way the generate some code, and so we must
update our baselines to adapt.
2019-08-28 13:17:47 -07:00
CyrusNajmabadi
015bada975 Add more details to an assert (#3129)
Since we don't fully understand what was causing the assert to file,
instead of making changes to return an error when there are equal
plugins, keep the shape of the existing code and just do the work we
need to do to ensure that the assert message has actionable data for
us to look at.
2019-08-28 11:28:04 -07:00
Luke Hoban
f0a24079ce
Filter the list of templates shown by default (#3147)
If any templates are marked as `Important: true` then by default show only those templates along with an option to see additional templates.

Fixes #3094.
2019-08-27 17:56:49 -07:00
Luke Hoban
47dc3cfb8b
Print a Welcome to Pulumi message (#3145)
Present a warm welcome to users when they interactively login.

Also use this as an opportunity to present a "Tip of the Day" - which for now we will use to highlight auto-naming as this has been a common new user question.
2019-08-27 17:19:35 -07:00
Joe Duffy
113c96fd15
Shrink the Get Started button slightly (#3149) 2019-08-27 09:01:01 -07:00
Joe Duffy
a4d44189f1
Add a Get Started CTA button to the README (#3143) 2019-08-27 08:27:56 -07:00