diff --git a/scripts/upgrade_oniro/upgrade_oniro.py b/scripts/upgrade_oniro/upgrade_oniro.py
index 41cb1f69e2a6838441192bb196df3283ebc4480e..960be5c591fbb75cd61a1d65e66942228b55f503 100644
--- a/scripts/upgrade_oniro/upgrade_oniro.py
+++ b/scripts/upgrade_oniro/upgrade_oniro.py
@@ -54,6 +54,7 @@ machine = ""
 flavour = ""
 image = ""
 conf_directory = pathlib.Path()
+dry_run = False
 
 def init_script_options():
     parser = argparse.ArgumentParser(description=script_description)
@@ -75,16 +76,19 @@ def init_script_options():
                         help = "The image that will be built to check if the upgrade is successful (oniro-image-base by default)")
     parser.add_argument("-c", "--conf-directory", type=pathlib.Path,
                         help="Path to the config directory you want to use. If omitted the default configs will be use.")
+    parser.add_argument("--dry-run", action="store_true",
+                        help="Perform the upgrade on a local copy of the project.")
     
 
     parsed_args = vars(parser.parse_args())
-    global target_version, build_directory, machine, flavour, image, conf_directory
+    global target_version, build_directory, machine, flavour, image, conf_directory, dry_run
     target_version = parsed_args["target_version"]
     build_directory = parsed_args["build_directory"]
     machine = parsed_args["machine"]
     flavour = parsed_args["flavour"]
     image = parsed_args["image"]
     conf_directory = parsed_args["conf_directory"]
+    dry_run = parsed_args["dry_run"]
 
 def upgrade_tool():
     # TODO