Acontece que eu tinha esquecido de usar "include_recipe java" no livro de receitas wrapper. Depois que fiz isso, funcionou como esperado.
Estou testando o Cookbook Chef para colocar as instalações do JDK sob o gerenciamento do Chef e estou querendo saber como atualizar o JDK, uma vez instalado, usando o livro de receitas Chef Java.
Em ordem especificar qual sabor de Java para usar, bem como a versão, eu escrevi um wrapbook Cookbook, vamos chamá-lo de "java-wrapper" para esta questão, e colocar no lugar atributos para especificar qual JDK e onde baixá-lo de. Então, em "java-wrapper / attributes / default.rb", temos
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"
Isso instala com êxito a atualização 21 do JDK 7.
Se eu atualizar os atributos acima para usar o JDK 7 update 25, os atributos do nó serão atualizados após a execução do Chef, mas o Cookbook Chef Java não "perceberá" isso e o JDK antigo permanecerá.
Como outras pessoas estão gerenciando o JDK via chef e enviando atualizações? Uma alternativa que estou pensando é criar um RPM (estamos no RHEL) e apenas usando um recurso de pacote com: ação de atualização.
Obrigado,
Fred.