konveyor / move2kube

Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/Openshift.
https://move2kube.konveyor.io/
Apache License 2.0
377 stars 119 forks source link

bug: answers to questions belonging to disabled categories don't get added to the generated config file #1161

Closed HarikrishnanBalagopal closed 3 months ago

HarikrishnanBalagopal commented 3 months ago

Overview

When using the --qa-diable qa-enable flags or overriding the default QAMappings file, the answers to questions that belong to disabled categories is not added to the generated m2kconfig.yaml file.

Steps to reproduce the behavior

  1. move2kube transform -s language-platforms/ --qa-enable ports
  2. Check the generated config yaml file

Actual behavior

move2kube:
  services:
    django:
      port: "8080"
    golang:
      ports:
        - "8080"
    java-gradle:
      childModules:
        java-gradle:
          port: "8080"
    java-maven:
      childModules:
        java-maven:
          port: "8080"
    nodejs:
      port: "8080"
    python:
      port: "8080"
    ruby:
      port: "8080"
    rust:
      port: "8085"

Expected behavior

The generated config file should contain the answers to all the other questions that were not asked as well.

move2kube:
  minreplicas: "2"
  services:
    django:
      "8080":
        servicetype: Ingress
        urlpath: /django
      deployment: Deployment
      enable: true
      port: "8080"
    golang:
      "8080":
        servicetype: Ingress
        urlpath: /golang
      deployment: Deployment
      enable: true
      ports:
        - "8080"
    java-gradle:
      "8080":
        servicetype: Ingress
        urlpath: /java-gradle
      childModules:
        java-gradle:
          port: "8080"
      deployment: Deployment
      dockerfileType: build stage in base image
      enable: true
      wartransformer: Jboss
    java-maven:
      "8080":
        servicetype: Ingress
        urlpath: /java-maven
      childModules:
        java-maven:
          port: "8080"
      deployment: Deployment
      dockerfileType: build stage in base image
      enable: true
      wartransformer: Jboss
    java-war:
      "8080":
        servicetype: Ingress
        urlpath: /java-war
      deployment: Deployment
      enable: true
      wartransformer: Jboss
    nodejs:
      "8080":
        servicetype: Ingress
        urlpath: /nodejs
      deployment: Deployment
      enable: true
      port: "8080"
    php:
      "8082":
        servicetype: Ingress
        urlpath: /php
      deployment: Deployment
      enable: true
    python:
      "8080":
        servicetype: Ingress
        urlpath: /python
      deployment: Deployment
      enable: true
      port: "8080"
    ruby:
      "8080":
        servicetype: Ingress
        urlpath: /ruby
      deployment: Deployment
      enable: true
      port: "8080"
    rust:
      "8085":
        servicetype: Ingress
        urlpath: /rust
      deployment: Deployment
      enable: true
      port: "8085"
  spawncontainers: false
  target:
    cicd:
      tekton:
        gitrepobasicauthsecret: ""
        gitreposshsecret: ""
        registrypushsecret: ""
    default:
      clustertype: Kubernetes
      ingress:
        host: myproject.com
        ingressclassname: ""
        tls: ""
    imageregistry:
      namespace: myproject
      quay.io:
        logintype: no authentication
      url: quay.io
  transformers:
    kubernetes:
      argocd:
        namespace: ""
    types:
      - ArgoCD
      - Buildconfig
      - CNBContainerizer
      - CloudFoundry
      - ClusterSelector
      - ComposeAnalyser
      - ComposeGenerator
      - ContainerImagesPushScriptGenerator
      - DockerfileDetector
      - DockerfileImageBuildScript
      - DockerfileParser
      - DotNetCore-Dockerfile
      - EarAnalyser
      - EarRouter
      - Golang-Dockerfile
      - Gradle
      - Jar
      - Jboss
      - Knative
      - Kubernetes
      - KubernetesVersionChanger
      - Liberty
      - Maven
      - Nodejs-Dockerfile
      - OperatorTransformer
      - OperatorsFromTCA
      - PHP-Dockerfile
      - Parameterizer
      - Python-Dockerfile
      - ReadMeGenerator
      - Ruby-Dockerfile
      - Rust-Dockerfile
      - Tekton
      - Tomcat
      - WarAnalyser
      - WarRouter
      - WinWebApp-Dockerfile
      - ZuulAnalyser
  transformerselector: ""

Environment info

version: v0.3.0+unreleased
gitCommit: fd897df878f977b14ea41ce7ed78a2de33e5a84a
gitTreeState: clean
goVersion: go1.21.7
platform: darwin/arm64

Additional context

Related