Jeff Nawrocki
02/01/2023, 1:20 AMDeployment
tab and Code locations
, the _example_jobs_ has a Failed status with this error:
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with: status = StatusCode.UNAVAILABLE details = "DNS resolution failed for user_code:4000: C-ares status is not ARES_SUCCESS qtype=A name=user_code is_balancer=0: Domain name not found"
The workspace.yaml
looks like:
load_from:
# Each entry here corresponds to a service in the docker-compose file that exposes jobs.
- grpc_server:
host: user_code
port: 4000
location_name: "example_jobs"
I have no experience/knowledge about gRPC so my guess is that I have to set up the networking for the user code to communicate with the daemon, but I'm not sure where to even start with that. Does anyone have an idea or any resources to point me in the right direction? Let me know if there's extra info I can add.
Additional information:
• I have my dagit service running with a target group: Protocol: HTTP, Port: 80, Protocol version: HTTP1
• Here's a redacted version of the user code task definition:
{
"family": "user_code",
"executionRoleArn": "<TaskRole>",
"taskRoleArn": "<TaskRole>",
"networkMode": "awsvpc",
"containerDefinitions": [
{
"name": "user_code",
"image": "<ECR REPO>/deploy_ecs/user_code:latest",
"environment": [
{
"name": "DAGSTER_CURRENT_IMAGE",
"value": "<ECR REPO>/deploy_ecs/user_code"
}
],
"secrets": [
{
"valueFrom": "arn:aws:secretsmanager:XXX",
"name": "DAGSTER_POSTGRES_PASSWORD"
},
{
"valueFrom": "arn:aws:secretsmanager:XXX",
"name": "DAGSTER_POSTGRES_HOSTNAME"
},
{
"valueFrom": "arn:aws:secretsmanager:XXX",
"name": "DAGSTER_POSTGRES_USER"
}
]
}
],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "256",
"memory": "512"
}
• Here is my dagster.yaml
---
scheduler:
module: dagster.core.scheduler
class: DagsterDaemonScheduler
run_coordinator:
module: dagster.core.run_coordinator
class: QueuedRunCoordinator
run_launcher:
module: dagster_aws.ecs
class: EcsRunLauncher
config:
include_sidecars: true
secrets_tag: ""
run_storage:
module: dagster_postgres.run_storage
class: PostgresRunStorage
config:
postgres_db:
hostname:
env: DAGSTER_POSTGRES_HOSTNAME
username:
env: DAGSTER_POSTGRES_USER
password:
env: DAGSTER_POSTGRES_PASSWORD
db_name: dagster_test
port: 5432
schedule_storage:
module: dagster_postgres.schedule_storage
class: PostgresScheduleStorage
config:
postgres_db:
hostname:
env: DAGSTER_POSTGRES_HOSTNAME
username:
env: DAGSTER_POSTGRES_USER
password:
env: DAGSTER_POSTGRES_PASSWORD
db_name: dagster_test
port: 5432
event_log_storage:
module: dagster_postgres.event_log
class: PostgresEventLogStorage
config:
postgres_db:
hostname:
env: DAGSTER_POSTGRES_HOSTNAME
username:
env: DAGSTER_POSTGRES_USER
password:
env: DAGSTER_POSTGRES_PASSWORD
db_name: dagster_test
port: 5432
prha
02/01/2023, 5:59 PMdocker-compose.yml
file.Jeff Nawrocki
02/02/2023, 2:45 PMFor Amazon ECS tasks on Fargate, the awsvpc network mode is required.