Skip to content

Commit

Permalink
fail with msg iso assert
Browse files Browse the repository at this point in the history
list-presets includes version
  • Loading branch information
Romain Slootmaekers committed Jul 11, 2017
1 parent 375e60a commit 47cda6a
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 21 deletions.
4 changes: 3 additions & 1 deletion ocaml/src/alba_json.ml
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@ module Preset = struct
object_checksum : object_checksum;
fragment_encryption : fragment_encryption;
in_use : (bool [@default true]);
version: int64;
} [@@deriving yojson]

let to_yojson t =
Expand All @@ -293,7 +294,7 @@ module Preset = struct

type t_list = t list [@@deriving yojson]

let make (name, preset, is_default, in_use) =
let make (name, preset, version, is_default, in_use) =
let open Preset in
{ name;
policies = preset.policies;
Expand All @@ -319,6 +320,7 @@ module Preset = struct
| AlgoWithKey (AES (CTR, L256), key) -> AES_CTR_256 (HexString.show key)
| NoEncryption -> NO_ENCRYPTION);
in_use;
version;
}

let to_preset
Expand Down
38 changes: 31 additions & 7 deletions ocaml/src/albamgr_client.ml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,16 @@ object(self)
client # query
ListPresets
RangeQueryArgs.({ first; finc; last; reverse; max; })
>>= fun r ->
Lwt.return r

method list_presets2 ~first ~finc ~last ~reverse ~max =
use_optional_feature
(fun () ->
client # query
ListPresets2
RangeQueryArgs.({ first; finc; last;
reverse; max; }))

method list_all_presets () =
list_all_x
Expand All @@ -217,19 +227,33 @@ object(self)
~last:None
~reverse:false ~max:(-1))


method get_preset ~preset_name =
self # list_presets
~first:preset_name ~finc:true ~last:(Some(preset_name, true))
~max:1 ~reverse:false >>= fun ((_, presets), _) ->
Lwt.return (List.hd presets)

method list_presets2 ~first ~finc ~last ~reverse ~max =
use_optional_feature
(fun () ->
client # query
ListPresets2
RangeQueryArgs.({ first; finc; last;
reverse; max; }))


method list_all_presets2 () =
list_all_x
~first:""
(fun (name,
(_preset:Preset.t),
(_version:Preset.version),
(_is_default:bool), (_in_use:bool)) -> name)
(fun ~first ~finc ->
self # list_presets2
~last:None
~reverse:false ~max:(-1)
~first ~finc
>>= fun r ->
match r with
| None -> Lwt.return ((0,[]), false)
| Some r -> Lwt.return r
)


method get_preset2 ~preset_name =
self # list_presets2
Expand Down
22 changes: 15 additions & 7 deletions ocaml/src/albamgr_plugin.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1520,13 +1520,21 @@ let albamgr_user_hook : HookRegistry.h = fun (ic, oc, _cid) db backend ->
); ]
| Some v ->
let version', namespace_ids' = deserialize Preset.Propagation.from_buffer v in
assert (version' = preset_version);
[ Update.Assert (propagation_key, Some v);
Update.Set (propagation_key,
serialize
Preset.Propagation.to_buffer
(version', namespace_id :: namespace_ids')
); ]
(* assert (version' = preset_version); *)
if version' = preset_version
then
[ Update.Assert (propagation_key, Some v);
Update.Set (propagation_key,
serialize
Preset.Propagation.to_buffer
(version', namespace_id :: namespace_ids')
); ]
else
let msg = Printf.sprintf
"%S version'=%Li <> preset_version=%Li"
preset_name version' preset_version
in
failwith msg
in

let osd_ids =
Expand Down
21 changes: 15 additions & 6 deletions ocaml/src/cli_preset.ml
Original file line number Diff line number Diff line change
Expand Up @@ -169,16 +169,25 @@ let alba_list_presets cfg_url tls_config to_json verbose =
cfg
~tls_config
(fun client ->
client # list_all_presets ()) >>= fun (cnt, presets) ->
client # list_all_presets2 ())
>>= fun (cnt, presets) ->
if to_json
then begin
let res = List.map Alba_json.Preset.make presets in
print_result res Alba_json.Preset.t_list_to_yojson
end else
then
begin
let res = List.map Alba_json.Preset.make presets in
print_result res Alba_json.Preset.t_list_to_yojson
end
else
Lwt_io.printlf
"Found %i presets: %s"
cnt
([%show : (Preset.name * Preset.t * bool * bool) list] presets)
([%show : (Preset.name
* Preset.t
* Preset.version
* bool (* is_default *)
* bool (* in_use *)
) list]
presets)
in
lwt_cmd_line ~to_json ~verbose t

Expand Down

0 comments on commit 47cda6a

Please sign in to comment.