apache / apache/solr-operator

Adding ObservedGeneration in the CRD

Open
#650 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
283
Forks
148
PR merge metrics
No merged PRs in 30d

Description

Currently, its hard to tell if solr cloud deployment has changed from "x" to "y" state, or if it has changed at all after I have done some changes in the CR.
Perhaps if we can add Observed Generator field and/or something like "LastTransitionTime", the CR could tell more about the current state of the solr cloud? This could be a good basis for a requirement we have, where we are tracking the transition of solr from "x" to "y".

Expected status:

```
status:
backupRestoreReady: false
internalCommonAddress: http://test-solrcloud-common.solr-cluster
podSelector: solr-cloud=test,technology=solr-cloud
readyReplicas: 3
replicas: 3
**observedGeneration: 1**
solrNodes:
- internalAddress: http://test-solrcloud-0.test-solrcloud-headless.solr-cluster:8983
name: test-solrcloud-0
nodeName: gccdelinttexw2
ready: true
specUpToDate: true
version: 9.2.0
**lastTransitionTime: 2023-10-27T12:53:56.989Z**
- internalAddress: http://test-solrcloud-1.test-solrcloud-headless.solr-cluster:8983
name: test-solrcloud-1
nodeName: gccdelinttexw3
ready: true
specUpToDate: true
version: 9.2.0
**lastTransitionTime: 2023-10-27T12:54:56.989Z**
- internalAddress: http://test-solrcloud-2.test-solrcloud-headless.solr-cluster:8983
name: test-solrcloud-2
nodeName: gccdelinttexw1
ready: true
specUpToDate: true
version: 9.2.0
**lastTransitionTime: 2023-10-27T12:55:56.989Z**
upToDateNodes: 3
version: 9.2.0
zookeeperConnectionInfo:
chroot: /test
externalConnectionString: N/A
internalConnectionString: test-solrcloud-zookeeper-0.test-solrcloud-zookeeper-headless.solr-cluster.svc.cluster.local:2181,test-solrcloud-zookeeper-1.test-solrcloud-zookeeper-headless.solr-cluster.svc.cluster.local:2181,test-solrcloud-zookeeper-2.test-solrcloud-zookeeper-headless.solr-cluster.svc.cluster.local:2181
```

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named in the issue. Start by locating the SolrCloud CRD status definitions and the controller reconciliation entry point, then compare the requested observedGeneration and lastTransitionTime fields with existing Kubernetes status conventions; done means the CRD reports these values consistently for the cloud and its nodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.