Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: kubernetes deploy and real-time status update #68

Merged
merged 30 commits into from
Mar 31, 2024

Conversation

ghkdqhrbals
Copy link
Member

@ghkdqhrbals ghkdqhrbals commented Mar 31, 2024

Backend Implement

  • Percentile & average calculator generic method
  • MTTFB percentile value change to Long
  • bm-agent now send AgentStatus.STOP event to bm-controller when stop is called
  • Validation update with TemplateRequestDto
  • Scheduler for catching high error rate, shutdown, response STOP_BY_ERROR event to bm-controller. It will start after 10s, period of 20s
  • Parallel status check with the all agents (originally, sequential execution)
  • Max agent status check timeout 30s to 10s

Kubernetes Implement

  • bm-agent change to StatefulSet (originally Deployment)
  • GCP egress 0.0.0.0/0 set, so you can run your performance test to every url
  • spring-cloud-kubernetes-client to read pods ip related "bm-agent-service", listing, sending status request in every seconds
    • In a profile production, eureka discovery will be served
    • In a profile kubernetes, kubernetes discovery will be served
  • RBAC setup (ClusterRole, serviceaccount, rolebinding ) attach to bm-controller deployment (because bm-controller need to run kubernetes API and get a auth to read services, pods)
  • Ingress rule update
  • img_push_multi_arch_local.sh added
  • Issuer.yaml renewal, TLS setup with cert-manager

deploy url - https://www.high-load.org

Frontend Implement

  • SockJS setup due to k8s service.yaml
  • TESTING status will show loading image (or no image)
  • Performance test's values will be shown as vertical table instead of horizontal single row
  • Agent statusbar also show current testing templateId
image

@ghkdqhrbals ghkdqhrbals added the feat - enhancement New feature or request label Mar 31, 2024
@ghkdqhrbals ghkdqhrbals self-assigned this Mar 31, 2024
Copy link

📝 Test code-coverage reports

File Coverage [60.48%] 🍏
ErrorCode.java 100% 🍏
SystemSchedulerConst.java 100% 🍏
SseManageConsts.java 100% 🍏
PreftestConsts.java 100% 🍏
WebSocketConfig.java 100% 🍏
AgentStatus.java 100% 🍏
TestTemplateRequestDto.java 100% 🍏
ISseManageService.java 100% 🍏
ResultManagerService.java 100% 🍏
PerftestService.java 97.52% 🍏
RandomUtils.java 95.21% 🍏
AgentApiController.java 89.47% 🍏
Initializer.java 82.61% 🍏
ResultCalculator.java 80% 🍏
HttpSender.java 73.44% 🍏
PerftestController.java 72.95% 🍏
TestTemplateApiController.java 67.96% 🍏
SseManageService.java 45.45%
DataLoaderKubernetes.java 0%
DataLoader.java 0%
Total Project Coverage 67.58% 🍏

@backend-tech-forge backend-tech-forge deleted a comment from github-actions bot Mar 31, 2024
@ghkdqhrbals ghkdqhrbals requested a review from LeeJeongGi March 31, 2024 23:04
@ghkdqhrbals ghkdqhrbals merged commit c99a929 into develop Mar 31, 2024
1 check passed
@ghkdqhrbals ghkdqhrbals removed the request for review from LeeJeongGi March 31, 2024 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat - enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant