Обновление просроченного SSL сертификата на хосте

1. Проблема

SSL сертификат на хосте просрочен, статус хоста Not Responding. Нет возможности управлять ВМ, запущенными на этом хосте с помощью менеджера управления.

2. Решение

Следующие шаги необходимо проводить только для хостов, находящихся в статусе not responding.

Чтобы обновить сертификат на хосте необходимо проделать следующее:

  1. Скопировать файл с ключом vdsmkey.pem на менеджер управления:

    scp /etc/pki/vdsm/keys/vdsmkey.pem root@<RFQDN OR IP>:/tmp/vdsmkey.pem
  2. На менеджере сделать зашифрованный запрос на выпуск сертификата, используйте ключ (pass:mypass не менять!):

    openssl req -new -key /tmp/vdsmkey.pem -out /tmp/test_host_vdsm.csr -passin "pass:mypass" -passout "pass:mypass" -batch -subj "/"
  3. На хосте выполнить команду для вывода subject старого сертификата:

    openssl x509 -in /etc/pki/vdsm/certs/vdsmcert.pem -noout -subject
  4. На менеджере подписать сертификат, используя Engine CA. В параметр `subj ` вставить вывод из предыдущей команды, выполненной на хосте.

    cd /etc/pki/ovirt-engine/
    openssl ca -batch -policy policy_match -config openssl.conf -cert ca.pem -keyfile  private/ca.pem -days +398 -in  /tmp/test_host_vdsm.csr -out /tmp/test_host_vdsm.cer -startdate "$(date --utc --date "now -1 days" +"%y%m%d%H%M%SZ")" -subj "/O=Test/CN=test.com" -utf8
  5. Скопировать с менеджера подписанный сертификат обратно на хост /etc/pki/vdsm/certs/vdsmcert.pem.

    scp /tmp/test_host_vdsm.cer root@<FQDN OR IP>:/etc/pki/vdsm/certs/vdsmcert.pem
  6. Скопировать сертификат в ` libvirt `.

    cp /etc/pki/vdsm/certs/vdsmcert.pem /etc/pki/vdsm/libvirt-spice/server-cert.pem
    cp /etc/pki/vdsm/certs/vdsmcert.pem /etc/pki/vdsm/libvirt-vnc/server-cert.pem
    cp /etc/pki/vdsm/certs/vdsmcert.pem /etc/pki/libvirt/clientcert.pem
  7. Отключить менеджер питания хоста и перезапустить службы libvirt и vdsmd. Дождаться пока хост не перейдет в статус Up.

    systemctl restart libvirtd.service
    systemctl restart vdsmd.service

Возможно, что сертификаты libvirt-migrate также были просрочены. Необходимо воспользоваться инструкцией по обновлению сертификата libvirt.