diff --git a/cluster/vagrant/provision-utils.sh b/cluster/vagrant/provision-utils.sh index f9cb3e69d48..59c62e5b758 100755 --- a/cluster/vagrant/provision-utils.sh +++ b/cluster/vagrant/provision-utils.sh @@ -28,7 +28,14 @@ function prepare-package-manager() { echo "Prepare package manager" # Useful if a mirror is broken or slow - echo "fastestmirror=True" >> /etc/dnf/dnf.conf + if [ -z "$CUSTOM_FEDORA_REPOSITORY_URL" ]; then + echo "fastestmirror=True" >> /etc/dnf/dnf.conf + else + # remove trailing slash from URL if it's present + CUSTOM_FEDORA_REPOSITORY_URL="${CUSTOM_FEDORA_REPOSITORY_URL%/}" + sed -i -e "/^metalink=/d" /etc/yum.repos.d/*.repo + sed -i -e "s@^#baseurl=http://download.fedoraproject.org/pub/fedora@baseurl=$CUSTOM_FEDORA_REPOSITORY_URL@" /etc/yum.repos.d/*.repo + fi } diff --git a/cluster/vagrant/util.sh b/cluster/vagrant/util.sh index d503e6c6dc8..536233ea34b 100755 --- a/cluster/vagrant/util.sh +++ b/cluster/vagrant/util.sh @@ -187,6 +187,7 @@ function echo-kube-env() { echo "OPENCONTRAIL_KUBERNETES_TAG='${OPENCONTRAIL_KUBERNETES_TAG:-}'" echo "OPENCONTRAIL_PUBLIC_SUBNET='${OPENCONTRAIL_PUBLIC_SUBNET:-}'" echo "E2E_STORAGE_TEST_ENVIRONMENT='${E2E_STORAGE_TEST_ENVIRONMENT:-}'" + echo "CUSTOM_FEDORA_REPOSITORY_URL='${CUSTOM_FEDORA_REPOSITORY_URL:-}'" } function verify-cluster { diff --git a/docs/devel/developer-guides/vagrant.md b/docs/devel/developer-guides/vagrant.md index d4ad95c2fb3..ef32f3f3f77 100755 --- a/docs/devel/developer-guides/vagrant.md +++ b/docs/devel/developer-guides/vagrant.md @@ -429,6 +429,20 @@ environment variables. For example, if running `make quick-release`, use: sudo -E make quick-release ``` +#### I have repository access errors during VM provisioning! + +Sometimes VM provisioning may fail with errors that look like this: + +``` +Timeout was reached for https://mirrors.fedoraproject.org/metalink?repo=fedora-23&arch=x86_64 [Connection timed out after 120002 milliseconds] +``` + +You may use a custom Fedora repository URL to fix this: + +```shell +export CUSTOM_FEDORA_REPOSITORY_URL=https://download.fedoraproject.org/pub/fedora/ +``` + #### I ran vagrant suspend and nothing works! `vagrant suspend` seems to mess up the network. It's not supported at this time.