Repository: kubermatic/machine-controller
Pull request #863 (2020-12-12 00:57:30)

Update to controller-runtime 0.7.0
**What this PR does / why we need it**:
What it says on the tin. Lots of improvements worth having and also a couple of important, user-visible changes:

* the example manifests have been updated:
  * RBAC is using `rbac.authorization.k8s.io/v1`
  * MutatingWebhook is using `admissionregistration.k8s.io/v1`
* the leader election now uses the new `configmapsleases` resourcelock, which means that the machine-controller will hold *both* a ConfigMap and a coordination.k8s.io/v1/Lease as a means of slowly transitioning to only using Leases. This requires an updated Role in the kube-system namespace to grant the permissions. See https://github.com/kubernetes-sigs/controller-runtime/pull/1144 for more info.
* The metrics and the health endpoints cannot be on the same port anymore. `-internal-listen-address` has been replaced by `-health-probe-address` and `-metrics-address`.

Besides that, internally the changes are:

* lots and lots of contexts everywhere
* the admission handler now handles v1 reviews
* the home-grown leaderelection stuff in the main() has been replaced by just using controller-runtime features

**Optional Release Note**:
```release-note
BREAKING: leaderelection now uses both ConfigMaps and Leases, RBAC updates are required
BREAKING: `-internal-listen-address` has been replaced by `-health-probe-address` and `-metrics-address`; both addresses cannot use the same port
update to rbac.authorization.k8s.io/v1 and admissionregistration.k8s.io/v1
```


kubermatic-bot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubermatic/machine-controller/pull/863#" title="Author self-approved">xrstf</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubermatic%2Fmachine-controller).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubermatic/machine-controller/blob/master/OWNERS)~~ [xrstf]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
kubermatic-bot: @xrstf: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | f87c960d99f0bb955ae195748d07fd20fdeb93d6 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1337562254907805699) | `/test pull-machine-controller-lint`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 55af536385b62a2f91ab34783e6214e45ea38acd | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338680767634477057) | `/test pull-machine-controller-lint`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-hetzner | 7600074f5d2579faa0d542189fbb1ed312f2780a | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1337562512689729538) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-openstack | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1338684546081624067) | `/test pull-machine-controller-e2e-openstack`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-openstack | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1338684546081624067) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1338684546081624065) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338684546069041153) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-openstack | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1338684546081624067) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
xrstf: /test pull-machine-controller-e2e-aws
kubermatic-bot: @xrstf: PR needs rebase.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-openstack | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1338684546081624067) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-aws | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1338855291713753088) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-openstack | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1338684546081624067) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1338684546077429761) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-hetzner | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1338684546090012672) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-ubuntu-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1338684546090012676) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-arm | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1338684546085818368) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1338684547734179840) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1338684546094206976) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-gce | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1338684546090012675) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-kubevirt | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1338684546077429760) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1338684546094206977) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-azure | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1338684546085818369) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-digitalocean | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1338684546090012673) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | 9931b27ea13446654a4f83a62ef719a430e37836 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1338684546090012674) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-lint | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1340394936637329411) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-aws | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1340394936637329409) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-lint | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1341108640546820096) | `/test pull-machine-controller-lint`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-ubuntu-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1340394936654106625) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-lint | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1341108640546820096) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1340394936658300928) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-lint | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1341108640546820096) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1340394937035788288) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-lint | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-lint/1341108640546820096) | `/test pull-machine-controller-lint`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341108640915918848) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341108640915918848) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | fcd6ea2ab41cb8ebc1c170775705172f3da8192b | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341113552101969920) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-openstack | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1340394936633135104) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341108640915918848) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341108640915918848) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-vsphere | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1340394936654106627) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-kubevirt | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1340394936649912320) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-digitalocean | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1340394936637329408) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-aws-arm | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1340394936628940801) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-hetzner | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1340394936654106626) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-kubevirt-dns-config | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1340394936645718016) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-gce | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1340394936654106628) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-deployment-upgrade | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1340394936863821824) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-azure | d6ac60662c0ea2f374f43b2bad3cde2d6cf3da24 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1340394936654106624) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-ubuntu-upgrade | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341108640559403011) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-aws | d820937259eb24c72bcfd6626b76b3c2c4b42cdc | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341108640551014401) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-openstack | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341117828920512512) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-kubevirt-dns-config | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341117828912123904) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-kubevirt | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341117828924706816) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341117828954066944) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341117828954066945) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341117828962455552) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-hetzner | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341117828937289728) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-deployment-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341117830501765120) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341117828928901121) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341124494172884993) | `/test pull-machine-controller-e2e-deployment-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-aws-arm | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341117828903735296) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341124494172884993) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-aws | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341124494164496385) | `/test pull-machine-controller-e2e-aws`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-ubuntu-upgrade | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341117829721624576) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341124494172884993) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-aws | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341124494164496385) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-aws-arm | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341126634949840896) | `/test pull-machine-controller-e2e-aws-arm`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341124494172884995) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341124494172884993) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-aws | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341124494164496385) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-aws-arm | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341126634949840896) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-ubuntu-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341126634987589632) | `/test pull-machine-controller-e2e-ubuntu-upgrade`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @xrstf: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-digitalocean | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-digitalocean/1341117828949872640) | `/test pull-machine-controller-e2e-digitalocean`
pull-machine-controller-e2e-gce | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-gce/1341117828933095424) | `/test pull-machine-controller-e2e-gce`
pull-machine-controller-e2e-azure | e1f15a7e1f6ca298ee471950af2a19d3d288d556 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-azure/1341117828945678336) | `/test pull-machine-controller-e2e-azure`
pull-machine-controller-e2e-openstack | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-openstack/1341124494147719168) | `/test pull-machine-controller-e2e-openstack`
pull-machine-controller-e2e-kubevirt-dns-config | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt-dns-config/1341124494164496384) | `/test pull-machine-controller-e2e-kubevirt-dns-config`
pull-machine-controller-e2e-kubevirt | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-kubevirt/1341124494151913472) | `/test pull-machine-controller-e2e-kubevirt`
pull-machine-controller-e2e-vsphere | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere/1341124494172884996) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-vsphere-resource-pool | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-vsphere-resource-pool/1341124494177079297) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-hetzner | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-hetzner/1341124494172884994) | `/test pull-machine-controller-e2e-hetzner`
pull-machine-controller-e2e-deployment-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-deployment-upgrade/1341124494172884993) | `/test pull-machine-controller-e2e-deployment-upgrade`
pull-machine-controller-e2e-aws | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws/1341124494164496385) | `/test pull-machine-controller-e2e-aws`
pull-machine-controller-e2e-aws-arm | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-arm/1341126634949840896) | `/test pull-machine-controller-e2e-aws-arm`
pull-machine-controller-e2e-ubuntu-upgrade | f9ddb5fafb736e4c9d4e6532042002e403aeabf3 | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-ubuntu-upgrade/1341126634987589632) | `/test pull-machine-controller-e2e-ubuntu-upgrade`
pull-machine-controller-e2e-aws-ebs-encryption-enabled | d8480e48dfd22a8b6b8794c035e7722f41ea0cdf | [link](https://public-prow.loodse.com/view/gs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/863/pull-machine-controller-e2e-aws-ebs-encryption-enabled/1341129528096854019) | `/test pull-machine-controller-e2e-aws-ebs-encryption-enabled`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=863)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
xrstf: cc @alvaroaleman 
kubermatic-bot: @xrstf: PR needs rebase.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
moadqassem: @xrstf Really nice work! I left few minor comments 
moadqassem: /approve
/lgtm
kubermatic-bot: LGTM label has been added.  <details>Git tree hash: aa291bfdf27802a11651cc68d4e8fd8831688b95</details>
kubermatic-bot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubermatic/machine-controller/pull/863#issuecomment-756014975" title="LGTM">moadqassem</a>*, *<a href="https://github.com/kubermatic/machine-controller/pull/863#" title="Author self-approved">xrstf</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubermatic%2Fmachine-controller).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubermatic/machine-controller/blob/master/OWNERS)~~ [moadqassem,xrstf]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->

Patch:
diff --git a/cmd/machine-controller/main.go b/cmd/machine-controller/main.go
index 0c4027a1..a672260f 100644
--- a/cmd/machine-controller/main.go
+++ b/cmd/machine-controller/main.go
@@ -18,32 +18,23 @@ package main
 
 import (
 	"context"
-	"errors"
 	"flag"
 	"fmt"
 	"net"
 	"net/http"
 	"net/http/pprof"
-	"os"
 	"strconv"
 	"strings"
 	"time"
 
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/types"
-	"k8s.io/apimachinery/pkg/util/uuid"
 	"k8s.io/client-go/kubernetes"
 	"k8s.io/client-go/kubernetes/scheme"
 	restclient "k8s.io/client-go/rest"
 	"k8s.io/client-go/tools/clientcmd"
-	"k8s.io/client-go/tools/leaderelection"
-	"k8s.io/client-go/tools/leaderelection/resourcelock"
 
 	"github.com/docker/distribution/reference"
-	"github.com/heptiolabs/healthcheck"
-	"github.com/oklog/run"
 	"github.com/prometheus/client_golang/prometheus"
-	"github.com/prometheus/client_golang/prometheus/promhttp"
 
 	clusterv1alpha1 "github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1"
 	"github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1/migrations"
@@ -53,21 +44,23 @@ import (
 	machinedeploymentcontroller "github.com/kubermatic/machine-controller/pkg/controller/machinedeployment"
 	machinesetcontroller "github.com/kubermatic/machine-controller/pkg/controller/machineset"
 	"github.com/kubermatic/machine-controller/pkg/controller/nodecsrapprover"
-	machinehealth "github.com/kubermatic/machine-controller/pkg/health"
+	"github.com/kubermatic/machine-controller/pkg/health"
 	machinesv1alpha1 "github.com/kubermatic/machine-controller/pkg/machines/v1alpha1"
 	"github.com/kubermatic/machine-controller/pkg/signals"
 
 	apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
 	"k8s.io/klog"
-	ctrlruntimeclient "sigs.k8s.io/controller-runtime/pkg/client"
+	"sigs.k8s.io/controller-runtime/pkg/healthz"
 	"sigs.k8s.io/controller-runtime/pkg/manager"
+	"sigs.k8s.io/controller-runtime/pkg/metrics"
 )
 
 var (
 	masterURL                        string
 	kubeconfig                       string
 	clusterDNSIPs                    string
-	listenAddress                    string
+	healthProbeAddress               string
+	metricsAddress                   string
 	profiling                        bool
 	name                             string
 	joinClusterTimeout               string
@@ -88,10 +81,7 @@ var (
 )
 
 const (
-	defaultLeaderElectionNamespace     = "kube-system"
-	defaultLeaderElectionLeaseDuration = 15 * time.Second
-	defaultLeaderElectionRenewDeadline = 10 * time.Second
-	defaultLeaderElectionRetryPeriod   = 2 * time.Second
+	defaultLeaderElectionNamespace = "kube-system"
 )
 
 // controllerRunOptions holds data that are required to create and run machine controller
@@ -112,15 +102,6 @@ type controllerRunOptions struct {
 	// if this is nil
 	bootstrapTokenServiceAccountName *types.NamespacedName
 
-	// parentCtx carries a cancellation signal
-	parentCtx context.Context
-
-	// parentCtxDone allows you to close parentCtx
-	// since context can form a tree-like structure it seems to be odd to pass done function of a parent
-	// and allow dependent function to close the parent.
-	// it should be the other way around i.e. derive a new context from the parent
-	parentCtxDone context.CancelFunc
-
 	// prometheusRegisterer is used by the MachineController instance to register its metrics
 	prometheusRegisterer prometheus.Registerer
 
@@ -156,7 +137,8 @@ func main() {
 	}
 	flag.StringVar(&clusterDNSIPs, "cluster-dns", "10.10.10.10", "Comma-separated list of DNS server IP address.")
 	flag.IntVar(&workerCount, "worker-count", 5, "Number of workers to process machines. Using a high number with a lot of machines might cause getting rate-limited from your cloud provider.")
-	flag.StringVar(&listenAddress, "internal-listen-address", "127.0.0.1:8085", "The address on which the http server will listen on. The server exposes metrics on /metrics, liveness check on /live and readiness check on /ready")
+	flag.StringVar(&healthProbeAddress, "health-probe-address", "127.0.0.1:8085", "The address on which the liveness check on /healthz and readiness check on /readyz will be available")
+	flag.StringVar(&metricsAddress, "metrics-address", "127.0.0.1:8080", "The address on which Prometheus metrics will be available under /metrics")
 	flag.StringVar(&name, "name", "", "When set, the controller will only process machines with the label \"machine.k8s.io/controller\": name")
 	flag.StringVar(&joinClusterTimeout, "join-cluster-timeout", "", "when set, machines that have an owner and do not join the cluster within the configured duration will be deleted, so the owner re-creats them")
 	flag.StringVar(&bootstrapTokenServiceAccountName, "bootstrap-token-service-account-name", "", "When set use the service account token from this SA as bootstrap token instead of creating a temporary one. Passed in namespace/name format")
@@ -196,8 +178,6 @@ func main() {
 		}
 	}
 
-	stopCh := signals.SetupSignalHandler()
-
 	// Needed for migrations
 	if err := machinesv1alpha1.AddToScheme(scheme.Scheme); err != nil {
 		klog.Fatalf("failed to add machinesv1alpha1 api to scheme: %v", err)
@@ -246,22 +226,18 @@ func main() {
 		klog.Fatalf("error building kubernetes clientset for kubeClient: %v", err)
 	}
 
-	ctrlruntimeClient, err := ctrlruntimeclient.New(cfg, ctrlruntimeclient.Options{})
-	if err != nil {
-		klog.Fatalf("error building ctrlruntime client: %v", err)
-	}
+	kubeconfigProvider := clusterinfo.New(cfg, kubeClient)
 
-	prometheusRegistry := prometheus.DefaultRegisterer
+	ctrlMetrics := machinecontroller.NewMachineControllerMetrics()
+	ctrlMetrics.MustRegister(metrics.Registry)
 
-	kubeconfigProvider := clusterinfo.New(cfg, kubeClient)
 	runOptions := controllerRunOptions{
-		kubeClient: kubeClient,
-		metrics:    machinecontroller.NewMachineControllerMetrics(),
-
+		kubeClient:            kubeClient,
 		kubeconfigProvider:    kubeconfigProvider,
 		name:                  name,
-		prometheusRegisterer:  prometheusRegistry,
 		cfg:                   machineCfg,
+		metrics:               ctrlMetrics,
+		prometheusRegisterer:  metrics.Registry,
 		externalCloudProvider: externalCloudProvider,
 		skipEvictionAfter:     skipEvictionAfter,
 		nodeCSRApprover:       nodeCSRApprover,
@@ -299,246 +275,140 @@ func main() {
 		runOptions.bootstrapTokenServiceAccountName = &types.NamespacedName{Namespace: flagParts[0], Name: flagParts[1]}
 	}
 
-	ctx, ctxDone := context.WithCancel(context.Background())
-	var g run.Group
-	{
-		prometheusRegistry.MustRegister(machinecontroller.NewMachineCollector(ctx, ctrlruntimeClient))
-
-		s := createUtilHTTPServer(ctx, kubeClient, kubeconfigProvider, prometheus.DefaultGatherer)
-		g.Add(func() error {
-			return s.ListenAndServe()
-		}, func(err error) {
-			klog.Warningf("shutting down HTTP server due to: %s", err)
-			srvCtx, cancel := context.WithTimeout(ctx, time.Second)
-			defer cancel()
-			if err = s.Shutdown(srvCtx); err != nil {
-				klog.Errorf("failed to shutdown HTTP server: %s", err)
-			}
-		})
-	}
-	{
-		g.Add(func() error {
-			select {
-			case <-stopCh:
-				return errors.New("user requested to stop the application")
-			case <-ctx.Done():
-				return errors.New("parent context has been closed - propagating the request")
-			}
-		}, func(err error) {
-			ctxDone()
-		})
-
-	}
-	{
-		g.Add(func() error {
-			runOptions.parentCtx = ctx
-			runOptions.parentCtxDone = ctxDone
-			return startControllerViaLeaderElection(runOptions)
-		}, func(err error) {
-			ctxDone()
-		})
-	}
-
-	klog.Info(g.Run())
-}
+	ctx, cancel := context.WithCancel(context.Background())
+	defer cancel()
+	signalCh := signals.SetupSignalHandler()
+	go func() {
+		<-signalCh
+		klog.Info("caught signal, shutting down...")
+		cancel()
+	}()
 
-// startControllerViaLeaderElection starts machine controller only if a proper lock was acquired.
-// This essentially means that we can have multiple instances and at the same time only one is operational.
-// The program terminates when the leadership was lost.
-func startControllerViaLeaderElection(runOptions controllerRunOptions) error {
-	mgrSyncPeriod := 5 * time.Minute
-	mgr, err := manager.New(runOptions.cfg, manager.Options{SyncPeriod: &mgrSyncPeriod})
+	mgr, err := createManager(5*time.Minute, runOptions)
 	if err != nil {
-		klog.Errorf("failed to create manager: %v", err)
-		runOptions.parentCtxDone()
-		return err
+		klog.Fatalf("failed to create runtime manager: %v", err)
 	}
 
-	id, err := os.Hostname()
+	if err := mgr.Start(ctx); err != nil {
+		klog.Errorf("failed to start kubebuilder manager: %v", err)
+	}
+}
+
+func createManager(syncPeriod time.Duration, options controllerRunOptions) (manager.Manager, error) {
+	mgr, err := manager.New(options.cfg, manager.Options{
+		SyncPeriod:              &syncPeriod,
+		LeaderElection:          true,
+		LeaderElectionID:        "machine-controller",
+		LeaderElectionNamespace: defaultLeaderElectionNamespace,
+		HealthProbeBindAddress:  healthProbeAddress,
+		MetricsBindAddress:      metricsAddress,
+	})
 	if err != nil {
-		klog.Fatalf("error getting hostname: %s", err.Error())
+		return nil, fmt.Errorf("error building ctrlruntime manager: %v", err)
 	}
-	// add a seed to the id, so that two processes on the same host don't accidentally both become active
-	id = id + "_" + string(uuid.NewUUID())
 
-	// add worker name to the election lock name to prevent conflicts between controllers handling different worker labels
-	leaderName := strings.Replace(machinecontroller.ControllerName, "_", "-", -1)
-	if runOptions.name != "" {
-		leaderName = runOptions.name + "-" + leaderName
+	if err := mgr.AddReadyzCheck("alive", healthz.Ping); err != nil {
+		return nil, fmt.Errorf("failed to add readiness check: %v", err)
 	}
 
-	rl := resourcelock.EndpointsLock{
-		EndpointsMeta: metav1.ObjectMeta{
-			Namespace: defaultLeaderElectionNamespace,
-			Name:      leaderName,
-		},
-		Client: runOptions.kubeClient.CoreV1(),
-		LockConfig: resourcelock.ResourceLockConfig{
-			Identity:      id + fmt.Sprintf("-%s", leaderName),
-			EventRecorder: mgr.GetEventRecorderFor("machine_controller_leader_election"),
-		},
+	if err := mgr.AddHealthzCheck("kubeconfig", health.KubeconfigAvailable(options.kubeconfigProvider)); err != nil {
+		return nil, fmt.Errorf("failed to add health check: %v", err)
 	}
 
-	// I think this might be a bit paranoid but the fact the there is no way
-	// to stop the leader election library might cause synchronization issues.
-	// imagine that a user wants to shutdown the app but since there is no way of telling the library to stop it will eventually run `runController` method
-	// and bad things can happen - the fact it works at the moment doesn't mean it will in the future
-	runController := func(ctx context.Context) {
+	if err := mgr.AddHealthzCheck("apiserver-connection", health.ApiserverReachable(options.kubeClient)); err != nil {
+		return nil, fmt.Errorf("failed to add health check: %v", err)
+	}
 
-		providerData := &cloudprovidertypes.ProviderData{
-			Ctx:    ctx,
-			Update: cloudprovidertypes.GetMachineUpdater(ctx, mgr.GetClient()),
-			Client: mgr.GetClient(),
-		}
-		// We must start the manager before we add any of the controllers, because
-		// the migrations must run before the controllers but need the mgrs client.
-		go func() {
-			if err := mgr.Start(runOptions.parentCtx.Done()); err != nil {
-				klog.Errorf("failed to start kubebuilder manager: %v", err)
-				runOptions.parentCtxDone()
-			}
-		}()
-		cacheSyncContext, cancel := context.WithTimeout(ctx, 10*time.Second)
-		defer cancel()
-		if synced := mgr.GetCache().WaitForCacheSync(cacheSyncContext.Done()); !synced {
-			klog.Error("Timed out waiting for cache to sync")
-			return
+	if profiling {
+		m := http.NewServeMux()
+		m.HandleFunc("/", pprof.Index)
+		m.HandleFunc("/cmdline", pprof.Cmdline)
+		m.HandleFunc("/profile", pprof.Profile)
+		m.HandleFunc("/symbol", pprof.Symbol)
+		m.HandleFunc("/trace", pprof.Trace)
+
+		if err := mgr.AddMetricsExtraHandler("/debug/pprof/", m); err != nil {
+			return nil, fmt.Errorf("failed to add pprof http handlers: %v", err)
 		}
+	}
 
-		// Migrate MachinesV1Alpha1Machine to ClusterV1Alpha1Machine
-		if err := migrations.MigrateMachinesv1Alpha1MachineToClusterv1Alpha1MachineIfNecessary(ctx, mgr.GetClient(), runOptions.kubeClient, providerData); err != nil {
-			klog.Errorf("Migration to clusterv1alpha1 failed: %v", err)
-			runOptions.parentCtxDone()
-			return
-		}
+	if err := mgr.Add(&controllerBootstrap{
+		mgr: mgr,
+		opt: options,
+	}); err != nil {
+		return nil, fmt.Errorf("failed to add bootstrap runnable: %v", err)
+	}
 
-		// Migrate providerConfig field to providerSpec field
-		if err := migrations.MigrateProviderConfigToProviderSpecIfNecesary(ctx, runOptions.cfg, mgr.GetClient()); err != nil {
-			klog.Errorf("Migration of providerConfig field to providerSpec field failed: %v", err)
-			runOptions.parentCtxDone()
-			return
-		}
+	return mgr, nil
+}
 
-		if err := machinecontroller.Add(
-			ctx,
-			mgr,
-			runOptions.kubeClient,
-			workerCount,
-			runOptions.metrics,
-			runOptions.prometheusRegisterer,
-			runOptions.kubeconfigProvider,
-			providerData,
-			runOptions.joinClusterTimeout,
-			runOptions.externalCloudProvider,
-			runOptions.name,
-			runOptions.bootstrapTokenServiceAccountName,
-			runOptions.skipEvictionAfter,
-			runOptions.node,
-		); err != nil {
-			klog.Errorf("failed to add Machine controller to manager: %v", err)
-			runOptions.parentCtxDone()
-			return
-		}
-		if err := machinesetcontroller.Add(mgr); err != nil {
-			klog.Errorf("failed to add MachineSet controller to manager: %v", err)
-			runOptions.parentCtxDone()
-			return
-		}
-		if err := machinedeploymentcontroller.Add(mgr); err != nil {
-			klog.Errorf("failed to add MachineDeployment controller to manager: %v", err)
-			runOptions.parentCtxDone()
-			return
-		}
-		if runOptions.nodeCSRApprover {
-			if err := nodecsrapprover.Add(mgr); err != nil {
-				klog.Errorf("failed to add NodeCSRApprover controller to manager: %v", err)
-				runOptions.parentCtxDone()
-				return
-			}
-		}
+type controllerBootstrap struct {
+	mgr manager.Manager
+	opt controllerRunOptions
+}
 
-		klog.Info("machine controller startup complete")
-	}
+// NeedLeaderElection implements manager.LeaderElectionRunnable
+func (bs *controllerBootstrap) NeedLeaderElection() bool {
+	return true
+}
 
-	le, err := leaderelection.NewLeaderElector(leaderelection.LeaderElectionConfig{
-		Lock:          &rl,
-		LeaseDuration: defaultLeaderElectionLeaseDuration,
-		RenewDeadline: defaultLeaderElectionRenewDeadline,
-		RetryPeriod:   defaultLeaderElectionRetryPeriod,
-		Callbacks: leaderelection.LeaderCallbacks{
-			OnStartedLeading: runController,
-			OnStoppedLeading: func() {
-				runOptions.parentCtxDone()
-			},
-		},
-	})
-	if err != nil {
-		return err
+// Start is called when the leader election succeeded and is meant to
+// coordinate running the migrations first, then starting the controllers.
+// Start is part of manager.Runnable.
+func (bs *controllerBootstrap) Start(ctx context.Context) error {
+	client := bs.mgr.GetClient()
+
+	providerData := &cloudprovidertypes.ProviderData{
+		Ctx:    ctx,
+		Update: cloudprovidertypes.GetMachineUpdater(ctx, client),
+		Client: client,
 	}
-	go le.Run(runOptions.parentCtx)
 
-	<-runOptions.parentCtx.Done()
-	klog.Info("machine controller has been successfully stopped")
-	return nil
-}
+	// Migrate MachinesV1Alpha1Machine to ClusterV1Alpha1Machine
+	if err := migrations.MigrateMachinesv1Alpha1MachineToClusterv1Alpha1MachineIfNecessary(ctx, client, bs.opt.kubeClient, providerData); err != nil {
+		return fmt.Errorf("migration to clusterv1alpha1 failed: %v", err)
+	}
 
-// createUtilHTTPServer creates a new HTTP server
-func createUtilHTTPServer(ctx context.Context, kubeClient kubernetes.Interface, kubeconfigProvider machinecontroller.KubeconfigProvider, prometheusGatherer prometheus.Gatherer) *http.Server {
-	health := healthcheck.NewHandler()
-	health.AddReadinessCheck("apiserver-connection", machinehealth.ApiserverReachable(ctx, kubeClient))
+	// Migrate providerConfig field to providerSpec field
+	if err := migrations.MigrateProviderConfigToProviderSpecIfNecesary(ctx, bs.opt.cfg, client); err != nil {
+		return fmt.Errorf("migration of providerConfig field to providerSpec field failed: %v", err)
+	}
 
-	for name, c := range readinessChecks(ctx, kubeconfigProvider) {
-		health.AddReadinessCheck(name, c)
+	if err := machinecontroller.Add(
+		ctx,
+		bs.mgr,
+		bs.opt.kubeClient,
+		workerCount,
+		bs.opt.metrics,
+		bs.opt.kubeconfigProvider,
+		providerData,
+		bs.opt.joinClusterTimeout,
+		bs.opt.externalCloudProvider,
+		bs.opt.name,
+		bs.opt.bootstrapTokenServiceAccountName,
+		bs.opt.skipEvictionAfter,
+		bs.opt.node,
+	); err != nil {
+		return fmt.Errorf("failed to add Machine controller to manager: %v", err)
 	}
 
-	m := http.NewServeMux()
-	m.Handle("/metrics", promhttp.HandlerFor(prometheusGatherer, promhttp.HandlerOpts{}))
-	m.Handle("/live", http.HandlerFunc(health.LiveEndpoint))
-	m.Handle("/ready", http.HandlerFunc(health.ReadyEndpoint))
-	if profiling {
-		m.HandleFunc("/debug/pprof/", pprof.Index)
-		m.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
-		m.HandleFunc("/debug/pprof/profile", pprof.Profile)
-		m.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
-		m.HandleFunc("/debug/pprof/trace", pprof.Trace)
+	if err := machinesetcontroller.Add(bs.mgr); err != nil {
+		return fmt.Errorf("failed to add MachineSet controller to manager: %v", err)
 	}
 
-	return &http.Server{
-		Addr:         listenAddress,
-		Handler:      m,
-		ReadTimeout:  5 * time.Second,
-		WriteTimeout: 10 * time.Second,
+	if err := machinedeploymentcontroller.Add(bs.mgr); err != nil {
+		return fmt.Errorf("failed to add MachineDeployment controller to manager: %v", err)
 	}
-}
 
-func readinessChecks(ctx context.Context, kubeconfigProvider machinecontroller.KubeconfigProvider) map[string]healthcheck.Check {
-	return map[string]healthcheck.Check{
-		"valid-info-kubeconfig": func() error {
-			cm, err := kubeconfigProvider.GetKubeconfig(ctx)
-			if err != nil {
-				klog.V(2).Infof("[healthcheck] Unable to get kubeconfig: %v", err)
-				return err
-			}
-			if len(cm.Clusters) != 1 {
-				err := errors.New("[healthcheck] Invalid kubeconfig: no clusters found")
-				klog.V(2).Info(err)
-				return err
-			}
-			for name, c := range cm.Clusters {
-				if len(c.CertificateAuthorityData) == 0 {
-					err := fmt.Errorf("[healthcheck] Invalid kubeconfig: no certificate authority data was specified for kuberconfig.clusters.['%s']", name)
-					klog.V(2).Info(err)
-					return err
-				}
-				if len(c.Server) == 0 {
-					err := fmt.Errorf("[healthcheck] Invalid kubeconfig: no server was specified for kuberconfig.clusters.['%s']", name)
-					klog.V(2).Info(err)
-					return err
-				}
-			}
-			return nil
-		},
+	if bs.opt.nodeCSRApprover {
+		if err := nodecsrapprover.Add(bs.mgr); err != nil {
+			return fmt.Errorf("failed to add NodeCSRApprover controller to manager: %v", err)
+		}
 	}
+
+	klog.Info("machine controller startup complete")
+
+	return nil
 }
 
 func parseClusterDNSIPs(s string) ([]net.IP, error) {
diff --git a/examples/machine-controller.yaml b/examples/machine-controller.yaml
index 8670da2d..a62a66ef 100644
--- a/examples/machine-controller.yaml
+++ b/examples/machine-controller.yaml
@@ -103,7 +103,7 @@ spec:
      # status enables the status subresource.
      status: {}
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
 metadata:
   name: machine-controller:kubelet-bootstrap
@@ -147,7 +147,7 @@ spec:
     metadata:
       annotations:
         "prometheus.io/scrape": "true"
-        "prometheus.io/port": "8085"
+        "prometheus.io/port": "8080"
         "prometheus.io/path": "/metrics"
       labels:
         app: machine-controller
@@ -163,7 +163,8 @@ spec:
             - -v=3
             - -worker-count=5
             - -cluster-dns=10.10.10.10
-            - -internal-listen-address=0.0.0.0:8085
+            - -metrics-address=0.0.0.0:8080
+            - -health-probe-address=0.0.0.0:8085
             # Machines that fail to join the cluster within this timeout and
             # are owned by a MachineSet will get deleted so the MachineSet
             # controller re-creates them
@@ -172,13 +173,13 @@ spec:
           - containerPort: 8085
           livenessProbe:
             httpGet:
-              path: /live
+              path: /readyz
               port: 8085
             initialDelaySeconds: 5
             periodSeconds: 5
           readinessProbe:
             httpGet:
-              path: /ready
+              path: /healthz
               port: 8085
             periodSeconds: 5
 ---
@@ -260,7 +261,7 @@ metadata:
   labels:
     local-testing: "true"
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: Role
 metadata:
   name: machine-controller
@@ -272,6 +273,7 @@ rules:
   - ""
   resources:
   - secrets
+  - configmaps
   verbs:
   - create
   - update
@@ -291,8 +293,14 @@ rules:
   - endpoints
   verbs:
   - create
+- apiGroups:
+  - "coordination.k8s.io"
+  resources:
+  - leases
+  verbs:
+  - "*"
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: Role
 metadata:
   name: machine-controller
@@ -309,7 +317,7 @@ rules:
   - watch
   - list
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: Role
 metadata:
   name: machine-controller
@@ -326,7 +334,7 @@ rules:
   - watch
   - list
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
   name: machine-controller
@@ -342,7 +350,7 @@ subjects:
   name: machine-controller
   namespace: kube-system
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
   name: machine-controller
@@ -358,7 +366,7 @@ subjects:
   name: machine-controller
   namespace: kube-system
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
   name: machine-controller
@@ -374,7 +382,7 @@ subjects:
   name: machine-controller
   namespace: kube-system
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRole
 metadata:
   name: machine-controller
@@ -481,7 +489,7 @@ rules:
   verbs:
   - "approve"
 ---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
 metadata:
   name: machine-controller
@@ -496,13 +504,15 @@ subjects:
     name: machine-controller
     namespace: kube-system
 ---
-apiVersion: admissionregistration.k8s.io/v1beta1
+apiVersion: admissionregistration.k8s.io/v1
 kind: MutatingWebhookConfiguration
 metadata:
   name: machinedeployments.machine-controller.kubermatic.io
 webhooks:
 - name: machinedeployments.machine-controller.kubermatic.io
   failurePolicy: Fail
+  sideEffects: None
+  admissionReviewVersions: ["v1", "v1beta1"]
   rules:
   - apiGroups:
     - "cluster.k8s.io"
@@ -521,6 +531,8 @@ webhooks:
     caBundle: __admission_ca_cert__
 - name: machines.machine-controller.kubermatic.io
   failurePolicy: Fail
+  sideEffects: None
+  admissionReviewVersions: ["v1", "v1beta1"]
   rules:
   - apiGroups:
     - "cluster.k8s.io"
diff --git a/go.mod b/go.mod
index 0ba030b4..3feb7f51 100644
--- a/go.mod
+++ b/go.mod
@@ -24,7 +24,6 @@ require (
 	github.com/docker/distribution v2.7.1+incompatible
 	github.com/emicklei/go-restful v2.11.2+incompatible // indirect
 	github.com/ghodss/yaml v1.0.0
-	github.com/go-logr/logr v0.3.0 // indirect
 	github.com/go-openapi/spec v0.19.6 // indirect
 	github.com/go-openapi/swag v0.19.7 // indirect
 	github.com/go-test/deep v1.0.7
@@ -34,8 +33,6 @@ require (
 	github.com/hetznercloud/hcloud-go v1.23.1
 	github.com/linode/linodego v0.24.0
 	github.com/mailru/easyjson v0.7.1 // indirect
-	github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24
-	github.com/oklog/run v1.1.0
 	github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
 	github.com/packethost/packngo v0.1.1-0.20190410075950-a02c426e4888
 	github.com/patrickmn/go-cache v2.1.0+incompatible
@@ -47,11 +44,10 @@ require (
 	github.com/sethvargo/go-password v0.2.0
 	github.com/vincent-petithory/dataurl v0.0.0-20160330182126-9a301d65acbb // indirect
 	github.com/vmware/govmomi v0.23.1
-	go.uber.org/atomic v1.5.1 // indirect
-	go.uber.org/multierr v1.4.0 // indirect
 	go4.org v0.0.0-20200104003542-c7e774b10ea0 // indirect
 	golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0
 	golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58
+	gomodules.xyz/jsonpatch/v2 v2.1.0
 	google.golang.org/api v0.36.0
 	gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect
 	gopkg.in/gcfg.v1 v1.2.3
@@ -65,7 +61,7 @@ require (
 	k8s.io/utils v0.0.0-20201110183641-67b214c5f920
 	kubevirt.io/client-go v0.30.0
 	kubevirt.io/containerized-data-importer v1.10.6
-	sigs.k8s.io/controller-runtime v0.6.4
+	sigs.k8s.io/controller-runtime v0.7.0
 	sigs.k8s.io/yaml v1.2.0
 )
 
diff --git a/go.sum b/go.sum
index 4d8c98df..16b364f7 100644
--- a/go.sum
+++ b/go.sum
@@ -268,8 +268,8 @@ github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7
 github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
 github.com/go-logr/logr v0.3.0 h1:q4c+kbcR0d5rSurhBR8dIgieOaYpXtsdTYfx22Cu6rs=
 github.com/go-logr/logr v0.3.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-logr/zapr v0.1.0 h1:h+WVe9j6HAA01niTJPA/kKH0i7e0rLZBCwauQFcRE54=
-github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
+github.com/go-logr/zapr v0.2.0 h1:v6Ji8yBW77pva6NkJKQdHLAJKrIJKRHz0RXwPqCHSR4=
+github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU=
 github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
 github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
 github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
@@ -415,11 +415,11 @@ github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
 github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
 github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
 github.com/googleapis/gnostic v0.4.1 h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I=
 github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=
+github.com/googleapis/gnostic v0.5.1 h1:A8Yhf6EtqTv9RMsU6MQTyrtV1TjWlR6xU9BsZIwuTCM=
+github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
 github.com/gophercloud/gophercloud v0.14.0 h1:c2Byo+YMxhHlTJ3TPptjQ4dOQ1YknTHDJ/9zClDH+84=
 github.com/gophercloud/gophercloud v0.14.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
@@ -475,8 +475,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:
 github.com/imdario/mergo v0.0.0-20171009183408-7fe0c75c13ab/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
 github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
 github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg=
-github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.10 h1:6q5mVkdH/vYmqngx7kZQTjJ5HRsx+ImorDIEQ+beJgc=
+github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
 github.com/improbable-eng/thanos v0.3.2/go.mod h1:GZewVGILKuJVPNRn7L4Zw+7X96qzFOwj63b22xYGXBE=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
@@ -532,8 +532,6 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN
 github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
 github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
 github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
-github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24 h1:uYuGXJBAi1umT+ZS4oQJUgKtfXCAYTR+n9zw1ViT0vA=
-github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
@@ -583,8 +581,6 @@ github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
 github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
 github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
-github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
-github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -595,6 +591,8 @@ github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+
 github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ=
 github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
+github.com/onsi/ginkgo v1.14.1 h1:jMU0WaQrP0a/YAEq8eJmJKjBoMs+pClEr1vDMlM/Do4=
+github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
 github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -602,6 +600,8 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
 github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
 github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE=
 github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
+github.com/onsi/gomega v1.10.2 h1:aY/nuoWlKJud2J6U0E3NWsjlg+0GtwXxgEqthRdzlcs=
+github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
 github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
 github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@@ -676,7 +676,6 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z
 github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
 github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
-github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4=
 github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
@@ -726,6 +725,7 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
 github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
+github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
 github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
 github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
@@ -779,19 +779,24 @@ go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygL
 go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
-go.uber.org/atomic v1.5.1 h1:rsqfU5vBkVknbhUGbAUwQKR2H4ItV8tjJ+6kJX4cxHM=
-go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
+go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
-go.uber.org/multierr v1.4.0 h1:f3WCSC2KzAcBXGATIxAB1E2XuCpNU255wNKZ505qi3E=
-go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
+go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
 go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.13.0 h1:nR6NoDBgAf67s68NhaXbsojM+2gxp3S1hWkHDl27pVU=
 go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
+go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM=
+go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
 go4.org v0.0.0-20200104003542-c7e774b10ea0 h1:M6XsnQeLwG+rHQ+/rrGh3puBI3WZEy9TBWmf2H+enQA=
 go4.org v0.0.0-20200104003542-c7e774b10ea0/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -809,7 +814,6 @@ golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE=
@@ -876,7 +880,6 @@ golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -946,7 +949,6 @@ golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190927073244-c990c680b611/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -964,6 +966,7 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -987,6 +990,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s=
+golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1011,11 +1016,11 @@ golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgw
 golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20190930201159-7c411dea38b0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -1055,8 +1060,8 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-gomodules.xyz/jsonpatch/v2 v2.0.1 h1:xyiBuvkD2g5n7cYzx6u2sxQvsAy4QJsZFCzGVdzOXZ0=
-gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
+gomodules.xyz/jsonpatch/v2 v2.1.0 h1:Phva6wqu+xR//Njw6iorylFFgn/z547tw5Ne3HZPQ+k=
+gomodules.xyz/jsonpatch/v2 v2.1.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
 gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
 gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
@@ -1196,6 +1201,8 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
 gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
+gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
 honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -1211,24 +1218,24 @@ k8s.io/api v0.0.0-20181115043458-b799cb063522/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j
 k8s.io/api v0.0.0-20190725062911-6607c48751ae/go.mod h1:1O0xzX/RAtnm7l+5VEUxZ1ysO2ghatfq/OZED4zM9kA=
 k8s.io/api v0.0.0-20190918155943-95b840bb6a1f/go.mod h1:uWuOHnjmNrtQomJrvEBg0c0HRNyQ+8KTEERVsK0PW48=
 k8s.io/api v0.16.4/go.mod h1:AtzMnsR45tccQss5q8RnF+W8L81DH6XwXwo/joEx9u0=
-k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI=
+k8s.io/api v0.19.2/go.mod h1:IQpK0zFQ1xc5iNIQPqzgoOwuFugaYHK4iCknlAQP9nI=
 k8s.io/api v0.19.4 h1:I+1I4cgJYuCDgiLNjKx7SLmIbwgj9w7N7Zr5vSIdwpo=
 k8s.io/api v0.19.4/go.mod h1:SbtJ2aHCItirzdJ36YslycFNzWADYH3tgOhvBEFtZAk=
 k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783/go.mod h1:xvae1SZB3E17UpV59AWc271W/Ph25N+bjPyR63X6tPY=
 k8s.io/apiextensions-apiserver v0.16.4/go.mod h1:HYQwjujEkXmQNhap2C9YDdIVOSskGZ3et0Mvjcyjbto=
-k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M=
+k8s.io/apiextensions-apiserver v0.19.2/go.mod h1:EYNjpqIAvNZe+svXVx9j4uBaVhTB4C94HkY3w058qcg=
 k8s.io/apiextensions-apiserver v0.19.4 h1:D9ak9T012tb3vcGFWYmbQuj9SCC8YM4zhA4XZqsAQC4=
 k8s.io/apiextensions-apiserver v0.19.4/go.mod h1:B9rpH/nu4JBCtuUp3zTTk8DEjZUupZTBEec7/2zNRYw=
 k8s.io/apimachinery v0.0.0-20181110190943-2a7c93004028/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
 k8s.io/apimachinery v0.0.0-20190719140911-bfcf53abc9f8/go.mod h1:sBJWIJZfxLhp7mRsRyuAE/NfKTr3kXGR1iaqg8O0gJo=
 k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655/go.mod h1:nL6pwRT8NgfF8TT68DBI8uEePRt89cSvoXUVqbkWHq4=
 k8s.io/apimachinery v0.16.4/go.mod h1:llRdnznGEAqC3DcNm6yEj472xaFVfLM7hnYofMb12tQ=
-k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
+k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
 k8s.io/apimachinery v0.19.4 h1:+ZoddM7nbzrDCp0T3SWnyxqf8cbWPT2fkZImoyvHUG0=
 k8s.io/apimachinery v0.19.4/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
 k8s.io/apiserver v0.0.0-20190918160949-bfa5e2e684ad/go.mod h1:XPCXEwhjaFN29a8NldXA901ElnKeKLrLtREO9ZhFyhg=
 k8s.io/apiserver v0.16.4/go.mod h1:kbLJOak655g6W7C+muqu1F76u9wnEycfKMqbVaXIdAc=
-k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg=
+k8s.io/apiserver v0.19.2/go.mod h1:FreAq0bJ2vtZFj9Ago/X0oNGC51GfubKK/ViOKfVAOA=
 k8s.io/apiserver v0.19.4/go.mod h1:X8WRHCR1UGZDd7HpV0QDc1h/6VbbpAeAGyxSh8yzZXw=
 k8s.io/client-go v0.19.4 h1:85D3mDNoLF+xqpyE9Dh/OtrJDyJrSRKkHmDXIbEzer8=
 k8s.io/client-go v0.19.4/go.mod h1:ZrEy7+wj9PjH5VMBCuu/BDlvtUAku0oVFk4MmnW9mWA=
@@ -1236,18 +1243,17 @@ k8s.io/code-generator v0.0.0-20181114232248-ae218e241252/go.mod h1:IPqxl/YHk05no
 k8s.io/code-generator v0.0.0-20190717022600-77f3a1fe56bb/go.mod h1:cDx5jQmWH25Ff74daM7NVYty9JWw9dvIS9zT9eIubCY=
 k8s.io/code-generator v0.0.0-20190912054826-cd179ad6a269/go.mod h1:V5BD6M4CyaN5m+VthcclXWsVcT1Hu+glwa1bi3MIsyE=
 k8s.io/code-generator v0.16.4/go.mod h1:mJUgkl06XV4kstAnLHAIzJPVCOzVR+ZcfPIv4fUsFCY=
-k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
+k8s.io/code-generator v0.19.2/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk=
 k8s.io/code-generator v0.19.4/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk=
 k8s.io/component-base v0.0.0-20190918160511-547f6c5d7090/go.mod h1:933PBGtQFJky3TEwYx4aEPZ4IxqhWh3R6DCmzqIn1hA=
 k8s.io/component-base v0.16.4/go.mod h1:GYQ+4hlkEwdlpAp59Ztc4gYuFhdoZqiAJD1unYDJ3FM=
-k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14=
+k8s.io/component-base v0.19.2/go.mod h1:g5LrsiTiabMLZ40AR6Hl45f088DevyGY+cCE2agEIVo=
 k8s.io/component-base v0.19.4 h1:HobPRToQ8KJ9ubRju6PUAk9I5V1GNMJZ4PyWbiWA0uI=
 k8s.io/component-base v0.19.4/go.mod h1:ZzuSLlsWhajIDEkKF73j64Gz/5o0AgON08FgRbEPI70=
 k8s.io/gengo v0.0.0-20181106084056-51747d6e00da/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20190907103519-ebc107f98eab/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -1264,15 +1270,13 @@ k8s.io/kube-openapi v0.0.0-20181114233023-0317810137be/go.mod h1:BXM9ceUBTj2QnfH
 k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
 k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
 k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
 k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6 h1:+WnxoVtG8TMiudHBSEtrVL1egv36TkkJm+bA8AxicmQ=
 k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
 k8s.io/kubelet v0.19.4 h1:X5xd2BAJYz7i+arNgMlQSJl7r2xzpfducf4BYqn/Loo=
 k8s.io/kubelet v0.19.4/go.mod h1:zJnPeb7nJCRvtAwxJhe9fFCtMLXL3cXbQiczPmpDrLU=
 k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
+k8s.io/utils v0.0.0-20200912215256-4140de9c8800/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20201110183641-67b214c5f920 h1:CbnUZsM497iRC5QMVkHwyl8s2tB3g7yaSHkYPkpgelw=
 k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 kubevirt.io/client-go v0.30.0 h1:0jUvTa/Ev03lCN+Dr4mH22ipoJ9otAOkpFh6wA66b5M=
@@ -1287,17 +1291,14 @@ modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
 rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
 sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.9/go.mod h1:dzAXnQbTRyDlZPJX2SUPEqvnB+j7AJjtlox7PEwigU0=
-sigs.k8s.io/controller-runtime v0.6.4 h1:4013CKsBs5bEqo+LevzDett+LLxag/FjQWG94nVZ/9g=
-sigs.k8s.io/controller-runtime v0.6.4/go.mod h1:WlZNXcM0++oyaQt4B7C2lEE5JYRs8vJUzRP4N4JpdAY=
+sigs.k8s.io/controller-runtime v0.7.0 h1:bU20IBBEPccWz5+zXpLnpVsgBYxqclaHu1pVDl/gEt8=
+sigs.k8s.io/controller-runtime v0.7.0/go.mod h1:pJ3YBrJiAqMAZKi6UVGuE98ZrroV1p+pIhoHsMm9wdU=
 sigs.k8s.io/controller-tools v0.2.4/go.mod h1:m/ztfQNocGYBgTTCmFdnK94uVvgxeZeE3LtJvd/jIzA=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
 sigs.k8s.io/structured-merge-diff v1.0.1 h1:LOs1LZWMsz1xs77Phr/pkB4LFaavH7IVq/3+WTN9XTA=
 sigs.k8s.io/structured-merge-diff v1.0.1/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
-sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
-sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.1 h1:YXTMot5Qz/X1iBRJhAt+vI+HVttY0WkSqqhKxQ0xVbA=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
diff --git a/hack/run-machine-controller.sh b/hack/run-machine-controller.sh
index 4de05d6f..cf607c18 100755
--- a/hack/run-machine-controller.sh
+++ b/hack/run-machine-controller.sh
@@ -28,4 +28,5 @@ $(dirname $0)/../machine-controller \
   -v=6 \
   -cluster-dns=172.16.0.10 \
   -enable-profiling \
-  -internal-listen-address=0.0.0.0:8085
+  -metrics-address=0.0.0.0:8080 \
+  -health-probe-address=0.0.0.0:8085
diff --git a/pkg/admission/admission.go b/pkg/admission/admission.go
index a5926588..3e836d24 100644
--- a/pkg/admission/admission.go
+++ b/pkg/admission/admission.go
@@ -19,15 +19,16 @@ package admission
 import (
 	"context"
 	"encoding/json"
+	"errors"
 	"fmt"
 	"io/ioutil"
 	"net/http"
 	"reflect"
 	"time"
 
-	"github.com/mattbaird/jsonpatch"
+	"gomodules.xyz/jsonpatch/v2"
 
-	admissionv1beta1 "k8s.io/api/admission/v1beta1"
+	admissionv1 "k8s.io/api/admission/v1"
 	apiequality "k8s.io/apimachinery/pkg/api/equality"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/runtime"
@@ -43,7 +44,7 @@ type admissionData struct {
 	userDataManager *userdatamanager.Manager
 }
 
-var jsonPatch = admissionv1beta1.PatchTypeJSONPatch
+var jsonPatch = admissionv1.PatchTypeJSONPatch
 
 func New(listenAddress string, client ctrlruntimeclient.Client, um *userdatamanager.Manager) *http.Server {
 	m := http.NewServeMux()
@@ -84,8 +85,8 @@ func newJSONPatch(original, current runtime.Object) ([]jsonpatch.JsonPatchOperat
 	return jsonpatch.CreatePatch(ori, cur)
 }
 
-func createAdmissionResponse(original, mutated runtime.Object) (*admissionv1beta1.AdmissionResponse, error) {
-	response := &admissionv1beta1.AdmissionResponse{}
+func createAdmissionResponse(original, mutated runtime.Object) (*admissionv1.AdmissionResponse, error) {
+	response := &admissionv1.AdmissionResponse{}
 	response.Allowed = true
 	if !apiequality.Semantic.DeepEqual(original, mutated) {
 		patchOpts, err := newJSONPatch(original, mutated)
@@ -105,34 +106,50 @@ func createAdmissionResponse(original, mutated runtime.Object) (*admissionv1beta
 	return response, nil
 }
 
-type mutator func(admissionv1beta1.AdmissionReview) (*admissionv1beta1.AdmissionResponse, error)
+type mutator func(admissionv1.AdmissionRequest) (*admissionv1.AdmissionResponse, error)
 
 func handleFuncFactory(mutate mutator) func(http.ResponseWriter, *http.Request) {
 	return func(w http.ResponseWriter, r *http.Request) {
-
-		// We must always return an AdmissionReview with an AdmissionResponse
-		// even on error, hence the admissionExecutor  func, this makes error handling much easier
-		admissionResponse, err := admissionExecutor(r, mutate)
+		review, err := readReview(r)
 		if err != nil {
-			admissionResponse = &admissionv1beta1.AdmissionResponse{}
-			admissionResponse.Result = &metav1.Status{Message: err.Error()}
+			klog.Warningf("invalid admission review: %v", err)
+
+			// proper AdmissionReview responses require metadata that is not available
+			// in broken requests, so we return a basic failure response
+			w.WriteHeader(http.StatusBadRequest)
+			if _, err := w.Write([]byte(fmt.Sprintf("invalid request: %v", err))); err != nil {
+				klog.Errorf("failed to write badRequest: %v", err)
+			}
+			return
 		}
 
-		admissionReview := admissionv1beta1.AdmissionReview{}
-		admissionReview.Response = admissionResponse
-
-		resp, err := json.Marshal(admissionReview)
+		// run the mutation logic
+		response, err := mutate(*review.Request)
+		if err != nil {
+			response = &admissionv1.AdmissionResponse{}
+			response.Result = &metav1.Status{Message: err.Error()}
+		}
+		response.UID = review.Request.UID
+
+		resp, err := json.Marshal(&admissionv1.AdmissionReview{
+			TypeMeta: metav1.TypeMeta{
+				APIVersion: admissionv1.SchemeGroupVersion.String(),
+				Kind:       "AdmissionReview",
+			},
+			Response: response,
+		})
 		if err != nil {
 			klog.Errorf("failed to marshal admissionResponse: %v", err)
 			return
 		}
+
 		if _, err := w.Write(resp); err != nil {
 			klog.Errorf("failed to write admissionResponse: %v", err)
 		}
 	}
 }
 
-func admissionExecutor(r *http.Request, mutate mutator) (*admissionv1beta1.AdmissionResponse, error) {
+func readReview(r *http.Request) (*admissionv1.AdmissionReview, error) {
 	var body []byte
 	if r.Body == nil {
 		return nil, fmt.Errorf("request has no body")
@@ -147,15 +164,13 @@ func admissionExecutor(r *http.Request, mutate mutator) (*admissionv1beta1.Admis
 		return nil, fmt.Errorf("header Content-Type was %s, expected application/json", contentType)
 	}
 
-	admissionReview := admissionv1beta1.AdmissionReview{}
-	if err := json.Unmarshal(body, &admissionReview); err != nil {
+	admissionReview := &admissionv1.AdmissionReview{}
+	if err := json.Unmarshal(body, admissionReview); err != nil {
 		return nil, fmt.Errorf("failed to unmarshal request into admissionReview: %v", err)
 	}
-
-	admissionResponse, err := mutate(admissionReview)
-	if err != nil {
-		return nil, fmt.Errorf("defaulting or validation failed: %v", err)
+	if admissionReview.Request == nil {
+		return nil, errors.New("invalid admission review: no request defined")
 	}
 
-	return admissionResponse, nil
+	return admissionReview, nil
 }
diff --git a/pkg/admission/machinedeployments.go b/pkg/admission/machinedeployments.go
index 292048bb..7ea4e2df 100644
--- a/pkg/admission/machinedeployments.go
+++ b/pkg/admission/machinedeployments.go
@@ -22,14 +22,13 @@ import (
 
 	clusterv1alpha1 "github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1"
 
-	admissionv1beta1 "k8s.io/api/admission/v1beta1"
+	admissionv1 "k8s.io/api/admission/v1"
 	apiequality "k8s.io/apimachinery/pkg/api/equality"
 )
 
-func (ad *admissionData) mutateMachineDeployments(ar admissionv1beta1.AdmissionReview) (*admissionv1beta1.AdmissionResponse, error) {
-
+func (ad *admissionData) mutateMachineDeployments(ar admissionv1.AdmissionRequest) (*admissionv1.AdmissionResponse, error) {
 	machineDeployment := clusterv1alpha1.MachineDeployment{}
-	if err := json.Unmarshal(ar.Request.Object.Raw, &machineDeployment); err != nil {
+	if err := json.Unmarshal(ar.Object.Raw, &machineDeployment); err != nil {
 		return nil, fmt.Errorf("failed to unmarshal: %v", err)
 	}
 	machineDeploymentOriginal := machineDeployment.DeepCopy()
@@ -41,9 +40,9 @@ func (ad *admissionData) mutateMachineDeployments(ar admissionv1beta1.AdmissionR
 
 	// Do not validate the spec if it hasn't changed
 	machineSpecNeedsValidation := true
-	if ar.Request.Operation == admissionv1beta1.Update {
+	if ar.Operation == admissionv1.Update {
 		var oldMachineDeployment clusterv1alpha1.MachineDeployment
-		if err := json.Unmarshal(ar.Request.OldObject.Raw, &oldMachineDeployment); err != nil {
+		if err := json.Unmarshal(ar.OldObject.Raw, &oldMachineDeployment); err != nil {
 			return nil, fmt.Errorf("failed to unmarshal OldObject: %v", err)
 		}
 		if equal := apiequality.Semantic.DeepEqual(oldMachineDeployment.Spec.Template.Spec, machineDeployment.Spec.Template.Spec); equal {
diff --git a/pkg/admission/machines.go b/pkg/admission/machines.go
index 9368dd11..2e44f794 100644
--- a/pkg/admission/machines.go
+++ b/pkg/admission/machines.go
@@ -27,7 +27,7 @@ import (
 	"github.com/kubermatic/machine-controller/pkg/providerconfig"
 	providerconfigtypes "github.com/kubermatic/machine-controller/pkg/providerconfig/types"
 
-	admissionv1beta1 "k8s.io/api/admission/v1beta1"
+	admissionv1 "k8s.io/api/admission/v1"
 	apiequality "k8s.io/apimachinery/pkg/api/equality"
 	"k8s.io/klog"
 )
@@ -37,10 +37,10 @@ import (
 // the `providerConfig` field to `providerSpec`
 const BypassSpecNoModificationRequirementAnnotation = "kubermatic.io/bypass-no-spec-mutation-requirement"
 
-func (ad *admissionData) mutateMachines(ar admissionv1beta1.AdmissionReview) (*admissionv1beta1.AdmissionResponse, error) {
+func (ad *admissionData) mutateMachines(ar admissionv1.AdmissionRequest) (*admissionv1.AdmissionResponse, error) {
 
 	machine := clusterv1alpha1.Machine{}
-	if err := json.Unmarshal(ar.Request.Object.Raw, &machine); err != nil {
+	if err := json.Unmarshal(ar.Object.Raw, &machine); err != nil {
 		return nil, fmt.Errorf("failed to unmarshal: %v", err)
 	}
 	machineOriginal := machine.DeepCopy()
@@ -51,9 +51,9 @@ func (ad *admissionData) mutateMachines(ar admissionv1beta1.AdmissionReview) (*a
 	// because otherwise it can never add the delete finalizer as it internally defaults the Name
 	// as well, since on the CREATE request for machines, there is only Metadata.GenerateName set
 	// so we can't default it initially
-	if ar.Request.Operation == admissionv1beta1.Update {
+	if ar.Operation == admissionv1.Update {
 		oldMachine := clusterv1alpha1.Machine{}
-		if err := json.Unmarshal(ar.Request.OldObject.Raw, &oldMachine); err != nil {
+		if err := json.Unmarshal(ar.OldObject.Raw, &oldMachine); err != nil {
 			return nil, fmt.Errorf("failed to unmarshal OldObject: %v", err)
 		}
 		if oldMachine.Spec.Name != machine.Spec.Name && machine.Spec.Name == machine.Name {
@@ -78,7 +78,7 @@ func (ad *admissionData) mutateMachines(ar admissionv1beta1.AdmissionReview) (*a
 
 	// Default and verify .Spec on CREATE only, its expensive and not required to do it on UPDATE
 	// as we disallow .Spec changes anyways
-	if ar.Request.Operation == admissionv1beta1.Create {
+	if ar.Operation == admissionv1.Create {
 		if err := ad.defaultAndValidateMachineSpec(&machine.Spec); err != nil {
 			return nil, err
 		}
diff --git a/pkg/apis/cluster/v1alpha1/register.go b/pkg/apis/cluster/v1alpha1/register.go
index 011aa8cd..ce0eeac3 100644
--- a/pkg/apis/cluster/v1alpha1/register.go
+++ b/pkg/apis/cluster/v1alpha1/register.go
@@ -26,7 +26,7 @@ package v1alpha1
 
 import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
-	"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
+	"sigs.k8s.io/controller-runtime/pkg/scheme"
 )
 
 var (
diff --git a/pkg/cloudprovider/provider/aws/provider.go b/pkg/cloudprovider/provider/aws/provider.go
index f090cea4..35d0ab73 100644
--- a/pkg/cloudprovider/provider/aws/provider.go
+++ b/pkg/cloudprovider/provider/aws/provider.go
@@ -50,19 +50,17 @@ import (
 	"k8s.io/apimachinery/pkg/util/sets"
 	"k8s.io/klog"
 	"k8s.io/utils/pointer"
+	"sigs.k8s.io/controller-runtime/pkg/metrics"
 )
 
 var (
-	prometheusRegisterer       = &sync.Once{}
 	metricInstancesForMachines = prometheus.NewGaugeVec(prometheus.GaugeOpts{
 		Name: "machine_controller_aws_instances_for_machine",
 		Help: "The number of instances at aws for a given machine"}, []string{"machine"})
 )
 
 func init() {
-	prometheusRegisterer.Do(func() {
-		prometheus.MustRegister(metricInstancesForMachines)
-	})
+	metrics.Registry.MustRegister(metricInstancesForMachines)
 }
 
 type provider struct {
diff --git a/pkg/controller/machine/kubeconfig.go b/pkg/controller/machine/kubeconfig.go
index 5c5d0372..ca960a47 100644
--- a/pkg/controller/machine/kubeconfig.go
+++ b/pkg/controller/machine/kubeconfig.go
@@ -17,6 +17,7 @@ limitations under the License.
 package controller
 
 import (
+	"context"
 	"encoding/json"
 	"errors"
 	"fmt"
@@ -46,23 +47,23 @@ const (
 	contextIdentifier string = "c"
 )
 
-func (r *Reconciler) createBootstrapKubeconfig(name string) (*clientcmdapi.Config, error) {
+func (r *Reconciler) createBootstrapKubeconfig(ctx context.Context, name string) (*clientcmdapi.Config, error) {
 	var token string
 	var err error
 
 	if r.bootstrapTokenServiceAccountName != nil {
-		token, err = r.getTokenFromServiceAccount(*r.bootstrapTokenServiceAccountName)
+		token, err = r.getTokenFromServiceAccount(ctx, *r.bootstrapTokenServiceAccountName)
 		if err != nil {
 			return nil, fmt.Errorf("failed to get token from ServiceAccount %s/%s: %v", r.bootstrapTokenServiceAccountName.Namespace, r.bootstrapTokenServiceAccountName.Name, err)
 		}
 	} else {
-		token, err = r.createBootstrapToken(name)
+		token, err = r.createBootstrapToken(ctx, name)
 		if err != nil {
 			return nil, fmt.Errorf("failed to create bootstrap token: %v", err)
 		}
 	}
 
-	infoKubeconfig, err := r.kubeconfigProvider.GetKubeconfig(r.ctx)
+	infoKubeconfig, err := r.kubeconfigProvider.GetKubeconfig(ctx)
 	if err != nil {
 		return nil, err
 	}
@@ -95,16 +96,16 @@ func (r *Reconciler) createBootstrapKubeconfig(name string) (*clientcmdapi.Confi
 	return outConfig, nil
 }
 
-func (r *Reconciler) getTokenFromServiceAccount(name types.NamespacedName) (string, error) {
+func (r *Reconciler) getTokenFromServiceAccount(ctx context.Context, name types.NamespacedName) (string, error) {
 	sa := &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{Name: name.Name, Namespace: name.Namespace}}
-	raw, err := r.getAsUnstructured(sa)
+	raw, err := r.getAsUnstructured(ctx, sa)
 	if err != nil {
 		return "", fmt.Errorf("failed to get serviceAccount %q: %v", name.String(), err)
 	}
 	sa = raw.(*corev1.ServiceAccount)
 	for _, serviceAccountSecretName := range sa.Secrets {
 		serviceAccountSecret := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Namespace: sa.Namespace, Name: serviceAccountSecretName.Name}}
-		raw, err = r.getAsUnstructured(serviceAccountSecret)
+		raw, err = r.getAsUnstructured(ctx, serviceAccountSecret)
 		if err != nil {
 			return "", fmt.Errorf("failed to get serviceAccountSecret: %v", err)
 		}
@@ -117,13 +118,13 @@ func (r *Reconciler) getTokenFromServiceAccount(name types.NamespacedName) (stri
 	return "", errors.New("no serviceAccountSecret found")
 }
 
-func (r *Reconciler) createBootstrapToken(name string) (string, error) {
-	existingSecret, err := r.getSecretIfExists(name)
+func (r *Reconciler) createBootstrapToken(ctx context.Context, name string) (string, error) {
+	existingSecret, err := r.getSecretIfExists(ctx, name)
 	if err != nil {
 		return "", err
 	}
 	if existingSecret != nil {
-		return r.updateSecretExpirationAndGetToken(existingSecret)
+		return r.updateSecretExpirationAndGetToken(ctx, existingSecret)
 	}
 
 	tokenID := rand.String(6)
@@ -147,14 +148,14 @@ func (r *Reconciler) createBootstrapToken(name string) (string, error) {
 		},
 	}
 
-	if err := r.client.Create(r.ctx, &secret); err != nil {
+	if err := r.client.Create(ctx, &secret); err != nil {
 		return "", fmt.Errorf("failed to create bootstrap token secret: %v", err)
 	}
 
 	return fmt.Sprintf(tokenFormatter, tokenID, tokenSecret), nil
 }
 
-func (r *Reconciler) updateSecretExpirationAndGetToken(secret *corev1.Secret) (string, error) {
+func (r *Reconciler) updateSecretExpirationAndGetToken(ctx context.Context, secret *corev1.Secret) (string, error) {
 	if secret.Data == nil {
 		secret.Data = map[string][]byte{}
 	}
@@ -174,20 +175,20 @@ func (r *Reconciler) updateSecretExpirationAndGetToken(secret *corev1.Secret) (s
 		return token, nil
 	}
 
-	if err := r.client.Update(r.ctx, secret); err != nil {
+	if err := r.client.Update(ctx, secret); err != nil {
 		return "", fmt.Errorf("failed to update secret: %v", err)
 	}
 	return token, nil
 }
 
-func (r *Reconciler) getSecretIfExists(name string) (*corev1.Secret, error) {
+func (r *Reconciler) getSecretIfExists(ctx context.Context, name string) (*corev1.Secret, error) {
 	req, err := labels.NewRequirement(machineNameLabelKey, selection.Equals, []string{name})
 	if err != nil {
 		return nil, err
 	}
 	selector := labels.NewSelector().Add(*req)
 	secrets := &corev1.SecretList{}
-	if err := r.client.List(r.ctx, secrets,
+	if err := r.client.List(ctx, secrets,
 		&ctrlruntimeclient.ListOptions{
 			Namespace:     metav1.NamespaceSystem,
 			LabelSelector: selector}); err != nil {
@@ -207,7 +208,7 @@ func (r *Reconciler) getSecretIfExists(name string) (*corev1.Secret, error) {
 // The purpose of this is to avoid establishing a lister, which the cache-backed client automatically
 // does. The object passed in must have name and namespace set. The returned object will
 // be the same as the passed in one, if there was no error.
-func (r *Reconciler) getAsUnstructured(obj runtime.Object) (runtime.Object, error) {
+func (r *Reconciler) getAsUnstructured(ctx context.Context, obj runtime.Object) (runtime.Object, error) {
 	metaObj, ok := obj.(metav1.Object)
 	if !ok {
 		return nil, errors.New("can not assert object as metav1.Object")
@@ -226,7 +227,7 @@ func (r *Reconciler) getAsUnstructured(obj runtime.Object) (runtime.Object, erro
 	target.SetKind(kind)
 	name := types.NamespacedName{Name: metaObj.GetName(), Namespace: metaObj.GetNamespace()}
 
-	if err := r.client.Get(r.ctx, name, target); err != nil {
+	if err := r.client.Get(ctx, name, target); err != nil {
 		return nil, fmt.Errorf("failed to get object: %v", err)
 	}
 
diff --git a/pkg/controller/machine/machine.go b/pkg/controller/machine/machine_controller.go
similarity index 87%
rename from pkg/controller/machine/machine.go
rename to pkg/controller/machine/machine_controller.go
index 3c937a86..a68ed9dc 100644
--- a/pkg/controller/machine/machine.go
+++ b/pkg/controller/machine/machine_controller.go
@@ -57,6 +57,7 @@ import (
 	"k8s.io/client-go/tools/reference"
 	"k8s.io/client-go/util/retry"
 	"k8s.io/klog"
+	"sigs.k8s.io/controller-runtime/pkg/client"
 	ctrlruntimeclient "sigs.k8s.io/controller-runtime/pkg/client"
 	"sigs.k8s.io/controller-runtime/pkg/controller"
 	"sigs.k8s.io/controller-runtime/pkg/event"
@@ -91,7 +92,6 @@ const (
 
 // Reconciler is the controller implementation for machine resources
 type Reconciler struct {
-	ctx        context.Context
 	kubeClient kubernetes.Interface
 	client     ctrlruntimeclient.Client
 
@@ -144,13 +144,16 @@ type MetricsCollection struct {
 	Errors  prometheus.Counter
 }
 
+func (mc *MetricsCollection) MustRegister(registerer prometheus.Registerer) {
+	registerer.MustRegister(mc.Errors, mc.Workers)
+}
+
 func Add(
 	ctx context.Context,
 	mgr manager.Manager,
 	kubeClient kubernetes.Interface,
 	numWorkers int,
 	metrics *MetricsCollection,
-	prometheusRegistry prometheus.Registerer,
 	kubeconfigProvider KubeconfigProvider,
 	providerData *cloudprovidertypes.ProviderData,
 	joinClusterTimeout *time.Duration,
@@ -160,11 +163,7 @@ func Add(
 	skipEvictionAfter time.Duration,
 	nodeSettings NodeSettings) error {
 
-	if prometheusRegistry != nil {
-		prometheusRegistry.MustRegister(metrics.Errors, metrics.Workers)
-	}
 	reconciler := &Reconciler{
-		ctx:                              ctx,
 		kubeClient:                       kubeClient,
 		client:                           mgr.GetClient(),
 		recorder:                         mgr.GetEventRecorderFor(ControllerName),
@@ -201,45 +200,43 @@ func Add(
 
 	return c.Watch(
 		&source.Kind{Type: &corev1.Node{}},
-		&handler.EnqueueRequestsFromMapFunc{
-			ToRequests: handler.ToRequestsFunc(func(node handler.MapObject) (result []reconcile.Request) {
-				machinesList := &clusterv1alpha1.MachineList{}
-				if err := mgr.GetClient().List(ctx, machinesList); err != nil {
-					utilruntime.HandleError(fmt.Errorf("Failed to list machines in lister: %v", err))
-					return
-				}
-
-				var ownerUIDString string
-				var exists bool
-				if labels := node.Meta.GetLabels(); labels != nil {
-					ownerUIDString, exists = labels[NodeOwnerLabelName]
-				}
-				if !exists {
-					// We get triggered by node{Add,Update}, so enqeue machines if they
-					// have no nodeRef yet to make matching happen ASAP
-					for _, machine := range machinesList.Items {
-						if machine.Status.NodeRef == nil {
-							result = append(result, reconcile.Request{
-								NamespacedName: types.NamespacedName{
-									Namespace: machine.Namespace,
-									Name:      machine.Name}})
-						}
-					}
-					return
-				}
+		handler.EnqueueRequestsFromMapFunc(func(node client.Object) (result []reconcile.Request) {
+			machinesList := &clusterv1alpha1.MachineList{}
+			if err := mgr.GetClient().List(ctx, machinesList); err != nil {
+				utilruntime.HandleError(fmt.Errorf("Failed to list machines in lister: %v", err))
+				return
+			}
 
+			var ownerUIDString string
+			var exists bool
+			if nodeLabels := node.GetLabels(); nodeLabels != nil {
+				ownerUIDString, exists = nodeLabels[NodeOwnerLabelName]
+			}
+			if !exists {
+				// We get triggered by node{Add,Update}, so enqeue machines if they
+				// have no nodeRef yet to make matching happen ASAP
 				for _, machine := range machinesList.Items {
-					if string(machine.UID) == ownerUIDString {
-						klog.V(6).Infof("Processing node: %s (machine=%s)", node.Meta.GetName(), machine.Name)
-						return []reconcile.Request{{NamespacedName: types.NamespacedName{
-							Namespace: machine.Namespace,
-							Name:      machine.Name,
-						}}}
+					if machine.Status.NodeRef == nil {
+						result = append(result, reconcile.Request{
+							NamespacedName: types.NamespacedName{
+								Namespace: machine.Namespace,
+								Name:      machine.Name}})
 					}
 				}
 				return
-			}),
-		},
+			}
+
+			for _, machine := range machinesList.Items {
+				if string(machine.UID) == ownerUIDString {
+					klog.V(6).Infof("Processing node: %s (machine=%s)", node.GetName(), machine.Name)
+					return []reconcile.Request{{NamespacedName: types.NamespacedName{
+						Namespace: machine.Namespace,
+						Name:      machine.Name,
+					}}}
+				}
+			}
+			return
+		}),
 		predicate.Funcs{UpdateFunc: func(e event.UpdateEvent) bool {
 			oldNode := e.ObjectOld.(*corev1.Node)
 			newNode := e.ObjectNew.(*corev1.Node)
@@ -289,9 +286,9 @@ func nodeIsReady(node *corev1.Node) bool {
 	return false
 }
 
-func (r *Reconciler) getNodeByNodeRef(nodeRef *corev1.ObjectReference) (*corev1.Node, error) {
+func (r *Reconciler) getNodeByNodeRef(ctx context.Context, nodeRef *corev1.ObjectReference) (*corev1.Node, error) {
 	node := &corev1.Node{}
-	if err := r.client.Get(r.ctx, types.NamespacedName{Name: nodeRef.Name}, node); err != nil {
+	if err := r.client.Get(ctx, types.NamespacedName{Name: nodeRef.Name}, node); err != nil {
 		return nil, err
 	}
 	return node, nil
@@ -336,9 +333,9 @@ func (r *Reconciler) createProviderInstance(prov cloudprovidertypes.Provider, ma
 	return instance, nil
 }
 
-func (r *Reconciler) Reconcile(request reconcile.Request) (reconcile.Result, error) {
+func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
 	machine := &clusterv1alpha1.Machine{}
-	if err := r.client.Get(r.ctx, request.NamespacedName, machine); err != nil {
+	if err := r.client.Get(ctx, request.NamespacedName, machine); err != nil {
 		if kerrors.IsNotFound(err) {
 			klog.V(2).Infof("machine %q in work queue no longer exists", request.NamespacedName.String())
 			return reconcile.Result{}, nil
@@ -357,7 +354,7 @@ func (r *Reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err
 	}
 
 	recorderMachine := machine.DeepCopy()
-	result, err := r.reconcile(machine)
+	result, err := r.reconcile(ctx, machine)
 	if err != nil {
 		// We have no guarantee that machine is non-nil after reconciliation
 		klog.Errorf("Failed to reconcile machine %q: %v", recorderMachine.Name, err)
@@ -371,8 +368,7 @@ func (r *Reconciler) Reconcile(request reconcile.Request) (reconcile.Result, err
 	return *result, err
 }
 
-func (r *Reconciler) reconcile(machine *clusterv1alpha1.Machine) (*reconcile.Result, error) {
-
+func (r *Reconciler) reconcile(ctx context.Context, machine *clusterv1alpha1.Machine) (*reconcile.Result, error) {
 	// This must stay in the controller, it can not be moved into the webhook
 	// as the webhook does not get the name of machineset controller generated
 	// machines on the CREATE request, because they only have `GenerateName` set,
@@ -385,7 +381,7 @@ func (r *Reconciler) reconcile(machine *clusterv1alpha1.Machine) (*reconcile.Res
 	if err != nil {
 		return nil, fmt.Errorf("failed to get provider config: %v", err)
 	}
-	skg := providerconfig.NewConfigVarResolver(r.ctx, r.client)
+	skg := providerconfig.NewConfigVarResolver(ctx, r.client)
 	prov, err := cloudprovider.ForProvider(providerConfig.CloudProvider, skg)
 	if err != nil {
 		return nil, fmt.Errorf("failed to get cloud provider %q: %v", providerConfig.CloudProvider, err)
@@ -393,7 +389,7 @@ func (r *Reconciler) reconcile(machine *clusterv1alpha1.Machine) (*reconcile.Res
 
 	// step 2: check if a user requested to delete the machine
 	if machine.DeletionTimestamp != nil {
-		return r.deleteMachine(prov, machine)
+		return r.deleteMachine(ctx, prov, machine)
 	}
 
 	// Step 3: Essentially creates an instance for the given machine.
@@ -404,10 +400,10 @@ func (r *Reconciler) reconcile(machine *clusterv1alpha1.Machine) (*reconcile.Res
 
 	// case 3.2: creates an instance if there is no node associated with the given machine
 	if machine.Status.NodeRef == nil {
-		return r.ensureInstanceExistsForMachine(prov, machine, userdataPlugin, providerConfig)
+		return r.ensureInstanceExistsForMachine(ctx, prov, machine, userdataPlugin, providerConfig)
 	}
 
-	node, err := r.getNodeByNodeRef(machine.Status.NodeRef)
+	node, err := r.getNodeByNodeRef(ctx, machine.Status.NodeRef)
 	if err != nil {
 		//In case we cannot find a node for the NodeRef we must remove the NodeRef & recreate an instance on the next sync
 		if kerrors.IsNotFound(err) {
@@ -427,11 +423,11 @@ func (r *Reconciler) reconcile(machine *clusterv1alpha1.Machine) (*reconcile.Res
 		}
 	} else {
 		// Node is not ready anymore? Maybe it got deleted
-		return r.ensureInstanceExistsForMachine(prov, machine, userdataPlugin, providerConfig)
+		return r.ensureInstanceExistsForMachine(ctx, prov, machine, userdataPlugin, providerConfig)
 	}
 
 	// case 3.3: if the node exists make sure if it has labels and taints attached to it.
-	return nil, r.ensureNodeLabelsAnnotationsAndTaints(node, machine)
+	return nil, r.ensureNodeLabelsAnnotationsAndTaints(ctx, node, machine)
 }
 
 func (r *Reconciler) ensureMachineHasNodeReadyCondition(machine *clusterv1alpha1.Machine) error {
@@ -448,7 +444,7 @@ func (r *Reconciler) ensureMachineHasNodeReadyCondition(machine *clusterv1alpha1
 }
 
 // evictIfNecessary checks if the machine has a node and evicts it if necessary
-func (r *Reconciler) shouldEvict(machine *clusterv1alpha1.Machine) (bool, error) {
+func (r *Reconciler) shouldEvict(ctx context.Context, machine *clusterv1alpha1.Machine) (bool, error) {
 	// If the deletion got triggered a few hours ago, skip eviction.
 	// We assume here that the eviction is blocked by misconfiguration or a misbehaving kubelet and/or controller-runtime
 	if time.Since(machine.DeletionTimestamp.Time) > r.skipEvictionAfter {
@@ -463,7 +459,7 @@ func (r *Reconciler) shouldEvict(machine *clusterv1alpha1.Machine) (bool, error)
 	}
 
 	node := &corev1.Node{}
-	if err := r.client.Get(r.ctx, types.NamespacedName{Name: machine.Status.NodeRef.Name}, node); err != nil {
+	if err := r.client.Get(ctx, types.NamespacedName{Name: machine.Status.NodeRef.Name}, node); err != nil {
 		// Node does not exist  - Nothing to evict
 		if kerrors.IsNotFound(err) {
 			klog.V(4).Infof("Skipping eviction for machine %q since it does not have a node", machine.Name)
@@ -477,7 +473,7 @@ func (r *Reconciler) shouldEvict(machine *clusterv1alpha1.Machine) (bool, error)
 	// * There is at least one machine without a valid NodeRef because that means it probably just got created
 	// * There is at least one Node that is schedulable (`.Spec.Unschedulable == false`)
 	machines := &clusterv1alpha1.MachineList{}
-	if err := r.client.List(r.ctx, machines); err != nil {
+	if err := r.client.List(ctx, machines); err != nil {
 		return false, fmt.Errorf("failed to get machines from lister: %v", err)
 	}
 	for _, machine := range machines.Items {
@@ -486,7 +482,7 @@ func (r *Reconciler) shouldEvict(machine *clusterv1alpha1.Machine) (bool, error)
 		}
 	}
 	nodes := &corev1.NodeList{}
-	if err := r.client.List(r.ctx, nodes); err != nil {
+	if err := r.client.List(ctx, nodes); err != nil {
 		return false, fmt.Errorf("failed to get nodes from lister: %v", err)
 	}
 	for _, node := range nodes.Items {
@@ -506,14 +502,14 @@ func (r *Reconciler) shouldEvict(machine *clusterv1alpha1.Machine) (bool, error)
 }
 
 // deleteMachine makes sure that an instance has gone in a series of steps.
-func (r *Reconciler) deleteMachine(prov cloudprovidertypes.Provider, machine *clusterv1alpha1.Machine) (*reconcile.Result, error) {
-	shouldEvict, err := r.shouldEvict(machine)
+func (r *Reconciler) deleteMachine(ctx context.Context, prov cloudprovidertypes.Provider, machine *clusterv1alpha1.Machine) (*reconcile.Result, error) {
+	shouldEvict, err := r.shouldEvict(ctx, machine)
 	if err != nil {
 		return nil, err
 	}
 
 	if shouldEvict {
-		evictedSomething, err := eviction.New(r.ctx, machine.Status.NodeRef.Name, r.client, r.kubeClient).Run()
+		evictedSomething, err := eviction.New(ctx, machine.Status.NodeRef.Name, r.client, r.kubeClient).Run()
 		if err != nil {
 			return nil, fmt.Errorf("failed to evict node %s: %v", machine.Status.NodeRef.Name, err)
 		}
@@ -535,7 +531,7 @@ func (r *Reconciler) deleteMachine(prov cloudprovidertypes.Provider, machine *cl
 		return nil, nil
 	}
 
-	return nil, r.deleteNodeForMachine(machine)
+	return nil, r.deleteNodeForMachine(ctx, machine)
 }
 
 func (r *Reconciler) deleteCloudProviderInstance(prov cloudprovidertypes.Provider, machine *clusterv1alpha1.Machine) (*reconcile.Result, error) {
@@ -601,7 +597,7 @@ func (r *Reconciler) deleteCloudProviderInstance(prov cloudprovidertypes.Provide
 	})
 }
 
-func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) error {
+func (r *Reconciler) deleteNodeForMachine(ctx context.Context, machine *clusterv1alpha1.Machine) error {
 	// If there's NodeRef on the Machine object, remove the Node by using the
 	// value of the NodeRef. If there's no NodeRef, try to find the Node by
 	// listing nodes using the NodeOwner label selector.
@@ -609,7 +605,7 @@ func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) erro
 		objKey := ctrlruntimeclient.ObjectKey{Name: machine.Status.NodeRef.Name}
 		node := &corev1.Node{}
 		nodeFound := true
-		if err := r.client.Get(r.ctx, objKey, node); err != nil {
+		if err := r.client.Get(ctx, objKey, node); err != nil {
 			if !kerrors.IsNotFound(err) {
 				return fmt.Errorf("failed to get node %s: %v", machine.Status.NodeRef.Name, err)
 			}
@@ -618,7 +614,7 @@ func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) erro
 		}
 
 		if nodeFound {
-			if err := r.client.Delete(r.ctx, node); err != nil {
+			if err := r.client.Delete(ctx, node); err != nil {
 				if !kerrors.IsNotFound(err) {
 					return err
 				}
@@ -632,7 +628,7 @@ func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) erro
 		}
 		listOpts := &ctrlruntimeclient.ListOptions{LabelSelector: selector}
 		nodes := &corev1.NodeList{}
-		if err := r.client.List(r.ctx, nodes, listOpts); err != nil {
+		if err := r.client.List(ctx, nodes, listOpts); err != nil {
 			return fmt.Errorf("failed to list nodes: %v", err)
 		}
 		if len(nodes.Items) == 0 {
@@ -642,7 +638,7 @@ func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) erro
 		}
 
 		for _, node := range nodes.Items {
-			if err := r.client.Delete(r.ctx, &node); err != nil {
+			if err := r.client.Delete(ctx, &node); err != nil {
 				return err
 			}
 		}
@@ -659,7 +655,11 @@ func (r *Reconciler) deleteNodeForMachine(machine *clusterv1alpha1.Machine) erro
 }
 
 func (r *Reconciler) ensureInstanceExistsForMachine(
-	prov cloudprovidertypes.Provider, machine *clusterv1alpha1.Machine, userdataPlugin userdataplugin.Provider, providerConfig *providerconfigtypes.Config) (*reconcile.Result, error) {
+	ctx context.Context,
+	prov cloudprovidertypes.Provider,
+	machine *clusterv1alpha1.Machine,
+	userdataPlugin userdataplugin.Provider,
+	providerConfig *providerconfigtypes.Config) (*reconcile.Result, error) {
 	klog.V(6).Infof("Requesting instance for machine '%s' from cloudprovider because no associated node with status ready found...", machine.Name)
 
 	providerInstance, err := prov.Get(machine, r.providerData)
@@ -671,7 +671,7 @@ func (r *Reconciler) ensureInstanceExistsForMachine(
 		if err == cloudprovidererrors.ErrInstanceNotFound {
 			klog.V(3).Infof("Validated machine spec of %s", machine.Name)
 
-			kubeconfig, err := r.createBootstrapKubeconfig(machine.Name)
+			kubeconfig, err := r.createBootstrapKubeconfig(ctx, machine.Name)
 			if err != nil {
 				return nil, fmt.Errorf("failed to create bootstrap kubeconfig: %v", err)
 			}
@@ -747,18 +747,18 @@ func (r *Reconciler) ensureInstanceExistsForMachine(
 	}); err != nil {
 		return nil, fmt.Errorf("failed to update machine after setting .status.addresses: %v", err)
 	}
-	return r.ensureNodeOwnerRefAndConfigSource(providerInstance, machine, providerConfig)
+	return r.ensureNodeOwnerRefAndConfigSource(ctx, providerInstance, machine, providerConfig)
 }
 
-func (r *Reconciler) ensureNodeOwnerRefAndConfigSource(providerInstance instance.Instance, machine *clusterv1alpha1.Machine, providerConfig *providerconfigtypes.Config) (*reconcile.Result, error) {
-	node, exists, err := r.getNode(providerInstance, providerConfig.CloudProvider)
+func (r *Reconciler) ensureNodeOwnerRefAndConfigSource(ctx context.Context, providerInstance instance.Instance, machine *clusterv1alpha1.Machine, providerConfig *providerconfigtypes.Config) (*reconcile.Result, error) {
+	node, exists, err := r.getNode(ctx, providerInstance, providerConfig.CloudProvider)
 	if err != nil {
 		return nil, fmt.Errorf("failed to get node for machine %s: %v", machine.Name, err)
 	}
 
 	if exists {
 		if val := node.Labels[NodeOwnerLabelName]; val != string(machine.UID) {
-			if err := r.updateNode(node, func(n *corev1.Node) {
+			if err := r.updateNode(ctx, node, func(n *corev1.Node) {
 				n.Labels[NodeOwnerLabelName] = string(machine.UID)
 			}); err != nil {
 				return nil, fmt.Errorf("failed to update node %q after adding owner label: %v", node.Name, err)
@@ -766,7 +766,7 @@ func (r *Reconciler) ensureNodeOwnerRefAndConfigSource(providerInstance instance
 		}
 
 		if node.Spec.ConfigSource == nil && machine.Spec.ConfigSource != nil {
-			if err := r.updateNode(node, func(n *corev1.Node) {
+			if err := r.updateNode(ctx, node, func(n *corev1.Node) {
 				n.Spec.ConfigSource = machine.Spec.ConfigSource
 			}); err != nil {
 				return nil, fmt.Errorf("failed to update node %s after setting the config source: %v", node.Name, err)
@@ -782,7 +782,7 @@ func (r *Reconciler) ensureNodeOwnerRefAndConfigSource(providerInstance instance
 		if r.joinClusterTimeout != nil && ownerReferencesHasMachineSetKind(machine.OwnerReferences) {
 			if time.Since(machine.CreationTimestamp.Time) > *r.joinClusterTimeout {
 				klog.V(3).Infof("Join cluster timeout expired for machine %s, deleting it", machine.Name)
-				if err := r.client.Delete(r.ctx, machine); err != nil {
+				if err := r.client.Delete(ctx, machine); err != nil {
 					return nil, fmt.Errorf("failed to delete machine %s/%s that didn't join cluster within expected period of %s: %v",
 						machine.Namespace, machine.Name, r.joinClusterTimeout.String(), err)
 				}
@@ -804,7 +804,7 @@ func ownerReferencesHasMachineSetKind(ownerReferences []metav1.OwnerReference) b
 	return false
 }
 
-func (r *Reconciler) ensureNodeLabelsAnnotationsAndTaints(node *corev1.Node, machine *clusterv1alpha1.Machine) error {
+func (r *Reconciler) ensureNodeLabelsAnnotationsAndTaints(ctx context.Context, node *corev1.Node, machine *clusterv1alpha1.Machine) error {
 	var modifiers []func(*corev1.Node)
 
 	for k, v := range machine.Spec.Labels {
@@ -858,7 +858,7 @@ func (r *Reconciler) ensureNodeLabelsAnnotationsAndTaints(node *corev1.Node, mac
 	}
 
 	if len(modifiers) > 0 {
-		if err := r.updateNode(node, modifiers...); err != nil {
+		if err := r.updateNode(ctx, node, modifiers...); err != nil {
 			return fmt.Errorf("failed to update node %s after setting labels/annotations/taints: %v", node.Name, err)
 		}
 		r.recorder.Event(machine, corev1.EventTypeNormal, "LabelsAnnotationsTaintsUpdated", "Successfully updated labels/annotations/taints")
@@ -891,12 +891,12 @@ func (r *Reconciler) updateMachineStatus(machine *clusterv1alpha1.Machine, node
 	return nil
 }
 
-func (r *Reconciler) getNode(instance instance.Instance, provider providerconfigtypes.CloudProvider) (node *corev1.Node, exists bool, err error) {
+func (r *Reconciler) getNode(ctx context.Context, instance instance.Instance, provider providerconfigtypes.CloudProvider) (node *corev1.Node, exists bool, err error) {
 	if instance == nil {
 		return nil, false, fmt.Errorf("getNode called with nil provider instance")
 	}
 	nodes := &corev1.NodeList{}
-	if err := r.client.List(r.ctx, nodes); err != nil {
+	if err := r.client.List(ctx, nodes); err != nil {
 		return nil, false, err
 	}
 
@@ -947,10 +947,10 @@ func (r *Reconciler) getNode(instance instance.Instance, provider providerconfig
 	return nil, false, nil
 }
 
-func (r *Reconciler) ReadinessChecks() map[string]healthcheck.Check {
+func (r *Reconciler) ReadinessChecks(ctx context.Context) map[string]healthcheck.Check {
 	return map[string]healthcheck.Check{
 		"valid-info-kubeconfig": func() error {
-			cm, err := r.kubeconfigProvider.GetKubeconfig(r.ctx)
+			cm, err := r.kubeconfigProvider.GetKubeconfig(ctx)
 			if err != nil {
 				err := fmt.Errorf("failed to get cluster-info configmap: %v", err)
 				klog.V(2).Info(err)
@@ -993,16 +993,16 @@ func (r *Reconciler) ensureDeleteFinalizerExists(machine *clusterv1alpha1.Machin
 	return machine, nil
 }
 
-func (r *Reconciler) updateNode(node *corev1.Node, modifiers ...func(*corev1.Node)) error {
+func (r *Reconciler) updateNode(ctx context.Context, node *corev1.Node, modifiers ...func(*corev1.Node)) error {
 	// Store name here, because the object can be nil if an update failed
 	name := types.NamespacedName{Name: node.Name}
 	return retry.RetryOnConflict(retry.DefaultBackoff, func() error {
-		if err := r.client.Get(r.ctx, name, node); err != nil {
+		if err := r.client.Get(ctx, name, node); err != nil {
 			return err
 		}
 		for _, modify := range modifiers {
 			modify(node)
 		}
-		return r.client.Update(r.ctx, node)
+		return r.client.Update(ctx, node)
 	})
 }
diff --git a/pkg/controller/machine/metrics.go b/pkg/controller/machine/metrics.go
index 79e5abdf..0b2bb45e 100644
--- a/pkg/controller/machine/metrics.go
+++ b/pkg/controller/machine/metrics.go
@@ -111,7 +111,6 @@ func (l *machineMetricLabels) Counter(value uint) prometheus.Counter {
 }
 
 func NewMachineCollector(ctx context.Context, client ctrlruntimeclient.Client) *MachineCollector {
-
 	// Start periodically calling the providers SetMetricsForMachines in a dedicated go routine
 	skg := providerconfig.NewConfigVarResolver(ctx, client)
 	go func() {
diff --git a/pkg/controller/machinedeployment/machinedeployment_controller.go b/pkg/controller/machinedeployment/machinedeployment_controller.go
index 040beb5c..7aa7f4c7 100644
--- a/pkg/controller/machinedeployment/machinedeployment_controller.go
+++ b/pkg/controller/machinedeployment/machinedeployment_controller.go
@@ -68,7 +68,7 @@ func Add(mgr manager.Manager) error {
 }
 
 // add adds a new Controller to mgr with r as the reconcile.Reconciler.
-func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.ToRequestsFunc) error {
+func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.MapFunc) error {
 	// Create a new controller.
 	c, err := controller.New(controllerName, mgr, controller.Options{Reconciler: r})
 	if err != nil {
@@ -98,7 +98,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.ToRequestsFu
 	// a controller reference, it'll look for potential matching MachineDeployments to reconcile.
 	err = c.Watch(
 		&source.Kind{Type: &v1alpha1.MachineSet{}},
-		&handler.EnqueueRequestsFromMapFunc{ToRequests: mapFn},
+		handler.EnqueueRequestsFromMapFunc(mapFn),
 	)
 	if err != nil {
 		return err
@@ -111,10 +111,9 @@ func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.ToRequestsFu
 // and what is in the MachineDeployment.Spec.
 //
 // +kubebuilder:rbac:groups=cluster.k8s.io,resources=machinedeployments;machinedeployments/status,verbs=get;list;watch;create;update;patch;delete
-func (r *ReconcileMachineDeployment) Reconcile(request reconcile.Request) (reconcile.Result, error) {
+func (r *ReconcileMachineDeployment) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
 	// Fetch the MachineDeployment instance
 	d := &v1alpha1.MachineDeployment{}
-	ctx := context.Background()
 	if err := r.Get(ctx, request.NamespacedName, d); err != nil {
 		if apierrors.IsNotFound(err) {
 			// Object not found, return.  Created objects are automatically garbage collected.
@@ -147,7 +146,7 @@ func (r *ReconcileMachineDeployment) reconcile(ctx context.Context, d *v1alpha1.
 	if reflect.DeepEqual(d.Spec.Selector, &everything) {
 		if d.Status.ObservedGeneration < d.Generation {
 			d.Status.ObservedGeneration = d.Generation
-			if err := r.Status().Update(context.Background(), d); err != nil {
+			if err := r.Status().Update(ctx, d); err != nil {
 				klog.Warningf("Failed to update status for MachineDeployment %q: %v", d.Name, err)
 				return reconcile.Result{}, err
 			}
@@ -169,7 +168,7 @@ func (r *ReconcileMachineDeployment) reconcile(ctx context.Context, d *v1alpha1.
 	if !contains(d.Finalizers, metav1.FinalizerDeleteDependents) {
 
 		d.Finalizers = append(d.ObjectMeta.Finalizers, metav1.FinalizerDeleteDependents)
-		if err := r.Client.Update(context.Background(), d); err != nil {
+		if err := r.Client.Update(ctx, d); err != nil {
 			klog.Infof("Failed to add finalizers to MachineSet %q: %v", d.Name, err)
 			return reconcile.Result{}, err
 		}
@@ -178,39 +177,39 @@ func (r *ReconcileMachineDeployment) reconcile(ctx context.Context, d *v1alpha1.
 		return reconcile.Result{Requeue: true}, nil
 	}
 
-	msList, err := r.getMachineSetsForDeployment(d)
+	msList, err := r.getMachineSetsForDeployment(ctx, d)
 	if err != nil {
 		return reconcile.Result{}, err
 	}
 
-	machineMap, err := r.getMachineMapForDeployment(d, msList)
+	machineMap, err := r.getMachineMapForDeployment(ctx, d, msList)
 	if err != nil {
 		return reconcile.Result{}, err
 	}
 
 	if d.DeletionTimestamp != nil {
-		return reconcile.Result{}, r.sync(d, msList, machineMap)
+		return reconcile.Result{}, r.sync(ctx, d, msList, machineMap)
 	}
 
 	if d.Spec.Paused {
-		return reconcile.Result{}, r.sync(d, msList, machineMap)
+		return reconcile.Result{}, r.sync(ctx, d, msList, machineMap)
 	}
 
 	switch d.Spec.Strategy.Type {
 	case common.RollingUpdateMachineDeploymentStrategyType:
-		return reconcile.Result{}, r.rolloutRolling(d, msList, machineMap)
+		return reconcile.Result{}, r.rolloutRolling(ctx, d, msList, machineMap)
 	}
 
 	return reconcile.Result{}, errors.Errorf("unexpected deployment strategy type: %s", d.Spec.Strategy.Type)
 }
 
 // getMachineSetsForDeployment returns a list of MachineSets associated with a MachineDeployment.
-func (r *ReconcileMachineDeployment) getMachineSetsForDeployment(d *v1alpha1.MachineDeployment) ([]*v1alpha1.MachineSet, error) {
+func (r *ReconcileMachineDeployment) getMachineSetsForDeployment(ctx context.Context, d *v1alpha1.MachineDeployment) ([]*v1alpha1.MachineSet, error) {
 
 	// List all MachineSets to find those we own but that no longer match our selector.
 	machineSets := &v1alpha1.MachineSetList{}
 	listOptions := &client.ListOptions{Namespace: d.Namespace}
-	if err := r.Client.List(context.Background(), machineSets, listOptions); err != nil {
+	if err := r.Client.List(ctx, machineSets, listOptions); err != nil {
 		return nil, err
 	}
 
@@ -237,7 +236,7 @@ func (r *ReconcileMachineDeployment) getMachineSetsForDeployment(d *v1alpha1.Mac
 
 		// Attempt to adopt machine if it meets previous conditions and it has no controller references.
 		if metav1.GetControllerOf(ms) == nil {
-			if err := r.adoptOrphan(d, ms); err != nil {
+			if err := r.adoptOrphan(ctx, d, ms); err != nil {
 				klog.Warningf("Failed to adopt MachineSet %q into MachineDeployment %q: %v", ms.Name, d.Name, err)
 				continue
 			}
@@ -254,17 +253,17 @@ func (r *ReconcileMachineDeployment) getMachineSetsForDeployment(d *v1alpha1.Mac
 }
 
 // adoptOrphan sets the MachineDeployment as a controller OwnerReference to the MachineSet.
-func (r *ReconcileMachineDeployment) adoptOrphan(deployment *v1alpha1.MachineDeployment, machineSet *v1alpha1.MachineSet) error {
+func (r *ReconcileMachineDeployment) adoptOrphan(ctx context.Context, deployment *v1alpha1.MachineDeployment, machineSet *v1alpha1.MachineSet) error {
 	newRef := *metav1.NewControllerRef(deployment, controllerKind)
 	machineSet.OwnerReferences = append(machineSet.OwnerReferences, newRef)
-	return r.Client.Update(context.Background(), machineSet)
+	return r.Client.Update(ctx, machineSet)
 }
 
 // getMachineMapForDeployment returns the Machines managed by a Deployment.
 //
 // It returns a map from MachineSet UID to a list of Machines controlled by that MachineSet,
 // according to the Machine's ControllerRef.
-func (r *ReconcileMachineDeployment) getMachineMapForDeployment(d *v1alpha1.MachineDeployment, msList []*v1alpha1.MachineSet) (map[types.UID]*v1alpha1.MachineList, error) {
+func (r *ReconcileMachineDeployment) getMachineMapForDeployment(ctx context.Context, d *v1alpha1.MachineDeployment, msList []*v1alpha1.MachineSet) (map[types.UID]*v1alpha1.MachineList, error) {
 	// TODO(droot): double check if previous selector maps correctly to new one.
 	// _, err := metav1.LabelSelectorAsSelector(&d.Spec.Selector)
 
@@ -276,7 +275,7 @@ func (r *ReconcileMachineDeployment) getMachineMapForDeployment(d *v1alpha1.Mach
 
 	machines := &v1alpha1.MachineList{}
 	listOptions := &client.ListOptions{Namespace: d.Namespace}
-	if err = r.Client.List(context.Background(), machines, listOptions, client.MatchingLabels(selector)); err != nil {
+	if err = r.Client.List(ctx, machines, listOptions, client.MatchingLabels(selector)); err != nil {
 		return nil, err
 	}
 
@@ -306,7 +305,7 @@ func (r *ReconcileMachineDeployment) getMachineMapForDeployment(d *v1alpha1.Mach
 }
 
 // getMachineDeploymentsForMachineSet returns a list of MachineDeployments that could potentially match a MachineSet.
-func (r *ReconcileMachineDeployment) getMachineDeploymentsForMachineSet(ms *v1alpha1.MachineSet) []*v1alpha1.MachineDeployment {
+func (r *ReconcileMachineDeployment) getMachineDeploymentsForMachineSet(ctx context.Context, ms *v1alpha1.MachineSet) []*v1alpha1.MachineDeployment {
 	if len(ms.Labels) == 0 {
 		klog.Warningf("No machine deployments found for MachineSet %q because it has no labels", ms.Name)
 		return nil
@@ -314,7 +313,7 @@ func (r *ReconcileMachineDeployment) getMachineDeploymentsForMachineSet(ms *v1al
 
 	dList := &v1alpha1.MachineDeploymentList{}
 	listOptions := &client.ListOptions{Namespace: ms.Namespace}
-	if err := r.Client.List(context.Background(), dList, listOptions); err != nil {
+	if err := r.Client.List(ctx, dList, listOptions); err != nil {
 		klog.Warningf("Failed to list machine deployments: %v", err)
 		return nil
 	}
@@ -337,14 +336,15 @@ func (r *ReconcileMachineDeployment) getMachineDeploymentsForMachineSet(ms *v1al
 	return deployments
 }
 
-// MachineSetTodeployments is a handler.ToRequestsFunc to be used to enqeue requests for reconciliation
+// MachineSetTodeployments is a handler.MapFunc to be used to enqeue requests for reconciliation
 // for MachineDeployments that might adopt an orphaned MachineSet.
-func (r *ReconcileMachineDeployment) MachineSetToDeployments(o handler.MapObject) []reconcile.Request {
+func (r *ReconcileMachineDeployment) MachineSetToDeployments(o client.Object) []reconcile.Request {
 	result := []reconcile.Request{}
+	ctx := context.Background()
 
 	ms := &v1alpha1.MachineSet{}
-	key := client.ObjectKey{Namespace: o.Meta.GetNamespace(), Name: o.Meta.GetName()}
-	if err := r.Client.Get(context.Background(), key, ms); err != nil {
+	key := client.ObjectKey{Namespace: o.GetNamespace(), Name: o.GetName()}
+	if err := r.Client.Get(ctx, key, ms); err != nil {
 		if !apierrors.IsNotFound(err) {
 			klog.Errorf("Unable to retrieve MachineSet %q for possible MachineDeployment adoption: %v", key, err)
 		}
@@ -359,7 +359,7 @@ func (r *ReconcileMachineDeployment) MachineSetToDeployments(o handler.MapObject
 		}
 	}
 
-	mds := r.getMachineDeploymentsForMachineSet(ms)
+	mds := r.getMachineDeploymentsForMachineSet(ctx, ms)
 	if len(mds) == 0 {
 		klog.V(4).Infof("Found no machine set for machine: %v", ms.Name)
 		return nil
diff --git a/pkg/controller/machinedeployment/rolling.go b/pkg/controller/machinedeployment/rolling.go
index 37319c2c..809ffa9e 100644
--- a/pkg/controller/machinedeployment/rolling.go
+++ b/pkg/controller/machinedeployment/rolling.go
@@ -17,6 +17,7 @@ limitations under the License.
 package machinedeployment
 
 import (
+	"context"
 	"sort"
 
 	"github.com/pkg/errors"
@@ -30,8 +31,8 @@ import (
 )
 
 // rolloutRolling implements the logic for rolling a new machine set.
-func (r *ReconcileMachineDeployment) rolloutRolling(d *v1alpha1.MachineDeployment, msList []*v1alpha1.MachineSet, machineMap map[types.UID]*v1alpha1.MachineList) error {
-	newMS, oldMSs, err := r.getAllMachineSetsAndSyncRevision(d, msList, machineMap, true)
+func (r *ReconcileMachineDeployment) rolloutRolling(ctx context.Context, d *v1alpha1.MachineDeployment, msList []*v1alpha1.MachineSet, machineMap map[types.UID]*v1alpha1.MachineList) error {
+	newMS, oldMSs, err := r.getAllMachineSetsAndSyncRevision(ctx, d, msList, machineMap, true)
 	if err != nil {
 		return err
 	}
@@ -46,25 +47,25 @@ func (r *ReconcileMachineDeployment) rolloutRolling(d *v1alpha1.MachineDeploymen
 	allMSs := append(oldMSs, newMS)
 
 	// Scale up, if we can.
-	if err := r.reconcileNewMachineSet(allMSs, newMS, d); err != nil {
+	if err := r.reconcileNewMachineSet(ctx, allMSs, newMS, d); err != nil {
 		return err
 	}
 
-	if err := r.syncDeploymentStatus(allMSs, newMS, d); err != nil {
+	if err := r.syncDeploymentStatus(ctx, allMSs, newMS, d); err != nil {
 		return err
 	}
 
 	// Scale down, if we can.
-	if err := r.reconcileOldMachineSets(allMSs, oldMSs, newMS, d); err != nil {
+	if err := r.reconcileOldMachineSets(ctx, allMSs, oldMSs, newMS, d); err != nil {
 		return err
 	}
 
-	if err := r.syncDeploymentStatus(allMSs, newMS, d); err != nil {
+	if err := r.syncDeploymentStatus(ctx, allMSs, newMS, d); err != nil {
 		return err
 	}
 
 	if dutil.DeploymentComplete(d, &d.Status) {
-		if err := r.cleanupDeployment(oldMSs, d); err != nil {
+		if err := r.cleanupDeployment(ctx, oldMSs, d); err != nil {
 			return err
 		}
 	}
@@ -72,7 +73,7 @@ func (r *ReconcileMachineDeployment) rolloutRolling(d *v1alpha1.MachineDeploymen
 	return nil
 }
 
-func (r *ReconcileMachineDeployment) reconcileNewMachineSet(allMSs []*v1alpha1.MachineSet, newMS *v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) error {
+func (r *ReconcileMachineDeployment) reconcileNewMachineSet(ctx context.Context, allMSs []*v1alpha1.MachineSet, newMS *v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) error {
 	if deployment.Spec.Replicas == nil {
 		return errors.Errorf("spec replicas for deployment set %v is nil, this is unexpected", deployment.Name)
 	}
@@ -88,7 +89,7 @@ func (r *ReconcileMachineDeployment) reconcileNewMachineSet(allMSs []*v1alpha1.M
 
 	if *(newMS.Spec.Replicas) > *(deployment.Spec.Replicas) {
 		// Scale down.
-		_, err := r.scaleMachineSet(newMS, *(deployment.Spec.Replicas), deployment)
+		_, err := r.scaleMachineSet(ctx, newMS, *(deployment.Spec.Replicas), deployment)
 		return err
 	}
 
@@ -96,11 +97,11 @@ func (r *ReconcileMachineDeployment) reconcileNewMachineSet(allMSs []*v1alpha1.M
 	if err != nil {
 		return err
 	}
-	_, err = r.scaleMachineSet(newMS, newReplicasCount, deployment)
+	_, err = r.scaleMachineSet(ctx, newMS, newReplicasCount, deployment)
 	return err
 }
 
-func (r *ReconcileMachineDeployment) reconcileOldMachineSets(allMSs []*v1alpha1.MachineSet, oldMSs []*v1alpha1.MachineSet, newMS *v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) error {
+func (r *ReconcileMachineDeployment) reconcileOldMachineSets(ctx context.Context, allMSs []*v1alpha1.MachineSet, oldMSs []*v1alpha1.MachineSet, newMS *v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) error {
 	if deployment.Spec.Replicas == nil {
 		return errors.Errorf("spec replicas for deployment set %v is nil, this is unexpected", deployment.Name)
 	}
@@ -158,7 +159,7 @@ func (r *ReconcileMachineDeployment) reconcileOldMachineSets(allMSs []*v1alpha1.
 
 	// Clean up unhealthy replicas first, otherwise unhealthy replicas will block deployment
 	// and cause timeout. See https://github.com/kubernetes/kubernetes/issues/16737
-	oldMSs, cleanupCount, err := r.cleanupUnhealthyReplicas(oldMSs, deployment, maxScaledDown)
+	oldMSs, cleanupCount, err := r.cleanupUnhealthyReplicas(ctx, oldMSs, deployment, maxScaledDown)
 	if err != nil {
 		return nil
 	}
@@ -167,7 +168,7 @@ func (r *ReconcileMachineDeployment) reconcileOldMachineSets(allMSs []*v1alpha1.
 
 	// Scale down old machine sets, need check maxUnavailable to ensure we can scale down
 	allMSs = append(oldMSs, newMS)
-	scaledDownCount, err := r.scaleDownOldMachineSetsForRollingUpdate(allMSs, oldMSs, deployment)
+	scaledDownCount, err := r.scaleDownOldMachineSetsForRollingUpdate(ctx, allMSs, oldMSs, deployment)
 	if err != nil {
 		return err
 	}
@@ -177,7 +178,7 @@ func (r *ReconcileMachineDeployment) reconcileOldMachineSets(allMSs []*v1alpha1.
 }
 
 // cleanupUnhealthyReplicas will scale down old machine sets with unhealthy replicas, so that all unhealthy replicas will be deleted.
-func (r *ReconcileMachineDeployment) cleanupUnhealthyReplicas(oldMSs []*v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment, maxCleanupCount int32) ([]*v1alpha1.MachineSet, int32, error) {
+func (r *ReconcileMachineDeployment) cleanupUnhealthyReplicas(ctx context.Context, oldMSs []*v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment, maxCleanupCount int32) ([]*v1alpha1.MachineSet, int32, error) {
 	sort.Sort(dutil.MachineSetsByCreationTimestamp(oldMSs))
 
 	// Safely scale down all old machine sets with unhealthy replicas. Replica set will sort the machines in the order
@@ -216,7 +217,7 @@ func (r *ReconcileMachineDeployment) cleanupUnhealthyReplicas(oldMSs []*v1alpha1
 			return nil, 0, errors.Errorf("when cleaning up unhealthy replicas, got invalid request to scale down %s/%s %d -> %d", targetMS.Namespace, targetMS.Name, oldMSReplicas, newReplicasCount)
 		}
 
-		if _, err := r.scaleMachineSet(targetMS, newReplicasCount, deployment); err != nil {
+		if _, err := r.scaleMachineSet(ctx, targetMS, newReplicasCount, deployment); err != nil {
 			return nil, totalScaledDown, err
 		}
 
@@ -228,7 +229,7 @@ func (r *ReconcileMachineDeployment) cleanupUnhealthyReplicas(oldMSs []*v1alpha1
 
 // scaleDownOldMachineSetsForRollingUpdate scales down old machine sets when deployment strategy is "RollingUpdate".
 // Need check maxUnavailable to ensure availability
-func (r *ReconcileMachineDeployment) scaleDownOldMachineSetsForRollingUpdate(allMSs []*v1alpha1.MachineSet, oldMSs []*v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) (int32, error) {
+func (r *ReconcileMachineDeployment) scaleDownOldMachineSetsForRollingUpdate(ctx context.Context, allMSs []*v1alpha1.MachineSet, oldMSs []*v1alpha1.MachineSet, deployment *v1alpha1.MachineDeployment) (int32, error) {
 	if deployment.Spec.Replicas == nil {
 		return 0, errors.Errorf("spec replicas for deployment %v is nil, this is unexpected", deployment.Name)
 	}
@@ -273,7 +274,7 @@ func (r *ReconcileMachineDeployment) scaleDownOldMachineSetsForRollingUpdate(all
 			return totalScaledDown, errors.Errorf("when scaling down old MS, got invalid request to scale down %s/%s %d -> %d", targetMS.Namespace, targetMS.Name, *(targetMS.Spec.Replicas), newReplicasCount)
 		}
 
-		if _, err := r.scaleMachineSet(targetMS, newReplicasCount, deployment); err != nil {
+		if _, err := r.scaleMachineSet(ctx, targetMS, newReplicasCount, deployment); err != nil {
 			return totalScaledDown, err
 		}
 
diff --git a/pkg/controller/machinedeployment/sync.go b/pkg/controller/machinedeployment/sync.go
index fc217d48..e9c14203 100644
--- a/pkg/controller/machinedeployment/sync.go
+++ b/pkg/controller/machinedeployment/sync.go
@@ -41,13 +41,13 @@ import (
 
 // sync is responsible for reconciling deployments on scaling events or when they
 // are paused.
-func (r *ReconcileMachineDeployment) sync(d *clusterv1alpha1.MachineDeployment, msList []*clusterv1alpha1.MachineSet, machineMap map[types.UID]*clusterv1alpha1.MachineList) error {
-	newMS, oldMSs, err := r.getAllMachineSetsAndSyncRevision(d, msList, machineMap, false)
+func (r *ReconcileMachineDeployment) sync(ctx context.Context, d *clusterv1alpha1.MachineDeployment, msList []*clusterv1alpha1.MachineSet, machineMap map[types.UID]*clusterv1alpha1.MachineList) error {
+	newMS, oldMSs, err := r.getAllMachineSetsAndSyncRevision(ctx, d, msList, machineMap, false)
 	if err != nil {
 		return err
 	}
 
-	if err := r.scale(d, newMS, oldMSs); err != nil {
+	if err := r.scale(ctx, d, newMS, oldMSs); err != nil {
 		// If we get an error while trying to scale, the deployment will be requeued
 		// so we can abort this resync
 		return err
@@ -57,7 +57,7 @@ func (r *ReconcileMachineDeployment) sync(d *clusterv1alpha1.MachineDeployment,
 	// // TODO: Clean up the deployment when it's paused and no rollback is in flight.
 	//
 	allMSs := append(oldMSs, newMS)
-	return r.syncDeploymentStatus(allMSs, newMS, d)
+	return r.syncDeploymentStatus(ctx, allMSs, newMS, d)
 }
 
 // getAllMachineSetsAndSyncRevision returns all the machine sets for the provided deployment (new and all old), with new MS's and deployment's revision updated.
@@ -72,11 +72,11 @@ func (r *ReconcileMachineDeployment) sync(d *clusterv1alpha1.MachineDeployment,
 //
 // Note that currently the deployment controller is using caches to avoid querying the server for reads.
 // This may lead to stale reads of machine sets, thus incorrect deployment status.
-func (r *ReconcileMachineDeployment) getAllMachineSetsAndSyncRevision(d *clusterv1alpha1.MachineDeployment, msList []*clusterv1alpha1.MachineSet, machineMap map[types.UID]*clusterv1alpha1.MachineList, createIfNotExisted bool) (*clusterv1alpha1.MachineSet, []*clusterv1alpha1.MachineSet, error) {
+func (r *ReconcileMachineDeployment) getAllMachineSetsAndSyncRevision(ctx context.Context, d *clusterv1alpha1.MachineDeployment, msList []*clusterv1alpha1.MachineSet, machineMap map[types.UID]*clusterv1alpha1.MachineList, createIfNotExisted bool) (*clusterv1alpha1.MachineSet, []*clusterv1alpha1.MachineSet, error) {
 	_, allOldMSs := dutil.FindOldMachineSets(d, msList)
 
 	// Get new machine set with the updated revision number
-	newMS, err := r.getNewMachineSet(d, msList, allOldMSs, createIfNotExisted)
+	newMS, err := r.getNewMachineSet(ctx, d, msList, allOldMSs, createIfNotExisted)
 	if err != nil {
 		return nil, nil, err
 	}
@@ -89,7 +89,7 @@ func (r *ReconcileMachineDeployment) getAllMachineSetsAndSyncRevision(d *cluster
 // 2. If there's existing new MS, update its revision number if it's smaller than (maxOldRevision + 1), where maxOldRevision is the max revision number among all old MSes.
 // 3. If there's no existing new MS and createIfNotExisted is true, create one with appropriate revision number (maxOldRevision + 1) and replicas.
 // Note that the machine-template-hash will be added to adopted MSes and machines.
-func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.MachineDeployment, msList, oldMSs []*clusterv1alpha1.MachineSet, createIfNotExisted bool) (*clusterv1alpha1.MachineSet, error) {
+func (r *ReconcileMachineDeployment) getNewMachineSet(ctx context.Context, d *clusterv1alpha1.MachineDeployment, msList, oldMSs []*clusterv1alpha1.MachineSet, createIfNotExisted bool) (*clusterv1alpha1.MachineSet, error) {
 	existingNewMS := dutil.FindNewMachineSet(d, msList)
 
 	// Calculate the max revision number among all old MSes
@@ -111,11 +111,11 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
 		minReadySecondsNeedsUpdate := msCopy.Spec.MinReadySeconds != *d.Spec.MinReadySeconds
 		if annotationsUpdated || minReadySecondsNeedsUpdate {
 			msCopy.Spec.MinReadySeconds = *d.Spec.MinReadySeconds
-			return nil, r.Update(context.Background(), msCopy)
+			return nil, r.Update(ctx, msCopy)
 		}
 
 		// Apply revision annotation from existingNewMS if it is missing from the deployment.
-		err := r.updateMachineDeployment(d, func(innerDeployment *clusterv1alpha1.MachineDeployment) {
+		err := r.updateMachineDeployment(ctx, d, func(innerDeployment *clusterv1alpha1.MachineDeployment) {
 			dutil.SetDeploymentRevision(d, msCopy.Annotations[dutil.RevisionAnnotation])
 		})
 		return msCopy, err
@@ -176,7 +176,7 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
 	// hash collisions. If there is any other error, we need to report it in the status of
 	// the Deployment.
 	alreadyExists := false
-	err = r.Create(context.Background(), &newMS)
+	err = r.Create(ctx, &newMS)
 	createdMS := &newMS
 	switch {
 	// We may end up hitting this due to a slow cache or a fast resync of the Deployment.
@@ -184,7 +184,7 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
 		alreadyExists = true
 
 		ms := &clusterv1alpha1.MachineSet{}
-		msErr := r.Get(context.Background(), client.ObjectKey{Namespace: newMS.Namespace, Name: newMS.Name}, ms)
+		msErr := r.Get(ctx, client.ObjectKey{Namespace: newMS.Namespace, Name: newMS.Name}, ms)
 		if msErr != nil {
 			return nil, msErr
 		}
@@ -209,7 +209,7 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
 		klog.V(4).Infof("Created new machine set %q", createdMS.Name)
 	}
 
-	err = r.updateMachineDeployment(d, func(innerDeployment *clusterv1alpha1.MachineDeployment) {
+	err = r.updateMachineDeployment(ctx, d, func(innerDeployment *clusterv1alpha1.MachineDeployment) {
 		dutil.SetDeploymentRevision(d, newRevision)
 	})
 
@@ -221,7 +221,7 @@ func (r *ReconcileMachineDeployment) getNewMachineSet(d *clusterv1alpha1.Machine
 // have the effect of hastening the rollout progress, which could produce a higher proportion of unavailable
 // replicas in the event of a problem with the rolled out template. Should run only on scaling events or
 // when a deployment is paused and not during the normal rollout process.
-func (r *ReconcileMachineDeployment) scale(deployment *clusterv1alpha1.MachineDeployment, newMS *clusterv1alpha1.MachineSet, oldMSs []*clusterv1alpha1.MachineSet) error {
+func (r *ReconcileMachineDeployment) scale(ctx context.Context, deployment *clusterv1alpha1.MachineDeployment, newMS *clusterv1alpha1.MachineSet, oldMSs []*clusterv1alpha1.MachineSet) error {
 	if deployment.Spec.Replicas == nil {
 		return errors.Errorf("spec replicas for deployment %v is nil, this is unexpected", deployment.Name)
 	}
@@ -237,7 +237,7 @@ func (r *ReconcileMachineDeployment) scale(deployment *clusterv1alpha1.MachineDe
 			return nil
 		}
 
-		_, err := r.scaleMachineSet(activeOrLatest, *(deployment.Spec.Replicas), deployment)
+		_, err := r.scaleMachineSet(ctx, activeOrLatest, *(deployment.Spec.Replicas), deployment)
 		return err
 	}
 
@@ -245,7 +245,7 @@ func (r *ReconcileMachineDeployment) scale(deployment *clusterv1alpha1.MachineDe
 	// This case handles machine set adoption during a saturated new machine set.
 	if dutil.IsSaturated(deployment, newMS) {
 		for _, old := range dutil.FilterActiveMachineSets(oldMSs) {
-			if _, err := r.scaleMachineSet(old, 0, deployment); err != nil {
+			if _, err := r.scaleMachineSet(ctx, old, 0, deployment); err != nil {
 				return err
 			}
 		}
@@ -321,7 +321,7 @@ func (r *ReconcileMachineDeployment) scale(deployment *clusterv1alpha1.MachineDe
 			}
 
 			// TODO: Use transactions when we have them.
-			if _, err := r.scaleMachineSetOperation(ms, nameToSize[ms.Name], deployment, scalingOperation); err != nil {
+			if _, err := r.scaleMachineSetOperation(ctx, ms, nameToSize[ms.Name], deployment, scalingOperation); err != nil {
 				// Return as soon as we fail, the deployment is requeued
 				return err
 			}
@@ -332,14 +332,14 @@ func (r *ReconcileMachineDeployment) scale(deployment *clusterv1alpha1.MachineDe
 }
 
 // syncDeploymentStatus checks if the status is up-to-date and sync it if necessary
-func (r *ReconcileMachineDeployment) syncDeploymentStatus(allMSs []*clusterv1alpha1.MachineSet, newMS *clusterv1alpha1.MachineSet, d *clusterv1alpha1.MachineDeployment) error {
+func (r *ReconcileMachineDeployment) syncDeploymentStatus(ctx context.Context, allMSs []*clusterv1alpha1.MachineSet, newMS *clusterv1alpha1.MachineSet, d *clusterv1alpha1.MachineDeployment) error {
 	newStatus := calculateStatus(allMSs, newMS, d)
 	if reflect.DeepEqual(d.Status, newStatus) {
 		return nil
 	}
 
 	d.Status = newStatus
-	return r.Status().Update(context.Background(), d)
+	return r.Status().Update(ctx, d)
 }
 
 // calculateStatus calculates the latest status for the provided deployment by looking into the provided machine sets.
@@ -367,7 +367,7 @@ func calculateStatus(allMSs []*clusterv1alpha1.MachineSet, newMS *clusterv1alpha
 	return status
 }
 
-func (r *ReconcileMachineDeployment) scaleMachineSet(ms *clusterv1alpha1.MachineSet, newScale int32, deployment *clusterv1alpha1.MachineDeployment) (bool, error) {
+func (r *ReconcileMachineDeployment) scaleMachineSet(ctx context.Context, ms *clusterv1alpha1.MachineSet, newScale int32, deployment *clusterv1alpha1.MachineDeployment) (bool, error) {
 	if ms.Spec.Replicas == nil {
 		return false, errors.Errorf("spec replicas for machine set %v is nil, this is unexpected", ms.Name)
 	}
@@ -384,10 +384,10 @@ func (r *ReconcileMachineDeployment) scaleMachineSet(ms *clusterv1alpha1.Machine
 		scalingOperation = "down"
 	}
 
-	return r.scaleMachineSetOperation(ms, newScale, deployment, scalingOperation)
+	return r.scaleMachineSetOperation(ctx, ms, newScale, deployment, scalingOperation)
 }
 
-func (r *ReconcileMachineDeployment) scaleMachineSetOperation(ms *clusterv1alpha1.MachineSet, newScale int32, deployment *clusterv1alpha1.MachineDeployment, scaleOperation string) (bool, error) {
+func (r *ReconcileMachineDeployment) scaleMachineSetOperation(ctx context.Context, ms *clusterv1alpha1.MachineSet, newScale int32, deployment *clusterv1alpha1.MachineDeployment, scaleOperation string) (bool, error) {
 	if ms.Spec.Replicas == nil {
 		return false, errors.Errorf("spec replicas for machine set %v is nil, this is unexpected", ms.Name)
 	}
@@ -409,7 +409,7 @@ func (r *ReconcileMachineDeployment) scaleMachineSetOperation(ms *clusterv1alpha
 		*(ms.Spec.Replicas) = newScale
 		dutil.SetReplicasAnnotations(ms, *(deployment.Spec.Replicas), *(deployment.Spec.Replicas)+dutil.MaxSurge(*deployment))
 
-		err = r.Update(context.Background(), ms)
+		err = r.Update(ctx, ms)
 		if err == nil && sizeNeedsUpdate {
 			scaled = true
 		}
@@ -421,7 +421,7 @@ func (r *ReconcileMachineDeployment) scaleMachineSetOperation(ms *clusterv1alpha
 // cleanupDeployment is responsible for cleaning up a deployment i.e. retains all but the latest N old machine sets
 // where N=d.Spec.RevisionHistoryLimit. Old machine sets are older versions of the machinetemplate of a deployment kept
 // around by default 1) for historical reasons and 2) for the ability to rollback a deployment.
-func (r *ReconcileMachineDeployment) cleanupDeployment(oldMSs []*clusterv1alpha1.MachineSet, deployment *clusterv1alpha1.MachineDeployment) error {
+func (r *ReconcileMachineDeployment) cleanupDeployment(ctx context.Context, oldMSs []*clusterv1alpha1.MachineSet, deployment *clusterv1alpha1.MachineDeployment) error {
 	if deployment.Spec.RevisionHistoryLimit == nil {
 		return nil
 	}
@@ -453,7 +453,7 @@ func (r *ReconcileMachineDeployment) cleanupDeployment(oldMSs []*clusterv1alpha1
 		}
 
 		klog.V(4).Infof("Trying to cleanup machine set %q for deployment %q", ms.Name, deployment.Name)
-		if err := r.Delete(context.Background(), ms); err != nil && !apierrors.IsNotFound(err) {
+		if err := r.Delete(ctx, ms); err != nil && !apierrors.IsNotFound(err) {
 			// Return error instead of aggregating and continuing DELETEs on the theory
 			// that we may be overloading the api server.
 			return err
@@ -463,12 +463,12 @@ func (r *ReconcileMachineDeployment) cleanupDeployment(oldMSs []*clusterv1alpha1
 	return nil
 }
 
-func (r *ReconcileMachineDeployment) updateMachineDeployment(d *clusterv1alpha1.MachineDeployment, modify func(*clusterv1alpha1.MachineDeployment)) error {
-	return updateMachineDeployment(r.Client, d, modify)
+func (r *ReconcileMachineDeployment) updateMachineDeployment(ctx context.Context, d *clusterv1alpha1.MachineDeployment, modify func(*clusterv1alpha1.MachineDeployment)) error {
+	return updateMachineDeployment(ctx, r.Client, d, modify)
 }
 
 // We have this as standalone variant to be able to use it from the tests
-func updateMachineDeployment(c client.Client, d *clusterv1alpha1.MachineDeployment, modify func(*clusterv1alpha1.MachineDeployment)) error {
+func updateMachineDeployment(ctx context.Context, c client.Client, d *clusterv1alpha1.MachineDeployment, modify func(*clusterv1alpha1.MachineDeployment)) error {
 	dCopy := d.DeepCopy()
 	modify(dCopy)
 	if equality.Semantic.DeepEqual(dCopy, d) {
@@ -476,7 +476,7 @@ func updateMachineDeployment(c client.Client, d *clusterv1alpha1.MachineDeployme
 	}
 	return retry.RetryOnConflict(retry.DefaultBackoff, func() error {
 		// Get latest version.
-		if err := c.Get(context.Background(), types.NamespacedName{Namespace: d.Namespace, Name: d.Name}, d); err != nil {
+		if err := c.Get(ctx, types.NamespacedName{Namespace: d.Namespace, Name: d.Name}, d); err != nil {
 			return err
 		}
 		// Apply defaults.
@@ -484,6 +484,6 @@ func updateMachineDeployment(c client.Client, d *clusterv1alpha1.MachineDeployme
 		// Apply modifications.
 		modify(d)
 		// Update the MachineDeployment.
-		return c.Update(context.Background(), d)
+		return c.Update(ctx, d)
 	})
 }
diff --git a/pkg/controller/machineset/delete_policy.go b/pkg/controller/machineset/delete_policy.go
index 87c92ec0..e13ff6a5 100644
--- a/pkg/controller/machineset/delete_policy.go
+++ b/pkg/controller/machineset/delete_policy.go
@@ -132,6 +132,6 @@ func getDeletePriorityFunc(ms *v1alpha1.MachineSet) (deletePriorityFunc, error)
 	case "":
 		return randomDeletePolicy, nil
 	default:
-		return nil, errors.Errorf("Unsupported delete policy %s. Must be one of 'Random', 'Newest', or 'Oldest'", msdp)
+		return nil, errors.Errorf("Unsupported delete policy %q. Must be one of 'Random', 'Newest', or 'Oldest'", msdp)
 	}
 }
diff --git a/pkg/controller/machineset/machine.go b/pkg/controller/machineset/machine.go
index 8b97a04d..c64167c6 100644
--- a/pkg/controller/machineset/machine.go
+++ b/pkg/controller/machineset/machine.go
@@ -27,7 +27,7 @@ import (
 	"sigs.k8s.io/controller-runtime/pkg/client"
 )
 
-func (c *ReconcileMachineSet) getMachineSetsForMachine(m *v1alpha1.Machine) []*v1alpha1.MachineSet {
+func (c *ReconcileMachineSet) getMachineSetsForMachine(ctx context.Context, m *v1alpha1.Machine) []*v1alpha1.MachineSet {
 	if len(m.Labels) == 0 {
 		klog.Warningf("No machine sets found for Machine %v because it has no labels", m.Name)
 		return nil
@@ -38,7 +38,7 @@ func (c *ReconcileMachineSet) getMachineSetsForMachine(m *v1alpha1.Machine) []*v
 		Namespace: m.Namespace,
 	}
 
-	err := c.Client.List(context.Background(), msList, listOptions)
+	err := c.Client.List(ctx, msList, listOptions)
 	if err != nil {
 		klog.Errorf("Failed to list machine sets, %v", err)
 		return nil
diff --git a/pkg/controller/machineset/machineset_controller.go b/pkg/controller/machineset/machineset_controller.go
index 97a92178..6a430ac7 100644
--- a/pkg/controller/machineset/machineset_controller.go
+++ b/pkg/controller/machineset/machineset_controller.go
@@ -71,7 +71,7 @@ func newReconciler(mgr manager.Manager) *ReconcileMachineSet {
 }
 
 // add adds a new Controller to mgr with r as the reconcile.Reconciler.
-func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.ToRequestsFunc) error {
+func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.MapFunc) error {
 	// Create a new controller.
 	c, err := controller.New(controllerName, mgr, controller.Options{Reconciler: r})
 	if err != nil {
@@ -101,7 +101,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler, mapFn handler.ToRequestsFu
 	// a controller reference, it'll look for potential matching MachineSet to reconcile.
 	return c.Watch(
 		&source.Kind{Type: &clusterv1alpha1.Machine{}},
-		&handler.EnqueueRequestsFromMapFunc{ToRequests: mapFn},
+		handler.EnqueueRequestsFromMapFunc(mapFn),
 	)
 }
 
@@ -117,9 +117,8 @@ type ReconcileMachineSet struct {
 // Automatically generate RBAC rules to allow the Controller to read and write Deployments
 // +kubebuilder:rbac:groups=cluster.k8s.io,resources=machinesets;machinesets/status,verbs=get;list;watch;create;update;patch;delete
 // +kubebuilder:rbac:groups=cluster.k8s.io,resources=machines,verbs=get;list;watch;create;update;patch;delete
-func (r *ReconcileMachineSet) Reconcile(request reconcile.Request) (reconcile.Result, error) {
+func (r *ReconcileMachineSet) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
 	// Fetch the MachineSet instance
-	ctx := context.Background()
 	machineSet := &clusterv1alpha1.MachineSet{}
 	if err := r.Get(ctx, request.NamespacedName, machineSet); err != nil {
 		if apierrors.IsNotFound(err) {
@@ -149,7 +148,7 @@ func (r *ReconcileMachineSet) reconcile(ctx context.Context, machineSet *cluster
 	klog.V(4).Infof("Reconcile machineset %v", machineSet.Name)
 	allMachines := &clusterv1alpha1.MachineList{}
 
-	if err := r.Client.List(context.Background(), allMachines, client.InNamespace(machineSet.Namespace)); err != nil {
+	if err := r.Client.List(ctx, allMachines, client.InNamespace(machineSet.Namespace)); err != nil {
 		return reconcile.Result{}, errors.Wrap(err, "failed to list machines")
 	}
 
@@ -166,10 +165,9 @@ func (r *ReconcileMachineSet) reconcile(ctx context.Context, machineSet *cluster
 
 	// Add foregroundDeletion finalizer
 	if !contains(machineSet.Finalizers, metav1.FinalizerDeleteDependents) {
-
 		machineSet.Finalizers = append(machineSet.ObjectMeta.Finalizers, metav1.FinalizerDeleteDependents)
 
-		if err := r.Client.Update(context.Background(), machineSet); err != nil {
+		if err := r.Client.Update(ctx, machineSet); err != nil {
 			klog.Infof("Failed to add finalizers to MachineSet %q: %v", machineSet.Name, err)
 			return reconcile.Result{}, err
 		}
@@ -193,7 +191,7 @@ func (r *ReconcileMachineSet) reconcile(ctx context.Context, machineSet *cluster
 
 		// Attempt to adopt machine if it meets previous conditions and it has no controller references.
 		if metav1.GetControllerOf(machine) == nil {
-			if err := r.adoptOrphan(machineSet, machine); err != nil {
+			if err := r.adoptOrphan(ctx, machineSet, machine); err != nil {
 				klog.Warningf("Failed to adopt MachineSet %q into MachineSet %q: %v", machine.Name, machineSet.Name, err)
 				continue
 			}
@@ -202,13 +200,13 @@ func (r *ReconcileMachineSet) reconcile(ctx context.Context, machineSet *cluster
 		filteredMachines = append(filteredMachines, machine)
 	}
 
-	syncErr := r.syncReplicas(machineSet, filteredMachines)
+	syncErr := r.syncReplicas(ctx, machineSet, filteredMachines)
 
 	ms := machineSet.DeepCopy()
-	newStatus := r.calculateStatus(ms, filteredMachines)
+	newStatus := r.calculateStatus(ctx, ms, filteredMachines)
 
 	// Always updates status as machines come up or die.
-	updatedMS, err := updateMachineSetStatus(r.Client, machineSet, newStatus)
+	updatedMS, err := updateMachineSetStatus(ctx, r.Client, machineSet, newStatus)
 	if err != nil {
 		if syncErr != nil {
 			return reconcile.Result{}, errors.Wrapf(err, "failed to sync machines: %v. failed to update machine set status", syncErr)
@@ -243,7 +241,7 @@ func (r *ReconcileMachineSet) reconcile(ctx context.Context, machineSet *cluster
 }
 
 // syncReplicas scales Machine resources up or down.
-func (r *ReconcileMachineSet) syncReplicas(ms *clusterv1alpha1.MachineSet, machines []*clusterv1alpha1.Machine) error {
+func (r *ReconcileMachineSet) syncReplicas(ctx context.Context, ms *clusterv1alpha1.MachineSet, machines []*clusterv1alpha1.Machine) error {
 	if ms.Spec.Replicas == nil {
 		return errors.Errorf("the Replicas field in Spec for machineset %v is nil, this should not be allowed", ms.Name)
 	}
@@ -262,7 +260,7 @@ func (r *ReconcileMachineSet) syncReplicas(ms *clusterv1alpha1.MachineSet, machi
 				i+1, diff, *(ms.Spec.Replicas), len(machines))
 
 			machine := r.createMachine(ms)
-			if err := r.Client.Create(context.Background(), machine); err != nil {
+			if err := r.Client.Create(ctx, machine); err != nil {
 				klog.Errorf("Unable to create Machine %q: %v", machine.Name, err)
 				errstrings = append(errstrings, err.Error())
 				continue
@@ -275,7 +273,7 @@ func (r *ReconcileMachineSet) syncReplicas(ms *clusterv1alpha1.MachineSet, machi
 			return errors.New(strings.Join(errstrings, "; "))
 		}
 
-		return r.waitForMachineCreation(machineList)
+		return r.waitForMachineCreation(ctx, machineList)
 	} else if diff > 0 {
 		klog.Infof("Too many replicas for %v %s/%s, need %d, deleting %d",
 			controllerKind, ms.Namespace, ms.Name, *(ms.Spec.Replicas), diff)
@@ -295,7 +293,7 @@ func (r *ReconcileMachineSet) syncReplicas(ms *clusterv1alpha1.MachineSet, machi
 		for _, machine := range machinesToDelete {
 			go func(targetMachine *clusterv1alpha1.Machine) {
 				defer wg.Done()
-				err := r.Client.Delete(context.Background(), targetMachine)
+				err := r.Client.Delete(ctx, targetMachine)
 				if err != nil {
 					klog.Errorf("Unable to delete Machine %s: %v", targetMachine.Name, err)
 					errCh <- err
@@ -313,7 +311,7 @@ func (r *ReconcileMachineSet) syncReplicas(ms *clusterv1alpha1.MachineSet, machi
 		default:
 		}
 
-		return r.waitForMachineDeletion(machinesToDelete)
+		return r.waitForMachineDeletion(ctx, machinesToDelete)
 	}
 
 	return nil
@@ -357,18 +355,18 @@ func shouldExcludeMachine(machineSet *clusterv1alpha1.MachineSet, machine *clust
 }
 
 // adoptOrphan sets the MachineSet as a controller OwnerReference to the Machine.
-func (r *ReconcileMachineSet) adoptOrphan(machineSet *clusterv1alpha1.MachineSet, machine *clusterv1alpha1.Machine) error {
+func (r *ReconcileMachineSet) adoptOrphan(ctx context.Context, machineSet *clusterv1alpha1.MachineSet, machine *clusterv1alpha1.Machine) error {
 	newRef := *metav1.NewControllerRef(machineSet, controllerKind)
 	machine.OwnerReferences = append(machine.OwnerReferences, newRef)
-	return r.Client.Update(context.Background(), machine)
+	return r.Client.Update(ctx, machine)
 }
 
-func (r *ReconcileMachineSet) waitForMachineCreation(machineList []*clusterv1alpha1.Machine) error {
+func (r *ReconcileMachineSet) waitForMachineCreation(ctx context.Context, machineList []*clusterv1alpha1.Machine) error {
 	for _, machine := range machineList {
 		pollErr := wait.PollImmediate(stateConfirmationInterval, stateConfirmationTimeout, func() (bool, error) {
 			key := client.ObjectKey{Namespace: machine.Namespace, Name: machine.Name}
 
-			if err := r.Client.Get(context.Background(), key, &clusterv1alpha1.Machine{}); err != nil {
+			if err := r.Client.Get(ctx, key, &clusterv1alpha1.Machine{}); err != nil {
 				if apierrors.IsNotFound(err) {
 					return false, nil
 				}
@@ -388,13 +386,13 @@ func (r *ReconcileMachineSet) waitForMachineCreation(machineList []*clusterv1alp
 	return nil
 }
 
-func (r *ReconcileMachineSet) waitForMachineDeletion(machineList []*clusterv1alpha1.Machine) error {
+func (r *ReconcileMachineSet) waitForMachineDeletion(ctx context.Context, machineList []*clusterv1alpha1.Machine) error {
 	for _, machine := range machineList {
 		pollErr := wait.PollImmediate(stateConfirmationInterval, stateConfirmationTimeout, func() (bool, error) {
 			m := &clusterv1alpha1.Machine{}
 			key := client.ObjectKey{Namespace: machine.Namespace, Name: machine.Name}
 
-			err := r.Client.Get(context.Background(), key, m)
+			err := r.Client.Get(ctx, key, m)
 			if apierrors.IsNotFound(err) || !m.DeletionTimestamp.IsZero() {
 				return true, nil
 			}
@@ -412,12 +410,13 @@ func (r *ReconcileMachineSet) waitForMachineDeletion(machineList []*clusterv1alp
 
 // MachineToMachineSets is a handler.ToRequestsFunc to be used to enqeue requests for reconciliation
 // for MachineSets that might adopt an orphaned Machine.
-func (r *ReconcileMachineSet) MachineToMachineSets(o handler.MapObject) []reconcile.Request {
+func (r *ReconcileMachineSet) MachineToMachineSets(o client.Object) []reconcile.Request {
 	result := []reconcile.Request{}
+	ctx := context.Background()
 
 	m := &clusterv1alpha1.Machine{}
-	key := client.ObjectKey{Namespace: o.Meta.GetNamespace(), Name: o.Meta.GetName()}
-	if err := r.Client.Get(context.Background(), key, m); err != nil {
+	key := client.ObjectKey{Namespace: o.GetNamespace(), Name: o.GetName()}
+	if err := r.Client.Get(ctx, key, m); err != nil {
 		if !apierrors.IsNotFound(err) {
 			klog.Errorf("Unable to retrieve Machine %q for possible MachineSet adoption: %v", key, err)
 		}
@@ -432,7 +431,7 @@ func (r *ReconcileMachineSet) MachineToMachineSets(o handler.MapObject) []reconc
 		}
 	}
 
-	mss := r.getMachineSetsForMachine(m)
+	mss := r.getMachineSetsForMachine(ctx, m)
 	if len(mss) == 0 {
 		klog.V(4).Infof("Found no MachineSet for Machine %q", m.Name)
 		return nil
diff --git a/pkg/controller/machineset/status.go b/pkg/controller/machineset/status.go
index bb18d744..263e6b36 100644
--- a/pkg/controller/machineset/status.go
+++ b/pkg/controller/machineset/status.go
@@ -36,7 +36,7 @@ const (
 	statusUpdateRetries = 1
 )
 
-func (c *ReconcileMachineSet) calculateStatus(ms *v1alpha1.MachineSet, filteredMachines []*v1alpha1.Machine) v1alpha1.MachineSetStatus {
+func (c *ReconcileMachineSet) calculateStatus(ctx context.Context, ms *v1alpha1.MachineSet, filteredMachines []*v1alpha1.Machine) v1alpha1.MachineSetStatus {
 	newStatus := ms.Status
 	// Count the number of machines that have labels matching the labels of the machine
 	// template of the replica set, the matching machines may have more
@@ -51,7 +51,7 @@ func (c *ReconcileMachineSet) calculateStatus(ms *v1alpha1.MachineSet, filteredM
 		if templateLabel.Matches(labels.Set(machine.Labels)) {
 			fullyLabeledReplicasCount++
 		}
-		node, err := c.getMachineNode(machine)
+		node, err := c.getMachineNode(ctx, machine)
 		if err != nil {
 			klog.V(4).Infof("Unable to get node for machine %v, %v", machine.Name, err)
 			continue
@@ -72,7 +72,7 @@ func (c *ReconcileMachineSet) calculateStatus(ms *v1alpha1.MachineSet, filteredM
 }
 
 // updateMachineSetStatus attempts to update the Status.Replicas of the given MachineSet, with a single GET/PUT retry.
-func updateMachineSetStatus(c client.Client, ms *v1alpha1.MachineSet, newStatus v1alpha1.MachineSetStatus) (*v1alpha1.MachineSet, error) {
+func updateMachineSetStatus(ctx context.Context, c client.Client, ms *v1alpha1.MachineSet, newStatus v1alpha1.MachineSetStatus) (*v1alpha1.MachineSet, error) {
 	// This is the steady state. It happens when the MachineSet doesn't have any expectations, since
 	// we do a periodic relist every 30s. If the generations differ but the replicas are
 	// the same, a caller might've resized to the same replica count.
@@ -104,7 +104,7 @@ func updateMachineSetStatus(c client.Client, ms *v1alpha1.MachineSet, newStatus
 			fmt.Sprintf("sequence No: %v->%v", ms.Status.ObservedGeneration, newStatus.ObservedGeneration))
 
 		ms.Status = newStatus
-		updateErr = c.Status().Update(context.Background(), ms)
+		updateErr = c.Status().Update(ctx, ms)
 		if updateErr == nil {
 			return ms, nil
 		}
@@ -113,7 +113,7 @@ func updateMachineSetStatus(c client.Client, ms *v1alpha1.MachineSet, newStatus
 			break
 		}
 		// Update the MachineSet with the latest resource version for the next poll
-		if getErr = c.Get(context.Background(), client.ObjectKey{Namespace: ms.Namespace, Name: ms.Name}, ms); getErr != nil {
+		if getErr = c.Get(ctx, client.ObjectKey{Namespace: ms.Namespace, Name: ms.Name}, ms); getErr != nil {
 			// If the GET fails we can't trust status.Replicas anymore. This error
 			// is bound to be more interesting than the update failure.
 			return nil, getErr
@@ -123,14 +123,14 @@ func updateMachineSetStatus(c client.Client, ms *v1alpha1.MachineSet, newStatus
 	return nil, updateErr
 }
 
-func (c *ReconcileMachineSet) getMachineNode(machine *v1alpha1.Machine) (*corev1.Node, error) {
+func (c *ReconcileMachineSet) getMachineNode(ctx context.Context, machine *v1alpha1.Machine) (*corev1.Node, error) {
 	nodeRef := machine.Status.NodeRef
 	if nodeRef == nil {
 		return nil, errors.New("machine has no node ref")
 	}
 
 	node := &corev1.Node{}
-	err := c.Client.Get(context.Background(), client.ObjectKey{Name: nodeRef.Name}, node)
+	err := c.Client.Get(ctx, client.ObjectKey{Name: nodeRef.Name}, node)
 	return node, err
 }
 
diff --git a/pkg/controller/nodecsrapprover/node_csr_approver.go b/pkg/controller/nodecsrapprover/node_csr_approver.go
index 46f53932..4ce49f6f 100644
--- a/pkg/controller/nodecsrapprover/node_csr_approver.go
+++ b/pkg/controller/nodecsrapprover/node_csr_approver.go
@@ -71,8 +71,8 @@ func Add(mgr manager.Manager) error {
 	return c.Watch(&source.Kind{Type: &certificatesv1beta1.CertificateSigningRequest{}}, &handler.EnqueueRequestForObject{})
 }
 
-func (r *reconciler) Reconcile(request reconcile.Request) (reconcile.Result, error) {
-	err := r.reconcile(context.Background(), request)
+func (r *reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
+	err := r.reconcile(ctx, request)
 	if err != nil {
 		klog.Errorf("Reconciliation of request %s failed: %v", request.NamespacedName.String(), err)
 	}
@@ -110,7 +110,7 @@ func (r *reconciler) reconcile(ctx context.Context, request reconcile.Request) e
 	}
 
 	// Get machine name for the appropriate node
-	machine, found, err := r.getMachineForNode(nodeName)
+	machine, found, err := r.getMachineForNode(ctx, nodeName)
 	if err != nil {
 		return fmt.Errorf("failed to get machine for node '%s': %v", nodeName, err)
 	}
@@ -228,11 +228,11 @@ func (r *reconciler) validateX509CSR(csr *certificatesv1beta1.CertificateSigning
 	return nil
 }
 
-func (r *reconciler) getMachineForNode(nodeName string) (v1alpha1.Machine, bool, error) {
+func (r *reconciler) getMachineForNode(ctx context.Context, nodeName string) (v1alpha1.Machine, bool, error) {
 	// List all Machines in all namespaces
 	machines := &v1alpha1.MachineList{}
 	listOptions := &client.ListOptions{Namespace: ""}
-	if err := r.Client.List(context.Background(), machines, listOptions); err != nil {
+	if err := r.Client.List(ctx, machines, listOptions); err != nil {
 		return v1alpha1.Machine{}, false, fmt.Errorf("failed to list all machine objects: %v", err)
 	}
 
diff --git a/pkg/health/readiness.go b/pkg/health/readiness.go
index 2c747d1e..1f3cf9a4 100644
--- a/pkg/health/readiness.go
+++ b/pkg/health/readiness.go
@@ -17,21 +17,49 @@ limitations under the License.
 package health
 
 import (
-	"context"
+	"errors"
+	"fmt"
+	"net/http"
 
-	"github.com/heptiolabs/healthcheck"
+	machinecontroller "github.com/kubermatic/machine-controller/pkg/controller/machine"
 
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
-	"k8s.io/klog"
+	"sigs.k8s.io/controller-runtime/pkg/healthz"
 )
 
-func ApiserverReachable(ctx context.Context, client kubernetes.Interface) healthcheck.Check {
-	return func() error {
-		_, err := client.CoreV1().Nodes().List(ctx, metav1.ListOptions{})
+func ApiserverReachable(client kubernetes.Interface) healthz.Checker {
+	return func(req *http.Request) error {
+		_, err := client.CoreV1().Nodes().List(req.Context(), metav1.ListOptions{})
 		if err != nil {
-			klog.V(2).Infof("[healthcheck] Unable to list nodes check: %v", err)
+			return fmt.Errorf("unable to list nodes check: %v", err)
 		}
-		return err
+
+		return nil
+	}
+}
+
+func KubeconfigAvailable(kubeconfigProvider machinecontroller.KubeconfigProvider) healthz.Checker {
+	return func(req *http.Request) error {
+		cm, err := kubeconfigProvider.GetKubeconfig(req.Context())
+		if err != nil {
+			return fmt.Errorf("unable to get kubeconfig: %v", err)
+		}
+
+		if len(cm.Clusters) != 1 {
+			return errors.New("invalid kubeconfig: no clusters found")
+		}
+
+		for name, c := range cm.Clusters {
+			if len(c.CertificateAuthorityData) == 0 {
+				return fmt.Errorf("invalid kubeconfig: no certificate authority data was specified for kuberconfig.clusters.'%s'", name)
+			}
+
+			if len(c.Server) == 0 {
+				return fmt.Errorf("invalid kubeconfig: no server was specified for kuberconfig.clusters.'%s'", name)
+			}
+		}
+
+		return nil
 	}
 }


Test patch:
diff --git a/pkg/clusterinfo/configmap_test.go b/pkg/clusterinfo/configmap_test.go
index cd9df1c0..de93cbdc 100644
--- a/pkg/clusterinfo/configmap_test.go
+++ b/pkg/clusterinfo/configmap_test.go
@@ -113,10 +113,9 @@ func TestKubeconfigProvider_GetKubeconfig(t *testing.T) {
 		},
 	}
 
-	ctx := context.Background()
-
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
+			ctx := context.Background()
 			client := fake.NewSimpleClientset(test.objects...)
 
 			provider := KubeconfigProvider{
diff --git a/pkg/controller/machine/kubeconfig_test.go b/pkg/controller/machine/kubeconfig_test.go
index ae16334a..b058d3f4 100644
--- a/pkg/controller/machine/kubeconfig_test.go
+++ b/pkg/controller/machine/kubeconfig_test.go
@@ -47,9 +47,11 @@ func TestUpdateSecretExpirationAndGetToken(t *testing.T) {
 			shouldRenew:             true,
 		},
 	}
-	reconciler := Reconciler{ctx: context.Background()}
+
+	reconciler := Reconciler{}
 
 	for _, testCase := range tests {
+		ctx := context.Background()
 		secret := &corev1.Secret{}
 		secret.Name = "secret"
 		secret.Namespace = metav1.NamespaceSystem
@@ -60,12 +62,12 @@ func TestUpdateSecretExpirationAndGetToken(t *testing.T) {
 		secret.Data = data
 		reconciler.client = ctrlruntimefake.NewFakeClient(runtime.Object(secret))
 
-		if _, err := reconciler.updateSecretExpirationAndGetToken(secret); err != nil {
+		if _, err := reconciler.updateSecretExpirationAndGetToken(ctx, secret); err != nil {
 			t.Fatalf("Unexpected error running updateSecretExpirationAndGetToken: %v", err)
 		}
 
 		updatedSecret := &corev1.Secret{}
-		if err := reconciler.client.Get(reconciler.ctx, types.NamespacedName{
+		if err := reconciler.client.Get(ctx, types.NamespacedName{
 			Namespace: metav1.NamespaceSystem,
 			Name:      "secret",
 		}, updatedSecret); err != nil {
diff --git a/pkg/controller/machine/machine_test.go b/pkg/controller/machine/machine_test.go
index 7634bbee..7f4a65d9 100644
--- a/pkg/controller/machine/machine_test.go
+++ b/pkg/controller/machine/machine_test.go
@@ -188,6 +188,8 @@ func TestController_GetNode(t *testing.T) {
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
+			ctx := context.Background()
+
 			nodes := []runtime.Object{}
 			for _, node := range nodeList {
 				nodes = append(nodes, node)
@@ -195,7 +197,7 @@ func TestController_GetNode(t *testing.T) {
 			client := ctrlruntimefake.NewFakeClient(nodes...)
 			reconciler := Reconciler{client: client}
 
-			node, exists, err := reconciler.getNode(test.instance, test.provider)
+			node, exists, err := reconciler.getNode(ctx, test.instance, test.provider)
 			if diff := deep.Equal(err, test.err); diff != nil {
 				t.Errorf("expected to get %v instead got: %v", test.err, err)
 			}
@@ -278,6 +280,8 @@ func TestControllerDeletesMachinesOnJoinTimeout(t *testing.T) {
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
+			ctx := context.Background()
+
 			machine := &clusterv1alpha1.Machine{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:              "my-machine",
@@ -302,11 +306,11 @@ func TestControllerDeletesMachinesOnJoinTimeout(t *testing.T) {
 				joinClusterTimeout: test.joinTimeoutConfig,
 			}
 
-			if _, err := reconciler.ensureNodeOwnerRefAndConfigSource(instance, machine, providerConfig); err != nil {
+			if _, err := reconciler.ensureNodeOwnerRefAndConfigSource(ctx, instance, machine, providerConfig); err != nil {
 				t.Fatalf("failed to call ensureNodeOwnerRefAndConfigSource: %v", err)
 			}
 
-			err := client.Get(context.Background(), types.NamespacedName{Name: machine.Name}, &clusterv1alpha1.Machine{})
+			err := client.Get(ctx, types.NamespacedName{Name: machine.Name}, &clusterv1alpha1.Machine{})
 			wasDeleted := kerrors.IsNotFound(err)
 
 			if wasDeleted != test.getsDeleted {
@@ -440,6 +444,7 @@ func TestControllerShouldEvict(t *testing.T) {
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
+			ctx := context.Background()
 
 			objects := []runtime.Object{test.machine}
 			objects = append(objects, test.existingNodes...)
@@ -451,7 +456,7 @@ func TestControllerShouldEvict(t *testing.T) {
 				skipEvictionAfter: 2 * time.Hour,
 			}
 
-			shouldEvict, err := reconciler.shouldEvict(test.machine)
+			shouldEvict, err := reconciler.shouldEvict(ctx, test.machine)
 			if err != nil {
 				t.Fatal(err)
 			}
@@ -571,12 +576,13 @@ func TestControllerDeleteNodeForMachine(t *testing.T) {
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
+			ctx := context.Background()
+
 			objects := []runtime.Object{test.machine}
 			objects = append(objects, test.nodes...)
 
 			client := ctrlruntimefake.NewFakeClient(objects...)
 
-			ctx := context.TODO()
 			providerData := &cloudprovidertypes.ProviderData{
 				Ctx:    ctx,
 				Update: cloudprovidertypes.GetMachineUpdater(ctx, client),
@@ -589,7 +595,7 @@ func TestControllerDeleteNodeForMachine(t *testing.T) {
 				providerData: providerData,
 			}
 
-			err := reconciler.deleteNodeForMachine(test.machine)
+			err := reconciler.deleteNodeForMachine(ctx, test.machine)
 			if diff := deep.Equal(err, test.err); diff != nil {
 				t.Errorf("expected to get %v instead got: %v", test.err, err)
 			}