Я пытаюсь заставить шеф-повара отключить сетевой интерфейс таким образом, чтобы он не появлялся при следующей перезагрузке.

Мой ресурс (на кухне на Debian 7.8) таков:

ifconfig "213.139.12.17" do
  device "eth1"
  onboot "no"
  action :disable
end

Интерфейс не работает должным образом после конвергенции, но файл в /etc/network/interfaces кажется нетронутым, и при перезагрузке интерфейс возвращается в исходное состояние, поскольку настройки по умолчанию в файле interfaces были "auto".

Почему шеф-повар не редактирует /etc/network/interfaces? Разве это не предполагалось? Есть ли другой ресурс, который я предполагаю использовать для этой цели?

0
Tom Klino 28 Май 2017 в 19:35

2 ответа

Лучший ответ

Это хак, но я так и сделал:

ifconfig "213.139.12.17" do
  device "eth1"
  onboot "no"
  action :disable
  notifies :run, "execute[remove-auto-eht1]", :immediately
end
execute "remove-auto-eth1" do
  command "sed -i '/^auto eth1/s/^/#/' /etc/network/interfaces"
  action :nothing
end

Это сработало, но я действительно чувствую, что это должно быть обработано в ресурсе ifconfig при запросе на отключение интерфейса.

0
Tom Klino 29 Май 2017 в 09:50

Я думаю, что только действия :add и :delete ресурса ifconfig записывают в файлы конфигурации (на некоторых платформах).

Итак, если вы хотите сохранить интерфейс, но не хотите, чтобы он был включен, я думаю, вы можете сделать это:

ifconfig "213.139.12.17" do
  device "eth1"
  onboot "no"
  action [:add, :disable]
end
0
CrimsonCricket 28 Май 2017 в 16:51