Skip to content

Commit

Permalink
Merge branch 'main' into release-prep
Browse files Browse the repository at this point in the history
  • Loading branch information
Drew Meyers committed Sep 19, 2024
2 parents 45c91aa + 12c2c70 commit e5294c2
Show file tree
Hide file tree
Showing 14 changed files with 299 additions and 44 deletions.
32 changes: 28 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Tags

- SPS Version 2.2.0
- OGC API Version 1.1.0
- OGC Python Client Version 1.1.0
- OGC API Version 2.0.0
- OGC Python Client Version 2.0.0

## Repositories

- unity-sps: <https://github.com/unity-sds/unity-sps/releases/tag/2.2.0>
- unity-sps-ogc-processes-api: <https://github.com/unity-sds/unity-sps-ogc-processes-api/releases/tag/1.1.0>
- unity-sps-ogc-processes-api-client-python: <https://github.com/unity-sds/unity-sps-ogc-processes-api-client-python/releases/tag/1.1.0>
- unity-sps-ogc-processes-api: <https://github.com/unity-sds/unity-sps-ogc-processes-api/releases/tag/2.0.0>
- unity-sps-ogc-processes-api-client-python: <https://github.com/unity-sds/unity-sps-ogc-processes-api-client-python/releases/tag/2.0.0>

## Epics

Expand All @@ -27,8 +27,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[New Feature]: Increase ephemeral disk space for Airflow workers](https://github.com/unity-sds/unity-sps/issues/152)
- [[New Feature]: Enable users to select the EC2 type to execute a workload](https://github.com/unity-sds/unity-sps/issues/153)
- [[New Feature]: Set the DAG run status to "failed" if the main worker task failed](https://github.com/unity-sds/unity-sps/issues/189)
- [[New Feature]: Demonstrate use of ECR within an Airflow DAG (https://github.com/unity-sds/unity-sps/issues/186)
- EPIC: `Airflow/WPS-T Integration`
- [[New Feature]: Create test to deploy, execute and undeploy the CWL DAG](https://github.com/unity-sds/unity-sps/issues/131)
- [[New Feature]: Enable execution of OGC data processing requests with arbitrary parameter values](https://github.com/unity-sds/unity-sps/issues/129)
- EPIC: `Production Venue Deployments`
- [[New Feature]: Airflow HTTPD Proxy development and configuration](https://github.com/unity-sds/unity-sps/issues/125)
- [[New Feature]: Expose SPS health check endpoints](https://github.com/unity-sds/unity-sps/issues/127)
Expand All @@ -37,6 +39,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[New Feature]: Review the SPS GitBook documentation](https://github.com/unity-sds/unity-sps/issues/118)
- [[New Feature]: Store SPS Terraform state on S3](https://github.com/unity-sds/unity-sps/issues/132)
- [[New Feature]: Parametrize the SPS Integration Tests](https://github.com/unity-sds/unity-sps/issues/155)
- [[New Feature] Upgrade SPS to latest version of Airflow 2.10.0](https://github.com/unity-sds/unity-sps/issues/195)

## Docker Containers

- ghcr.io/unity-sds/unity-sps/sps-airflow:2.2.0
- ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0
- ghcr.io/unity-sds/unity-sps-ogc-processes-api/unity-sps-ogc-processes-api:2.0.0

## Documentation

- For Administrators:
- [SPS Deployment with Terraform](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-deployment-with-terraform)
- [Interacting with an Existing SPS Deployment](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/interacting-with-an-existing-sps-deployment)
- [SPS Airflow Custom Docker Image Build Instructions](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-airflow-custom-docker-image-build-instructions)
- [SPS Post Deployment Operations](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-post-deployment-operations)
- For Deverlopers:
- [Tutorial: Deploy, Execute, and Undeploy a Process using the OGC API - Processes](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/developers-guide/tutorial-deploy-execute-and-undeploy-a-process-using-the-ogc-api-processes)
- For Users:
- [Tutorial: Register and Execute a CWL Workflow](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/users-guide/tutorial-register-and-execute-a-cwl-workflow)

# [Unity Release 24.2] - 2024-07-01

Expand Down Expand Up @@ -70,6 +91,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[Task] Add TESTING.md file to SPS repo](https://github.com/unity-sds/unity-sps/issues/99)
- EPIC: `SPS Infrastructure`
- [[New Feature] Store SPS Terraform state on S3](https://github.com/unity-sds/unity-sps/issues/132)
- EPIC: `SPS Security`
- [[Bug]: Upgrade EKS 1.27 AMIs](https://github.com/unity-sds/unity-sps/issues/159)
- [[Bug]: Upgrade to EKS 1.29 AMIs](https://github.com/unity-sds/unity-sps/issues/206)

## Docker Containers

Expand Down
Empty file added CONVENTIONS.md
Empty file.
2 changes: 1 addition & 1 deletion airflow/dags/cwl_dag.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
POD_NAMESPACE = "sps"
POD_LABEL = "cwl_task"
# SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.1.0"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0-beta-3"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0"

NODE_POOL_DEFAULT = "airflow-kubernetes-pod-operator"
NODE_POOL_HIGH_WORKLOAD = "airflow-kubernetes-pod-operator-high-workload"
Expand Down
2 changes: 1 addition & 1 deletion airflow/dags/docker_cwl_pod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ spec:

containers:
- name: cwl-docker
image: ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0-beta-1
image: ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0
imagePullPolicy: Always
command: ["/usr/share/cwl/docker_cwl_entrypoint.sh"]
securityContext:
Expand Down
2 changes: 1 addition & 1 deletion airflow/dags/sbg_L1_to_L2_e2e_cwl_step_by_step_dag.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
# The Kubernetes namespace within which the Pod is run (it must already exist)
POD_NAMESPACE = "sps"
POD_LABEL = "sbg_task"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0-beta-1"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0"

# The path of the working directory where the CWL workflow is executed
# (aka the starting directory for cwl-runner).
Expand Down
2 changes: 1 addition & 1 deletion airflow/dags/sbg_preprocess_cwl_dag.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# The Kubernetes namespace within which the Pod is run (it must already exist)
POD_NAMESPACE = "sps"
POD_LABEL = "sbg_preprocess_task"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0-beta-1"
SPS_DOCKER_CWL_IMAGE = "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0"

# The path of the working directory where the CWL workflow is executed
# (aka the starting directory for cwl-runner).
Expand Down
74 changes: 74 additions & 0 deletions ogc-application-packages/cwl_dag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"executionUnit": {
"image": "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.1.0",
"type": "docker"
},
"processDescription": {
"description": "This process executes any CWL workflow.",
"id": "cwl_dag",
"inputs": {
"cwl_args": {
"description": "The URL of the CWL workflow's YAML parameters file",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"format": "uri",
"type": "string"
},
"title": "CWL Workflow Parameters URL"
},
"cwl_workflow": {
"description": "The URL of the CWL workflow",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"format": "uri",
"type": "string"
},
"title": "CWL Workflow URL"
},
"request_cpu": {
"description": "The number of CPU cores requested for the job",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"type": "string"
},
"title": "Requested CPU"
},
"request_memory": {
"default": "8Gi",
"description": "The amount of memory requested for the job",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"type": "string"
},
"title": "Requested Memory"
},
"request_storage": {
"description": "The amount of storage requested for the job",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"type": "string"
},
"title": "Requested Storage"
}
},
"jobControlOptions": [
"async-execute"
],
"outputs": {
"result": {
"description": "The result of the SBG Preprocess Workflow execution",
"schema": {
"$ref": "some-ref"
},
"title": "Process Result"
}
},
"title": "Generic CWL Process",
"version": "1.0.0"
}
}
36 changes: 36 additions & 0 deletions ogc-application-packages/karpenter_test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"executionUnit": {
"image": "busybox",
"type": "docker"
},
"processDescription": {
"description": "This process tests Karpenter node provisioning with different instance types.",
"id": "karpenter_test",
"inputs": {
"placeholder": {
"default": 1,
"description": "A placeholder parameter",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"type": "integer"
},
"title": "Placeholder"
}
},
"jobControlOptions": [
"async-execute"
],
"outputs": {
"result": {
"description": "The result of the Karpenter test execution",
"schema": {
"$ref": "some-ref"
},
"title": "Process Result"
}
},
"title": "Karpenter Test Process",
"version": "1.0.0"
}
}
48 changes: 48 additions & 0 deletions ogc-application-packages/sbg_preprocess_cwl_dag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"executionUnit": {
"image": "ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0",
"type": "docker"
},
"processDescription": {
"description": "This process executes the SBG Preprocess Workflow using CWL.",
"id": "sbg_preprocess_cwl_dag",
"inputs": {
"cwl_args": {
"default": "https://raw.githubusercontent.com/unity-sds/sbg-workflows/main/preprocess/sbg-preprocess-workflow.dev.yml",
"description": "The SBG Pre-process YAML parameters URL",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"format": "uri",
"type": "string"
},
"title": "CWL Workflow Parameters"
},
"cwl_workflow": {
"default": "https://raw.githubusercontent.com/unity-sds/sbg-workflows/main/preprocess/sbg-preprocess-workflow.cwl",
"description": "The SBG Pre-process CWL workflow URL",
"maxOccurs": 1,
"minOccurs": 1,
"schema": {
"format": "uri",
"type": "string"
},
"title": "CWL Workflow"
}
},
"jobControlOptions": [
"async-execute"
],
"outputs": {
"result": {
"description": "The result of the SBG Preprocess Workflow execution",
"schema": {
"$ref": "some-ref"
},
"title": "Process Result"
}
},
"title": "SBG Preprocess CWL Workflow",
"version": "1.0.0"
}
}
14 changes: 9 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ build-backend = "setuptools.build_meta"

[project]
name = "unity-sps"
version = "2.1.0"
version = "2.2.0"
authors = [
{ name = "Drew Meyers", email = "[email protected]" },
{ name = "Luca Cinquini", email = "[email protected]" },
{ name = "Nikki Tebaldi", email = "[email protected]" },
{ name = "Brad Lunsford", email = "[email protected]" }
]
description = "The science processing service area of Unity."
classifiers = [
Expand Down Expand Up @@ -37,11 +40,12 @@ test = [
"pytest-bdd==7.2.0",
"pytest-mock==3.14.0",
"requests==2.32.3",
"apache-airflow==2.9.2",
"kubernetes==30.1.0",
"boto3==1.34.143",
"apache-airflow==2.10.0",
"kubernetes==29.0.0",
"boto3==1.34.46",
"backoff==2.2.1",
"apache-airflow-providers-cncf-kubernetes==8.4.1"
"apache-airflow-providers-cncf-kubernetes==8.4.1",
"unity_sps_ogc_processes_api_python_client @ git+https://github.com/unity-sds/[email protected]"
]
experiment = []
lambda-airflow-dag-trigger = [
Expand Down
2 changes: 1 addition & 1 deletion terraform-unity/modules/terraform-unity-sps-eks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_nodegroups"></a> [nodegroups](#input\_nodegroups) | A map of node group configurations | <pre>map(object({<br> create_iam_role = optional(bool)<br> iam_role_arn = optional(string)<br> ami_id = optional(string)<br> min_size = optional(number)<br> max_size = optional(number)<br> desired_size = optional(number)<br> instance_types = optional(list(string))<br> capacity_type = optional(string)<br> enable_bootstrap_user_data = optional(bool)<br> metadata_options = optional(map(any))<br> block_device_mappings = optional(map(object({<br> device_name = string<br> ebs = object({<br> volume_size = number<br> volume_type = string<br> encrypted = bool<br> delete_on_termination = bool<br> })<br> })))<br> }))</pre> | <pre>{<br> "defaultGroup": {<br> "block_device_mappings": {<br> "xvda": {<br> "device_name": "/dev/xvda",<br> "ebs": {<br> "delete_on_termination": true,<br> "encrypted": true,<br> "volume_size": 100,<br> "volume_type": "gp2"<br> }<br> }<br> },<br> "desired_size": 1,<br> "instance_types": [<br> "t3.large"<br> ],<br> "max_size": 1,<br> "metadata_options": {<br> "http_endpoint": "enabled",<br> "http_put_response_hop_limit": 3<br> },<br> "min_size": 1<br> }<br>}</pre> | no |
| <a name="input_nodegroups"></a> [nodegroups](#input\_nodegroups) | A map of node group configurations | <pre>map(object({<br> create_iam_role = optional(bool)<br> iam_role_arn = optional(string)<br> ami_id = optional(string)<br> min_size = optional(number)<br> max_size = optional(number)<br> desired_size = optional(number)<br> instance_types = optional(list(string))<br> capacity_type = optional(string)<br> enable_bootstrap_user_data = optional(bool)<br> metadata_options = optional(map(any))<br> block_device_mappings = optional(map(object({<br> device_name = string<br> ebs = object({<br> volume_size = number<br> volume_type = string<br> encrypted = bool<br> delete_on_termination = bool<br> })<br> })))<br> }))</pre> | <pre>{<br> "defaultGroup": {<br> "block_device_mappings": {<br> "xvda": {<br> "device_name": "/dev/xvda",<br> "ebs": {<br> "delete_on_termination": true,<br> "encrypted": true,<br> "volume_size": 100,<br> "volume_type": "gp2"<br> }<br> }<br> },<br> "desired_size": 1,<br> "instance_types": [<br> "t3.xlarge"<br> ],<br> "max_size": 1,<br> "metadata_options": {<br> "http_endpoint": "enabled",<br> "http_put_response_hop_limit": 3<br> },<br> "min_size": 1<br> }<br>}</pre> | no |
| <a name="input_project"></a> [project](#input\_project) | The project or mission deploying Unity SPS | `string` | `"unity"` | no |
| <a name="input_release"></a> [release](#input\_release) | The software release version. | `string` | `"24.3"` | no |
| <a name="input_service_area"></a> [service\_area](#input\_service\_area) | The service area owner of the resources being deployed | `string` | `"sps"` | no |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ variable "nodegroups" {
}))
default = {
defaultGroup = {
instance_types = ["t3.large"]
instance_types = ["t3.xlarge"]
min_size = 1
max_size = 1
desired_size = 1
Expand Down
Loading

0 comments on commit e5294c2

Please sign in to comment.