Я тестирую Повар Ява Cookbook, чтобы передать наши установки JDK под управление Chef, и мне интересно, как обновить JDK после установки с помощью Cookbook Java Chef.
Чтобы указать, какой вид Java использовать, а также версию, я написал поваренную книгу оболочки, назовем ее «java-wrapper» для этого вопроса и добавим атрибуты, чтобы указать, какой JDK и откуда его загрузить. . Итак, в "java-wrapper / attributes / default.rb" у нас есть
node.normal["java"]["jdk_version"] = "7"
node.normal["java"]["install_flavor"] = "oracle"
node.normal['java']['jdk']['7']['x86_64']['url'] = "http://localmirror/jdk-7u21-linux-x64.tar.gz"
node.normal['java']['jdk']['7']['x86_64']['checksum'] = "thechecksum"
Затем это успешно устанавливает обновление 21 для JDK 7.
Если я затем обновлю указанные выше атрибуты, чтобы использовать обновление 25 JDK 7, атрибуты узлов обновятся после запуска Chef, но поваренная книга Chef Java не «замечает» этого, и старый JDK остается.
Как другие люди управляют JDK через повара и распространяют обновления? Альтернатива, о которой я думаю, - это создать RPM (мы на RHEL) и просто использовать ресурс пакета с действием: upgrade.
Спасибо,
Фред.
Оказывается, я забыл использовать "include_recipe java" в кулинарной книге оболочки. Как только я это сделал, все заработало, как ожидалось.