v1.0.3 Release
This release introduces the dedicated AI Migrate worker subchart (bhaimigrateworker), a shared PersistentVolumeClaim template for Migrate Validate sandboxes, zero-downtime rolling update deployment strategy configurations across core services, and runtime configuration enhancements for Catalog API and AI Agent services in Azure environments.
Summary of Changes
- AI Migrate Worker Subchart (
bhaimigrateworker): Added a dedicated Celery worker subchart to handle AI migration workloads asynchronously via themigrate-queue, complete with horizontal pod autoscaling (HPA) and KEDA queue-length scaling. - Shared Storage for Migrate Validate (
validateSandbox): Introduced a top-level shared ReadWriteMany (RWX) PersistentVolumeClaim template for Migrate Validate sandboxes, mounted intobhaiagent,bhaiagentworker, andbhaimigrateworker. - Zero-Downtime Deployment Strategy: Configured rolling update strategies with
maxUnavailable: 0andmaxSurge: 1across 10 service deployments to ensure zero downtime during upgrades, and adjustedbhcelerybeattomaxSurge: 0to prevent duplicate scheduler processes. - Catalog API Runtime Parameters Configuration: Injected
RUNTIME_PARAMS_BASE_PATH(default:/Workspace/Shared/runtime_params) intobhcatalogapiConfigMap and Deployment environment variables. - AI Agent Communication & Synthetic Evaluation Settings: Added
TEST_RUN_HOST,TEST_RUN_PORT, andTEST_RUN_USE_SECUREconfiguration, as well as synthetic assessment and validation toggles (ALLOW_DATABRICK_SYNTHETIC_ASSESSMENT,ALLOW_DATABRICK_SYNTHETIC_VALIDATE) inbhaiagentandbhaiagentworker. - Azure Environment Values Overlays: Updated
values-release.yaml,values-client.yaml, andvalues-dev.yamlto include configurations forbhaimigrateworker,validateSandbox, and isolated queue subscriptions.
Technical Details
Chart Updates
- Release tag:
v1.0.3-bighammer-azure. - Added dependency
bhaimigrateworker(version1.0.0, repositoryfile://charts/bhaimigrateworker) underdependenciesinChart.yaml, controlled byglobal.bhaimigrateworker.enabled. - Updated
Chart.lockto pin subchart dependencies.
AI Migrate Worker Subchart (bhaimigrateworker)
- Introduced subchart under
charts/bhaimigrateworker/:- Deployment (
templates/deployment.yaml): Configured with rolling update (maxUnavailable: 0,maxSurge: 1), health checks (liveness and readiness probes pointing to/api/v1/healthon port8090), security context, and optional volume mount forvalidate-sandbox. - ConfigMap (
templates/configmap.yaml): Injects PostgreSQL, Redis, RabbitMQ, and Celery settings (CELERY_WORKER_QUEUES: "migrate-queue", concurrency, max memory, task limits), Spark home (SPARK_HOME: "/opt/spark"), test run parameters, and validate sandbox directory paths. - Secrets (
templates/secret.yaml): ExternalSecret mapping Azure Key Vault secrets (POSTGRES_PASSWORD,POSTGRES_SSL_CERT,LANGCHAIN_API_KEY,REDIS_PASSWORD,DECRYPTION_KEY,RABBITMQ_PASSWORD,AZURE_CLIENT_SECRET, andBH_APP_USER_PASSWORD). - Service (
templates/service.yaml): ClusterIP service with port names shortened to<= 15characters (httpon port 80,httpson port 443; targeting container port8090). - ServiceAccount (
templates/serviceaccount.yaml): Configured with Azure Workload Identity annotations (azure.workload.identity/client-id,azure.workload.identity/use). - Autoscaling (
templates/hpa.yaml,templates/scaledobject.yaml): Added both standard CPU/memory HPA and KEDAScaledObjecttriggering on RabbitMQmigrate-queuelength.
- Deployment (
Shared Validate Sandbox PVC (templates/validate-sandbox-pvc.yaml)
- Added top-level template
templates/validate-sandbox-pvc.yamlcreating aReadWriteMany(RWX) PersistentVolumeClaim (default name:bh-migrate2-validate, size:50Gi, storage class:azurefile-csi) when.Values.global.validateSandbox.enabledistrue. - Conditionally mounts into
/var/bh-migrate2-validateonbhaiagent,bhaiagentworker, andbhaimigrateworkercontainers.
Zero-Downtime Deployment Strategy
- Configured
strategy.rollingUpdate.maxUnavailable: 0andmaxSurge: 1in:charts/bhadminui/templates/deployment.yamlcharts/bhaiagent/templates/deployment.yamlcharts/bhaiagentworker/templates/deployment.yamlcharts/bhauditapi/templates/deployment.yamlcharts/bhauditworker/templates/deployment.yamlcharts/bhcatalogapi/templates/deployment.yamlcharts/bhcatalogworker/templates/deployment.yamlcharts/bhkeycloak/templates/deployment.yamlcharts/bhkeycloakapi/templates/deployment.yamlcharts/bhtransformationutils/templates/deployment.yamlcharts/bhui/templates/deployment.yaml
- Configured
strategy.rollingUpdate.maxSurge: 0andmaxUnavailable: 1incharts/bhcelerybeat/templates/deployment.yamlto guarantee a single active Celery Beat scheduler during deployments.
Catalog API Service (bhcatalogapi)
- Added
RUNTIME_PARAMS_BASE_PATHtocharts/bhcatalogapi/templates/configmap.yaml(default:"/Workspace/Shared/runtime_params"). - Injected
RUNTIME_PARAMS_BASE_PATHas an environment variable incharts/bhcatalogapi/templates/deployment.yaml.
AI Agent & Worker Services (bhaiagent / bhaiagentworker)
- Added
TEST_RUN_HOST(default:"bhtransformationutils"),TEST_RUN_PORT(default:"80"), andTEST_RUN_USE_SECURE(default:"false") into ConfigMaps and Deployments. - Added
ALLOW_DATABRICK_SYNTHETIC_ASSESSMENTandALLOW_DATABRICK_SYNTHETIC_VALIDATEenvironment variables. - Added
validate-sandboxvolume mount and environment paths (BH_MIGRATE2_VALIDATE_ROOT,BH_VALIDATE_ENV_STORE,BH_VALIDATE_CONN_STORE,BH_VALIDATE_SANDBOX_BACKEND) enabled viaglobal.validateSandbox.enabled.
Values Files Configuration
values-release.yaml:- Added
global.validateSandboxconfiguration (enabled: true,size: 50Gi,accessMode: ReadWriteMany,storageClassName: azurefile-csi). - Added
global.bhaimigrateworkerentry (enabled: false,name: bhaimigrateworker).
- Added
values-client.yaml:- Set
global.bhcatalogapi.env.RUNTIME_PARAMS_BASE_PATH: "/Workspace/Shared/runtime_params". - Added
global.bhaimigrateworker: { enabled: false }.
- Set
values-dev.yaml:- Enabled and configured
global.bhaimigrateworker(enabled: true, queuemigrate-queue, Azure Workload Identity annotations, CPU/memory limits). - Updated
bhaiagentworker.env.CELERY_WORKER_QUEUESto"agent-queue,observability-queue,ops-queue"to isolate queues. - Added
global.validateSandboxconfiguration. - Added
RUNTIME_PARAMS_BASE_PATH: "/Workspace/Shared/runtime_params"tobhcatalogapi. - Added
TEST_RUN_HOST,TEST_RUN_PORT,TEST_RUN_USE_SECURE, and synthetic assessment/validation toggles. - Set
VITE_IS_DASHBOARD_MENU_ENABLE: "false".
- Enabled and configured