Skip to content

Commit f7ee5aa

Browse files
authored
CP-308201: make unimplemented function more obvious (#6548)
Rename the "u" function used across storage and observer_helpers to make its meaning more obvious and use __FUNCTION__ instead of hardcoding the function name.
2 parents 95b765f + acb9732 commit f7ee5aa

File tree

8 files changed

+203
-169
lines changed

8 files changed

+203
-169
lines changed

ocaml/xapi-idl/lib/observer_skeleton.ml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,36 @@
1313
*)
1414
[@@@ocaml.warning "-27"]
1515

16-
let u x = raise Observer_helpers.(Observer_error (Errors.Unimplemented x))
16+
let unimplemented x =
17+
raise Observer_helpers.(Observer_error (Errors.Unimplemented x))
1718

1819
module Observer = struct
1920
type context = unit
2021

2122
let create ctx ~dbg ~uuid ~name_label ~attributes ~endpoints ~enabled =
22-
u "Observer.create"
23+
unimplemented __FUNCTION__
2324

24-
let destroy ctx ~dbg ~uuid = u "Observer.destroy"
25+
let destroy ctx ~dbg ~uuid = unimplemented __FUNCTION__
2526

26-
let set_enabled ctx ~dbg ~uuid ~enabled = u "Observer.set_enabled"
27+
let set_enabled ctx ~dbg ~uuid ~enabled = unimplemented __FUNCTION__
2728

28-
let set_attributes ctx ~dbg ~uuid ~attributes = u "Observer.set_attributes"
29+
let set_attributes ctx ~dbg ~uuid ~attributes = unimplemented __FUNCTION__
2930

30-
let set_endpoints ctx ~dbg ~uuid ~endpoints = u "Observer.set_endpoints"
31+
let set_endpoints ctx ~dbg ~uuid ~endpoints = unimplemented __FUNCTION__
3132

32-
let init ctx ~dbg = u "Observer.init"
33+
let init ctx ~dbg = unimplemented __FUNCTION__
3334

34-
let set_trace_log_dir ctx ~dbg ~dir = u "Observer.set_trace_log_dir"
35+
let set_trace_log_dir ctx ~dbg ~dir = unimplemented __FUNCTION__
3536

36-
let set_export_interval ctx ~dbg ~interval = u "Observer.set_export_interval"
37+
let set_export_interval ctx ~dbg ~interval = unimplemented __FUNCTION__
3738

38-
let set_max_spans ctx ~dbg ~spans = u "Observer.set_max_spans"
39+
let set_max_spans ctx ~dbg ~spans = unimplemented __FUNCTION__
3940

40-
let set_max_traces ctx ~dbg ~traces = u "Observer.set_max_traces"
41+
let set_max_traces ctx ~dbg ~traces = unimplemented __FUNCTION__
4142

42-
let set_max_file_size ctx ~dbg ~file_size = u "Observer.set_max_file_size"
43+
let set_max_file_size ctx ~dbg ~file_size = unimplemented __FUNCTION__
4344

44-
let set_host_id ctx ~dbg ~host_id = u "Observer.set_host_id"
45+
let set_host_id ctx ~dbg ~host_id = unimplemented __FUNCTION__
4546

46-
let set_compress_tracing_files ctx ~dbg ~enabled =
47-
u "Observer.set_compress_tracing_files"
47+
let set_compress_tracing_files ctx ~dbg ~enabled = unimplemented __FUNCTION__
4848
end

ocaml/xapi-idl/storage/storage_interface.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,8 @@ end
425425

426426
exception Storage_error of Errors.error
427427

428+
let unimplemented x = raise (Storage_error (Errors.Unimplemented x))
429+
428430
let () =
429431
(* register printer *)
430432
let sprintf = Printf.sprintf in

ocaml/xapi-idl/storage/storage_skeleton.ml

Lines changed: 113 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
*)
1414
[@@@ocaml.warning "-27"]
1515

16-
let u x = raise Storage_interface.(Storage_error (Errors.Unimplemented x))
17-
1816
type context = unit
1917

2018
module UPDATES = struct
@@ -27,193 +25,231 @@ module UPDATES = struct
2725
end
2826

2927
module Query = struct
30-
let query ctx ~dbg = u "Query.query"
28+
let query ctx ~dbg = Storage_interface.unimplemented __FUNCTION__
3129

32-
let diagnostics ctx ~dbg = u "Query.diagnostics"
30+
let diagnostics ctx ~dbg = Storage_interface.unimplemented __FUNCTION__
3331
end
3432

3533
module DP = struct
36-
let create ctx ~dbg ~id = u "DP.create"
34+
let create ctx ~dbg ~id = Storage_interface.unimplemented __FUNCTION__
3735

38-
let destroy ctx ~dbg ~dp ~allow_leak = u "DP.destroy"
36+
let destroy ctx ~dbg ~dp ~allow_leak =
37+
Storage_interface.unimplemented __FUNCTION__
3938

40-
let destroy2 ctx ~dbg ~dp ~sr ~vdi ~vm ~allow_leak = u "DP.destroy2"
39+
let destroy2 ctx ~dbg ~dp ~sr ~vdi ~vm ~allow_leak =
40+
Storage_interface.unimplemented __FUNCTION__
4141

42-
let attach_info ctx ~dbg ~sr ~vdi ~dp ~vm = u "DP.attach_info"
42+
let attach_info ctx ~dbg ~sr ~vdi ~dp ~vm =
43+
Storage_interface.unimplemented __FUNCTION__
4344

44-
let diagnostics ctx () = u "DP.diagnostics"
45+
let diagnostics ctx () = Storage_interface.unimplemented __FUNCTION__
4546

46-
let stat_vdi ctx ~dbg ~sr ~vdi () = u "DP.stat_vdi"
47+
let stat_vdi ctx ~dbg ~sr ~vdi () =
48+
Storage_interface.unimplemented __FUNCTION__
4749
end
4850

4951
module SR = struct
5052
let create ctx ~dbg ~sr ~name_label ~name_description ~device_config
5153
~physical_size =
52-
u "SR.create"
54+
Storage_interface.unimplemented __FUNCTION__
5355

54-
let attach ctx ~dbg ~sr ~device_config = u "SR.attach"
56+
let attach ctx ~dbg ~sr ~device_config =
57+
Storage_interface.unimplemented __FUNCTION__
5558

56-
let set_name_label ctx ~dbg ~sr ~new_name_label = u "SR.set_name_label"
59+
let set_name_label ctx ~dbg ~sr ~new_name_label =
60+
Storage_interface.unimplemented __FUNCTION__
5761

5862
let set_name_description ctx ~dbg ~sr ~new_name_description =
59-
u "SR.set_name_description"
63+
Storage_interface.unimplemented __FUNCTION__
6064

61-
let detach ctx ~dbg ~sr = u "SR.detach"
65+
let detach ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
6266

63-
let reset ctx ~dbg ~sr = u "SR.reset"
67+
let reset ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
6468

65-
let destroy ctx ~dbg ~sr = u "SR.destroy"
69+
let destroy ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
6670

67-
let probe ctx ~dbg ~queue ~device_config ~sm_config = u "SR.probe"
71+
let probe ctx ~dbg ~queue ~device_config ~sm_config =
72+
Storage_interface.unimplemented __FUNCTION__
6873

69-
let scan ctx ~dbg ~sr = u "SR.scan"
74+
let scan ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
7075

71-
let scan2 ctx ~dbg ~sr = u "SR.scan2"
76+
let scan2 ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
7277

7378
let update_snapshot_info_src ctx ~dbg ~sr ~vdi ~url ~dest ~dest_vdi
7479
~snapshot_pairs =
75-
u "SR.update_snapshot_info_src"
80+
Storage_interface.unimplemented __FUNCTION__
7681

7782
let update_snapshot_info_dest ctx ~dbg ~sr ~vdi ~src_vdi ~snapshot_pairs =
78-
u "SR.update_snapshot_info_dest"
83+
Storage_interface.unimplemented __FUNCTION__
7984

80-
let stat ctx ~dbg ~sr = u "SR.stat"
85+
let stat ctx ~dbg ~sr = Storage_interface.unimplemented __FUNCTION__
8186

82-
let list ctx ~dbg = u "SR.list"
87+
let list ctx ~dbg = Storage_interface.unimplemented __FUNCTION__
8388
end
8489

8590
module VDI = struct
86-
let create ctx ~dbg ~sr ~vdi_info = u "VDI.create"
91+
let create ctx ~dbg ~sr ~vdi_info =
92+
Storage_interface.unimplemented __FUNCTION__
8793

88-
let set_name_label ctx ~dbg ~sr ~vdi ~new_name_label = u "VDI.set_name_label"
94+
let set_name_label ctx ~dbg ~sr ~vdi ~new_name_label =
95+
Storage_interface.unimplemented __FUNCTION__
8996

9097
let set_name_description ctx ~dbg ~sr ~vdi ~new_name_description =
91-
u "VDI.set_name_description"
98+
Storage_interface.unimplemented __FUNCTION__
9299

93-
let snapshot ctx ~dbg ~sr ~vdi_info = u "VDI.snapshot"
100+
let snapshot ctx ~dbg ~sr ~vdi_info =
101+
Storage_interface.unimplemented __FUNCTION__
94102

95-
let clone ctx ~dbg ~sr ~vdi_info = u "VDI.clone"
103+
let clone ctx ~dbg ~sr ~vdi_info =
104+
Storage_interface.unimplemented __FUNCTION__
96105

97-
let resize ctx ~dbg ~sr ~vdi ~new_size = u "VDI.resize"
106+
let resize ctx ~dbg ~sr ~vdi ~new_size =
107+
Storage_interface.unimplemented __FUNCTION__
98108

99-
let destroy ctx ~dbg ~sr ~vdi = u "VDI.destroy"
109+
let destroy ctx ~dbg ~sr ~vdi = Storage_interface.unimplemented __FUNCTION__
100110

101-
let stat ctx ~dbg ~sr ~vdi = u "VDI.stat"
111+
let stat ctx ~dbg ~sr ~vdi = Storage_interface.unimplemented __FUNCTION__
102112

103-
let introduce ctx ~dbg ~sr ~uuid ~sm_config ~location = u "VDI.introduce"
113+
let introduce ctx ~dbg ~sr ~uuid ~sm_config ~location =
114+
Storage_interface.unimplemented __FUNCTION__
104115

105-
let set_persistent ctx ~dbg ~sr ~vdi ~persistent = u "VDI.set_persistent"
116+
let set_persistent ctx ~dbg ~sr ~vdi ~persistent =
117+
Storage_interface.unimplemented __FUNCTION__
106118

107119
let epoch_begin ctx ~dbg ~sr ~vdi ~vm ~persistent = ()
108120

109-
let attach ctx ~dbg ~dp ~sr ~vdi ~read_write = u "VDI.attach"
121+
let attach ctx ~dbg ~dp ~sr ~vdi ~read_write =
122+
Storage_interface.unimplemented __FUNCTION__
110123

111-
let attach2 ctx ~dbg ~dp ~sr ~vdi ~read_write = u "VDI.attach2"
124+
let attach2 ctx ~dbg ~dp ~sr ~vdi ~read_write =
125+
Storage_interface.unimplemented __FUNCTION__
112126

113-
let attach3 ctx ~dbg ~dp ~sr ~vdi ~vm ~read_write = u "VDI.attach3"
127+
let attach3 ctx ~dbg ~dp ~sr ~vdi ~vm ~read_write =
128+
Storage_interface.unimplemented __FUNCTION__
114129

115-
let activate ctx ~dbg ~dp ~sr ~vdi = u "VDI.activate"
130+
let activate ctx ~dbg ~dp ~sr ~vdi =
131+
Storage_interface.unimplemented __FUNCTION__
116132

117-
let activate3 ctx ~dbg ~dp ~sr ~vdi ~vm = u "VDI.activate3"
133+
let activate3 ctx ~dbg ~dp ~sr ~vdi ~vm =
134+
Storage_interface.unimplemented __FUNCTION__
118135

119-
let activate_readonly ctx ~dbg ~dp ~sr ~vdi ~vm = u "VDI.activate_readonly"
136+
let activate_readonly ctx ~dbg ~dp ~sr ~vdi ~vm =
137+
Storage_interface.unimplemented __FUNCTION__
120138

121-
let deactivate ctx ~dbg ~dp ~sr ~vdi ~vm = u "VDI.deactivate"
139+
let deactivate ctx ~dbg ~dp ~sr ~vdi ~vm =
140+
Storage_interface.unimplemented __FUNCTION__
122141

123-
let detach ctx ~dbg ~dp ~sr ~vdi ~vm = u "VDI.detach"
142+
let detach ctx ~dbg ~dp ~sr ~vdi ~vm =
143+
Storage_interface.unimplemented __FUNCTION__
124144

125145
let epoch_end ctx ~dbg ~sr ~vdi ~vm = ()
126146

127-
let get_url ctx ~dbg ~sr ~vdi = u "VDI.get_url"
147+
let get_url ctx ~dbg ~sr ~vdi = Storage_interface.unimplemented __FUNCTION__
128148

129-
let similar_content ctx ~dbg ~sr ~vdi = u "VDI.similar_content"
149+
let similar_content ctx ~dbg ~sr ~vdi =
150+
Storage_interface.unimplemented __FUNCTION__
130151

131-
let get_by_name ctx ~dbg ~sr ~name = u "VDI.get_by_name"
152+
let get_by_name ctx ~dbg ~sr ~name =
153+
Storage_interface.unimplemented __FUNCTION__
132154

133-
let set_content_id ctx ~dbg ~sr ~vdi ~content_id = u "VDI.set_content_id"
155+
let set_content_id ctx ~dbg ~sr ~vdi ~content_id =
156+
Storage_interface.unimplemented __FUNCTION__
134157

135-
let compose ctx ~dbg ~sr ~vdi1 ~vdi2 = u "VDI.compose"
158+
let compose ctx ~dbg ~sr ~vdi1 ~vdi2 =
159+
Storage_interface.unimplemented __FUNCTION__
136160

137-
let add_to_sm_config ctx ~dbg ~sr ~vdi ~key ~value = u "VDI.add_to_sm_config"
161+
let add_to_sm_config ctx ~dbg ~sr ~vdi ~key ~value =
162+
Storage_interface.unimplemented __FUNCTION__
138163

139164
let remove_from_sm_config ctx ~dbg ~sr ~vdi ~key =
140-
u "VDI.remove_from_sm_config"
165+
Storage_interface.unimplemented __FUNCTION__
141166

142-
let enable_cbt ctx ~dbg ~sr ~vdi = u "VDI.enable_cbt"
167+
let enable_cbt ctx ~dbg ~sr ~vdi =
168+
Storage_interface.unimplemented __FUNCTION__
143169

144-
let disable_cbt ctx ~dbg ~sr ~vdi = u "VDI.disable_cbt"
170+
let disable_cbt ctx ~dbg ~sr ~vdi =
171+
Storage_interface.unimplemented __FUNCTION__
145172

146-
let data_destroy ctx ~dbg ~sr ~vdi = u "VDI.data_destroy"
173+
let data_destroy ctx ~dbg ~sr ~vdi =
174+
Storage_interface.unimplemented __FUNCTION__
147175

148176
let list_changed_blocks ctx ~dbg ~sr ~vdi_from ~vdi_to =
149-
u "VDI.list_changed_blocks"
177+
Storage_interface.unimplemented __FUNCTION__
150178
end
151179

152-
let get_by_name ctx ~dbg ~name = u "get_by_name"
180+
let get_by_name ctx ~dbg ~name = Storage_interface.unimplemented __FUNCTION__
153181

154182
module DATA = struct
155-
let copy ctx ~dbg ~sr ~vdi ~vm ~url ~dest = u "DATA.copy"
183+
let copy ctx ~dbg ~sr ~vdi ~vm ~url ~dest =
184+
Storage_interface.unimplemented __FUNCTION__
156185

157-
let mirror ctx ~dbg ~sr ~vdi ~vm ~dest = u "DATA.mirror"
186+
let mirror ctx ~dbg ~sr ~vdi ~vm ~dest =
187+
Storage_interface.unimplemented __FUNCTION__
158188

159-
let stat ctx ~dbg ~sr ~vdi ~vm ~key = u "DATA.stat"
189+
let stat ctx ~dbg ~sr ~vdi ~vm ~key =
190+
Storage_interface.unimplemented __FUNCTION__
160191

161192
let import_activate ctx ~dbg ~dp ~sr ~vdi ~vm =
162-
u "DATA.MIRROR.import_activate"
193+
Storage_interface.unimplemented __FUNCTION__
163194

164-
let get_nbd_server ctx ~dbg ~dp ~sr ~vdi ~vm = u "DATA.MIRROR.get_nbd_server"
195+
let get_nbd_server ctx ~dbg ~dp ~sr ~vdi ~vm =
196+
Storage_interface.unimplemented __FUNCTION__
165197

166198
module MIRROR = struct
167199
type context = unit
168200

169201
let send_start ctx ~dbg ~task_id ~dp ~sr ~vdi ~mirror_vm ~mirror_id
170202
~local_vdi ~copy_vm ~live_vm ~url ~remote_mirror ~dest_sr ~verify_dest =
171-
u "DATA.MIRROR.send_start"
203+
Storage_interface.unimplemented __FUNCTION__
172204

173205
let receive_start ctx ~dbg ~sr ~vdi_info ~id ~similar =
174-
u "DATA.MIRROR.receive_start"
206+
Storage_interface.unimplemented __FUNCTION__
175207

176208
let receive_start2 ctx ~dbg ~sr ~vdi_info ~id ~similar ~vm =
177-
u "DATA.MIRROR.receive_start2"
209+
Storage_interface.unimplemented __FUNCTION__
178210

179211
let receive_start3 ctx ~dbg ~sr ~vdi_info ~mirror_id ~similar ~vm ~url
180212
~verify_dest =
181-
u "DATA.MIRROR.receive_start3"
213+
Storage_interface.unimplemented __FUNCTION__
182214

183-
let receive_finalize ctx ~dbg ~id = u "DATA.MIRROR.receive_finalize"
215+
let receive_finalize ctx ~dbg ~id =
216+
Storage_interface.unimplemented __FUNCTION__
184217

185-
let receive_finalize2 ctx ~dbg ~id = u "DATA.MIRROR.receive_finalize2"
218+
let receive_finalize2 ctx ~dbg ~id =
219+
Storage_interface.unimplemented __FUNCTION__
186220

187221
let receive_finalize3 ctx ~dbg ~mirror_id ~sr ~url ~verify_dest =
188-
u "DATA.MIRROR.receive_finalize3"
222+
Storage_interface.unimplemented __FUNCTION__
189223

190-
let receive_cancel ctx ~dbg ~id = u "DATA.MIRROR.receive_cancel"
224+
let receive_cancel ctx ~dbg ~id =
225+
Storage_interface.unimplemented __FUNCTION__
191226

192227
let receive_cancel2 ctx ~dbg ~mirror_id ~url ~verify_dest =
193-
u "DATA.MIRROR.receive_cancel2"
228+
Storage_interface.unimplemented __FUNCTION__
194229

195230
let pre_deactivate_hook ctx ~dbg ~dp ~sr ~vdi =
196-
u "DATA.MIRROR.pre_deactivate_hook"
231+
Storage_interface.unimplemented __FUNCTION__
197232

198233
let has_mirror_failed ctx ~dbg ~mirror_id ~sr =
199-
u "DATA.MIRROR.has_mirror_failed"
234+
Storage_interface.unimplemented __FUNCTION__
200235

201-
let list ctx ~dbg = u "DATA.MIRROR.list"
236+
let list ctx ~dbg = Storage_interface.unimplemented __FUNCTION__
202237

203-
let stat ctx ~dbg ~id = u "DATA.MIRROR.stat"
238+
let stat ctx ~dbg ~id = Storage_interface.unimplemented __FUNCTION__
204239
end
205240
end
206241

207242
module Policy = struct
208-
let get_backend_vm ctx ~dbg ~vm ~sr ~vdi = u "Policy.get_backend_vm"
243+
let get_backend_vm ctx ~dbg ~vm ~sr ~vdi =
244+
Storage_interface.unimplemented __FUNCTION__
209245
end
210246

211247
module TASK = struct
212-
let stat ctx ~dbg ~task = u "TASK.stat"
248+
let stat ctx ~dbg ~task = Storage_interface.unimplemented __FUNCTION__
213249

214-
let cancel ctx ~dbg ~task = u "TASK.cancel"
250+
let cancel ctx ~dbg ~task = Storage_interface.unimplemented __FUNCTION__
215251

216-
let destroy ctx ~dbg ~task = u "TASK.destroy"
252+
let destroy ctx ~dbg ~task = Storage_interface.unimplemented __FUNCTION__
217253

218-
let list ctx ~dbg = u "TASK.list"
254+
let list ctx ~dbg = Storage_interface.unimplemented __FUNCTION__
219255
end

0 commit comments

Comments
 (0)