Техническое задание
Требуется удалить пользователей удаленного домена всех типов (enterprise, hotspot, equipment, bras, voucher, voucher_bras, pms)
Подготовка и настройка
Для запуска требуется установка pyhocon
, PyMySQL
, progress
и zeep
. Для их установки можно воспользоваться командой:
sudo pip3 install -r requirements.txt
Файл настроек - application.conf
Данный файл содержит настройки скрипта. Можно настроить:
nbi
host
- хост, на котором установлен softWLC-nbiport
- порт softWLC-nbiusername
- имя пользователяpassword
- пароль пользователяwsdl
- ссылка на wsdl softWLC-nbi
mysql
host
хост, на котором установлен mysqlport
порт mysqlusername
имя пользователяpassword
пароль пользователяcharset_ems
кодировка базы данных radiuscharset_radius
кодировка базы данных eltex_ems
settings
categories_users
категории пользователей, которых нужно удалить в случае, если их домен был удален (возможные категории:enterprise
,hotspot
,equipment
,bras
,voucher
,voucher_bras
,pms
)nbi_limit
максимальная длина массива пользователей на удаление (за одно обращение к nbi)mysql_limit
максимальное количество записей для select-запроса за один раз
log
file
- имя файла с логамиlevel
- уровень логирования
Запуск
Запуск скрипта по удалению пользователей:
python3.6 delete_users_with_domain_deleted.py
Скрипт удаляет пользователей с уже удаленным доменом. Если таких доменов нет, информация об этом будет выведена в терминал и записана в логи. Категории пользователей (enterprise
, hotspot
, equipment
) указываются в файле настроек. После запуска, будет выведена информация о найденных пользователях без домена. После подтверждения будет запущен процесс удаления данных пользователей.
Пример запуска
Start script ...
Getting all users (enterprise, hotspot) ...
Search domains which was deleted ...
████████████████████████████████ 100%
Users next domains' will be deleted:
For domain deleted 'test8.root': 5 users
For domain deleted 'test9.root': 4 users
Confirm delete? (y/n)
y
Deleting users ...
████████████████████████████████ 100%
All users with deleted domain was successfully deleted
Was deleted 9 users