diff --git a/image/cli/mascli/functions/internal/save_config b/image/cli/mascli/functions/internal/save_config index 67955e2bfe2..95c76002fec 100644 --- a/image/cli/mascli/functions/internal/save_config +++ b/image/cli/mascli/functions/internal/save_config @@ -31,6 +31,8 @@ export MAS_CHANNEL=$MAS_CHANNEL export MAS_ICR_CP=$MAS_ICR_CP export MAS_ICR_CPOPEN=$MAS_ICR_CPOPEN +export MAS_REPORT_ADOPTION_METRICS=$MAS_REPORT_ADOPTION_METRICS + export MAS_SUPERUSER_USERNAME=$MAS_SUPERUSER_USERNAME export MAS_SUPERUSER_PASSWORD=$MAS_SUPERUSER_PASSWORD diff --git a/python/src/mas/cli/install/app.py b/python/src/mas/cli/install/app.py index f67408d156d..e997b6b7c2b 100644 --- a/python/src/mas/cli/install/app.py +++ b/python/src/mas/cli/install/app.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # ***************************************************************************** -# Copyright (c) 2024 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -358,6 +358,16 @@ def configSpecialCharacters(self): ]) self.yesOrNo("Allow special characters for user IDs and usernames", "mas_special_characters") + @logMethodCall + def configReportAdoptionMetricsFlag(self): + if self.showAdvancedOptions: + self.printH1("Adoption Metrics Reporting") + self.printDescription([ + "Adoption Metrics are used by IBM to measure feature adoption, user engagement, and the success of product initiatives. When this option is enabled (y), you permit IBM to capture and analyze adoption metrics to help improve the Maximo Application Suite experience. When disabled (n), you are opting out of sending adoption metrics to IBM" + ]) + if not self.yesOrNo("Do you want to enable adoption metrics reporting"): + self.setParam("mas_report_adoption_metrics", "false") + @logMethodCall def configCP4D(self): if self.getParam("mas_catalog_version") in self.catalogOptions: @@ -445,6 +455,7 @@ def configMAS(self): self.configDNSAndCerts() self.configSSOProperties() self.configSpecialCharacters() + self.configReportAdoptionMetricsFlag() self.configGuidedTour() @logMethodCall diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 3b6533b5342..607355b7425 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -1,5 +1,5 @@ # ***************************************************************************** -# Copyright (c) 2024 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -119,6 +119,9 @@ def buildCommand(self) -> str: if self.getParam('mas_enable_walkme') == "false": command += f" --disable-walkme{newline}" + if self.getParam('mas_report_adoption_metrics') == "false": + command += f" --disable-reporting{newline}" + if self.getParam('enable_ipv6') is True: command += f" --enable-ipv6{newline}" diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index 116f14bc82c..2e7fc969b64 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -1,5 +1,5 @@ # ***************************************************************************** -# Copyright (c) 2024 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -178,6 +178,14 @@ def isValidFile(parser, arg) -> str: action="store_const", const="false" ) +masAdvancedArgGroup.add_argument( + "--disable-reporting", + dest="mas_report_adoption_metrics", + required=False, + help="Disable adoption metrics reporting", + action="store_const", + const="false" +) masAdvancedArgGroup.add_argument( "--dns-provider", diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 89cc9ff07fb..39eaf2054b0 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -158,6 +158,7 @@ "mas_arcgis_channel", # Guided Tour "mas_enable_walkme", + "mas_report_adoption_metrics" # Facilities "mas_ws_facilities_size", "mas_ws_facilities_routes_timeout", diff --git a/python/src/mas/cli/install/summarizer.py b/python/src/mas/cli/install/summarizer.py index 0fd50b6e7b5..d6af4009ede 100644 --- a/python/src/mas/cli/install/summarizer.py +++ b/python/src/mas/cli/install/summarizer.py @@ -1,5 +1,5 @@ # ***************************************************************************** -# Copyright (c) 2024 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -99,6 +99,9 @@ def masSummary(self) -> None: self.printParamSummary("IBM Entitled Registry", "mas_icr_cp") self.printParamSummary("IBM Open Registry", "mas_icr_cpopen") + print() + self.printParamSummary("Enable adoption metrics reporting", "mas_report_adoption_metrics") + print() self.printParamSummary("Trust Default Cert Authorities", "mas_trust_default_cas") diff --git a/tekton/src/params/install.yml.j2 b/tekton/src/params/install.yml.j2 index c241cdb9d51..131459f74f2 100644 --- a/tekton/src/params/install.yml.j2 +++ b/tekton/src/params/install.yml.j2 @@ -436,6 +436,10 @@ - name: mas_icr_cpopen type: string default: "" +- name: mas_report_adoption_metrics + type: string + default: "True" + description: Optional flag to enable or disable adoption metrics reporting. Defaults to true (reporting enabled). - name: mas_annotations type: string default: "" diff --git a/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 b/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 index ac28b43d697..c029fff68aa 100644 --- a/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 +++ b/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 @@ -24,6 +24,8 @@ value: $(params.mas_channel) - name: mas_catalog_source value: $(params.mas_catalog_source) + - name: mas_report_adoption_metrics + value: $(params.mas_report_adoption_metrics) - name: mas_icr_cp value: $(params.mas_icr_cp) - name: mas_icr_cpopen diff --git a/tekton/src/tasks/suite-install.yml.j2 b/tekton/src/tasks/suite-install.yml.j2 index 489ef9aa93e..0de5f55799f 100644 --- a/tekton/src/tasks/suite-install.yml.j2 +++ b/tekton/src/tasks/suite-install.yml.j2 @@ -70,6 +70,11 @@ spec: type: string default: "" + - name: mas_report_adoption_metrics + type: string + description: Optional flag to enable or disable adoption metrics reporting. Defaults to true (reporting enabled). + default: "True" + - name: ibm_entitlement_key type: string @@ -175,6 +180,9 @@ spec: - name: MAS_ICR_CPOPEN value: $(params.mas_icr_cpopen) + - name: MAS_REPORT_ADOPTION_METRICS + value: $(params.mas_report_adoption_metrics) + - name: IBM_ENTITLEMENT_KEY value: $(params.ibm_entitlement_key)