From 5bfa8830763f708992060fcb830038a315f3467d Mon Sep 17 00:00:00 2001 From: Eugen Zalinescu Date: Tue, 5 Sep 2023 16:48:39 +0200 Subject: [PATCH 1/3] Octogram: improve result of proto params generation job --- src/lib_octogram/tezos.ml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib_octogram/tezos.ml b/src/lib_octogram/tezos.ml index c303930907c2..797cb534a064 100644 --- a/src/lib_octogram/tezos.ml +++ b/src/lib_octogram/tezos.ml @@ -570,17 +570,19 @@ type 'uri generate_protocol_parameters_file = { dal : dal_parameters; } +type generate_protocol_parameters_r = {filename : string} + type (_, _) Remote_procedure.t += | Generate_protocol_parameters_file : 'uri generate_protocol_parameters_file - -> (string, 'uri) Remote_procedure.t + -> (generate_protocol_parameters_r, 'uri) Remote_procedure.t module Generate_protocol_parameters_file = struct let name = "tezos.generate_protocol_parameters_file" type 'uri t = 'uri generate_protocol_parameters_file - type r = string + type r = generate_protocol_parameters_r let of_remote_procedure : type a. (a, 'uri) Remote_procedure.t -> 'uri t option = function @@ -603,9 +605,12 @@ module Generate_protocol_parameters_file = struct let r_encoding = let open Data_encoding in - obj1 (req "filename" string) + conv + (fun {filename} -> filename) + (fun filename -> {filename}) + (obj1 (req "filename" string)) - let tvalue_of_r filename = Tstr filename + let tvalue_of_r {filename} = Tobj [("filename", Tstr filename)] let expand ~self ~run base = let basefile = @@ -657,7 +662,7 @@ module Generate_protocol_parameters_file = struct in let agent_dir = Agent_state.home_dir state in let* () = Helpers.exec "mv" [params_file; agent_dir] in - Lwt.return (Filename.concat agent_dir "parameters.json") + Lwt.return {filename = Filename.concat agent_dir "parameters.json"} let on_completion ~on_new_service:_ ~on_new_metrics_source:_ _ = () end -- GitLab From 021d0bbdcff5ca6dae1f3c6457a4c5c7d65c09b8 Mon Sep 17 00:00:00 2001 From: Eugen Zalinescu Date: Tue, 5 Sep 2023 17:19:02 +0200 Subject: [PATCH 2/3] Octogram: extend generate proto params jobs for new param --- src/lib_octogram/tezos.ml | 57 +++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/src/lib_octogram/tezos.ml b/src/lib_octogram/tezos.ml index 797cb534a064..ad543688b706 100644 --- a/src/lib_octogram/tezos.ml +++ b/src/lib_octogram/tezos.ml @@ -566,8 +566,10 @@ let dal_parameters_encoding = (req "feature_enable" string))) type 'uri generate_protocol_parameters_file = { - basefile : 'uri; + base_file : 'uri; + output_file_name : string option; dal : dal_parameters; + minimal_block_delay : string option; } type generate_protocol_parameters_r = {filename : string} @@ -599,9 +601,15 @@ module Generate_protocol_parameters_file = struct let encoding uri_encoding = let open Data_encoding in conv - (fun {basefile; dal} -> (basefile, dal)) - (fun (basefile, dal) -> {basefile; dal}) - (obj2 (req "basefile" uri_encoding) (req "dal" dal_parameters_encoding)) + (fun {base_file; output_file_name; dal; minimal_block_delay} -> + (base_file, output_file_name, dal, minimal_block_delay)) + (fun (base_file, output_file_name, dal, minimal_block_delay) -> + {base_file; output_file_name; dal; minimal_block_delay}) + (obj4 + (req "base_file" uri_encoding) + (opt "output_file_name" string) + (req "dal" dal_parameters_encoding) + (opt "minimal_block_delay" string)) let r_encoding = let open Data_encoding in @@ -613,9 +621,10 @@ module Generate_protocol_parameters_file = struct let tvalue_of_r {filename} = Tobj [("filename", Tstr filename)] let expand ~self ~run base = - let basefile = - Remote_procedure.global_uri_of_string ~self ~run base.basefile + let base_file = + Remote_procedure.global_uri_of_string ~self ~run base.base_file in + let output_file_name = Option.map run base.output_file_name in let dal = { feature_enable = run base.dal.feature_enable; @@ -626,19 +635,20 @@ module Generate_protocol_parameters_file = struct blocks_per_epoch = run base.dal.blocks_per_epoch; } in - {basefile; dal} + let minimal_block_delay = Option.map run base.minimal_block_delay in + {base_file; output_file_name; dal; minimal_block_delay} let resolve ~self resolver base = - let basefile = - Remote_procedure.file_agent_uri ~self ~resolver base.basefile + let base_file = + Remote_procedure.file_agent_uri ~self ~resolver base.base_file in - {base with basefile} + {base with base_file} - let run state {basefile; dal} = - let* basefile = + let run state {base_file; output_file_name; dal; minimal_block_delay} = + let* base_file = Http_client.local_path_from_agent_uri (Agent_state.http_client state) - basefile + base_file in let dal_overrides : string list * JSON.u = let value = @@ -656,13 +666,26 @@ module Generate_protocol_parameters_file = struct let path = key in (path, value) in - let overrides = ([dal_overrides] :> Protocol.parameter_overrides) in + let minimal_block_delay_overrides = + Option.fold + ~none:[] + ~some:(fun v -> [(["minimal_block_delay"], `String v)]) + minimal_block_delay + in + let overrides = + ([dal_overrides] @ minimal_block_delay_overrides + :> Protocol.parameter_overrides) + in let* params_file = - Protocol.write_parameter_file ~base:(Either.Left basefile) overrides + Protocol.write_parameter_file ~base:(Either.Left base_file) overrides in let agent_dir = Agent_state.home_dir state in - let* () = Helpers.exec "mv" [params_file; agent_dir] in - Lwt.return {filename = Filename.concat agent_dir "parameters.json"} + let filename = + match output_file_name with None -> "parameters.json" | Some str -> str + in + let path = Filename.concat agent_dir filename in + let* () = Helpers.exec "mv" [params_file; path] in + Lwt.return {filename} let on_completion ~on_new_service:_ ~on_new_metrics_source:_ _ = () end -- GitLab From c9826e64b3dc579d61d35c33b1747b3c969e4815 Mon Sep 17 00:00:00 2001 From: Eugen Zalinescu Date: Tue, 5 Sep 2023 17:20:16 +0200 Subject: [PATCH 3/3] DAL/TPS: extend yml scenario to modify minimal_block_delay --- .../cloud-infrastructure/projects/nl-dal/octogram/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/devtools/cloud-infrastructure/projects/nl-dal/octogram/main.yml b/devtools/cloud-infrastructure/projects/nl-dal/octogram/main.yml index ab49bf279c84..c84ba498db51 100644 --- a/devtools/cloud-infrastructure/projects/nl-dal/octogram/main.yml +++ b/devtools/cloud-infrastructure/projects/nl-dal/octogram/main.yml @@ -26,6 +26,7 @@ vars: attestation_lag: 4 attestation_threshold: 5 blocks_per_epoch: 1 + minimal_block_delay: 2 stages: - name: Initialize protocol parameters file @@ -39,8 +40,10 @@ stages: - name: Generate protocol parameters file tezos.generate_protocol_parameters_file: - # generates the file parameters.json in the root dir - basefile: 'self://{{ vars.network }}-parameters.json' + # generates the file 'parameters.json' in the agent's home dir + # use output_file_name: to change that + base_file: 'self://{{ vars.network }}-parameters.json' + minimal_block_delay: '{{ vars.minimal_block_delay }}' dal: feature_enable: 'true' number_of_shards: '{{ vars.number_of_shards }}' -- GitLab