-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BundleDeployoments Status not being properly updated in Fleet local with Rancher 2.8-devel #2128
Comments
This looks like it's related to the chart. Can you provide more debug information? |
Thanks for looking at it @manno. Sure here you go:
➜ ~ kubectl get bundle -n fleet-local fleet-agent-local -o=jsonpath={.status} | jq
{
"conditions": [
{
"lastUpdateTime": "2024-02-06T13:49:39Z",
"status": "True",
"type": "Ready"
},
{
"lastUpdateTime": "2024-02-06T13:49:39Z",
"status": "True",
"type": "Processed"
}
],
"display": {
"readyClusters": "1/1"
},
"maxNew": 50,
"maxUnavailable": 1,
"maxUnavailablePartitions": 0,
"observedGeneration": 1,
"partitions": [
{
"count": 1,
"maxUnavailable": 1,
"name": "All",
"summary": {
"desiredReady": 1,
"ready": 1
}
}
],
"resourceKey": [
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"name": "fleet-agent",
"namespace": "cattle-fleet-local-system"
},
{
"apiVersion": "networking.k8s.io/v1",
"kind": "NetworkPolicy",
"name": "default-allow-all",
"namespace": "cattle-fleet-local-system"
},
{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRole",
"name": "cattle-fleet-local-system-fleet-agent-role"
},
{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRoleBinding",
"name": "cattle-fleet-local-system-fleet-agent-role-binding"
},
{
"apiVersion": "v1",
"kind": "ServiceAccount",
"name": "default",
"namespace": "cattle-fleet-local-system"
},
{
"apiVersion": "v1",
"kind": "ServiceAccount",
"name": "fleet-agent",
"namespace": "cattle-fleet-local-system"
}
],
"summary": {
"desiredReady": 1,
"ready": 1
},
"unavailable": 0,
"unavailablePartitions": 0
} ➜ ~ kubectl get gitrepo -n fleet-local test-health-2 -o=jsonpath={.status} | jq
{
"commit": "44f4634747e3dd6c9d1ad6c9d402b430f7aae20b",
"conditions": [
{
"lastUpdateTime": "2024-02-07T10:57:54Z",
"message": "NotReady(1) [Bundle test-health-2-simple]; deployment.apps default/frontend [progressing] Deployment does not have minimum availability., Available: 0/3; deployment.apps default/redis-master [progressing] Deployment does not have minimum availability., Available: 0/1; deployment.apps default/redis-slave [progressing] Deployment does not have minimum availability., Available: 0/2",
"status": "False",
"type": "Ready"
},
{
"lastUpdateTime": "2024-02-07T11:10:44Z",
"status": "True",
"type": "Accepted"
},
{
"lastUpdateTime": "2024-02-07T10:57:41Z",
"status": "True",
"type": "ImageSynced"
},
{
"lastUpdateTime": "2024-02-07T10:57:51Z",
"status": "False",
"type": "Reconciling"
},
{
"lastUpdateTime": "2024-02-07T10:57:51Z",
"status": "False",
"type": "Stalled"
},
{
"lastUpdateTime": "2024-02-07T11:10:44Z",
"status": "True",
"type": "Synced"
}
],
"desiredReadyClusters": 1,
"display": {
"readyBundleDeployments": "0/1",
"state": "NotReady"
},
"gitJobStatus": "Current",
"lastSyncedImageScanTime": null,
"observedGeneration": 1,
"readyClusters": 0,
"resourceCounts": {
"desiredReady": 6,
"missing": 0,
"modified": 0,
"notReady": 3,
"orphaned": 0,
"ready": 3,
"unknown": 0,
"waitApplied": 0
},
"resources": [
{
"apiVersion": "apps/v1",
"id": "default/frontend",
"kind": "Deployment",
"message": "Deployment does not have minimum availability.; Available: 0/3",
"name": "frontend",
"namespace": "default",
"perClusterState": [
{
"clusterId": "fleet-local/local",
"message": "Deployment does not have minimum availability.; Available: 0/3",
"state": "updating",
"transitioning": true
}
],
"state": "updating",
"transitioning": true,
"type": "apps.deployment"
},
{
"apiVersion": "apps/v1",
"id": "default/redis-master",
"kind": "Deployment",
"message": "Deployment does not have minimum availability.; Available: 0/1",
"name": "redis-master",
"namespace": "default",
"perClusterState": [
{
"clusterId": "fleet-local/local",
"message": "Deployment does not have minimum availability.; Available: 0/1",
"state": "updating",
"transitioning": true
}
],
"state": "updating",
"transitioning": true,
"type": "apps.deployment"
},
{
"apiVersion": "apps/v1",
"id": "default/redis-slave",
"kind": "Deployment",
"message": "Deployment does not have minimum availability.; Available: 0/2",
"name": "redis-slave",
"namespace": "default",
"perClusterState": [
{
"clusterId": "fleet-local/local",
"message": "Deployment does not have minimum availability.; Available: 0/2",
"state": "updating",
"transitioning": true
}
],
"state": "updating",
"transitioning": true,
"type": "apps.deployment"
},
{
"apiVersion": "v1",
"id": "default/frontend",
"kind": "Service",
"name": "frontend",
"namespace": "default",
"state": "Ready",
"type": "service"
},
{
"apiVersion": "v1",
"id": "default/redis-master",
"kind": "Service",
"name": "redis-master",
"namespace": "default",
"state": "Ready",
"type": "service"
},
{
"apiVersion": "v1",
"id": "default/redis-slave",
"kind": "Service",
"name": "redis-slave",
"namespace": "default",
"state": "Ready",
"type": "service"
}
],
"summary": {
"desiredReady": 1,
"nonReadyResources": [
{
"bundleState": "NotReady",
"name": "test-health-2-simple",
"nonReadyStatus": [
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"name": "redis-master",
"namespace": "default",
"summary": {
"message": [
"Deployment does not have minimum availability.",
"Available: 0/1"
],
"state": "updating",
"transitioning": true
},
"uid": "47074a6e-1a55-4a11-b482-3b1bf38b9258"
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"name": "redis-slave",
"namespace": "default",
"summary": {
"message": [
"Deployment does not have minimum availability.",
"Available: 0/2"
],
"state": "updating",
"transitioning": true
},
"uid": "57fa1a5d-7245-4791-abea-7644629a150d"
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"name": "frontend",
"namespace": "default",
"summary": {
"message": [
"Deployment does not have minimum availability.",
"Available: 0/3"
],
"state": "updating",
"transitioning": true
},
"uid": "e23816d5-383b-4f64-9026-2d812f645e73"
}
]
}
],
"notReady": 1,
"ready": 0
}
}
|
I consider this as a Critical Issue, it behaves the same on today's build of rancher When adding PRIVATE HTTPS repo with BASIC AUTH for the first time, regardless if on local or downstream cluster, it is gonna fail and the status of the GitRepo is The status can be hotfixed by selecting the GitRepo and pressing I could reproduce with simple nginx deployment stored on private Azure, Bitbucket and Gitlab repository. Surprisingly it works ok with private Github repo. |
This only happens with basic auth credentials for the git repo? |
Unfortunately I could reproduce it also with Private Azure DevOps SSH repo and keys on local
The pods are up and |
Private Github HTTPS repo is not affected. |
To me it looks like fleet-agent pod attempts to check fleet deployment from gitrepo and its pods availability 4 times and then it gives up just before the pods are scheduled.
Logs from all pods/jobs and namespaces here |
I've updated the subject of the issue as I could recreate using almost any Investigating I realised the issue was because Modify events for It will be available when |
QA TemplateSolutionSolution was to rollback the PR that caused the issue TestingDeploy any apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
name: sample
namespace: fleet-local
spec:
repo: "https://github.com/0xavi0/fleet-examples"
branch: master
paths:
- single-cluster/helm The Fix should be in future version Additional info |
Fix noted. Checked in Rancher kind: GitRepo
apiVersion: fleet.cattle.io/v1alpha1
metadata:
name: simple
namespace: fleet-local
spec:
repo: https://github.com/rancher/fleet-examples
paths:
- simple The example was deployed correctly showing 6 resources deployed in seconds.... , as opposed as in This test has been added to our UI e2e regression test Fleet-62 here. |
Related to: rancher#2128 Signed-off-by: Xavi Garcia <xavi.garcia@suse.com>
Related to: rancher#2128 Signed-off-by: Xavi Garcia <xavi.garcia@suse.com>
Related to: rancher#2128 Signed-off-by: Xavi Garcia <xavi.garcia@suse.com>
Related to: rancher#2128 Signed-off-by: Xavi Garcia <xavi.garcia@suse.com>
Related to: #2128 Signed-off-by: Xavi Garcia <xavi.garcia@suse.com>
Is there an existing issue for this?
Current Behavior
When deploying fleet-examples with path
simple
on local fleet cluster on Rancher 2.8-devel, it can take more than 20 mins to get clusters in Ready state. This does not seem only an UI issue as the backend displays the error on:a
Expected Behavior
Clusters should be ready in few minutes (<5 mins)
Workaround. Using "Force update" Fixes the issue as can be seen here:
Screencast.from.06-02-24.14.18.05.mov
Steps To Reproduce
1.26.10+k3s2
v2.8-head
, I used:Continuous Delivery
> toggle tofleet local
>Gitjob
>Add Repository
master
simple
Add
, thenCreate
Environment
Logs
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: