From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id C77F793050 for ; Thu, 15 Sep 2022 15:09:34 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 83A9E199C3 for ; Thu, 15 Sep 2022 15:09:34 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 15 Sep 2022 15:09:33 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 6F8F2442DF for ; Thu, 15 Sep 2022 15:09:32 +0200 (CEST) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Thu, 15 Sep 2022 15:09:14 +0200 Message-Id: <20220915130918.727902-4-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220915130918.727902-1-f.gruenbichler@proxmox.com> References: <20220915130918.727902-1-f.gruenbichler@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.158 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH proxmox-offline-mirror 2/4] mirror: skip failed, non Packages references X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2022 13:09:34 -0000 these contain extra data that is not that important for the main repository use case - providing deb packages. if they are not retrievable (e.g., Ubuntu *only* provides some of they via by-hash, which proxmox-offline-mirror doesn't yet support) a warning should be enough, instead of failing the whole snapshot creation. Signed-off-by: Fabian Grünbichler --- src/mirror.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/mirror.rs b/src/mirror.rs index 14b0c6a..f910e6a 100644 --- a/src/mirror.rs +++ b/src/mirror.rs @@ -534,6 +534,7 @@ pub fn create_snapshot( let mut packages_size = 0_usize; let mut packages_indices = HashMap::new(); + let mut failed_references = Vec::new(); for (component, references) in per_component { println!("\nFetching indices for component '{component}'"); let mut component_deb_size = 0; @@ -555,7 +556,18 @@ pub fn create_snapshot( } // this will ensure the uncompressed file will be written locally - let res = fetch_index_file(&config, prefix, reference, uncompressed_ref)?; + let res = match fetch_index_file(&config, prefix, reference, uncompressed_ref) { + Ok(res) => res, + Err(err) if !reference.file_type.is_package_index() => { + eprintln!( + "Failed to fetch '{:?}' type reference '{}', skipping - {err}", + reference.file_type, reference.path + ); + failed_references.push(reference); + continue; + } + Err(err) => bail!(err), + }; fetch_progress.update(&res); if package_index_data.is_none() && reference.file_type.is_package_index() { @@ -577,6 +589,12 @@ pub fn create_snapshot( total_progress += fetch_progress; } println!("Total deb size: {packages_size}"); + if !failed_references.is_empty() { + eprintln!("Failed to download non-package-index references:"); + for reference in failed_references { + eprintln!("\t{}", reference.path); + } + } println!("\nFetching packages.."); for (basename, references) in packages_indices { -- 2.30.2