networking - Optimizing Ansible Transport\SSH for Unconventional Networks -


i'm wondering how optimise ansible work network radically different 1 use cases accelerate , default might not beneficial.

in scenario i'm not dealing virtual network, nor dealing servers. i'm dealing hundreds of embedded, rather unique network design, downside of faults in hosts or cabling on network may cause periodic connectivity changes neighbouring hosts.

this result in dropped or laggy ssh sessions on individual ssh conneciton, unfortunately cause ansible hang on particular hosts , timeout change alone doesn't seem make difference.

could provide information parameters best managing configuration changes , install updates on network drop outs may occur during session on or connected particular hosts, longer lived sessions may not beneficial. in particular advice on these areas in context use scenario

  1. ssh vs paramiko
  2. control persist, pipelining , timeout params
  3. accelerate or no?
  4. evaluating suitability number of specified forks run

if working in network connection might lost 'during' execution of play/task i'm not sure if (read: don't think) ansible saves context of execution recover such issues.

if network bad, should fix that.

assuming knew and: if network bad can't fix params of interest #2 , possibly #3 listed.

change #2 ensure ssh doesn't try reuse connections (doesn't persist). slow down playbook executions provide better stability.

change #3 if have transfer large files , you're using paramiko or ansible older 1.5.

for completeness: #1 kinda no-brainer, don't use paramiko unless have no choice. although list have choice in, practical purposes ansible expects use ssh there many disadvantages of using paramiko on ssh , 1 advantage, if donno advantage don't need it. :-)

even after these settings, if connection lost during execution of task ansible can't except show error message. thing deal these situations idempotency of plays/tasks. can run in loop until playbook runs , makes 0 changes.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -