{"id":18291185,"url":"https://github.com/rhecosystemappeng/kogito-benchmark-automation","last_synced_at":"2025-04-09T07:49:36.878Z","repository":{"id":73675494,"uuid":"417130326","full_name":"RHEcosystemAppEng/kogito-benchmark-automation","owner":"RHEcosystemAppEng","description":"Contains all automation tools required to perform a Kogito benchmark test","archived":false,"fork":false,"pushed_at":"2021-11-18T15:16:50.000Z","size":74357,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-15T02:15:20.094Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RHEcosystemAppEng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-14T12:56:04.000Z","updated_at":"2021-11-18T15:16:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"b63c652f-884a-4338-846f-6107edf2e0d6","html_url":"https://github.com/RHEcosystemAppEng/kogito-benchmark-automation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RHEcosystemAppEng%2Fkogito-benchmark-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RHEcosystemAppEng%2Fkogito-benchmark-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RHEcosystemAppEng%2Fkogito-benchmark-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RHEcosystemAppEng%2Fkogito-benchmark-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RHEcosystemAppEng","download_url":"https://codeload.github.com/RHEcosystemAppEng/kogito-benchmark-automation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999840,"owners_count":21031044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T14:13:27.376Z","updated_at":"2025-04-09T07:49:36.850Z","avatar_url":"https://github.com/RHEcosystemAppEng.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kogito-benchmark-automation\nContains all automation tools required to perform a Kogito benchmark test\n\n## Install Automation Dependencies\n### Install Ansible on controller machine\n```\nsudo yum update\n```\non RHEL8 enable repo\n```\nsudo subscription-manager repos --enable ansible-2.9-for-rhel-8-x86_64-rpms\n```\non RHEL7 enable repo\n```\n sudo subscription-manager repos --enable rhel-7-server-ansible-2.9-rpms\n```\ninstall ansible\n```\nsudo yum install ansible\n``` \ninstall extra ansible modules\n```\nansible-galaxy collection install community.docker\nansible-galaxy collection install containers.podman\nansible-galaxy collection install community.general\n```\n\n### Install JQ on controller and tester machine\nJQ is used in most of the runXXX.sh scripts to parse the batch.json configuration file \n```\nsudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm\nsudo yum update\nsudo yum install  jq\n```\n\n### Install Ansible playbook dependencies on host machines\n```\nsudo yum install python3\nsudo yum install -y libselinux-python3\n```\nIn case python 3 is not linked don't forget to set ansible_python_interpreter: \u003cpython3 install dir\u003e e.g. /usr/bin/python3. \npython3 is needed by 'docker sdk for python'\n\ninstall pip to install 'docker sdk for python' which is needed for certain docker modules\n```\nsudo subscription-manager repos --enable rhel-server-rhscl-7-rpms\n--\u003e Repository 'rhel-server-rhscl-7-rpms' is enabled for this system.\nsudo yum install python27-python-pip\n--\u003e ...  Complete!\n```\nonce shell is closed need to run enable command again to be able to use pip\n```\nsudo scl enable python27 bash\n```\ncheck that installed and usable\n```\nwhich pip\n--\u003e /opt/rh/python27/root/usr/bin/pip\npip -V\n--\u003e pip 8.1.2 from /opt/rh/python27/root/usr/lib/python2.7/site-packages (python 2.7)\n```\ninstall docker sdk for python\n```\npip install docker\n```\n\n### Add ssh-key for user\nIf ansible is run from VM1 to access VM1/VM2, each user who wants to run the tests from VM1 \nneeds to add a ssh-key created (`ssh-keygen -t ed25519 -C \"xxx@redhat.com\"`) \nunder his/her account on VM1 (`~/.ssh`) to both VM1 and VM2 (`~/.ssh/authorized_keys`)  \n\n## Running tests\n- update the inventory file `testRunner/env/inventory`\n- if environments are already provisioned, skip ahead; \n  otherwise run script `runSetup.sh` (not final)\n- configure tests\n  - edit file `testRunner/test-resources/batch.json`   \n    - `InfraSetup.appVersion`: benchmark project branch under test\n    - `InfraSetup.tester`: `name`: LOCAL|VM1|VM2 `hostname`: localhost|\u003chost name\u003e\n    - `InfraSetup.app`: `name`: LOCAL|VM2 `hostname`: localhost|\u003chost name\u003e`\n    - `InfraSetup.container`: podman|docker\n    - `AppInfra`: lists all supported infra structure components (Mongo, Postgres Reactive, Postgres JDBC) - to use, set value to yes, otherwise to no\n    - `Process`: endpoint configuration under test\n    - `Warmup.enabled`: if case a warmup run is done before the test runs\n    - `Warmup.type`: see `Tests.type`\n    - `Warmup.timeOrCount`: see `Tests.timeOrCount`\n    - `Warmup.replicas`: see `Tests.replicas`\n    - `Warmup.users`: see `Tests.users`\n    - `Tests.type`: requests|duration\n    - `Tests.timeOrCount`: number of requests|duration of test \n    - `Tests.runs`: list of tests to be run; \n    - `Tests.replicas`: number of application replicas when running on OCP\n    - `Tests.users`: number of concurrent users\n- run script `testRunner/runTests.sh`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhecosystemappeng%2Fkogito-benchmark-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhecosystemappeng%2Fkogito-benchmark-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhecosystemappeng%2Fkogito-benchmark-automation/lists"}