У меня проблема с запуском поваренной книги шеф-повара для настройки эластичного поиска. Этот код работал пару недель go, и теперь внезапно начинает выдавать ошибку при попытке его запустить. Ошибка выглядит следующим образом.
[2020-05-01T20:10:19+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: service[elasticsearch] (elasticsearch_cookbook::default line 46) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of ["/bin/systemctl", "--system", "start", "elasticsearch"] ----
STDOUT:
STDERR: Job for elasticsearch.service failed because the control process exited with error code.
See "systemctl status elasticsearch.service" and "journalctl -xe" for details.
---- End output of ["/bin/systemctl", "--system", "start", "elasticsearch"] ----
Ran ["/bin/systemctl", "--system", "start", "elasticsearch"] returned 1
Это код в моих repices / default.rb
include_recipe 'apt'
apt_update 'update_sources' do
action :update
end
apt_update "update" do
action :update
end
package "openjdk-8-jdk"
package "apt-transport-https"
execute "add key" do
command 'wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -'
end
execute "add repository" do
command 'sudo add-apt-repository "deb https://artifacts.elastic.co/packages/7.x/apt stable main"'
end
apt_update "update" do
action :update
end
package "elasticsearch"
template '/etc/elasticsearch/elasticsearch.yml' do
source 'elasticsearch.yml.erb'
mode '666'
owner 'root'
group 'root'
end
execute 'fix_template' do
command 'sudo chmod go-w /etc/elasticsearch/elasticsearch.yml'
end
service 'elasticsearch' do
supports :start => true, :stop => true, :restart => true, :reload => true, :status => true
action [:enable, :start]
end
в моей спецификации / unit / repices / default_spe c .rb i есть
require 'spec_helper'
describe 'elasticsearch_cookbook::default' do
context 'When all attributes are default, on Ubuntu 18.04' do
# for a complete list of available platforms and versions see:
# https://github.com/chefspec/fauxhai/blob/master/PLATFORMS.md
platform 'ubuntu', '16.04'
it 'converges successfully' do
expect { chef_run }.to_not raise_error
end
it 'enables the elasticsearch service' do
expect(chef_run).to enable_service 'elasticsearch'
end
it 'should update source list' do
expect(chef_run).to update_apt_update('update_sources')
end
it 'should create an elasticsearch template in /etc/elasticsearch/elasticsearch.yml' do
expect(chef_run).to create_template('/etc/elasticsearch/elasticsearch.yml')
end
end
end
И мой интеграционный тест у меня есть:
unless os.windows?
# This is an example test, replace with your own test.
describe user('root'), :skip do
it { should exist }
end
end
# This is an example test, replace it with your own test.
describe port(80), :skip do
it { should_not be_listening }
end
describe service "elasticsearch" do
it { should be_enabled }
end
describe package('openjdk-8-jdk') do
it { should be_installed }
end
describe package('apt-transport-https') do
it { should be_installed }
end
Я не знаю, связана ли ошибка с уровнем разрешений, так как это может потребовать sudo previlegise или что-то изменилось вasticsearch. Есть идеи?
Заранее большое спасибо