amarao (amarao_san) wrote,
amarao
amarao_san

Category:

APython

troll mode:

Специальный интерпретатор питона, написанный на ансибле с помощью конечного автомата на хэндлерах. В начале делается set_fact для code с содержимым желаемого python-файла, а дальше он парсится с помощью набора when и рекурсивных include, потом исполняется посредством хэндлеров от include_role, которые делают notify/listen друг другу, разумеется, вместе с when. В некоторых случаях приходится делать в качестве таски для хэндлера include_role (так, например, всё IO делается).

В принципе, внутри кода можно написать import remote_pdb; remote_pdb.set_trace() и тогда ансибл в хэндлерах будет поллить сокеты и давать repr-шелл внутрь этого питона.

Enjoy your debugging.

Для слабых духом можно предложить транспайлер из питона в ансибл py2ansible - всё то же самое, но уже транспилированное в плейбуки. Вот тогда можно будет программировать на ансибле.
Tags: ansible
Subscribe

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment