SOCKS proxy ng Ansible: aling makina ang may-ari ng localhost?
Hanapin ang prosesong gumagawa ng kahilingang Ansible API bago ito ituro sa isang tagapakinig na SSH SOCKS sa loopback.
Ang gawaing gumagamit ng socks5h://127.0.0.1:65432 ay dapat tumakbo sa network environment kung saan umiiral ang tagapakinig na iyon. Ang tunnel na gumagana mula sa controller ay hindi ito ginagawang available sa loopback address ng isang pinamamahalaang host — o sa loob ng execution container.
Para sa gawaing nabibigo, itatag ang apat na katotohanan:
- Ang host o container na nagpapatupad ng kahilingan sa network.
- Ang epektibong user at Python interpreter nito.
- Ang HTTP library o SDK ng module.
- Ang address kung saan naaabot ng prosesong iyon ang tagapakinig na SOCKS.
Ang target ng imbentaryo ng play lamang ay hindi sinasagot ang unang tanong. Gumagamit ang mga module ng kanilang naka-configure na koneksyon, ang delegasyon ay maaaring maglipat ng pagpapatupad, at ang lokal na koneksyon ay maaaring magpanatili ng trabaho sa controller. Ang mga paghahanap sa gilid ng controller ay nangyayari nang lubos sa labas ng remote module.
Para sa gawaing imahe ng OpenStack, suriin ang mga kinakailangan ng naka-install na koleksyong openstack.cloud at ang kapaligiran ng OpenStack SDK nito. Ang tagumpay ng curl sa ibang lugar ay hindi nagpapatunay ng mga kakayahan o dependency ng SOCKS ng SDK na iyon.
Kung ang operasyong API ay nilalayong tumakbo nang lokal, gawing tahasan ang pagpiling iyon sa pagpapatupad at ibigay ang setting doon. Kung tumatakbo ito nang malayuan, pumili ng proxy na maaabot mula sa kontekstong iyon. Ang environment: ng gawaing Ansible ay nakakaapekto sa proseso ng gawain; hindi nito muling kino-configure ang bawat paghahanap o plugin, at kailangan pa ring suportahan ng SDK ang scheme sa kapaligirang Python na iyon.
Paghiwalayin ang dalawang ruta: dinadala ng SSH o ProxyJump ang Ansible sa isang host, habang ang HTTP client ng module ay pumupunta mula sa konteksto ng pagpapatupad nito patungo sa API. Ang gumaganang unang ruta ay hindi nagsasaayos ng pangalawa. Ang paglalantad ng tagapakinig na nasa controller lamang upang lutasin ang maaabot ay nagbabago rin kung sino ang makaka-access dito, kaya ito ay desisyon sa deployment at hindi pagwawasto ng address.