On Mon, Aug 10, 2026 at 7:29 PM Mark Michelson <[email protected]> wrote:
> Thanks for addressing Dumitru's concerns. > > Acked-by: Mark Michelson <[email protected]> > > On Mon, Aug 10, 2026 at 12:47 PM Ales Musil via dev > <[email protected]> wrote: > > > > The local OVN repository might be shallow copy which doesn't work > > well with the --local. Also the local repository might already > > have up to date submodule which makes any subsequent submodule init > > calls a noop. This is especially useful in offline environments > > where would the submodule update fail otherwise. The copy is done > > in two steps otherwise it would end up in endless recursion as the > > base dir is inside the ovn_root_dir. > > > > Fixes: 9b2645580c78 ("ci: Run system tests in upgrade scenario.") > > Signed-off-by: Ales Musil <[email protected]> > > --- > > v2: Rebase on top of current main. > > Add try around shutil. > > --- > > .ci/ovn_upgrade_utils.py | 16 ++++++++++------ > > 1 file changed, 10 insertions(+), 6 deletions(-) > > > > diff --git a/.ci/ovn_upgrade_utils.py b/.ci/ovn_upgrade_utils.py > > index c0db4977f..cf39aedf9 100755 > > --- a/.ci/ovn_upgrade_utils.py > > +++ b/.ci/ovn_upgrade_utils.py > > @@ -4,6 +4,7 @@ import os > > import re > > import shutil > > import subprocess > > +import tempfile > > from datetime import datetime > > from pathlib import Path > > from dataclasses import dataclass > > @@ -294,13 +295,16 @@ def ovn_upgrade_extract_info(config): > > def ovn_upgrade_checkout_local(config, base_version): > > base_dir = config.path.base_dir > > git_log = config.file.git_log > > - log(f"Running locally. Cloning to {base_dir}") > > + log(f"Running locally. Copying to {base_dir}") > > > > - result = run_command(f"git clone --local --shared . {str(base_dir)} > " > > - f" --branch {base_version}", git_log) > > - if result.returncode: > > - log(f"Failed to clone to {base_dir}") > > - return False > > + with tempfile.TemporaryDirectory() as tmpdir: > > + tmp_path = Path(tmpdir) / "ovn" > > + try: > > + shutil.copytree(config.path.ovn_root_dir, tmp_path) > > + shutil.copytree(tmp_path, base_dir, dirs_exist_ok=True) > > + except Exception as e: > > + log(f"Failed to copy the OVN repository locally: {e}") > > + return False > > > > with chdir(base_dir): > > log(f"Checking out base version: {base_version} from > {base_dir}") > > -- > > 2.55.0 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > Thank you Mark and Dumitru, applied to main. Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
