This fixes a bug in which 'helm status' fails if any of the expected
resources are missing in Kubernetes. Now it prints a list of missing
resources at the end of the status report.
Closes#2118
Headless services (with `clusterIP` set to `None`) were reporting
as not being ready because they didn't have an IP address. This adds
a logic check to ignore those services.
When manifests do not change, they didn't get populated with the
latest label info from the API server and then panic'd. This resolves
that bug
Closes#2043
* This is a simple mvp which processes a test definition with the
hook annotation for test when you run `helm test [release]`
* helm client cmd, proto def, tiller logic
Installs, rollback, upgrade, and delete now accept a `--timeout` flag
that allows the user to specify the maximum number of seconds that
any kubernetes command can take.
Closes#1678
It is unnecessary to create a namespace just to test that it exists.
Roles that don't have post namespace will error out even if the namespace exists
and it is possible to install the package anyway. This patch Gets a namespace and
only creates one if it doesn't exist.
Adds validation against the swagger schema.
Example error:
Error: release telling-wildebeest failed: error validating "": error
validating data: expected type int, for field
spec.template.spec.containers[0].ports[0].containerPort, got string
Current error:
unable to decode "": [pos 177]: json: expect char '"' but got char 'n'"'
This does the following to improve deletion failure handling:
- In an UninstallRelease operation, the release is marked DELETED
as soon as the basic checks are passed. This resolves 1508. I filed a
followup issue for doing this even better when we can modify protos
again.
- If a YAML manifest fails to parse, the error messages now suggests
that the record is corrupt, and the resources must be manually
deleted.
- If a resource is missing during deletion, the error messages now make
it clear that an object was skipped, but that the deletion continued.
Closes#1508
This feature has been disabled in the past because simply enabling the
feature causes the Kubernetes library to make requests to a server.
Thus, running any tests that use the 'pkg/kube' library has required
running a kube API server.
This patch makes it possible to selectively activate 3rdParty API
support, and then disables that support during testing.
Future versions of the Kubernetes library appear to make it easier to
configure and mock this behavior, so this is most likely a stop-gap
measure. (Famous last words.)
Closes#1472