This is an automated email from the ASF dual-hosted git repository.

mani pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-core.git


The following commit(s) were added to refs/heads/master by this push:
     new ee8a85a4 [YUNIKORN-1983] Add config to statedump (#664)
ee8a85a4 is described below

commit ee8a85a4a4c3da1155826d5a5e5282e03e5e30ff
Author: brandboat <[email protected]>
AuthorDate: Wed Oct 4 12:34:05 2023 +0530

    [YUNIKORN-1983] Add config to statedump (#664)
    
    Closes: #664
    
    Signed-off-by: Manikandan R <[email protected]>
---
 pkg/webservice/handlers.go      | 18 +++++++++++-------
 pkg/webservice/handlers_test.go | 11 +++++++++++
 pkg/webservice/state_dump.go    |  2 ++
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/pkg/webservice/handlers.go b/pkg/webservice/handlers.go
index 9b30f884..4192093b 100644
--- a/pkg/webservice/handlers.go
+++ b/pkg/webservice/handlers.go
@@ -427,13 +427,7 @@ func getClusterConfig(w http.ResponseWriter, r 
*http.Request) {
        var marshalledConf []byte
        var err error
 
-       // merge core config with extra config
-       schedulerConf := 
configs.ConfigContext.Get(schedulerContext.GetPolicyGroup())
-       extraConfig := configs.GetConfigMap()
-       conf := dao.ConfigDAOInfo{
-               SchedulerConfig: schedulerConf,
-               Extra:           extraConfig,
-       }
+       conf := getClusterConfigDAO()
 
        // check if we have a request for json output
        if r.Header.Get("Accept") == "application/json" {
@@ -450,6 +444,16 @@ func getClusterConfig(w http.ResponseWriter, r 
*http.Request) {
        }
 }
 
+func getClusterConfigDAO() *dao.ConfigDAOInfo {
+       // merge core config with extra config
+       conf := dao.ConfigDAOInfo{
+               SchedulerConfig: 
configs.ConfigContext.Get(schedulerContext.GetPolicyGroup()),
+               Extra:           configs.GetConfigMap(),
+       }
+
+       return &conf
+}
+
 func checkHealthStatus(w http.ResponseWriter, r *http.Request) {
        writeHeaders(w)
 
diff --git a/pkg/webservice/handlers_test.go b/pkg/webservice/handlers_test.go
index 5dc978c6..d8a5197c 100644
--- a/pkg/webservice/handlers_test.go
+++ b/pkg/webservice/handlers_test.go
@@ -1292,6 +1292,15 @@ func TestValidateQueue(t *testing.T) {
 }
 
 func TestFullStateDumpPath(t *testing.T) {
+       original := configs.GetConfigMap()
+       defer func() {
+               configs.SetConfigMap(original)
+       }()
+       configMap := map[string]string{
+               "log.level": "WARN",
+       }
+       configs.SetConfigMap(configMap)
+
        schedulerContext = prepareSchedulerContext(t, false)
 
        partitionContext := schedulerContext.GetPartitionMapClone()
@@ -1622,4 +1631,6 @@ func verifyStateDumpJSON(t *testing.T, aggregated 
*AggregatedStateInfo) {
        assert.Check(t, len(aggregated.ClusterInfo) > 0)
        assert.Check(t, len(aggregated.Queues) > 0)
        assert.Check(t, len(aggregated.LogLevel) > 0)
+       assert.Check(t, len(aggregated.Config.SchedulerConfig.Partitions) > 0)
+       assert.Check(t, len(aggregated.Config.Extra) > 0)
 }
diff --git a/pkg/webservice/state_dump.go b/pkg/webservice/state_dump.go
index fbb14026..c607d175 100644
--- a/pkg/webservice/state_dump.go
+++ b/pkg/webservice/state_dump.go
@@ -47,6 +47,7 @@ type AggregatedStateInfo struct {
        Queues           []dao.PartitionQueueDAOInfo      
`json:"queues,omitempty"`
        RMDiagnostics    map[string]interface{}           
`json:"rmDiagnostics,omitempty"`
        LogLevel         string                           
`json:"logLevel,omitempty"`
+       Config           *dao.ConfigDAOInfo               
`json:"config,omitempty"`
 }
 
 func getFullStateDump(w http.ResponseWriter, r *http.Request) {
@@ -80,6 +81,7 @@ func doStateDump(w io.Writer) error {
                Queues:           getPartitionQueuesDAO(partitionContext),
                RMDiagnostics:    getResourceManagerDiagnostics(),
                LogLevel:         zapConfig.Level.Level().String(),
+               Config:           getClusterConfigDAO(),
        }
 
        var prettyJSON []byte


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to