Spec-Zone.ru › MariaDB

Настройка Buildbot для виртуальных машин — общие принципы

Установки выполняются минимально, в основном выбирая стандартные параметры. Это помогает убедиться, что наше оборудование работает с типовыми установками, а также экономит усилия при создании виртуальных машин.

Поскольку большая часть логики происходит в узле Buildbot на хост-машине и внутри мастера Buildbot, нет необходимости устанавливать Buildbot или другие подобные сложные вещи внутри ВМ.

ssh

Виртуальные машины настраиваются с доступом ssh. Создается учетная запись с именем 'buildbot' с безпарольным входом (с использованием аутентификации с открытым ключом ssh) и безпарольным доступом sudo (необходимым для автоматизированного скриптинга). Открытый ключ для пользователя buildbot устанавливается на каждой ВМ, а закрытый ключ добавляется к учетной записи, выполняющей мастер Buildbot на хост-машине.

Для создания ключей ssh:

ssh-keygen -t dsa

Оставьте фразу для пароля пустой. Запустите эту команду от пользователя, запускающего узел Buildbot на хост-машине KVM. Результирующий файл /.ssh/id_dsa.pub потребуется ниже для каждой виртуальной машины.

Порт последовательного канала

ВМ настраиваются для использования (эмулируемого) последовательного порта в качестве консоли. При запуске KVM на хосте консоль отображается в stdin/stdout. Это полезно для получения сообщений журнала ядра, чтобы проще отладить любые проблемы. Загрузчик Grub также настроен для использования последовательного порта.

ВМ также настроены для вывода приглашения входа на последовательном порту (запуск getty). Впоследствии это оказалось не очень необходимым, так как если нужно вручную войти и исследовать вещи, часто проще просто запустить KVM в графическом режиме. Это может быть полезно в случаях, когда хост-машина удалённа (в этом случае графический режим всё ещё работает, но может быть немного медленнее).

Для настройки последовательной консоли ниже ссылаются на два файла и их нужно подготовить заранее:

ttyS0

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/getty 115200 ttyS0

ttyS0.conf

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS0 vt102

Безответственная установка MariaDB на Debian/Ubuntu

my.seed

Пакет MariaDB (и MySQL) на Debian и Ubuntu запрашивает у пользователя пароль для root. Мы хотим проверить этот важный шаг, но, разумеется, не хотим запрос. Для этого мы используем следующий конфигурационный файл для значений по умолчанию для debconf. Этот файл необходим в шагах ниже под именем «my.seed» (будьте внимательны, чтобы сохранить его точно так, как здесь, включая все пробелы и табуляции!)

    mariadb-server-5.1	mysql-server/root_password_again	password	rootpass
    mariadb-server-5.1	mysql-server/root_password	password	rootpass
    mariadb-server-5.1	mysql-server/error_setting_password	error	
    mariadb-server-5.1	mysql-server-5.1/nis_warning	note	
    mariadb-server-5.1	mysql-server-5.1/really_downgrade	boolean	false
    mariadb-server-5.1	mysql-server-5.1/start_on_boot	boolean	true
    mariadb-server-5.1	mysql-server-5.1/postrm_remove_databases	boolean	false
    mariadb-server-5.1	mysql-server/password_mismatch	error	
    mariadb-server-5.1	mysql-server/no_upgrade_when_using_ndb	error	

Для дополнительной информации см. здесь. Файл my.seed можно сгенерировать из существующей установки с помощью debconf-get-selections.

sources.append

Для Debian/Ubuntu мы добавляем локальный репозиторий в список источников apt, чтобы иметь возможность протестировать `apt-get install`. Для этого должен быть подготовлен файл «sources.append»:

deb file:///home/buildbot/buildbot/debs binary/
deb-src file:///home/buildbot/buildbot/debs source/

Параметры эмуляции

У эмулированной сетевой карты по умолчанию в KVM низкая производительность. Чтобы решить эту проблему, мы вместо этого используем сетевое устройство «virtio», используя параметры KVM «-net nic,model=virtio -net user». За исключением Debian 4, который имеет старое ядро без поддержки virtio. Дополнительная информация здесь.

Отметим, что некоторые 32-битные ВМ аварийно завершали работу во время загрузки с параметрами по умолчанию. Это было исправлено с помощью параметра kvm «-cpu qemu32,-nx». Дополнительная информация здесь.

Содержимое, воспроизводимое на этом сайте, является собственностью его соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в данном содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/buildbot-setup-for-virtual-machines-general-principles/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API