Releases: zebrunner/esg
Releases · zebrunner/esg
3.1.2 (2024-10-10)
Enhancements
- [#1186] Replace shaping path
Fixes
- [#1190] Failed to pass long env vars to executor
- [#1188] Don't abort tasks that are produced by daemon service
Migration Steps
- Pull latest images
docker compose pull
- Restart services
./zebrunner.sh restart service
- Bump up zebrunner selenium grid agents versions.
Zebrunner windows selenium grid agent v3.2
3.1.1 (2024-09-09)
Enhancements
- [#1178] Make target group optional
Migration Steps
- Pull latest images
docker compose pull
- Restart services
./zebrunner.sh restart
- Bump up zebrunner selenium grid agents versions.
Zebrunner selenium grid agent v2.7
Zebrunner windows selenium grid agent v3.1
3.1 (2024-08-02)
Enhancements
- [#1161] Show version of task-definitions service on welcome page
- [#1152] Adjust redis client to work in cluster mode
- [#1150] Provide shell scripts to tail different logs
- [#1143] Parametrize migration image execution
- [#1142] Add support of *-debug browser images
- [#1113] Remove Apache 2.0 LICENSE file
- [#1092] Certify Aurora (PostgreSQL Compatible) DB for the project
- [#1057] Minimize nat gateway expenses
- [#1050] Investigate and implement CloudFormation with remote postgres and redis aws services
- [#998] Implement better healthcheck for cypress
- [#996] Reuse logging configurations for the ecs tasks
Fixes
- [#1170] Redis client stops working after nil error
- [#1169] Panic on session creation
- [#1168] Redis node logs fill up all free space
- [#1162] Redis cluster could be not initialized even with established connection
- [#1151] Scaler panics on scale down
- [#1165] S3_REGION var is not passed to task-definition
Migration Steps
- Stop services
./zebrunner.sh down
- Pull latest changes, fix conflicts if any
- Start services
./zebrunner.sh start
- [Optional] To enable cloud watch logs:
4.1. Create new cloud watch group
aws logs create-log-group --log-group-name e3s-{env}-logs
4.2. Add new actions to e3s-agent-role:
"logs:CreateLogStream",
"logs:PutLogEvents",
4.3. Insert log-group name into config.env file:
AWS_LOGS_GROUP=e3s-{env}-logs
- [Optional] Start support e3s infrastructure by terraform
3.0 (2024-06-17)
Enhancements
- [#1140] Delete e3s- prefix from services naming
- [#1138] Bump up to uploader 3.6.1
- [#1136] Add support for redroid's latest tag
- [#1130] Add support for building only the specified service
- [#1128] Parameterize redis db connections init
- [#1127] Replace deprecated ioutil.ReadAll with io.ReadAll
- [#1126] Make less synchronized multithreading in scaler
- [#1123] Delete EXTERNAL_PORT from router.env
- [#1117] Unite duplicate env vars from scaler.env and router.env to new .env file
- [#1115] Be able to parametrize ecr repository with images for browsers only
- [#1107] Decrease recorder's resource allocation
- [#1093] Improvements into the recorder steps
Fixes
- [#1114] Remove usage of password field on user creation
- [#1091] Artifacts are not pushed to s3 (uploader finishes with 137 exit code)
- [#887] Review task definition refresh sorting order (especially for cypress images)
Migration Steps
- Stop services
./zebrunner.sh down
- Pull latest changes, fix conflicts if any
- Add "ecr:DescribeImages" action to
e3s-{Env}-policy
with resource restriction for every private browser repository used. - Move router.env, scaler.env, data.env to properties folder.
- Move specified vars from scaler.env and router.env to config.env
IDLE_TIMEOUT=
MAX_TIMEOUT=
AWS_REGION=
AWS_RETRY=
AWS_CLUSTER=
AWS_ACESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_TASK_ROLE=
LOG_LEVEL=
ZEBRUNNER_HOST=
ZEBRUNNER_INTEGRATION_USER=
ZEBRUNNER_INTEGRATION_PASSWORD=
ZEBRUNNER_ENV=
- Start services
./zebrunner.sh start
- [Optional] Append new actions to deploy policy
"ec2:AssociateIamInstanceProfile",
"ec2:ModifyInstanceMetadataOptions",
"ec2:DescribeVpcs"
2.9.2 (2024-05-20)
2.9.1 (2024-05-17)
2.9 (2024-04-30)
Enhancements
- [#1088] Delete MAX_CPU and MAX_MEMORY vars
- [#1080] Change response code from 403 to 409 in case of interaction with finished task/session
- [#1079] Revert forkrepositoryurl changes
- [#1074] Lets calculate MAX_CPU and MAX_MEMORY automatically for every environment
- [#1066] Use release mode for gin by default
- [#1053] Add scaler and router versioning in the default web page
- [#1051] Unite uuid, sessions and tasks cache dbs into one
- [#971] Be able to start router services for non configured cluster
Fixes
- [#1073] MAX_CPU and MAX_MEMORY are not taken into account with mitm_cpu and mitm_memory values
- [#1065] Cache entries are unnecessarily overwritten to Redis
- [#1064] Immediate launch abort after start don't interrupt generic task execution
Migration Steps
- Pull latest changes, fix conflicts if any
- Restart services
2.8.1 (2024-04-12)
Fixes
- [#1086] Provisioning seconds var on fast executor finish has negative value
Migration Steps
- Change tags from 2.8 to 2.8.1 for router and scaler in compose file
- Restart services
2.8 (2024-04-06)
Enhancements
- [#1062] Bump up to entrypoint:2.5.1
- [#1052] Bump up to appium:2.0.15
- [#1044] Move all documentation to e3s public repo
- [#1040] Unify database settings using single database.env file
- [#950] Implement migration for remote db
- [#907] Migrate db esg_pgdata-volume volume
- [#647] Create endpoint for executor container to call on finish
- [#618] Move docker-compose single host deployment configuration to the public repo
Fixes
- [#1056] Small chance of double shaping on generic task abort
- [#1042] Failed to pull executor images from private repositories
- [#1041] Crashed generic launcher stuck in queued state for an hour
- [#974] Stop generic task start retrying in case of incorrect launch command
- [#786] Redroid create request has 10m readTimeout
Migration Steps
- Add
elasticloadbalancing:DescribeLoadBalancers
action to e3s-{Env}-policy - Change tags from 2.7 to 2.8 for router and scaler in compose file
- Restart services
2.7 (2024-02-16)
Enhancements
- [#1026] Bump up to recorder:1.1-win
- [#1021] Bump up to appium:2.0.10
- [#1012] Bump up to uploader:1.1-win
- [#1011] Bump up to uploader:3.5
- [#1009] Bump up to mitmproxy 2.1
- [#1035] Split session stop due idle timeout into different threads
- [#1034] Update container-instance state to draining before termination
- [#1033] Unite scaleUp and scaleDown to one thread
- [#1032] Adjust scaler to be able to work with any instance weights
- [#1028] Adjust routers to register/deregister targets in alb based on provided target group type
- [#1018] Ask about forcible on restart or not
- [#1015] Force imdsv2 token regeneration
- [#1014] Update task definition info in db and redis every t hours
- [#1008] Add logs to low level api calls
- [#1005] Recreate cluster with http-put-response-hop-limit 1 value
- [#982] Implement loadBalancer modification on every router start and stop
- [#962] Rename migration image to something more meaningful
- [#773] Document new role-policies requirements
- [#279] Replace launch config by launch template
Fixes
- [#1006] Unable to retrieve execution logs for a launch launched via launcher
- [#965] In massive scale down instances with new attached tasks could be terminated
Migration Steps
- Create launch templates both for linux and windows instances. IMDSV2 should be required with HttpPutResponseHopLimit = 1
- Update auto scaling group with new launch templates instead of launch configurations.
- Specify in auto scaling groups new MixedInstancesPolicy based on cluster needs. Important: instance type's weights proportions are must be based on their resources (cpu and memory). Example: c5a.2xlarge with 1 weight capacity and c5a.4xlarge with 2 weight capacity
- Disable managedTerminationProtection for all capacity providers
- Update role's permissions, based on Prerequisites doc
- Specify var in scaler.env: ZEBRUNNER_ENV - important due to resource constraint "arn:aws:ecs:${Region}:${Account}:task-definition/${env}-*" for ecs:RunTask action (which will allow to run tasks based only on task definitions with env prefix)
- Specify vars in router.env: AWS_TARGET_GROUP - target group name, that is used in application load balancer
- Change target group's deregistration_delay.timeout_seconds attribute to 660 seconds
- Rebuild and restart services