Как перейти от тени openstack к openstacksdk?
Я написал набор инструментов автоматизации, которые взаимодействуют с сервисом на основе openstack. Инструменты полагаются на библиотеку оттенков openstack. Эта клиентская библиотека говорит
shade был заменен openstacksdk и больше не имеет новых функций.
с 2017 года.
Теперь мне просто интересно:
- есть ли особый подход к преобразованию существующей базы кода?
- сколько усилий следует ожидать?
1 ответ
Конечно, нет двух одинаковых проектов, но я считаю уместным заявить: движение вперед - это, скорее всего, быстрое и быстрое упражнение!
В нашем случае единственное изменение, которое потребовалось, - это заменить:
my_connection = shade.openstack_cloud(cloud='cloudX', **auth_data)
с
my_connection = openstack.connection.from_config(cloud='cloudX', **auth_data)
Весь другой код, использующий этоmy_connection
объект работает точно так же, как и раньше. Другими словами: API-интерфейсы для клиентских объектов тени и openstack, а также методы и параметры, насколько я мог заметить, одинаковы.
Поэтому обновление до openstacksdk было почти полностью прозрачным для клиентского кода в нашем проекте.
Как уже было сказано, это может относиться не ко всем проектам, но с учетом значимых абстракций, потенциальные затраты на этот шаг незначительны.