aws / aws/sagemaker-python-sdk
Support network_mode=host for local testing
- Vorherrschende Sprache
- Python
- Sterne
- 2.3k
- Forks
- 1.3k
- Ø Merge
- 1 T. 22 Std.
- Gemergte PRs (30 T.)
- 35
Beschreibung
**Describe the feature you'd like**
Sagemaker local uses docker compose internal network to make containers communicate with each other.
For some tools, such as Snowflake, some companies may require login via SSO when testing locally.
However the login redirect (bringing back the access token) cannot be managed by the sagemaker container since it is not listening to the same localhost (docker internal network) as the user's browser (actual localhost).
**How would this feature be used? Please describe.**
Allow setting `network_mode="host"` in [container configuration](https://github.com/aws/sagemaker-python-sdk/blob/045798e893de09c76148ba95b17554b2db4bebc2/src/sagemaker/config/config_schema.py#L1240), so that browser redirects can be handled succesfully. This also helps with other random VPN issues not manging correctly docker traffic.
When set, the `network_mode` parameter should be propagated to each container and `ports` must be discarded (as `network_mode="host"` overrides `ports`, allowing traffic on any port).
**Describe alternatives you've considered**
None worked, no documentation about containers networking can be found in the official docs.
Beitragsleitfaden
Rechercherichtung
Beginne bei src/sagemaker/config/config_schema.py an der Definition der Container-Konfiguration und verfolge anschließend, wo diese Konfiguration zu den lokalen Docker Compose-Containern wird. Überprüfe, wie network_mode und ports derzeit über die generierten Container hinweg behandelt werden. Fertig ist die Aufgabe, wenn das Host-Netzwerk an jeden Container weitergegeben wird und ports weggelassen werden, wenn network_mode="host" ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, python
- Bereich
- devops, infrastructure
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 50/100