Category Archives: Проблемы и решения

Описания различных проблем и способы их решения

Linux: kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0,0)

17 August 2018
 

 Есть Ubuntu машинка, Jenkins билд-агент. Последнее время начала выпадать в Kernel panic и просто во время работы, и при перезагрузке, с ошибкой вида “kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0,0)“. Причина оказалась банальна – раздел /boot был забит чуть менее, чем полностью (с). Для решения – находим старые ядра: И… Read More »

AWS: 502 ошибка на Application Load balancer

10 August 2018
 

 Имеется ALB, на который постоянно срабатывает Alertmanager с ошибкой 502: В CloudWatch видно, что ошибка возникает спорадически, и только один раз: При этом в логах NGINX никаких ошибок нет Первым делом – включаем логи ALB: Не то что бы они чем-то реально помогли – но по крайне мере теперь можно увидеть ошибку “вживую” : 52.***.***.142… Read More »

RabbitMQ: Ansible и Hostname mismatch: node believes its host is different.

8 August 2018
 

 Имеется Ansible плейбук, где среди прочего выполняется установка и настройка RabbitMQ. При запуске задачи с использованием плагина rabbitmq_vhost возникает ошибка: Решение – добавить в вызов rabbitmq_vhost имя ноды с указанием имени хоста, в примере ниже это будет node: “rabbit@{{ set_hostname }}”: … – name: Add RabbitMQ vhosts rabbitmq_vhost: node: “rabbit@{{ set_hostname }}” name: “{{ item.value.vhost… Read More »

MySQL/MariaDB: ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

16 July 2018
 

 В MySQL имеется функция PASSWORD() для получения хеша из строки с паролем, котоаря используется самим MySQL для проверки авторизации. При добавлении пользователя с использованием этой функции и при передачи пароля открытым текстом – возникает ошибка: Вариант первый – не использовать PASSWORD(), и передать пароль открытым: Проверяем: Вариант второй – таки сначала получить хеш пароля, вызвав PASSWORD()напрямую: И… Read More »

Docker: настройка tzdata и timezone во время билда

14 July 2018
 

 При сборке образа – билд останавливается с запросом на настройку tzdata. Dockerfile выглядит сейчас так: FROM ubuntu:18.04 RUN apt update && apt install -y python-pip python-dev ssh python-boto3 RUN pip install ansible==2.4.3.0 Запускаем сборку: И тут сборка зависает в ожидании ввода данных, при чём даже после указание региона – процесс не продолжается. Что бы избежать… Read More »

MariaDB: AWS RDS read-replica и Seconds_Behind_Master

10 July 2018
 

 Имеется AWS RDS read-replica сервер, у котого постоянно растёт значение Seconds_Behind_Master. Ниже – попытки разобраться в причинах и исправить ситуацию. Забегая наперёд – причину нашёл, однако решения как избежать её в будущем не искал, а “пофиксилось” путём запуска нового read-replica сервера, но на будущее оставлю себе запись о том, как проверял статус и искал решение.… Read More »

NGINX: реальный IP в логах при работе за AWS Load Balancer

9 July 2018
 

 Есть NGINX, который работает за AWS Application Load Balancer-ом (ALB). Проблема заключается в том, что в логах NGINX пишется IP самого ALB, а не клиента: 10.0.2.26 – – [06/Jul/2018:10:30:50 +0300] “GET /debug/ HTTP/1.1” 404 133 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36” Что бы исправить это – добавляем… Read More »

Jenkins: It appears that your reverse proxy set up is broken / Есть подозрение, что настройки вашего обратного прокси некорректны.

6 July 2018
 

 Перед Jenkins запущен NGINX + SSL. После запуска – Jenkins сообщает, что “Есть подозрение, что настройки вашего обратного прокси некорректны.“: Описание ошибки есть на Jenkins Wiki. Настройки виртуалхоста сейчас выглядят так: upstream jenkins { server 127.0.0.1:8080; } … server { listen 443 ssl; server_name ci.domain.world; … location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP… Read More »

AWS: RDS – сбросить пароль администратора

4 July 2018
 

 Имеется инстанс, развёрнутый из снапшота, пароль утерян. Что бы сменить пароль – выбираем инстанс, выбираем Modify: И в Settings – задаём новый пароль: Выбираем Apply immediately: Внимательно читаем предупреждение, что в таком случае будут применены все текущие изменения, который ждут maintatnce window. Например – мажорный/минорные апдейты версии, что может инициировать рестарт инстанса: Potential unexpected downtime… Read More »

Ansible: jenkins_plugin Connection refused и Cannot get CSRF

30 June 2018
 

 Для Ansible имеется плагин, позволяющий выполнить установку плагинов для Jenkins jenkins_plugin_module. Достаточно интересный модуль, ниже пример его использования и решение ошибки “Connection refused“. При попытке установить плагин с его помощью: … – name: Start Jenkins service   service:     name=jenkins     state=restarted     enabled=yes – name: Install Jenkins plugins jenkins_plugin: name: “{{ item }}” url_username: “{{ jenkins_ui_admin_user }}” url_password: “{{ jenkins_ui_admin_pass }}” state: present… Read More »