wJ'explore le rest api de Chef à des fins de projet. Je suis capable d'obtenir, d'afficher et de supprimer des données de nœud/nœud. Mais je ne suis pas en mesure d'exécuter la requête PUT, c'est-à-dire de mettre à jour les données relatives au nœud sur le serveur. Voici la capture d'écran de l'erreur que je reçois. Chef REST API REST
Voici le code qui effectue la demande. J'ai correctement spécifié les paramètres d'authentification et ils fonctionnent correctement.
rest = Chef::REST.new(server_url, client_name, signing_key_filename)
print "Enter the node you want to edit :\n"
editnode = gets.chomp
node = rest.get_rest("/nodes/#{editnode}")
print "#{node.name}\n"
print "\t#{node.run_list}\n"
print "Now updating the node as per the parameters specified :\n"
update_node = {
"run_list" => "recipe[123]"
}
rest.put_rest("nodes/#{editnode}","update_node")
Veuillez suggérer une solution.
Votre URL est-elle vraiment https: // googler? En outre, il serait utile d'avoir le stacktrace en texte clair au lieu d'une capture d'écran – sethvargo
On dirait que vous codez dans Ruby? Utilisez l'excellent Ridley gem au lieu d'appeler l'API REST directement: https://github.com/RiotGames/ridley –
@sethvargon Ouais. En fait, je cours le serveur sur mon centre de données local vm, et l'ai défini comme le nom de domaine complet. + J'ai ajouté la même chose au fichier hosts sur mon poste de travail, donc je peux y accéder avec ce nom. – tortuga