Brad
07/18/2025, 6:03 AM{
"timestamp": "2025-07-18T05:54:45.794723Z",
"level": "ERROR",
"fields": {
"error": "io error: Address already in use (os error 98)"
},
"target": "mirrord_agent::entrypoint",
"span": {
"args": "Args { mode: Ephemeral { mesh: None }, communicate_port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: false, operator_tls_cert_pem: None, is_mesh: true, ipv6: false }",
"name": "start_agent"
},
"spans": [
{
"args": "Args { mode: Ephemeral { mesh: None }, communicate_port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: false, operator_tls_cert_pem: None, is_mesh: true, ipv6: false }",
"name": "start_agent"
}
],
"threadId": "ThreadId(1)"
}
I don't have ttl set, but I do have
communication_timeout: 360
startup_timeout: 360
Will these keep the agent alive? Or is there a recommended way to make this work? ThanksAviram Hassan
07/18/2025, 6:05 AMBrad
07/18/2025, 6:11 AM│ {"timestamp":"2025-07-18T06:01:46.460798Z","level":"TRACE","fields":{"message":"start_agent -> All clients finished, exitin │
│ g main agent loop"},"target":"mirrord_agent::entrypoint","span":{"args":"Args { mode: Ephemeral { mesh: None }, communicate │
│ _port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: false, operator_tls_cert_pem: │
│ None, is_mesh: true, ipv6: false }","name":"start_agent"},"spans":[{"args":"Args { mode: Ephemeral { mesh: None }, communi │
│ cate_port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: false, operator_tls_cert_ │
│ pem: None, is_mesh: true, ipv6: false }","name":"start_agent"}],"threadId":"ThreadId(1)"} │
│ {"timestamp":"2025-07-18T06:01:46.460804Z","level":"TRACE","fields":{"message":"start_agent -> Agent shutting down, droppin │
│ g cancellation token for background tasks"},"target":"mirrord_agent::entrypoint","span":{"args":"Args { mode: Ephemeral { m │
│ esh: None }, communicate_port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: false │
│ , operator_tls_cert_pem: None, is_mesh: true, ipv6: false }","name":"start_agent"},"spans":[{"args":"Args { mode: Ephemeral │
│ { mesh: None }, communicate_port: 51234, communication_timeout: 360, network_interface: None, metrics: None, test_error: f │
│ alse, operator_tls_cert_pem: None, is_mesh: true, ipv6: false }","name":"start_agent"}],"threadId":"ThreadId(1)"}
So I thought that it meant that there were no lingering processesAviram Hassan
07/18/2025, 6:18 AMAviram Hassan
07/18/2025, 6:18 AMAviram Hassan
07/18/2025, 6:19 AMAviram Hassan
07/18/2025, 6:19 AMBrad
07/18/2025, 6:23 AM{
"target": {
"path": "{{ get_env(name='MD_DEPLOYMENT', default='deployment/playmaker-grpc/container/grpc') }}",
"namespace": "{{ get_env(name='MD_NAMESPACE', default='') }}"
},
"feature": {
"network": {
"incoming": {
"mode": "{{ get_env(name='MD_MODE', default='off') }}",
"ignore_ports": [
8081
],
"port_mapping": [
[
50000,
5000
]
]
},
"outgoing": true
},
"fs": {
"mode": "read",
"local": [
".+\\.js",
".+\\.mjs",
".+\\.ts",
".+\\.go",
"dist/*"
]
},
"env": {
"override": {
"GRPC_PORT": "{{ get_env(name='MD_GRPC_PORT', default='50000') }}",
"GRPC_REFLECTION": "true"
}
}
},
"operator": true,
"skip_processes": "tsc",
"kube_context": "{{ get_env(name='MD_CLUSTER', default='dev') }}",
"internal_proxy": {
"log_destination": "/tmp/mirrord.log",
"log_level": "mirrord=info"
}
}
Yes, have the agent to a static port as per https://metalbear.co/mirrord/docs/faq/common-issues#agent-connection-fails-or-drops-when-using-an-ephemeral-agent-with-a-service-mesh
So we can exclude it from istio
traffic.sidecar.istio.io/excludeInboundPorts: 'xxxx
'Aviram Hassan
07/18/2025, 6:25 AMAviram Hassan
07/18/2025, 6:27 AMAviram Hassan
07/18/2025, 6:28 AMAviram Hassan
07/18/2025, 6:28 AMBrad
07/18/2025, 6:28 AMBrad
07/18/2025, 6:58 AM