From f39f90728fe9016117f21f2b77c2659248075960 Mon Sep 17 00:00:00 2001 From: kirandarbha Date: Wed, 21 Oct 2020 11:32:14 +0530 Subject: [PATCH 1/3] adding newly introduced UserExternal to crtmqm Removing redundant env variable in dockerfile userexternal only if gt 9201 restore env variable for UNKNOWN_ID --- Dockerfile-server | 2 +- cmd/runmqserver/qmgr.go | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Dockerfile-server b/Dockerfile-server index f5ac626..6b1bd9b 100644 --- a/Dockerfile-server +++ b/Dockerfile-server @@ -157,7 +157,7 @@ RUN chown -R 1001:root /etc/mqm/* \ && install --directory --mode 2775 --owner 1001 --group root /run/runmqdevserver ENV MQ_ENABLE_EMBEDDED_WEB_SERVER=1 MQ_GENERATE_CERTIFICATE_HOSTNAME=localhost ENV LD_LIBRARY_PATH=/opt/mqm/lib64 -ENV MQS_PERMIT_UNKNOWN_ID=true ENV MQ_CONNAUTH_USE_HTP=true +ENV MQS_PERMIT_UNKNOWN_ID=true USER 1001 ENTRYPOINT ["runmqdevserver"] diff --git a/cmd/runmqserver/qmgr.go b/cmd/runmqserver/qmgr.go index e932e55..da2b00b 100644 --- a/cmd/runmqserver/qmgr.go +++ b/cmd/runmqserver/qmgr.go @@ -203,9 +203,21 @@ func getQueueManagerDataDir(mounts map[string]string, name string) string { } func getCreateQueueManagerArgs(mounts map[string]string, name string, devMode bool) []string { + + // use "UserExternal" only if we are 9.2.0.1 or above. + mqVersion, _, err := command.Run("dspmqver", "-b", "-f", "2") + if err != nil { + log.Printf("Error Getting MQ version to find oa: %v", strings.TrimSuffix(string(mqVersion), "\n")) + } + oaVal := "user" + if mqVersion > "9.2.0.0" { + oaVal = "UserExternal" + } + + //build args args := []string{"-ii", "/etc/mqm/", "-ic", "/etc/mqm/", "-q", "-p", "1414"} if devMode { - args = append(args, "-oa", "user") + args = append(args, "-oa", oaVal) } if _, ok := mounts["/mnt/mqm-log"]; ok { args = append(args, "-ld", "/mnt/mqm-log/log") From 23f31b1639bad6f3ad9ed6e468a8ffda752b57a4 Mon Sep 17 00:00:00 2001 From: kirandarbha Date: Tue, 3 Nov 2020 10:54:13 +0530 Subject: [PATCH 2/3] updating to use mqversion util --- cmd/runmqserver/qmgr.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/cmd/runmqserver/qmgr.go b/cmd/runmqserver/qmgr.go index da2b00b..7190c56 100644 --- a/cmd/runmqserver/qmgr.go +++ b/cmd/runmqserver/qmgr.go @@ -27,6 +27,7 @@ import ( "github.com/ibm-messaging/mq-container/internal/command" containerruntime "github.com/ibm-messaging/mq-container/internal/containerruntime" "github.com/ibm-messaging/mq-container/internal/mqscredact" + "github.com/ibm-messaging/mq-container/internal/mqversion" "github.com/ibm-messaging/mq-container/internal/ready" ) @@ -204,13 +205,16 @@ func getQueueManagerDataDir(mounts map[string]string, name string) string { func getCreateQueueManagerArgs(mounts map[string]string, name string, devMode bool) []string { - // use "UserExternal" only if we are 9.2.0.1 or above. - mqVersion, _, err := command.Run("dspmqver", "-b", "-f", "2") - if err != nil { - log.Printf("Error Getting MQ version to find oa: %v", strings.TrimSuffix(string(mqVersion), "\n")) - } + mqversionBase := "9.2.0.0" + + // use "UserExternal" only if we are 9.2.1.0 or above. oaVal := "user" - if mqVersion > "9.2.0.0" { + mqVersionCheck, err := mqversion.Compare(mqversionBase) + + if err != nil { + log.Printf("Error comparing MQ versions for oa,rc: %v", mqVersionCheck) + } + if mqVersionCheck > 0 { oaVal = "UserExternal" } From a3e3b0d8c685d81b67d95206796c89c511eff87a Mon Sep 17 00:00:00 2001 From: kirandarbha Date: Tue, 3 Nov 2020 15:20:13 +0530 Subject: [PATCH 3/3] update version-check condition --- cmd/runmqserver/qmgr.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/runmqserver/qmgr.go b/cmd/runmqserver/qmgr.go index 7190c56..b87d40c 100644 --- a/cmd/runmqserver/qmgr.go +++ b/cmd/runmqserver/qmgr.go @@ -205,7 +205,7 @@ func getQueueManagerDataDir(mounts map[string]string, name string) string { func getCreateQueueManagerArgs(mounts map[string]string, name string, devMode bool) []string { - mqversionBase := "9.2.0.0" + mqversionBase := "9.2.1.0" // use "UserExternal" only if we are 9.2.1.0 or above. oaVal := "user" @@ -214,7 +214,7 @@ func getCreateQueueManagerArgs(mounts map[string]string, name string, devMode bo if err != nil { log.Printf("Error comparing MQ versions for oa,rc: %v", mqVersionCheck) } - if mqVersionCheck > 0 { + if mqVersionCheck >= 0 { oaVal = "UserExternal" }