Releases: zebrunner/e3s
Releases · zebrunner/e3s
3.1.2 (2024-10-10)
Enhancements
Replace shaping path
Fixes
Failed to pass long env vars to executor
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
- 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
- [#61] Divide to local and remote data-layer docker compose configuration
- [#59] Update deploy doc to refer new deploy repository
- Show version of task-definitions service on welcome page
- Adjust redis client to work in cluster mode
- Provide shell scripts to tail different logs
- Parametrize migration image execution
- Add support of *-debug browser images
- Remove Apache 2.0 LICENSE file
- Certify Aurora (PostgreSQL Compatible) DB for the project
- Minimize nat gateway expenses
- Investigate and implement CloudFormation with remote postgres and redis aws services
- Implement better healthcheck for cypress
- Reuse logging configurations for the ecs tasks
Fixes
- Redis client stops working after nil error
- Panic on session creation
- Redis node logs fill up all free space
- Redis cluster could be not initialized even with established connection
- Scaler panics on scale down
- 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
- [#49] Update .env versions to 3.0
- [#45][#44][#43][#42][#41][#40][#39][#38][#37] Documentation updates
- [#31] Remove version from docker-compose.yaml
- Delete e3s- prefix from services naming
- Bump up to uploader 3.6.1
- Add support for redroid's latest tag
- Parameterize redis db connections init
- Replace deprecated ioutil.ReadAll with io.ReadAll
- Make less synchronized multithreading in scaler
- Delete EXTERNAL_PORT from router.env
- Unite duplicate env vars from scaler.env and router.env to new .env file
- Be able to parametrize ecr repository with images for browsers only
- Decrease recorder's resource allocation
- Improvements into the recorder steps
Fixes
- Remove usage of password field on user creation
- Artifacts are not pushed to s3 (uploader finishes with 137 exit code)
- 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)
Enhancement
Fixes
- Task hangs on executor state if cloning failed
- [#28] list-roles.sh script doesn't work
- [#27] Some json files are absent and not accessible in documentation
Migration Steps
- Add "elasticloadbalancing:DescribeListeners" action to
e3s-{Env}-policy
- Pull latest changes, fix conflicts if any
- Restart services
2.9.1 (2024-05-17)
Enhancement
- [#24] Add to the prerequisites doc version of docker and docker compose plugin
Fixes
- Launch cannot be aborted
- Task startup failure could brake redis tasks workers
Migration Steps
- Pull latest changes, fix conflicts if any
- Restart services
2.9 (2024-04-30)
Enhancements
- [#18] Add cleanup steps
- [#16] Adjust prereq doc to use docker compose v2.20.3
- [#14] Add application load balancer deployment steps
- [#13] Add security groups generation steps
- [#8] Add valid s3 preparation steps
- [#7] Introduce e3s developer role
- Delete MAX_CPU and MAX_MEMORY vars
- Change response code from 403 to 409 in case of interaction with finished task/session
- Revert forkrepositoryurl changes
- Lets calculate MAX_CPU and MAX_MEMORY automatically for every environment
- Use release mode for gin by default
- Add scaler and router versioning in the default web page
- Unite uuid, sessions and tasks cache dbs into one
- Be able to start router services for non configured cluster
Fixes
- MAX_CPU and MAX_MEMORY are not taken into account with mitm_cpu and mitm_memory values
- Cache entries are unnecessarily overwritten to Redis
- 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
- Provisioning seconds var on fast executor finish has negative value
Migration Steps
- Pull latest changes, fix conflicts if any
- Restart services
2.8 (2024-04-06)
Enhancements
- Bump up to entrypoint:2.5.1
- Bump up to appium:2.0.15
- Move all documentation to e3s public repo
- Unify database settings using single database.env file
- Implement migration for remote db
- Migrate db esg_pgdata-volume volume
- Create endpoint for executor container to call on finish
- Move docker-compose single host deployment configuration to the public repo
Fixes
- Small chance of double shaping on generic task abort
- Failed to pull executor images from private repositories
- Crashed generic launcher stuck in queued state for an hour
- Stop generic task start retrying in case of incorrect launch command
- Redroid create request has 10m readTimeout
Migration Steps
- Add
elasticloadbalancing:DescribeLoadBalancers
action to e3s-{Env}-policy - Pull latest changes, fix conflicts if any
- 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 Installation 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