From 8a778af9081bed6c5e69902a4fce7c234e269679 Mon Sep 17 00:00:00 2001
From: Jerry Zhao <zhaoxinyu@huawei.com>
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