diff --git a/ansible/inventory/env/group_vars/all.yml b/ansible/inventory/env/group_vars/all.yml index 897ca9debe5044e86e170bd7b4706e5a1aabf7e1..8ba41bbea3eceac6ab472e090701d5914619d49f 100644 --- a/ansible/inventory/env/group_vars/all.yml +++ b/ansible/inventory/env/group_vars/all.yml @@ -85,8 +85,8 @@ search_es7_host: "{{ groups['es7']|join(':9200,')}}:9200" mlworkbench: "{{ groups['mlworkbench'][0]}}" -cloud_account: "{{ sunbird_public_storage_account_name }}" -cloud_secret: "{{ sunbird_public_storage_account_key }}" +cloud_account: "{{ cloud_public_storage_accountname }}" +cloud_secret: "{{ cloud_public_storage_accountname }}" dedup_redis_host: "{{ dp_redis_host }}" kp_redis_host: "{{ groups['redisall'][0] }}" neo4j_route_path: "bolt://{{ groups['learning-neo4j-node1'][0] }}:7687" @@ -108,10 +108,10 @@ cert_rc_base_url: "http://{{private_ingressgateway_ip}}/registry-service/api/v1" cert_rc_entity: "TrainingCertificate" certificate_base_path: "https://{{domain_name}}/certs" cert_domain_url: "{{proto}}://{{domain_name}}" -cert_container_name: "{{cert_env_prefix}}-e-credentials" +cert_container_name: "{{ cloud_storage_certservice_bucketname }}" cert_cloud_storage_type: "{{cloud_service_provider}}" -cert_cloud_storage_secret: "{{sunbird_private_storage_account_key}}" -cert_cloud_storage_key: "{{sunbird_private_storage_account_name}}" +cert_cloud_storage_secret: "{{cloud_private_storage_secret}}" +cert_cloud_storage_key: "{{cloud_private_storage_accountname}}" cloud_storage_base_url: "{{cloud_storage_base_url}}" default_channel: "org.sunbird" @@ -151,4 +151,10 @@ kafka_group_collection_pre_processor: "{{env_name}}-collection-cert-pre-processo kafka_group_certificate_generator: "{{env_name}}-certificate-generator-group" kafka_group_merge_courses: "{{env_name}}-merge-courses-group" kafka_group_assessment_aggregator: "{{env_name}}-assessment-aggregator-group" -kafka_group_lms_notification: "{{env_name}}-lms-notification" \ No newline at end of file +kafka_group_lms_notification: "{{env_name}}-lms-notification" + +## Checkpoint Config +checkpoint_store_type: "{{cloud_service_provider}}" +azure_cloud_account: "{{ cloud_public_storage_accountname }}" +azure_cloud_secret: "{{ cloud_public_storage_secret }}" +cloud_storage_flink_bucketname: "flink-check-points-store" \ No newline at end of file diff --git a/kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.yml b/kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.yml index fee84c4d388a00a3c4db6c3b3f7aa14180dd8233..fdad5f62999cc04c9d960f74ab1b6d0501ae8e53 100644 --- a/kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.yml +++ b/kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.yml @@ -29,7 +29,7 @@ taskmanager_heap_memory: 1024 ### base-config related vars postgres_max_connections: 2 -flink_container_name: flink-check-points-store +flink_container_name: "{{ cloud_storage_flink_bucketname }}" checkpoint_interval: 60000 checkpoint_pause_between_seconds: 5000 checkpoint_compression_enabled: true diff --git a/kubernetes/helm_charts/datapipeline_jobs/templates/flink_job_deployment.yaml b/kubernetes/helm_charts/datapipeline_jobs/templates/flink_job_deployment.yaml index dbd8d7bd76f64c016b3c8db20c30991a96cada5f..5557acd459b98485e290fdcd6a9c33bd54a0f5b7 100644 --- a/kubernetes/helm_charts/datapipeline_jobs/templates/flink_job_deployment.yaml +++ b/kubernetes/helm_charts/datapipeline_jobs/templates/flink_job_deployment.yaml @@ -109,8 +109,21 @@ spec: workingDir: /opt/flink command: ["/opt/flink/bin/standalone-job.sh"] args: ["start-foreground", - "--job-classname={{ .Values.job_classname }}", - "-Dfs.azure.account.key.{{ .Values.cloud_account }}.blob.core.windows.net={{ .Values.cloud_secret }}", + "--job-classname={{ .Values.job_classname }}", +{{- if eq .Values.checkpoint_store_type "azure" }} + "-Dfs.azure.account.key.{{ .Values.azure_cloud_account }}.blob.core.windows.net={{ .Values.azure_cloud_secret }}", +{{- end }} +{{- if eq .Values.checkpoint_store_type "s3" }} + "-Ds3.access-key={{ .Values.s3_access_key }}", + "-Ds3.secret-key={{ .Values.s3_secret_key }}", + "-Ds3.endpoint={{ .Values.s3_endpoint }}", + "-Ds3.path.style.access={{ .Values.s3_path_style_access }}", +{{- end }} +{{- if eq .Values.checkpoint_store_type "gcloud" }} + "-Dfs.gs.auth.client.id={{ .Values.gcloud_client_key }}", + "-Dfs.gs.auth.client.secret={{ .Values.gcloud_private_secret }}", + "-Dfs.gs.project.id={{ .Values.gcloud_project_id }}" +{{- end }} "-Dweb.submit.enable=false", "-Dmetrics.reporter.prom.class=org.apache.flink.metrics.prometheus.PrometheusReporter", "-Dmetrics.reporter.prom.port={{ .Values.jobmanager.prom_port }}", @@ -183,7 +196,20 @@ spec: workingDir: {{ .Values.taskmanager.flink_work_dir }} command: ["/opt/flink/bin/taskmanager.sh"] args: ["start-foreground", - "-Dfs.azure.account.key.{{ .Values.cloud_account }}.blob.core.windows.net={{ .Values.cloud_secret }}", +{{- if eq .Values.checkpoint_store_type "azure" }} + "-Dfs.azure.account.key.{{ .Values.azure_cloud_account }}.blob.core.windows.net={{ .Values.azure_cloud_secret }}", +{{- end }} +{{- if eq .Values.checkpoint_store_type "s3" }} + "-Ds3.access-key={{ .Values.s3_access_key }}", + "-Ds3.secret-key={{ .Values.s3_secret_key }}", + "-Ds3.endpoint={{ .Values.s3_endpoint }}", + "-Ds3.path.style.access={{ .Values.s3_path_style_access }}", +{{- end }} +{{- if eq .Values.checkpoint_store_type "gcloud" }} + "-Dfs.gs.auth.client.id={{ .Values.gcloud_client_key }}", + "-Dfs.gs.auth.client.secret={{ .Values.gcloud_private_secret }}", + "-Dfs.gs.project.id={{ .Values.gcloud_project_id }}", +{{- end }} "-Dweb.submit.enable=false", "-Dmetrics.reporter.prom.class=org.apache.flink.metrics.prometheus.PrometheusReporter", "-Dmetrics.reporter.prom.host={{ .Release.Name }}-taskmanager", diff --git a/kubernetes/helm_charts/datapipeline_jobs/values.j2 b/kubernetes/helm_charts/datapipeline_jobs/values.j2 index 73481856cbae99c6634799fb25fc19b6031243e9..f075aba0f09b89c1de998c68612766cc3209622b 100644 --- a/kubernetes/helm_charts/datapipeline_jobs/values.j2 +++ b/kubernetes/helm_charts/datapipeline_jobs/values.j2 @@ -3,8 +3,16 @@ imagepullsecrets: {{ imagepullsecrets }} dockerhub: {{ dockerhub }} repository: {{flink_repository|default('data-pipeline')}} image_tag: {{ image_tag }} -cloud_account: {{ cloud_account }} -cloud_secret: {{ cloud_secret }} +checkpoint_store_type: {{ checkpoint_store_type }} +azure_cloud_account: {{ azure_cloud_account }} +azure_cloud_secret: {{ azure_cloud_secret }} +s3_access_key: {{ s3_storage_key }} +s3_secret_key: {{ s3_storage_secret }} +s3_endpoint: {{ s3_storage_endpoint }} +s3_path_style_access: {{ s3_path_style_access }} +gcloud_client_key: {{ gcloud_client_key }} +gcloud_private_secret: {{ gcloud_private_secret }} +gcloud_project_id: {{ gcloud_project_id }} serviceMonitor: enabled: {{ service_monitor_enabled | lower}} @@ -88,8 +96,8 @@ base_config: | statebackend { blob { storage { - account = "{{ cloud_account }}.blob.core.windows.net" - container = "{{ flink_container_name }}" + account = "{{ azure_cloud_account }}.blob.core.windows.net" + container = "{{ cloud_storage_flink_bucketname }}" checkpointing.dir = "checkpoint" } }