From 8a778af9081bed6c5e69902a4fce7c234e269679 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 26 Dec 2014 02:38:04 -0800 Subject: [PATCH] use knife node list instead of knife search node to check existance knife search node does not work as expected in some cases like in the bug report, although the cause is not clear yet but switch to knife node list |grep doesn't hurt. Change-Id: I16979e93183b13b5a3e2c3281f4033515428f2b2 Closes-bug: #1405415 --- cobbler/snippets/kickstart_chef_run.sh | 6 ++++-- cobbler/snippets/preseed_chef_run.sh | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cobbler/snippets/kickstart_chef_run.sh b/cobbler/snippets/kickstart_chef_run.sh index 1652d01..b87d63e 100644 --- a/cobbler/snippets/kickstart_chef_run.sh +++ b/cobbler/snippets/kickstart_chef_run.sh @@ -41,8 +41,10 @@ while true; do break else echo "knife search nodes" &>> /tmp/chef.log - USER=root HOME=/root knife search node "name:\\$HOSTNAME.*" -i -a name &>> /tmp/chef.log - nodes=\\$(USER=root HOME=/root knife search node "name:\\$HOSTNAME.*" -i -a name | grep 'name: ' | awk '{print \\$2}') +# use knife node list here to check if node has been registered because knife search node +# doesn't work as expected. + USER=root HOME=/root knife node list |grep $HOSTNAME. &>> /tmp/chef.log + nodes=\\$(USER=root HOME=/root knife node list |grep $HOSTNAME.) echo "found nodes \\$nodes" &>> /tmp/chef.log let all_nodes_success=1 for node in \\$nodes; do diff --git a/cobbler/snippets/preseed_chef_run.sh b/cobbler/snippets/preseed_chef_run.sh index be1d3b8..e66b578 100644 --- a/cobbler/snippets/preseed_chef_run.sh +++ b/cobbler/snippets/preseed_chef_run.sh @@ -40,8 +40,8 @@ while true; do break else echo "knife search nodes" &>> /tmp/chef.log - USER=root HOME=/root knife search node "name:\\$HOSTNAME.*" -i -a name &>> /tmp/chef.log - nodes=\\$(USER=root HOME=/root knife search node "name:\\$HOSTNAME.*" -i -a name | grep 'name: ' | awk '{print \\$2}') + USER=root HOME=/root knife node list |grep $HOSTNAME. &>> /tmp/chef.log + nodes=\\$(USER=root HOME=/root knife node list |grep $HOSTNAME.) echo "found nodes \\$nodes" &>> /tmp/chef.log all_nodes_success=1 for node in \\$nodes; do