snat где делается? Openstack или на самой вм? Не понятная схема своя. Конечно можно все отключить и хотя бы понять, что все работает. Но allowed_pairs более грамотно.
Где приходится на каждый чих заводить новую переменную, потому что старую ты объявил с одним типом, а тебе нужен другой. Эт именно что вопрос привычки.
Ваще это уже не по теме всё. В питоне строгой типизации нет, а в опенстеке некому документацию писать. Отсюда все проблемы. А выход из ситуации только один - привыкать к динамической типизации и следить за магическими превращениями данных)