Привет и спасибо, что прочитали,
В настоящее время я нахожусь в процессе настройки марионеточной службы для наших экземпляров ec2 и решил попробовать бригадира (управление сертификатами узлов и автоматическая настройка пассажиров кажутся хорошими).
К сожалению, при установке возникают трудности. Я использую свежий Amazon Linux AMI x86_64 PV:
[root@hostname ~]# uname -a
Linux hostname 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
и попробовал следующее:
sudo yum -y update
sudo yum -y install http://yum.theforeman.org/releases/1.1/el6/x86_64/foreman-release.rpm
sudo yum -y install foreman-installer
что приводит к этому:
Error: Package: rubygem-foreman_api-0.1.11-1.el6.noarch (foreman)
Requires: rubygem(rest-client) >= 1.6.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Предложения кажутся бесполезными (--skip-broken устанавливает все зависимости, кроме foreman / puppet). Я закончил Вот и попробовал установить репозиторий (после удаления старого)
sudo yum -y remove epel-release
sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
теперь снова то, что я пробовал:
sudo -y update
sudo -y install foreman-installer
приводит к той же ошибке. Возможна установка без предыдущего обновления (хотя yum будет жаловаться на открытые ключи) и приведет к следующей ошибке:
[ec2-user@hostname ~]$ foreman-installer
/usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- highline/import (LoadError)
from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/sbin/foreman-installer:3:in `<main>'
У меня были аналогичные проблемы при установке пассажира, и в итоге я сдался. Я предполагаю, что это происходит из-за конфликтующей версии Ruby, поэтому:
[root@hostname puppet]# ruby --version
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]
[root@hostname puppet]# gem --version
2.0.14
[root@hostname puppet]# ls /usr/bin | grep ruby
ruby
ruby1.8
ruby2.0
[root@hostname puppet]# ls /usr/bin | grep gem
gem
gem2.0
Кто-то сталкивался с такими же проблемами? Как мне решить эту проблему?
Заранее спасибо и спасибо, что прочитали все это!
Мне удалось установить Foreman на Amazon Linux, используя программу установки foreman, которая также устанавливает прокси-сервер foreman.
Поскольку марионетка и бригадир используют ruby1.8, а amazon linux по умолчанию использует 2.0
Далее, пакет scl-utils (версия 20120229), который находится в epel, не имеет этого файла / usr / bin / scl_source. Вам нужна эта версия 20120927. Я нашел ее здесь:
yum localinstall scl-utils-20120927-27.el6_6.i686.rpm
Далее вам понадобится пакет ipmitool. Я использовал загрузчик yum на приставке centos и установил
После этого установщик -i успешно завершил работу.
Поскольку в последнее время я провел много времени с марионеткой на Amazon, я хотел обновить это.
Поскольку марионеточная версия на amazon linux, по-видимому, несовместима с установкой ruby2.0 по умолчанию, вам придется установить недостающие файлы ruby1.8 и связать их с правильными файлами. Это должно помочь:
подготовка к установке:
if ! yum repolist | grep -q puppetlabs;
then
echo "..enabling puppet repository.."
# https://tickets.puppetlabs.com/browse/PUP-2132
echo -e "[main]\nenabled = 0" > /etc/yum/pluginconf.d/priorities.conf
rpm --quiet -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-10.noarch.rpm
fi
echo "..updating.."
yum -y --quiet clean all
yum -y --quiet update
if readlink /etc/alternatives/ruby | grep -q "ruby2\.0"
then
echo "..making ruby1.8 default.."
ln -sf /usr/bin/ruby1.8 /etc/alternatives/ruby
fi
if readlink /etc/alternatives/gem | grep -q "gem2\.0"
then
echo "..making gem1.8 default.."
ln -sf /usr/bin/gem1.8 /etc/alternatives/gem
fi
и установить марионетку с apache:
PACKAGE="puppet"
#PACKAGE="puppet-server"
echo "..installing "$PACKAGE" and requirements.."
yum -y --quiet install "$PACKAGE" rubygem18-json
и наконец пассажирский:
echo "..installing passenger and requirements.."
yum -y install httpd httpd-devel mod_ssl ruby18-devel rubygems gcc gcc-c++ curl-devel openssl-devel zlib-devel
gem install rack passenger
passenger-install-apache2-module --auto
Не забудьте проделать обычные вещи (config.ru и конфиг vhost для apache), и тогда все должно работать. Я не пробовал это с мастером, так как мы решили не использовать его, однако это могло быть возможно, и если так, должно работать примерно так же.
Пакеты для Red Hat Enterprise Linux и его клонов несовместимы с Amazon Linux. Вам нужно будет найти либо другой способ установки Foreman, либо, желательно, другой дистрибутив Linux (у Amazon Linux есть много проблем, которые делают его непригодным практически для чего-либо).
У меня была такая же ошибка в системе CentOS 6. Оказывается, мне нужно было установить дополнительный репозиторий, как описано в руководстве по установке для мастера:
http://theforeman.org/manuals/1.5/index.html#3.3.1RPMPackages
Для всех RHEL и производных требуется Red Hat Software Collections (RHSCL) 1.0 или перекомпоновка, например Коллекции программного обеспечения для CentOS. RHSCL доступен клиентам RHEL как отдельный репозиторий или дочерний канал. Дополнительная информация о коллекциях программного обеспечения для CentOS доступна здесь, а для Scientific Linux - здесь.
Я предполагаю, что вы должны сделать что-то подобное в своем экземпляре AWS.