From: Todd Malsbary Date: Tue, 11 Jan 2022 16:34:40 +0000 (-0800) Subject: Add docker registry mirror support X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=88d3e292a2c12513244dc534726387c6d76145e2;p=icn.git Add docker registry mirror support Signed-off-by: Todd Malsbary Change-Id: Ie0be33106abd79ce2010491e0210feba9066c4c6 --- diff --git a/Makefile b/Makefile index 3f30c51..3c61317 100644 --- a/Makefile +++ b/Makefile @@ -79,6 +79,7 @@ cluster: bmh_provision \ cluster_provision kud_bm_deploy_mini: + source user_config.sh && \ pushd $(KUD_PATH) && ./kud_bm_launch.sh minimal v1 && popd kud_bm_deploy: diff --git a/Vagrantfile b/Vagrantfile index 656c25c..8ab75ed 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -16,12 +16,17 @@ site = ENV['ICN_SITE'] || 'vm' # IPMI address) specified in the machine pool values. IPMI in the # virtual environment is emulated by virtualbmc listening on the host. baremetal_cidr = nil +registry_mirrors = nil Dir.glob("deploy/site/#{site}/*.yaml") do |file| YAML.load_stream(File.read(file)) do |document| values = document.fetch('spec', {}).fetch('values', {}) - next if values['machineName'].nil? || values['bootMACAddress'].nil? - bmc_host = URI.parse(values['bmcAddress']).host - baremetal_cidr = "#{IPAddr.new(bmc_host).mask(24)}/24" + unless values['bmcAddress'].nil? + bmc_host = URI.parse(values['bmcAddress']).host + baremetal_cidr = "#{IPAddr.new(bmc_host).mask(24)}/24" + end + unless values['dockerRegistryMirrors'].nil? + registry_mirrors = values['dockerRegistryMirrors'].join(' ') + end end end if baremetal_cidr.nil? @@ -102,7 +107,7 @@ Vagrant.configure("2") do |config| m.trigger.after [:up] do |trigger| trigger.name = 'Creating ICN user_config.sh' - trigger.run = {inline: "./tools/vagrant/create_user_config.sh"} + trigger.run = {inline: "bash -c 'DOCKER_REGISTRY_MIRRORS=\"#{registry_mirrors}\" ./tools/vagrant/create_user_config.sh'"} end m.vm.provision 'Configuring ICN prerequisites', type: 'shell', privileged: true, inline: <<-SHELL ssh-keygen -f "${HOME}/.ssh/id_rsa" -P "" << hosts.ini [all] -$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 +$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 ${DOCKER_OPTIONS} [kube-master] $HOSTNAME @@ -51,7 +59,7 @@ EOL else cat < hosts.ini [all] -$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 +$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 ${DOCKER_OPTIONS} [kube-master] $HOSTNAME diff --git a/tools/vagrant/create_user_config.sh b/tools/vagrant/create_user_config.sh index 33850c8..e753481 100755 --- a/tools/vagrant/create_user_config.sh +++ b/tools/vagrant/create_user_config.sh @@ -7,3 +7,11 @@ cat <user_config.sh #Ironic Metal3 settings for provisioning network export IRONIC_INTERFACE="eth1" EOF + +if [[ ! -z "${DOCKER_REGISTRY_MIRRORS+x}" ]]; then + cat <>user_config.sh + +#Use a registry mirror for downloading container images +export DOCKER_REGISTRY_MIRRORS="${DOCKER_REGISTRY_MIRRORS}" +EOF +fi