ibm-mas / cli

Maximo Application Suite command line interface
https://ibm-mas.github.io/cli/
Eclipse Public License 2.0
23 stars 18 forks source link

Non-interactive mas install is interactive instead - at least when you define additional configurations #527

Closed ghost closed 11 months ago

ghost commented 1 year ago

I have tried the non-interactive mode of mas install cli by running this command

mas install \ -c v8-amd64 \ --ibm-entitlement-key myentitlementkey \ --license-id 0242ac110002 \ --license-file /tmp/entitlement.lic \ --uds-email mas@test.com \ --uds-firstname mas \ --uds-lastname mas -i inst1 -w main -W "Main Workspace" \ --additional-configs /tmp/configs/ \ --mas-channel 8.11.x \ --manage-channel 8.7.x \ --manage-jdbc workspace-application \ --manage-server-bundle-size dev \ --manage-components "base=latest" \ --storage-rwo ocs-storagecluster-ceph-rbd \ --storage-rwx ocs-storagecluster-cephfs \ --storage-pipeline ocs-storagecluster-cephfs \ --storage-accessmode ReadWriteMany \ --non-prod --no-wait-for-pvcs

I would expect not having to interact after that, but following this command I got this asking for my input

image

I was hoping to build a wrapper on top of this mas install cli, running it in non-interactive mode through a jenkins pipeline/job, but this request for input, pretty much prevent this to be done. Please make the non-interactive mode really non-interactive.

whitfiea commented 1 year ago

@jcrg99 Can you try using the --no-confirm flag as well? Also what version of the CLI are you using as @andrercm added the PR recently https://github.com/ibm-mas/cli/pull/501

ghost commented 1 year ago

I have tried with --no-confirm flag and the issue was reproduced.

image

whitfiea commented 1 year ago

@andrercm could you look at this problem? It seems closely related to https://github.com/ibm-mas/cli/pull/501 but looking at thise code changes it doesn't seem do what i expect in the --no-confirm case.

andrercm commented 1 year ago

Sure @whitfiea and @jcrg99 I'll look into that

andrercm commented 1 year ago

I have a branch where i'm testing this issue now: https://github.com/ibm-mas/cli/tree/andrercm-multiple-fixes

andrercm commented 11 months ago

Fixed this problem in the following PR: https://github.com/ibm-mas/cli/pull/568

Now you can set --additional-configs $LOCAL_CONFIG_DIR and --no-confirm along the mas install command and the pipeline will be triggered in silent mode without asking you to confirm or review any settings.

Here's the test output:

[ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes]mascli$ mas install --mas-catalog-version v8-amd64 --accept-license \
>   --license-file /tmp/entitlement.lic \
>   --uds-email 'mas@test.com' --uds-firstname 'mas' --uds-lastname 'mas' \
>   --storage-rwo 'ibmc-block-silver' --storage-rwx 'ibmc-file-silver' --storage-pipeline 'ibmc-file-silver' --storage-accessmode 'ReadWriteMany' \
>   --mas-instance-id 'andretest-1' --mas-workspace-id 'main' --mas-workspace-name 'main' \
>   --mas-channel '8.10.x' --additional-configs /tmp --non-prod \
>   --manage-channel 8.6.x \
>   --manage-jdbc workspace-application --manage-components base=latest --no-confirm
IBM Maximo Application Suite Installer (v7.6.0-pre.andrercm-multiple-fixes)
Powered by https://github.com/ibm-mas/ansible-devops/ and https://tekton.dev/

1) Install OpenShift Pipelines Operator
OpenShift Pipelines Operator is installed and ready

The following additional configurations will be applied:
 - bascfg_masdeps2.yaml
 - jdbccfg_masdev_lite.yaml
 - jdbc_masdeps2.yaml
 - kafkacfg_maskafka1.yaml
 - ldapcfg_masdeps1.yaml
 - mongocfg_masdev.yaml
 - slscfg_masdeps2.yaml
 - smtpcfg_masdeps1.yaml
 - workspace_masdev.yaml

2) Prepare Installation

Namespace 'mas-andretest-1-pipelines' is ready

Installed Task Definitions
mas-devops-appconnect                   quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cert-manager                 quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cluster-monitoring           quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-common-services              quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cos                          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cos-deprovision              quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cp4d                         quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-cp4d-service                 quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-db2                          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-gencfg-workspace             quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-ibm-catalogs                 quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-kafka                        quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-kafka-deprovision            quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-mongodb                      quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-must-gather                  quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-nvidia-gpu                   quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-ocp-deprovision              quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-ocp-verify                   quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-ocp-verify-all               quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-ocs                          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-sls                          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-config             quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-install            quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-rollback           quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-uninstall          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-upgrade            quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-app-verify             quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-certs                  quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-config                 quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-db2-setup-for-manage   quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-dns                    quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-install                quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-rollback               quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-uninstall              quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-upgrade                quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-suite-verify                 quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-turbonomic                   quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes
mas-devops-uds                          quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes

Installed Pipeline Definitions
NAME            AGE
mas-db2         114m
mas-install     114m
mas-rollback    114m
mas-uninstall   114m
mas-update      114m
mas-upgrade     114m

quay.io/ibmmas/cli:7.6.0-pre.andrercm-multiple-fixes is available from the target OCP cluster

3) Review Settings

    IBM Maximo Application Suite
    Instance ID ............... andretest-1
    Workspace ID .............. main
    Workspace Name ............ main
    Operation Mode ............ Non-production
    Installation Mode ......... Connected Install
    Catalog Version ........... v8-amd64
    Subscription Channel ...... 8.10.x
    IBM Entitled Registry ..... cp.icr.io/cp
    IBM Open Registry ......... icr.io/cpopen
    IBM Entitlement Key ....... eyJhbGci<snip>

    IBM Maximo Application Suite Applications
    IoT ....................... Skip Installation
     - Monitor ................ Skip Installation
    Manage .................... 8.6.x (workspace-application JDBC Config)
     - Components ............. base=latest
     - Include Demo Data ......
     - Predict ................ Skip Installation
    Optimizer ................. Skip Installation
    Assist .................... Skip Installation
    Visual Inspection ......... Skip Installation

    IBM Suite License Service
    License File .............. /tmp/entitlement.lic
    IBM Open Registry ......... icr.io/cpopen

    MongoDB
    Install Namespace ......... <default>

    IBM User Data Services
    Contact Email ............. mas@test.com
    First Name ................ mas
    Last Name ................. mas

    Cluster Monitoring
    Include Grafana ........... Yes

    Storage Class Configuration
    Storage Class Provider .... custom
    ReadWriteOnce ............. ibmc-block-silver
    ReadWriteMany ............. ibmc-file-silver

    Workload Scale Configuration
    Workload Scale Profile .... Burstable

    Cluster Ingress Configuration
    Certificate Secret ........ router-metrics-certs-default

Non-Interactive Install Command
Use these commands to easily re-run the same installation anywhere:

export IBM_ENTITLEMENT_KEY=xxx
mas install --mas-catalog-version v8-amd64 --accept-license \
  --license-file /tmp/entitlement.lic \
  --uds-email 'mas@test.com' --uds-firstname 'mas' --uds-lastname 'mas' \
  --storage-rwo 'ibmc-block-silver' --storage-rwx 'ibmc-file-silver' --storage-pipeline 'ibmc-file-silver' --storage-accessmode 'ReadWriteMany' \
  --mas-instance-id 'andretest-1' --mas-workspace-id 'main' --mas-workspace-name 'main' \
  --mas-channel '8.10.x' --additional-configs /tmp --non-prod --ocp-ingress-tls-secret-name router-metrics-certs-default \
  --manage-channel 8.6.x \
  --manage-jdbc workspace-application --manage-components base=latest

4) Launch Installation
Installation started successfully

View progress:
  https://console-openshift-console.tmp-andrercm-6f1620198115433da1cac8216c06779b-0000.eu-gb.containers.appdomain.cloud/pipelines/ns/mas-andretest-1-pipelines