AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

Dec 22, 2016 18:06 · 152 words · 1 minute read new relic monitoring

После обновления операционной системы с Debian Wheezy до Debian Jessie на серверах не запускается newrelic_plugin_agent. Давайте разберемся!

При старте демона появляется следующая ошибка:

AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

Как выяснилось, в новом Debian пакет OpenSSL собирается без поддержки SSLv3 (подробнее здесь), который нужен для нормальной работы библиотеки urllib3.

Проблема была известна уже давно, и была устранена этим коммитом для urllib3.

Конкретно в нашем случае данная библиотека используется как часть питоновского модуля requests, установленного с помощью pip. Данный модуль необходимо обновить до версии 2.6, которая уже включает в себя необходимый патч, позволяющий работать с SSLv3. Делаем это так:

easy_install --upgrade pip
pip install requests==2.6.0

Проверим установленную версию модуля requests:

pip show requests
Name: requests
Version: 2.6.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: Apache 2.0
Location: /usr/local/lib/python2.7/dist-packages

Пробуем запустить newrelic_plugin_agent после проделанных действий:

/etc/init.d/newrelic_plugin_agent start
[ ok ] Starting newrelic_plugin_agent (via systemctl): newrelic_plugin_agent.service.

Все работает!

tweet Share