# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

name: Simulator CI
on:
  push:
    branches:
      - main
      - 4.22
      - 4.20
  pull_request:
concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
  contents: read
jobs:
  build:
    if: github.repository == 'apache/cloudstack'
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
        with:
          fetch-depth: 0
          persist-credentials: false
      - name: Setup Environment
        uses: ./.github/actions/setup-env
        with:
          install-python: 'true'
          install-apt-deps: 'true'
      - name: Env details
        run: |
          uname -a
          whoami
          javac -version
          mvn -v
          python3 --version
          free -m
          nproc
          git status
          ipmitool -V
      - name: Build with Maven
        run: |
          mvn -B -P developer,systemvm -Dsimulator clean install -DskipTests=true -T$(nproc)
      - name: Archive artifacts
        run: |
          mkdir -p /tmp/artifacts
          tar -czf /tmp/artifacts/targets.tar.gz $(find . -name "target" -type d) tools/marvin/dist engine/schema/dist utils/conf
          tar -czf /tmp/artifacts/m2-cloudstack.tar.gz -C ~/.m2/repository org/apache/cloudstack
      - name: Upload artifacts
        uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
        with:
          name: build-artifacts
          path: /tmp/artifacts/
  test:
    needs: build
    if: github.repository == 'apache/cloudstack'
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
      matrix:
        tests: [ "smoke/test_accounts
                  smoke/test_account_access
                  smoke/test_affinity_groups
                  smoke/test_affinity_groups_projects
                  smoke/test_annotations
                  smoke/test_async_job
                  smoke/test_attach_multiple_volumes
                  smoke/test_backup_recovery_dummy
                  smoke/test_certauthority_root
                  smoke/test_console_endpoint
                  smoke/test_create_list_domain_account_project
                  smoke/test_create_network
                  smoke/test_deploy_vgpu_enabled_vm
                  smoke/test_deploy_virtio_scsi_vm
                  smoke/test_deploy_vm_extra_config_data
                  smoke/test_deploy_vm_iso
                  smoke/test_deploy_vm_iso_uefi
                  smoke/test_deploy_vm_root_resize
                  smoke/test_deploy_vm_with_userdata
                  smoke/test_deploy_vms_in_parallel
                  smoke/test_deploy_vms_with_varied_deploymentplanners
                  smoke/test_restore_vm
                  smoke/test_diagnostics
                  smoke/test_direct_download
                  smoke/test_disk_offerings
                  smoke/test_disk_provisioning_types
                  smoke/test_domain_disk_offerings
                  smoke/test_domain_network_offerings
                  smoke/test_domain_service_offerings
                  smoke/test_domain_vpc_offerings",
                "smoke/test_cluster_drs
                  smoke/test_dynamicroles
                  smoke/test_enable_account_settings_for_domain
                  smoke/test_enable_role_based_users_in_projects
                  smoke/test_events_resource
                  smoke/test_global_settings
                  smoke/test_guest_vlan_range
                  smoke/test_host_maintenance
                  smoke/test_hostha_kvm
                  smoke/test_hostha_simulator
                  smoke/test_internal_lb
                  smoke/test_ipv6_infra
                  smoke/test_iso
                  smoke/test_kubernetes_clusters
                  smoke/test_kubernetes_supported_versions
                  smoke/test_list_ids_parameter
                  smoke/test_loadbalance
                  smoke/test_login
                  smoke/test_2fa
                  smoke/test_metrics_api
                  smoke/test_migration
                  smoke/test_multipleips_per_nic
                  smoke/test_nested_virtualization
                  smoke/test_set_sourcenat
                  smoke/test_webhook_lifecycle
                  smoke/test_purge_expunged_vms
                  smoke/test_extension_lifecycle
                  smoke/test_extension_custom_action_lifecycle
                  smoke/test_extension_custom",
                "smoke/test_network
                  smoke/test_network_acl
                  smoke/test_network_ipv6
                  smoke/test_network_permissions
                  smoke/test_nic
                  smoke/test_nic_adapter_type
                  smoke/test_non_contigiousvlan
                  smoke/test_object_stores
                  smoke/test_outofbandmanagement
                  smoke/test_outofbandmanagement_nestedplugin
                  smoke/test_over_provisioning
                  smoke/test_password_server
                  smoke/test_persistent_network
                  smoke/test_portable_publicip
                  smoke/test_portforwardingrules
                  smoke/test_primary_storage
                  smoke/test_privategw_acl
                  smoke/test_privategw_acl_ovs_gre
                  smoke/test_projects
                  smoke/test_public_ip_range
                  smoke/test_pvlan
                  smoke/test_regions
                  smoke/test_register_userdata
                  smoke/test_reset_configuration_settings
                  smoke/test_reset_vm_on_reboot
                  smoke/test_resource_accounting
                  smoke/test_resource_detail
                  smoke/test_global_acls",
                "smoke/test_router_dhcphosts
                  smoke/test_router_dns
                  smoke/test_router_dnsservice
                  smoke/test_routers
                  smoke/test_routers_iptables_default_policy
                  smoke/test_routers_network_ops
                  smoke/test_scale_vm
                  smoke/test_secondary_storage
                  smoke/test_service_offerings
                  smoke/test_snapshots
                  smoke/test_ssvm
                  smoke/test_staticroles
                  smoke/test_templates
                  smoke/test_update_security_group
                  smoke/test_usage
                  smoke/test_usage_events
                  smoke/test_vm_deployment_planner
                  smoke/test_vm_strict_host_tags
                  smoke/test_vm_schedule
                  smoke/test_deploy_vgpu_enabled_vm
                  smoke/test_vm_life_cycle
                  smoke/test_vm_lifecycle_unmanage_import
                  smoke/test_vm_snapshot_kvm
                  smoke/test_vm_snapshots
                  smoke/test_volumes
                  smoke/test_vpc_conserve_mode
                  smoke/test_vpc_ipv6
                  smoke/test_vpc_redundant
                  smoke/test_vpc_router_nics
                  smoke/test_vpc_vpn",
                "component/find_hosts_for_migration
                  component/test_acl_isolatednetwork
                  component/test_acl_isolatednetwork_delete
                  component/test_acl_listsnapshot",
                "component/test_acl_listvm
                  component/test_acl_listvolume",
                "component/test_acl_sharednetwork
                  component/test_acl_sharednetwork_deployVM-impersonation
                  component/test_user_private_gateway
                  component/test_user_shared_network",
                "component/test_affinity_groups_projects
                  component/test_allocation_states
                  component/test_assign_vm",
                "component/test_concurrent_snapshots_limit
                  component/test_cpu_domain_limits
                  component/test_cpu_limits
                  component/test_cpu_max_limits
                  component/test_cpu_project_limits
                  component/test_deploy_vm_userdata_multi_nic
                  component/test_deploy_vm_lease",
                "component/test_egress_fw_rules
                  component/test_invalid_gw_nm
                  component/test_ip_reservation",
                "component/test_lb_secondary_ip
                  component/test_list_nics
                  component/test_list_pod
                  component/test_memory_limits",
                "component/test_mm_domain_limits
                  component/test_mm_max_limits
                  component/test_mm_project_limits
                  component/test_network_offering
                  component/test_non_contiguous_vlan",
                "component/test_persistent_networks
                  component/test_project_configs
                  component/test_project_limits
                  component/test_project_resources",
                "component/test_project_usage
                  component/test_protocol_number_security_group
                  component/test_public_ip
                  component/test_resource_limits
                  component/test_resource_limit_tags",
                "component/test_regions_accounts
                  component/test_routers
                  component/test_snapshots
                  component/test_stopped_vm
                  component/test_tags
                  component/test_templates
                  component/test_updateResourceCount
                  component/test_update_vm",
                "component/test_volumes
                  component/test_vpc
                  component/test_vpc_distributed_routing_offering
                  component/test_vpc_network
                  component/test_vpc_offerings
                  component/test_vpc_routers
                  component/test_vpn_users
                  component/test_vpc_network_lbrules",
                "smoke/test_list_accounts
                  smoke/test_list_disk_offerings
                  smoke/test_list_domains
                  smoke/test_list_hosts
                  smoke/test_list_service_offerings
                  smoke/test_list_storage_pools
                  smoke/test_list_volumes"]
    steps:
      - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
        with:
          fetch-depth: 0
          persist-credentials: false
      - name: Setup Environment
        uses: ./.github/actions/setup-env
        with:
          install-python: 'true'
          install-apt-deps: 'true'
      - name: Setup IPMI Tool for CloudStack
        run: |
          # Create cloudstack-common directory if it doesn't exist
          sudo mkdir -p /usr/share/cloudstack-common

          # Copy ipmitool to cloudstack-common directory if it doesn't exist
          if [ ! -f /usr/share/cloudstack-common/ipmitool ]; then
            sudo cp /usr/bin/ipmitool /usr/share/cloudstack-common/ipmitool
            sudo chmod 755 /usr/share/cloudstack-common/ipmitool
          fi

          # Create ipmitool-C3 wrapper script
          sudo tee /usr/bin/ipmitool > /dev/null << 'EOF'
          #!/bin/bash
          /usr/share/cloudstack-common/ipmitool -C3 $@
          EOF
          sudo chmod 755 /usr/bin/ipmitool
      - name: Install Python dependencies
        run: |
          python3 -m pip install --user --upgrade urllib3 lxml paramiko nose texttable ipmisim pyopenssl pycryptodome mock flask netaddr pylint pycodestyle six astroid pynose
      - name: Install jacoco dependencies
        run: |
          wget https://github.com/jacoco/jacoco/releases/download/v0.8.10/jacoco-0.8.10.zip
          unzip jacoco-0.8.10.zip -d jacoco
      - name: Setup MySQL Server
        run: |
          # https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md#mysql
          sudo apt-get install -y mysql-server
          sudo systemctl start mysql
          sudo mysql -uroot -proot -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY ''; FLUSH PRIVILEGES;"
          sudo systemctl restart mysql
          sudo mysql -uroot -e "SELECT VERSION();"
      - name: Download artifacts
        uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
        with:
          name: build-artifacts
          path: /tmp/artifacts/
      - name: Extract artifacts
        run: |
          tar -xzf /tmp/artifacts/targets.tar.gz
          mkdir -p ~/.m2/repository
          tar -xzf /tmp/artifacts/m2-cloudstack.tar.gz -C ~/.m2/repository
      - name: Setup Simulator Prerequisites
        run: |
          sudo python3 -m pip install --upgrade netaddr mysql-connector-python
          python3 -m pip install --user --upgrade tools/marvin/dist/[mM]arvin-*.tar.gz
          mvn -q -Pdeveloper -pl developer -Ddeploydb
          mvn -q -Pdeveloper -pl developer -Ddeploydb-simulator
      - name: Generate jacoco-coverage.sh
        run: |
          echo "java -jar jacoco/lib/jacococli.jar report jacoco-it.exec \\" > jacoco-report.sh
          find . | grep "target/classes" | sed 's/\/classes\//\/classes /g' | awk '{print "--classfiles", $1, "\\"}' | sort |uniq >> jacoco-report.sh
          find . | grep "src/main/java" | sed 's/\/java\//\/java /g' | awk '{print "--sourcefiles", $1, "\\"}' | sort | uniq >> jacoco-report.sh
          echo "--xml jacoco-coverage.xml" >> jacoco-report.sh
      - name: Start CloudStack Management Server with Simulator
        run: |
          export MAVEN_OPTS="-Xmx4096m -XX:MaxMetaspaceSize=800m -Djava.security.egd=file:/dev/urandom  -javaagent:jacoco/lib/jacocoagent.jar=address=*,port=36320,output=tcpserver --add-opens=java.base/java.lang=ALL-UNNAMED --add-exports=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED"
          echo -e "\nStarting simulator"
          set +e
          mvn -Dsimulator -Dorg.eclipse.jetty.annotations.maxWait=120 -pl :cloud-client-ui jetty:run 2>&1 > /tmp/jetty-log || true &
          while ! nc -vzw 5 localhost 8096 2>&1 > /dev/null; do grep Exception /tmp/jetty-log; sleep 10; done
          set -e
          echo -e "\nStarting Advanced Zone DataCenter deployment"
          python3 tools/marvin/marvin/deployDataCenter.py -i setup/dev/advdualzone.cfg 2>&1 || true
      - name: Run Integration Tests with Simulator
        run: |
          mkdir -p integration-test-results/smoke/misc
          mkdir -p integration-test-results/component
          set -e
          TESTS="${{ matrix.tests }}"
          echo "Tests in this job: $TESTS"

          TESTS=($(echo $TESTS | tr -d '\n' | tr -s ' '))
          for suite in "${TESTS[@]}" ; do
            echo -e "Currently running test: $suite\n"
            time nosetests-3.4 --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advdualzone.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=zim1 --hypervisor=simulator || true ;
          done

          echo -e "Stopping Simulator, integration tests run completed\n"
          java -jar jacoco/lib/jacococli.jar dump --address localhost --port 36320 --destfile jacoco-it.exec
          bash jacoco-report.sh
          mvn -Dsimulator -pl client jetty:stop 2>&1
          find /tmp//MarvinLogs -type f -exec echo -e "Printing marvin logs {} :\n" \; -exec cat {} \;
      - name: Integration Tests Result
        run: |
          echo -e "Simulator CI Test Results: (only failures listed)\n"
          python3 ./tools/marvin/xunit-reader.py integration-test-results/

      - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
        with:
          files: jacoco-coverage.xml
          fail_ci_if_error: true
          flags: simulator-marvin-tests
          verbose: true
          name: codecov
          token: ${{ secrets.CODECOV_TOKEN }}
