pulumi/pkg
pat@pulumi.com 6b66437fae Track resources that are pending deletion in checkpoints.
During the course of a `pulumi update`, it is possible for a resource to
become slated for deletion. In the case that this deletion is part of a
replacement, another resource with the same URN as the to-be-deleted
resource will have been created earlier. If the `update` fails after the
replacement resource is created but before the original resource has been
deleted, the snapshot must capture that the original resource still exists
and should be deleted in a future update without losing track of the order
in which the deletion must occur relative to other deletes. Currently, we
are unable to track this information because the our checkpoints require
that no two resources have the same URN.

To fix this, these changes introduce to the update engine the notion of a
resource that is pending deletion and change checkpoint serialization to
use an array of resources rather than a map. The meaning of the former is
straightforward: a resource that is pending deletion should be deleted
during the next update.

This is a fairly major breaking change to our checkpoint files, as the
map of resources is no more. Happily, though, it makes our checkpoint
files a bit more "obvious" to any tooling that might want to grovel
or rewrite them.

Fixes #432, #387.
2017-10-18 17:09:00 -07:00
..
compiler/errors Use Stack over Environment to describe a deployment target 2017-10-16 13:04:20 -07:00
diag Have engine emit "events" instead of writing to streams 2017-10-09 18:24:56 -07:00
encoding Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
engine Drain std{out,err} when a plugin fails to load. 2017-10-16 21:38:11 -07:00
graph Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
pack Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
resource Track resources that are pending deletion in checkpoints. 2017-10-18 17:09:00 -07:00
testing/integration Write a .yarnrc file when running tests to enable mutex 2017-10-16 16:08:50 -07:00
tokens Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
tools Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
util Have engine emit "events" instead of writing to streams 2017-10-09 18:24:56 -07:00
workspace Use Stack over Environment to describe a deployment target 2017-10-16 13:04:20 -07:00