Сегодня с утра перестали работать сборки в jenkins, вылетали с ошибкой.

Скрытый текст
Terraform and earlier allowed provider version constraints inside the provider configuration block, but that is now deprecated and will be removed in a future version of Terraform. To silence this warning, move the provider version constraint into the required_providers block.

Error: Failed to install provider

Error while installing hashicorp/vsphere v2.0.2: could not query provider registry for registry.terraform.io/hashicorp/vsphere: failed to retrieve authentication checksums for provider: 405 Not allowed

Error: Failed to install provider

Error while installing hashicorp/dns v3.2.1: could not query provider registry for registry.terraform.io/hashicorp/dns: failed to retrieve authentication checksums for provider: 405 Not allowed

Тутор, как быстро поднять впн и вернуть терраформ в строй!

image

Переходим по releases.hashicorp.com/terraform и получаем Error 405 Not allowed. Развели руками.

Нужно поднимать быстренько впн и пушить маршрут до hashicorp.

Приобрели VDS в Финляндии (не реклама). Далее зашли на vds и прокатили скрипт.

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Удобно спасибо gitlab

Создали двух клиентов:

Первый создается при запуске скрипта;

второго и далее прокатив еще раз скрипт openvpn-install.sh.
Чуть-чуть меняем openvpn сервер конфиг

vi /etc/openvpn/server/server.conf 
закомментили все #push маршруты
Добавили свой 
push "route 151.101.37.183 255.255.255.255"

Запустили рестарт службу впн на сервере.

systemctl restart openvpn-server@server.service

Далее зашли на jenkins агента ( в моем случае ). И поставили openvpn (сервер и клиент у них в одном флаконе)

centos 
sudo yum install epel-release -y
sudo yum install openvpn -y
ubuntu 
sudo apt install openvpn 

Затем создаем файл в /etc/openvpn/openi.conf (Очень важно, чтобы он заканчивался на i.conf) и переносим в него наши сгенерированные скриптом конфиги openvpn.

Коммент от себя:

Скрытый текст
Долго тупил и не мог увидеть в чем косяк, пока не посмотрел /usr/lib/systemd/system/openvpn@.service
И в нем увидел:
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf
Реально, Карл? Зачем ??? /etc/openvpn/ когда есть /etc/openvpn/client/ %i.conf так много вопросов и мало ответов.


systemctl start openvpn@openi

systemctl enable openvpn@openi

Как итог, сборки вернулись в привычное русло. Далее думаем, как запихать все в Nexus с такими темпами.

Кстати, у кого проблема с большим количеством машин, можно поставить клиент куда-либо (хоть на Mikrotik) и указать на шлюзе маршрут через него к хашикорпу (151.101.37.183).

Возможно завтра туда добавим еще пару маршрутов.

У кого какие идеи решения проблемы с terraform?
Up исправил опечатку в маршруте.

Комментарии (19)


  1. inkvizitor68sl
    01.03.2022 21:24
    +2

    так много вопросов и мало ответов.

    Ну коммон. https://www.freedesktop.org/software/systemd/man/systemd.unit.html

    "%i" | Instance name | For instantiated units this is the string between the first "@" character and the type suffix. Empty for non-instantiated units.


    1. Andreyeus Автор
      01.03.2022 21:30

      Там больше вопросов было почему не папка /etc/openvpn/client. Т/к она по дефолту уже создается.


      1. inkvizitor68sl
        01.03.2022 21:37

        Потому что не всем удобно запускать и клиенты, и серверы через один юнит openvpn@

        А всё остальное в общем-то написано в /usr/share/doc/openvpn/README.systemd (спойлер - systemctl cat openvpn-client@)


  1. aegoroff
    01.03.2022 21:32

    Да, у нас такое же сегодня вылезло - сам с этим не разбирался


  1. alexmay
    01.03.2022 21:36
    +3

    wireguard? Быстрый, легкий, клиенты под все платформы


    1. engine9
      02.03.2022 00:08

      Будьте добры, поясните про вайргард. Вот я купил VPN, поставил wireguard на комп, настроил конфиг как описано на сайте провайдера VPN, а что дальше делать чтобы трафик шел через него (весь) не понятно. ОС — linux mint.
      Спасибо!


      1. TheDenis
        02.03.2022 00:22
        +1

        В конфиге выставить allowed-ips в 0.0.0.0/0


        1. aim
          02.03.2022 16:42
          +1

          и nat сделать не забыть!


          1. engine9
            02.03.2022 21:52

            Дяденьки, я так-то ненастоящий сварщик. А где это всё прописывать? Буду признателен за некий пошаговый гайд для не очень опытных юзеров ПК.


    1. aim
      02.03.2022 16:43

      впрочем вот:

      wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh


  1. Kanlas
    01.03.2022 21:47
    +1

    Добавили свой push route "151.101.37.183 255.255.255.255"

    Ну такое, я бы добавил всю их подсеть. Потом этот ip уедет куда-нибудь на другой поддомен и будете опять искать почему не работает

    У кого какие идеи решения проблемы с terraform

    Можно просто прокси поднять и ходить на условный releases.mydomain.ru/terraform


  1. artemlight
    02.03.2022 02:18

    В данном случае и http-proxy хватит обычного.


  1. elve
    02.03.2022 13:27

    Вы не могли скачать дистрибутивы или terraform при своей работе зачем-то стучится к hashicorp?


    1. usv_usv
      02.03.2022 14:21

      плюсую к вопросу…


    1. Andreyeus Автор
      02.03.2022 15:45

      Простой пример:
      Скачали дистрибутив(пакет) python, он работает. Если работали с python у него есть библиотеки разные. Это все равно, что выкачать все python библиотеки.
      Так вот, у нас в jenkins ( Gitlab, который хранит на ранерах это кэш) использует терраформ в контейнере, который после использования захлопывается. Кэша нету, отсюда проблема.


    1. kvazipups
      02.03.2022 15:55

      Он стучится в хашикорп при init, если отсутствует каталог с провами.

      Ну а так, относительно терраформа доступ закрыт для:

      registry.terraform.ioreleases.hashicorp.com


      1. Andreyeus Автор
        02.03.2022 15:56

        Ну у нас, на ранерах гита в кэше пакеты остались там проблемы нет.


  1. BOPOHA
    03.03.2022 00:21
    +1

    https://discuss.hashicorp.com/t/access-to-releases-hashicorp-com-is-denied/36348

    We’re sorry, but because of the conflict underway in Ukraine, HashiCorp is prohibiting availability of our products and services in Russia and Belarus.


  1. Chupaka
    03.03.2022 18:16

    Удобно спасибо gitlab

    Простите, но там ссылка на GitHub, не GitLab :)