GoogleContainerTools / GoogleContainerTools/skaffold
ConfigConnector CRD status checking
- Dominant language
- Go
- Stars
- 15.9k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 10
Description
### Expected behavior
`skaffold apply` of a manifest which contains a `ConfigConnector` CRD should succeed once the resource becomes healthy.
i.e. https://cloud.google.com/config-connector/docs/how-to/install-upgrade-uninstall#addon-configuring
### Actual behavior
```
BUILD
Pulling image: gcr.io/k8s-skaffold/skaffold:v1.35.2
v1.35.2: Pulling from k8s-skaffold/skaffold
Digest: sha256:dd7b38c20839d081a2e17f3c99b7639c0e201bca8e2804ca66bdd462df714d3d
Status: Downloaded newer image for gcr.io/k8s-skaffold/skaffold:v1.35.2
gcr.io/k8s-skaffold/skaffold:v1.35.2
Operation completed over 3 objects/3.4 KiB.
Fetching cluster endpoint and auth data.
kubeconfig entry generated for CLUSTER
Starting deploy...
- configconnector.core.cnrm.cloud.google.com/configconnector.core.cnrm.cloud.google.com configured
Waiting for deployments to stabilize...
- :config-connector-resource/core.cnrm.cloud.google.com/v1beta1, Kind=ConfigConnector, Name=configconnector.core.cnrm.cloud.google.com: could not stabilize within 10m0s
- :config-connector-resource/core.cnrm.cloud.google.com/v1beta1, Kind=ConfigConnector, Name=configconnector.core.cnrm.cloud.google.com failed. Error: could not stabilize within 10m0s.
1/1 deployment(s) failed
ERROR
ERROR: build step 0 "gcr.io/k8s-skaffold/skaffold:v1.35.2" failed: step exited with non-zero status: 1
```
Checking the resource show's it's `Healthy` and up to date:
```
kubectl describe configconnector configconnector.core.cnrm.cloud.google.com
Name: configconnector.core.cnrm.cloud.google.com
Namespace:
Labels: app.kubernetes.io/managed-by=google-cloud-deploy
deploy.cloud.google.com/delivery-pipeline-id=config-connector
deploy.cloud.google.com/location=XXX
deploy.cloud.google.com/project-id=XXX
deploy.cloud.google.com/release-id=XXX
deploy.cloud.google.com/target-id=XXX
skaffold.dev/run-id=XXX
Annotations:
API Version: core.cnrm.cloud.google.com/v1beta1
Kind: ConfigConnector
Metadata:
Creation Timestamp: 2021-09-24T05:13:04Z
Finalizers:
configconnector.cnrm.cloud.google.com/finalizer
Generation: 4
Managed Fields:
API Version: core.cnrm.cloud.google.com/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:spec:
Manager: gke_addon_poststart
Operation: Update
Time: 2021-09-24T05:13:04Z
API Version: core.cnrm.cloud.google.com/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:finalizers:
.:
v:"configconnector.cnrm.cloud.google.com/finalizer":
f:status:
.:
f:healthy:
Manager: manager
Operation: Update
Time: 2021-09-24T05:13:06Z
API Version: core.cnrm.cloud.google.com/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:labels:
.:
f:app.kubernetes.io/managed-by:
f:deploy.cloud.google.com/delivery-pipeline-id:
f:deploy.cloud.google.com/location:
f:deploy.cloud.google.com/project-id:
f:deploy.cloud.google.com/release-id:
f:deploy.cloud.google.com/target-id:
f:skaffold.dev/run-id:
f:spec:
f:googleServiceAccount:
f:mode:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2022-03-21T03:38:20Z
Resource Version: 294911712
UID: cc821634-355a-4de5-8b21-6f7bac53ccba
Spec:
Google Service Account: XXX@XXX.iam.gserviceaccount.com
Mode: cluster
Status:
Healthy: true
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal UpToDate 4m49s (x24532 over 16d) configconnector-controller ConfigConnector is up to date
```
### Information
- Skaffold version: 1.35.2
- Operating system: Linux
- Installed via: Cloud Deploy/Cloud Build (docker)
- Contents of skaffold.yaml:
```yaml
apiVersion: skaffold/v2beta16
kind: Config
metadata:
name: config-connector
profiles:
- name: dev
deploy:
kubectl:
manifests:
- configconnector.yaml
```
### Steps to reproduce the behavior
create a `configconnector.yaml`:
```yaml
# configconnector.yaml
apiVersion: core.cnrm.cloud.google.com/v1beta1
kind: ConfigConnector
metadata:
# the name is restricted to ensure that there is only one
# ConfigConnector resource installed in your cluster
name: configconnector.core.cnrm.cloud.google.com
spec:
mode: cluster
googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
```
Contributor guide
Assessment
This issue has not been assessed yet.