Guide for CQA Test Application

0. Requirements

  • Recommend : Linux, MAC OS
  • python3.x
  • flask
  • flask_restful
  • flaskswaggerui

1. Install & Run through Python code

  • Download 'CQA Test App' codes by git clone

    • $git clone https://git.linecorp.com/Cloud-QA/cqa-test-app.git
  • Install requirements library

    • $pip install -r requirements.txt
  • Run CQA Test App with python

    • $python runcqatest_app.py

2. Run through Docker image

  • Install & Setup docker env

    • Reference : https://wiki.linecorp.com/pages/viewpage.action?pageId=3307884383#TechnicalReviewDocker&K8S-DockerInstall
  • Docker login to Verda Container Registry

    $ docker login vcr.linecorp.com
    Username: vcr-vrdqa
    Password:
    WARNING! Your password will be stored unencrypted in /home1/irteamsu/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded
    
  • Pull 'CQA Test App' image from Verda Container Registry

    • CQA Test App Image Url : vcr.linecorp.com/vrdqa/cqa-test-app:latest
      $ docker pull vcr.linecorp.com/vrdqa/cqa-test-app:latest
      latest: Pulling from vrdqa/cqa-test-app
      446f83f14b23: Already exists
      1d76aadd217c: Already exists
      82772770002a: Already exists
      08ce07491246: Already exists
      0a1d9c26dd72: Pull complete
      4d1a799d8f8f: Pull complete
      1603f27e9756: Pull complete
      Digest: sha256:5ea4b8598aa3343f261f4942bb057fb1252b354cbfc2ee989904a174d9e5218b
      Status: Downloaded newer image for vcr.linecorp.com/vrdqa/cqa-test-app:latest
      vcr.linecorp.com/vrdqa/cqa-test-app:latest
      
  • Run 'CQA Test App' image

    • CQA Test App use port 10345, 10346, so need to port option with docker run.
      $ docker run -d --name cqa-test-app -p 10345:10345 -p 10346:10346 vcr.linecorp.com/vrdqa/cqa-test-app
      $ docker ps -l
      CONTAINER ID   IMAGE                                 COMMAND                   CREATED              STATUS              PORTS                                        NAMES
      24c0772845e1   vcr.linecorp.com/vrdqa/cqa-test-app   "python3 run_cqa_tes…"   About a minute ago   Up About a minute   0.0.0.0:10345-10346->10345-10346/tcp   cqa-test-app
      
      $ curl localhost:10345/test
      {"client_ip":"172.17.0.1","code":200,"host":"localhost:10345","host_ip":"172.17.0.2","host_name":"24c0772845e1","method":"GET","msg":"Test OK","path":"/test","version":"v1.0.0"}
      

3. Run CQA Test App through AppRunner

  • AppRunner Guide : https://verda-doc.linecorp.com/compute/apprunner/overview/
  • Create App by CQA Test App's ImageUrl or Repository

    • ImageUrl : vcr.linecorp.com/vrdqa/cqa-test-app:latest
      image

    • Repository : Cloud-QA/cqa-test-app
      image

    • Need to set "Container Port" is '10345'
      image

4. Check "CQA Test App" Running

  • After run "CQA Test App", Access 'Swagger UI'(http://{your server ip}:10345/swagger) for check testing CQA Test App API
    image

5. Etc

About Log file

  • CQA Test App records Server 'API method, path, code, client, host, and msg' information as logfile.
    • log file path : {cqa-test-app path}/cqa-test-app.log
    • log format : "[timestamp] [loglevel] appversion=, requesthost=, httpmethod=, requestpath=, responsestatus=, clientip=, hostip=, hostname, messsage="
      [2024-12-11 08:45:07,491] [INFO] app_version=v1.0.0, request_host=127.0.0.1:10345, http_method=GET, request_path=/test, response_status=200, client_ip=127.0.0.1, host_ip=172.24.193.193, host_name=vqa-test-node-00044-deployment-5c6c4999f7-94m4v, message=Test OK
      
    • You can show log file by 'File Explorer' UI
      • Access File Explorer : http://{your server ip}:10345/explorer/cqa-test-app.log
        image