All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added variables to control Waggledance deployment dns policy and config.
- Added variables to control Waggledance k8s Service and NLB configuration
- Added support for setting the TCP keepalive settings of Waggledance.
- Changed Service account creation to make it work with eks 1.24 and later.
- Adding tags to the Datadog agent
- Added optional
extended_server_config
. For instance to configure Waggle Dance Rate limiting configuration.
- Add new variable
cpu_limit
andmemory_limit
to support set pod resource guaranteed.
- Removed the datadog explicit provider configuration as suggested here: https://developer.hashicorp.com/terraform/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations
- Updated eks to use instance name instead of hard coding.
- Variable to add a readonly primary optional host/port. Waggle Dance will redirect get calls automatically to those.
- Conditional reading of Secrets from SecretManager fix.
- Added ECR permission to ECS tasks IAM role to support using ECR images.
- Changed
HIVE_SITE_XML
condition expression fromvar.alluxio_endpoints == []
tolength(var.alluxio_endpoints) == 0
, the previously expression does not work whenvar.alluxio_endpoints
is empty.
- Added datadog to ECS clusters.
- Issue where requests can hit 10min connection timeout, TCP keepalive prevents NLB closing idle connections. Similar to the issue explained here: https://paramount.tech/blog/2021/07/26/mitigation-of-connection-reset-in-aws.html
- Added tags to ECS service and tasks.
- ECS healtcheck endpoints, switched back to
/actuator/health
- Metrics have been incorporated into Waggle Dance with the inclusion of tags, which will facilitate filtering within Datadog.
- Added JVM, System and Timer metrics in WaggleDance Datadog annotations.
- Added the annotations to push waggle dance metrics to Datadog UI.
- Changed
/actuator/health
to/actuator/health/liveness
due to WD spring boot upgrade.
- Changed kubernetes deployment to support eks version 1.22+.
- Fix kubernetes service attribute refereing with v2.x.
- Variable
primary_metastore_access_type
for enabling customized primary hive metastore access control type. See README for more info on this variable.
- Enable cross zone load balancing so that usage is spread evenly.
- Preserve ip in ECS LB to enforce security group rules.
- Add secondary vpc support for waggledance route53 zone with autoscaling.
- Add waggle-dance load balancer output when using ECS and autoscaling.
- Variable
enable_query_functions_across_all_metastores
for disabling potential slow and cross metastore function lookup. Disabled by default which break backward compatibility. See README for more info on this variable.
- Added support for enabling invocation logs separately from other
log4j
loggers.
- Added support for AWS Glue metastore federation.
- Update waggle-dance security group ingress to fix healthcheck.
- Variable to enable autoscaling in ECS deployments.
- Configure ECS task file limits.
- Add k8s internal service with client affinity, for usecases than cannot use headless service and seamlessly failover to new waggle-dance instances.
- Variable to enable waggle-dance autoscaling on k8s.
- Add k8s headless service, so that clients running in k8s cluster can connect to a WD container instead of virtual ip.
- Set env var
LOG4J_FORMAT_MSG_NO_LOOKUPS=”true”
for WD containers for log4j-shell bug.
- Added suppport for Waggledance
mapped-tables
configuration.
- Replace aws.remote provider proxy with configuration_aliases as provider proxy is not compatible with module count.
- Added
primary_metastore_latency
variable.
- Variable to configure pimary metastore mapped databases.
- Fix to create ECS aws_iam_role_policy only when deploying on ECS.
- Fix kubernetes serviceaccount reference.
- Disable kubernetes serviceaccount creation when running on ecs.
- Support Waggledance
latency
parameter
- Fixes to deploy on k8s clusters requiring serviceaccount for all deployments.
- Enable health check in k8s deployment.
- Variable to configure k8s pod replicas.
- Fix alluxio path replacement regex to handle s3a:// and s3n:// urls.
- Variable to configure waggle-dance log level.
- Add support for remote region metastores and alluxio cache. Access to tables in remote region s3 can be transparently redirected to alluxio using waggle-dance and hive hook.
- Option to disable metastore to mitigate issues.
- Update k8s memory limit to 120% memory request to prevent k8s from killing waggle-dance containers.
- Update terraform required version to include 0.13.x.
- Added ability to pass
database-name-mapping
key/value pairs for each federated metastore. See Waggle Dance Database Name Mapping for more information. Requires docker image version1.6.0
or greater.
- Fix k8s multi instance deployment resource names.
- Fix waggle_dance_load_balancers output for ecs deployments.
- Prometheus support. Requires docker image version 1.5.0 or greater.
- Reduce k8s waggle-dance process heapsize from 90 to 85 percent of container memory limit.
- Configure k8s service load_balancer_source_ranges.
- Support for running Waggle Dance on Kubernetes.
- Upgrade to Terraform version 0.12
- Tag remote metastore VPC endpoints.
- Support for running Waggle Dance on EC2 nodes.
- Fixed problem adding new remote_metastores. - see #36
- Support for running Waggle Dance on EC2 nodes.
- Run
terraform fmt
.
- Fixes remote metastore CNAMEs when AWS_DEFAULT_REGION environment variable is not set - see#59
- Add CloudWatch and SNS - see #57.
- Improved error handling in scripts/endpoint_dns_name.sh - see #17.
- Support for Docker private registry - see #53.
- Refactor code to multiple
tf
files.
- Pin module to use
terraform-aws-provider v1.60.0
- tag resources that were not yet applying tags - see #49.
- Set
server_yaml
to default content whengraphite_host
is not defined.
- Default access control for
local_metastores
. - Description of
local_metastores
variable
- Add health check for WaggleDance service.
- Fix typo
ssh_metastores
.
- Option to register route53 cnames for vpc endpoints - see #20.
- Option to associate multiple VPCs to Service Discovery namespace - see #29
- Enable write support for federated metastores - see #26.
- Enable cross-region federated Metastore using Bastion and SSH tunnel - see #31.
- Renamed following variables:
region
toaws_region
instance_count
towd_ecs_task_count
- Remove
alerting_email
variable - see #28.