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 optional glue write policy
- Added optional s3 write policy (if glue enabled)
- Both policies are needed if Waggle Dance uses Glue as the primary metastore. LakeFormation policies are also needed but outside the scope of this library.
- Added
primary_metastore_read_only_glue_account_idandprimary_metastore_read_only_glue_endpointto support waggledance traffic control to glue for reads. - Added
var.log_leveland support to configure waggledance log level (reusing the existing variablewd_log_levelfor that).
- Added
wd_node_affinityto support waggledance pod node affinity configuration.
- Updated splunk logging options for ecs deployment. Add extra metadata as "labels" and "tag"
- Removed
splunk-sourcetypefield from the ecs splunk logging config - Updated
splunk-sourcefeild in ecs splunk logging config towaggledance-logs
- Added a new variable called
splunk_insecureskipverifywith default value of "false".
- Removed
splunk_envvariable
- Use string concatenation
~to fix current federation template.
- Use single quotes when empty to instantiate empty prefix.
- Added variable
primary_metastore_database_prefixto configure primary metastore database prefix.
- Added variables to control Waggledance deployment dns policy and config.
- Added waggledance VPC endpoint service
- Added following new variables to support waggledance VPC endpint service:
enable_vpc_endpoint_serviceswaggledance_customer_accounts
- 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_limitandmemory_limitto 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_XMLcondition expression fromvar.alluxio_endpoints == []tolength(var.alluxio_endpoints) == 0, the previously expression does not work whenvar.alluxio_endpointsis 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/healthto/actuator/health/livenessdue 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_typefor 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_metastoresfor 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
log4jloggers.
- 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-tablesconfiguration.
- Replace aws.remote provider proxy with configuration_aliases as provider proxy is not compatible with module count.
- Added
primary_metastore_latencyvariable.
- 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
latencyparameter
- 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-mappingkey/value pairs for each federated metastore. See Waggle Dance Database Name Mapping for more information. Requires docker image version1.6.0or 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
tffiles.
- Pin module to use
terraform-aws-provider v1.60.0
- tag resources that were not yet applying tags - see #49.
- Set
server_yamlto default content whengraphite_hostis not defined.
- Default access control for
local_metastores. - Description of
local_metastoresvariable
- 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:
regiontoaws_regioninstance_counttowd_ecs_task_count
- Remove
alerting_emailvariable - see #28.