diff --git a/lib/anacondatest.pm b/lib/anacondatest.pm
--- a/lib/anacondatest.pm
+++ b/lib/anacondatest.pm
@@ -198,7 +198,7 @@
     # repo URL with flavor and arch, leave NFS ones alone (as for
     # NFS tests we just use a mounted ISO and the URL is complete)
     if ($repourl !~ m/^nfs/) {
-        $repourl .= "/".lc(get_var("VERSION"))."/Everything/".get_var("ARCH")."/os";
+        $repourl .= "/Everything/".get_var("ARCH")."/os";
     }
     return $repourl;
 }
diff --git a/lib/installedtest.pm b/lib/installedtest.pm
--- a/lib/installedtest.pm
+++ b/lib/installedtest.pm
@@ -87,6 +87,19 @@
     }
 }
 
+sub repo_setup {
+    # disable updates-testing and use the compose location rather than
+    # mirrorlist, so we're testing the right packages
+    my $location = get_var("LOCATION");
+    assert_script_run 'dnf config-manager --set-disabled updates-testing';
+    # we use script_run here as the rawhide repo file won't always exist
+    # and we don't want to bother testing or predicting its existence;
+    # assert_script_run doesn't buy you much with sed anyway as it'll
+    # return 0 even if it replaced nothing
+    script_run "sed -i -e 's,^metalink,#metalink,g' -e 's,^#baseurl.*basearch,baseurl=${location}/Everything/\$basearch,g' /etc/yum.repos.d/{fedora,fedora-rawhide}.repo";
+    script_run "cat /etc/yum.repos.d/{fedora,fedora-rawhide}.repo";
+}
+
 1;
 
 # vim: set sw=4 et:
diff --git a/needles/anaconda/install_source/https_selected.json b/needles/anaconda/install_source/https_selected.json
--- a/needles/anaconda/install_source/https_selected.json
+++ b/needles/anaconda/install_source/https_selected.json
@@ -1,17 +1,17 @@
-{
-  "properties": [],
-  "tags": [
-    "anaconda_install_source_selected",
-    "ENV-DISTRI-fedora",
-    "ENV-FLAVOR-server"
-  ],
-  "area": [
-    {
-      "width": 115,
-      "xpos": 56,
-      "height": 21,
-      "type": "match",
-      "ypos": 163
-    }
-  ]
-}
+{
+    "area": [
+        {
+            "height": 19,
+            "type": "match",
+            "width": 105,
+            "xpos": 56,
+            "ypos": 303
+        }
+    ],
+    "properties": [],
+    "tags": [
+        "anaconda_install_source_selected",
+        "ENV-DISTRI-fedora",
+        "ENV-FLAVOR-server"
+    ]
+}
\ No newline at end of file
diff --git a/needles/anaconda/install_source/https_selected.png b/needles/anaconda/install_source/https_selected.png
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/templates b/templates
--- a/templates
+++ b/templates
@@ -1481,7 +1481,7 @@
                     {
                       name => "install_repository_http_graphical",
                       settings => [
-                        { key => "REPOSITORY_GRAPHICAL", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
+                        { key => "REPOSITORY_GRAPHICAL", value => "%LOCATION%" },
                       ],
                     },
                     {
@@ -1497,7 +1497,7 @@
                     {
                       name => "install_repository_http_variation",
                       settings => [
-                        { key => "REPOSITORY_VARIATION", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
+                        { key => "REPOSITORY_VARIATION", value => "%LOCATION%" },
                       ],
                     },
                     {
@@ -1797,7 +1797,7 @@
                       settings => [
                         { key => "DESKTOP", value => "kde" },
                         { key => "PACKAGE_SET", value => "kde" },
-                        { key => "REPOSITORY_VARIATION", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
+                        { key => "REPOSITORY_VARIATION", value => "%LOCATION%" },
                         { key => "USER_LOGIN", value => "false" },
                       ],
                     },
diff --git a/tests/freeipa_password_change_postinstall.pm b/tests/freeipa_password_change_postinstall.pm
--- a/tests/freeipa_password_change_postinstall.pm
+++ b/tests/freeipa_password_change_postinstall.pm
@@ -41,7 +41,7 @@
     assert_script_run 'printf "loremipsum" | kinit test1';
     # change password via CLI (back to batterystaple, as that's what
     # freeipa_client test expects)
-    assert_script_run 'dnf -y --nogpgcheck install freeipa-admintools';
+    assert_script_run 'dnf -y install freeipa-admintools';
     assert_script_run 'printf "batterystaple\nbatterystaple" | ipa user-mod test1 --password';
     # check we can kinit again
     assert_script_run 'printf "batterystaple" | kinit test1';
diff --git a/tests/install_source_graphical.pm b/tests/install_source_graphical.pm
--- a/tests/install_source_graphical.pm
+++ b/tests/install_source_graphical.pm
@@ -13,9 +13,9 @@
     # select appropriate protocol on the network
     assert_and_click "anaconda_install_source_on_the_network";
     send_key "tab";
-    # if we have an NFS repo select NFS (one 'up'), otherwise HTTP (four 'ups')
+    # if we have an NFS repo select NFS (one 'up'), otherwise HTTPS (three 'ups')
     my $num;
-    $num = get_var("REPOSITORY_GRAPHICAL") =~ m/^nfs:/ ? 1 : 4;
+    $num = get_var("REPOSITORY_GRAPHICAL") =~ m/^nfs:/ ? 1 : 3;
     for (my $i=0; $i<$num; $i++){
         send_key "up";
     }
diff --git a/tests/realmd_join_sssd_postinstall.pm b/tests/realmd_join_sssd_postinstall.pm
--- a/tests/realmd_join_sssd_postinstall.pm
+++ b/tests/realmd_join_sssd_postinstall.pm
@@ -17,8 +17,8 @@
     # resolution is working before we proceed)
     mutex_lock "freeipa_ready";
     mutex_unlock "freeipa_ready";
-    # disable updates-testing
-    assert_script_run 'dnf config-manager --set-disabled updates-testing';
+    # use compose repo, disable u-t, etc.
+    $self->repo_setup();
     # do the enrolment
     assert_script_run "echo 'monkeys123' | realm join --user=admin ipa001.domain.local", 300;
 }
diff --git a/tests/role_deploy_domain_controller.pm b/tests/role_deploy_domain_controller.pm
--- a/tests/role_deploy_domain_controller.pm
+++ b/tests/role_deploy_domain_controller.pm
@@ -20,11 +20,11 @@
     $self->setup_tap_static("10.0.2.100", "ipa001.domain.local");
     # clone host's resolv.conf to get name resolution
     $self->clone_host_file("/etc/resolv.conf");
-    # we don't want updates-testing for validation purposes
-    assert_script_run 'dnf config-manager --set-disabled updates-testing';
+    # use compose repo, disable u-t, etc.
+    $self->repo_setup();
     # we need a lot of entropy for this, and we don't care how good
     # it is, so let's use haveged
-    assert_script_run 'dnf -y --nogpgcheck install haveged', 300;
+    assert_script_run 'dnf -y install haveged', 300;
     assert_script_run 'systemctl start haveged.service';
     # read DNS server IPs from host's /etc/resolv.conf for passing to
     # rolectl
diff --git a/tests/server_cockpit_default_postinstall.pm b/tests/server_cockpit_default_postinstall.pm
--- a/tests/server_cockpit_default_postinstall.pm
+++ b/tests/server_cockpit_default_postinstall.pm
@@ -3,16 +3,16 @@
 use testapi;
 
 sub run {
-    my $self=shift;
+    my $self = shift;
     # check cockpit appears to be enabled and running and firewall is setup
     assert_script_run 'systemctl is-enabled cockpit.socket';
     assert_script_run 'systemctl is-active cockpit.socket';
     assert_script_run 'firewall-cmd --query-service cockpit';
-    # we don't want updates-testing for validation purposes
-    assert_script_run 'dnf config-manager --set-disabled updates-testing';
+    # use compose repo, disable u-t, etc.
+    $self->repo_setup();
     # install a desktop and firefox so we can actually try it
-    assert_script_run 'dnf -y --nogpgcheck groupinstall "base-x"', 300;
-    assert_script_run 'dnf -y --nogpgcheck install firefox', 120;
+    assert_script_run 'dnf -y groupinstall "base-x"', 300;
+    assert_script_run 'dnf -y install firefox', 120;
     $self->start_cockpit(0);
     # quit firefox (return to console)
     send_key "ctrl-q";
diff --git a/tests/upgrade_run.pm b/tests/upgrade_run.pm
--- a/tests/upgrade_run.pm
+++ b/tests/upgrade_run.pm
@@ -8,7 +8,13 @@
     # disable screen blanking (download can take a long time)
     script_run "setterm -blank 0";
 
-    assert_script_run "dnf -y --nogpgcheck --releasever=${release} system-upgrade download", 6000;
+    # use compose repo
+    $self->repo_setup();
+    my $params = "-y --releasever=${release}";
+    if ($release eq "rawhide") {
+        $params .= " --nogpgcheck";
+    }
+    assert_script_run "dnf ${params} system-upgrade download", 6000;
 
     upload_logs "/var/log/dnf.log";
     upload_logs "/var/log/dnf.rpm.log";

