@@ -28,37 +28,63 @@ class ChefServerWebui::Nodes < ChefServerWebui::Application
2828 before :authorized_node , :only => [ :update , :destroy ]
2929
3030 def index
31- @node_list = Chef ::Node . list
32- render
31+ begin
32+ @node_list = Chef ::Node . list
33+ render
34+ rescue
35+ @node_list = { }
36+ @_message = { :error => $!}
37+ render
38+ end
3339 end
3440
3541 def show
3642 begin
37- @node = Chef ::Node . load ( params [ :id ] )
38- rescue Net ::HTTPServerException => e
39- raise NotFound , "Cannot load node #{ params [ :id ] } "
40- end
43+ begin
44+ @node = Chef ::Node . load ( params [ :id ] )
45+ rescue Net ::HTTPServerException => e
46+ raise NotFound , "Cannot load node #{ params [ :id ] } "
47+ end
48+ rescue
49+ @node = Chef ::Node . new
50+ @_message = { :error => $!}
51+ end
4152 render
4253 end
4354
4455 def new
45- @node = Chef ::Node . new
46- @available_recipes = get_available_recipes
47- @available_roles = Chef ::Role . list . keys . sort
48- @run_list = @node . run_list
49- render
56+ begin
57+ @node = Chef ::Node . new
58+ @available_recipes = get_available_recipes
59+ @available_roles = Chef ::Role . list . keys . sort
60+ @run_list = @node . run_list
61+ render
62+ rescue
63+ @node_list = Chef ::Node . list ( )
64+ @_message = { :error => $!}
65+ render :index
66+ end
5067 end
5168
5269 def edit
5370 begin
54- @node = Chef ::Node . load ( params [ :id ] )
55- rescue Net ::HTTPServerException => e
56- raise NotFound , "Cannot load node #{ params [ :id ] } "
57- end
58- @available_recipes = get_available_recipes
59- @available_roles = Chef ::Role . list . keys . sort
60- @run_list = @node . run_list
61- render
71+ begin
72+ @node = Chef ::Node . load ( params [ :id ] )
73+ rescue Net ::HTTPServerException => e
74+ raise NotFound , "Cannot load node #{ params [ :id ] } "
75+ end
76+ @available_recipes = get_available_recipes
77+ @available_roles = Chef ::Role . list . keys . sort
78+ @run_list = @node . run_list
79+ render
80+ rescue
81+ @node = Chef ::Node . new
82+ @available_recipes = [ ]
83+ @available_roles = [ ]
84+ @run_list = [ ]
85+ @_message = { :error => $!}
86+ render
87+ end
6288 end
6389
6490 def create
@@ -116,12 +142,18 @@ def update
116142
117143 def destroy
118144 begin
119- @node = Chef ::Node . load ( params [ :id ] )
120- rescue Net ::HTTPServerException => e
121- raise NotFound , "Cannot load node #{ params [ :id ] } "
122- end
123- @node . destroy
124- redirect ( absolute_slice_url ( :nodes ) , { :message => { :notice => "Node #{ params [ :id ] } deleted successfully" } , :permanent => true } )
145+ begin
146+ @node = Chef ::Node . load ( params [ :id ] )
147+ rescue Net ::HTTPServerException => e
148+ raise NotFound , "Cannot load node #{ params [ :id ] } "
149+ end
150+ @node . destroy
151+ redirect ( absolute_slice_url ( :nodes ) , { :message => { :notice => "Node #{ params [ :id ] } deleted successfully" } , :permanent => true } )
152+ rescue
153+ @node_list = Chef ::Node . list ( )
154+ @_message = { :error => $!}
155+ render :index
156+ end
125157 end
126158
127159end
0 commit comments