Merge branch 'master' into ilyaz/fix_ctrd
commit
6ed370502f
|
@ -122,7 +122,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -221,7 +221,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -323,7 +323,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -409,7 +409,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-darwin-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-darwin-amd64
|
||||
sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh
|
||||
- name: Install docker
|
||||
shell: bash
|
||||
|
@ -555,7 +555,7 @@ jobs:
|
|||
continue-on-error: true
|
||||
shell: powershell
|
||||
run: |
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
@ -693,7 +693,7 @@ jobs:
|
|||
shell: powershell
|
||||
run: |
|
||||
$ErrorActionPreference = "SilentlyContinue"
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
@ -798,7 +798,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -898,7 +898,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-arm64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-arm64
|
||||
sudo install gopogh-linux-arm64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Docker Info
|
||||
|
|
|
@ -119,7 +119,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -218,7 +218,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -320,7 +320,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -406,7 +406,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-darwin-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-darwin-amd64
|
||||
sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh
|
||||
- name: Install docker
|
||||
shell: bash
|
||||
|
@ -552,7 +552,7 @@ jobs:
|
|||
continue-on-error: true
|
||||
shell: powershell
|
||||
run: |
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
@ -690,7 +690,7 @@ jobs:
|
|||
shell: powershell
|
||||
run: |
|
||||
$ErrorActionPreference = "SilentlyContinue"
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
@ -795,7 +795,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -895,7 +895,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-arm64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-arm64
|
||||
sudo install gopogh-linux-arm64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Docker Info
|
||||
|
|
|
@ -66,7 +66,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.4.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Install Go
|
||||
|
@ -154,7 +154,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.4.0/gopogh-linux-arm64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-arm64
|
||||
sudo install gopogh-linux-arm64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Install Go
|
||||
|
@ -267,7 +267,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -349,7 +349,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-darwin-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-darwin-amd64
|
||||
sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh
|
||||
- name: Install docker
|
||||
shell: bash
|
||||
|
@ -461,7 +461,7 @@ jobs:
|
|||
- name: Install gopogh
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -545,7 +545,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-darwin-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-darwin-amd64
|
||||
sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -652,7 +652,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-linux-amd64
|
||||
sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -734,7 +734,7 @@ jobs:
|
|||
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-darwin-amd64
|
||||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-darwin-amd64
|
||||
sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh
|
||||
- name: Download Binaries
|
||||
uses: actions/download-artifact@v1
|
||||
|
@ -873,7 +873,7 @@ jobs:
|
|||
continue-on-error: true
|
||||
shell: powershell
|
||||
run: |
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.3.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
@ -967,7 +967,7 @@ jobs:
|
|||
shell: powershell
|
||||
run: |
|
||||
$ErrorActionPreference = "SilentlyContinue"
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.3.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\ProgramData\chocolatey\bin\gopogh.exe")
|
||||
choco install -y kubernetes-cli
|
||||
choco install -y jq
|
||||
choco install -y caffeine
|
||||
|
|
72
CHANGELOG.md
72
CHANGELOG.md
|
@ -1,5 +1,77 @@
|
|||
# Release Notes
|
||||
|
||||
## Version 1.21.0-beta.0 - 2021-06-02
|
||||
Features:
|
||||
* Support setting addons from environmental variables [#11469](https://github.com/kubernetes/minikube/pull/11469)
|
||||
* Add "resume" as an alias for "unpause" [#11431](https://github.com/kubernetes/minikube/pull/11431)
|
||||
* Implement target node option for `cp` command [#11304](https://github.com/kubernetes/minikube/pull/11304)
|
||||
|
||||
Bugs:
|
||||
* Fix delete command for paused kic driver with containerd/crio runtime [#11504](https://github.com/kubernetes/minikube/pull/11504)
|
||||
* kicbase: try image without sha before failing [#11559](https://github.com/kubernetes/minikube/pull/11559)
|
||||
* bug: return error on invalid function name in extract.TranslatableStrings [#11454](https://github.com/kubernetes/minikube/pull/11454)
|
||||
* Prevent downloading duplicate binaries already present in preload [#11461](https://github.com/kubernetes/minikube/pull/11461)
|
||||
* gcp-auth addon: do not reapply gcp-auth yamls on minikube restart [#11486](https://github.com/kubernetes/minikube/pull/11486)
|
||||
* Disable Non-Active Containers Runtimes [#11516](https://github.com/kubernetes/minikube/pull/11516)
|
||||
* Persist custom addon image/registry settings. [#11432](https://github.com/kubernetes/minikube/pull/11432)
|
||||
* Fix auto-pause on VMs (detect right control-plane IP) [#11438](https://github.com/kubernetes/minikube/pull/11438)
|
||||
|
||||
Version Upgrades:
|
||||
* bump default k8s version to v1.20.7 and newest to v1.22.0-alpha.2 [#11525](https://github.com/kubernetes/minikube/pull/11525)
|
||||
* containerd: upgrade `io.containerd.runtime.v1.linux` to `io.containerd.runc.v2` (suppot cgroup v2) [#11325](https://github.com/kubernetes/minikube/pull/11325)
|
||||
* metallb-addon: Update metallb from 0.8.2 to 0.9.6 [#11410](https://github.com/kubernetes/minikube/pull/11410)
|
||||
|
||||
For a more detailed changelog, including changes occuring in pre-release versions, see [CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md).
|
||||
|
||||
Thank you to our contributors for this release!
|
||||
|
||||
- Akihiro Suda
|
||||
- Alessandro Lenzen
|
||||
- Anders F Björklund
|
||||
- Andriy Dzikh
|
||||
- Brian de Alwis
|
||||
- Claudia J. Kang
|
||||
- Daehyeok Mun
|
||||
- Emma
|
||||
- Evan Anderson
|
||||
- Evan Baker
|
||||
- Garen Torikian
|
||||
- Ilya Zuyev
|
||||
- Jasmine Hegman
|
||||
- Kent Iso
|
||||
- KushagraIndurkhya
|
||||
- Li Zhijian
|
||||
- Medya Ghazizadeh
|
||||
- Peixuan Ding
|
||||
- Predrag Rogic
|
||||
- Sharif Elgamal
|
||||
- Steven Powell
|
||||
- TAKAHASHI Shuuji
|
||||
- Thomas Güttler
|
||||
- Tomasz Janiszewski
|
||||
- Utkarsh Srivastava
|
||||
- VigoTheHacker
|
||||
- hex0punk
|
||||
|
||||
Thank you to our PR reviewers for this release!
|
||||
|
||||
- medyagh (129 comments)
|
||||
- ilya-zuyev (20 comments)
|
||||
- afbjorklund (10 comments)
|
||||
- spowelljr (9 comments)
|
||||
- sharifelgamal (5 comments)
|
||||
- AkihiroSuda (1 comments)
|
||||
- andriyDev (1 comments)
|
||||
|
||||
Thank you to our triage members for this release!
|
||||
|
||||
- afbjorklund (34 comments)
|
||||
- medyagh (32 comments)
|
||||
- andriyDev (14 comments)
|
||||
- dinever (13 comments)
|
||||
- ilya-zuyev (11 comments)
|
||||
|
||||
|
||||
## Version 1.20.0 - 2021-05-06
|
||||
|
||||
Feature:
|
||||
|
|
4
Makefile
4
Makefile
|
@ -14,8 +14,8 @@
|
|||
|
||||
# Bump these on release - and please check ISO_VERSION for correctness.
|
||||
VERSION_MAJOR ?= 1
|
||||
VERSION_MINOR ?= 20
|
||||
VERSION_BUILD ?= 0
|
||||
VERSION_MINOR ?= 21
|
||||
VERSION_BUILD ?= 0-beta.0
|
||||
RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
|
||||
VERSION ?= v$(RAW_VERSION)
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ import (
|
|||
"k8s.io/minikube/pkg/minikube/detect"
|
||||
"k8s.io/minikube/pkg/minikube/download"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
"k8s.io/minikube/pkg/minikube/driver/auxdriver"
|
||||
"k8s.io/minikube/pkg/minikube/exit"
|
||||
"k8s.io/minikube/pkg/minikube/kubeconfig"
|
||||
"k8s.io/minikube/pkg/minikube/localpath"
|
||||
|
@ -403,7 +404,7 @@ func updateDriver(driverName string) {
|
|||
v, err := version.GetSemverVersion()
|
||||
if err != nil {
|
||||
out.WarningT("Error parsing minikube version: {{.error}}", out.V{"error": err})
|
||||
} else if err := driver.InstallOrUpdate(driverName, localpath.MakeMiniPath("bin"), v, viper.GetBool(interactive), viper.GetBool(autoUpdate)); err != nil {
|
||||
} else if err := auxdriver.InstallOrUpdate(driverName, localpath.MakeMiniPath("bin"), v, viper.GetBool(interactive), viper.GetBool(autoUpdate)); err != nil {
|
||||
out.WarningT("Unable to update {{.driver}} driver: {{.error}}", out.V{"driver": driverName, "error": err})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
[
|
||||
{
|
||||
"name": "v1.21.0-beta.0",
|
||||
"checksums": {
|
||||
"darwin": "69ab001eb4984d09ed731d5ac92afd8310e5c7672c2275b39d7a4c7e2dcfb4c6",
|
||||
"linux": "41a26190c6774e1f3cc568986d4043431022d5dff4a619f131e9bb49d13e2874",
|
||||
"windows": "e7d41c8c40e33633d47976047a48600ff23657c824db7e60fe5a4f2d2daeb135"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "v1.20.0-beta.0",
|
||||
"checksums": {
|
||||
"darwin": "",
|
||||
|
|
|
@ -408,7 +408,7 @@ echo ">> Installing jq"
|
|||
fi
|
||||
|
||||
echo ">> Installing gopogh"
|
||||
curl -LO "https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-${OS_ARCH}"
|
||||
curl -LO "https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh-${OS_ARCH}"
|
||||
sudo install "gopogh-${OS_ARCH}" /usr/local/bin/gopogh
|
||||
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
mkdir -p out
|
||||
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://dl.k8s.io/release/v1.20.0/bin/windows/amd64/kubectl.exe", "C:\Program Files\Docker\Docker\resources\bin\kubectl.exe")
|
||||
|
||||
gsutil.cmd -m cp gs://minikube-builds/$env:MINIKUBE_LOCATION/minikube-windows-amd64.exe out/
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
|
||||
mkdir -p out
|
||||
gsutil.cmd -m cp gs://minikube-builds/$env:MINIKUBE_LOCATION/minikube-windows-amd64.exe out/
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
(New-Object Net.WebClient).DownloadFile("https://github.com/medyagh/gopogh/releases/download/v0.8.0/gopogh.exe", "C:\Go\bin\gopogh.exe")
|
||||
|
||||
|
||||
mkdir -p out
|
||||
|
|
|
@ -86,7 +86,8 @@ out:
|
|||
if *limit > 0 && i >= *limit {
|
||||
break out
|
||||
}
|
||||
if !download.PreloadExists(kv, cr) {
|
||||
// Since none/mock are the only exceptions, it does not matter what driver we choose.
|
||||
if !download.PreloadExists(kv, cr, "docker") {
|
||||
toGenerate = append(toGenerate, preloadCfg{kv, cr})
|
||||
i++
|
||||
fmt.Printf("[%d] A preloaded tarball for k8s version %s - runtime %q does not exist.\n", i, kv, cr)
|
||||
|
|
|
@ -43,16 +43,6 @@ const (
|
|||
|
||||
var (
|
||||
schema = map[string]update.Item{
|
||||
".github/workflows/iso.yml": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
".github/workflows/kic_image.yml": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
".github/workflows/master.yml": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
|
@ -63,6 +53,26 @@ var (
|
|||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
".github/workflows/pr_verified.yaml": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
"hack/jenkins/windows_integration_test_docker.ps1": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
"hack/jenkins/windows_integration_test_hyperv.ps1": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
"hack/jenkins/windows_integration_test_virtualbox.ps1": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
},
|
||||
},
|
||||
"hack/jenkins/common.sh": {
|
||||
Replace: map[string]string{
|
||||
`(?U)https://github.com/medyagh/gopogh/releases/download/.*/gopogh`: `https://github.com/medyagh/gopogh/releases/download/{{.StableVersion}}/gopogh`,
|
||||
|
|
|
@ -172,7 +172,7 @@ func (d *Driver) Create() error {
|
|||
go func() {
|
||||
defer waitForPreload.Done()
|
||||
// If preload doesn't exist, don't bother extracting tarball to volume
|
||||
if !download.PreloadExists(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime) {
|
||||
if !download.PreloadExists(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime, d.DriverName()) {
|
||||
return
|
||||
}
|
||||
t := time.Now()
|
||||
|
|
|
@ -42,6 +42,9 @@ var (
|
|||
// the fallback of BaseImage in case gcr.io is not available. stored in docker hub
|
||||
// same image is push to https://github.com/kicbase/stable
|
||||
fmt.Sprintf("%s:%s@sha256:%s", dockerhubRepo, Version, baseImageSHA),
|
||||
// try without sha because #11068
|
||||
fmt.Sprintf("%s:%s", gcrRepo, Version),
|
||||
fmt.Sprintf("%s:%s", dockerhubRepo, Version),
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "192.168.32.0/20"
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -46,7 +46,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -40,7 +40,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: minikube.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -41,7 +41,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -43,7 +43,7 @@ etcd:
|
|||
dataDir: /var/lib/minikube/etcd
|
||||
extraArgs:
|
||||
proxy-refresh-interval: "70000"
|
||||
kubernetesVersion: v1.22.0-alpha.1
|
||||
kubernetesVersion: v1.22.0-alpha.2
|
||||
networking:
|
||||
dnsDomain: cluster.local
|
||||
podSubnet: "10.244.0.0/16"
|
||||
|
|
|
@ -866,7 +866,7 @@ func (k *Bootstrapper) UpdateCluster(cfg config.ClusterConfig) error {
|
|||
return errors.Wrap(err, "runtime")
|
||||
}
|
||||
|
||||
if err := r.Preload(cfg.KubernetesConfig); err != nil {
|
||||
if err := r.Preload(cfg); err != nil {
|
||||
klog.Infof("preload failed, will try to load cached images: %v", err)
|
||||
}
|
||||
|
||||
|
|
|
@ -34,10 +34,10 @@ var (
|
|||
const (
|
||||
// DefaultKubernetesVersion is the default Kubernetes version
|
||||
// dont update till #10545 is solved
|
||||
DefaultKubernetesVersion = "v1.20.2"
|
||||
DefaultKubernetesVersion = "v1.20.7"
|
||||
// NewestKubernetesVersion is the newest Kubernetes version to test against
|
||||
// NOTE: You may need to update coreDNS & etcd versions in pkg/minikube/bootstrapper/images/images.go
|
||||
NewestKubernetesVersion = "v1.22.0-alpha.1"
|
||||
NewestKubernetesVersion = "v1.22.0-alpha.2"
|
||||
// OldestKubernetesVersion is the oldest Kubernetes version to test against
|
||||
OldestKubernetesVersion = "v1.14.0"
|
||||
// DefaultClusterName is the default nane for the k8s cluster
|
||||
|
|
|
@ -462,16 +462,16 @@ func (r *Containerd) SystemLogCmd(len int) string {
|
|||
}
|
||||
|
||||
// Preload preloads the container runtime with k8s images
|
||||
func (r *Containerd) Preload(cfg config.KubernetesConfig) error {
|
||||
if !download.PreloadExists(cfg.KubernetesVersion, cfg.ContainerRuntime) {
|
||||
func (r *Containerd) Preload(cc config.ClusterConfig) error {
|
||||
if !download.PreloadExists(cc.KubernetesConfig.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime, cc.Driver) {
|
||||
return nil
|
||||
}
|
||||
|
||||
k8sVersion := cfg.KubernetesVersion
|
||||
cRuntime := cfg.ContainerRuntime
|
||||
k8sVersion := cc.KubernetesConfig.KubernetesVersion
|
||||
cRuntime := cc.KubernetesConfig.ContainerRuntime
|
||||
|
||||
// If images already exist, return
|
||||
images, err := images.Kubeadm(cfg.ImageRepository, k8sVersion)
|
||||
images, err := images.Kubeadm(cc.KubernetesConfig.ImageRepository, k8sVersion)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "getting images")
|
||||
}
|
||||
|
|
|
@ -316,16 +316,16 @@ func (r *CRIO) SystemLogCmd(len int) string {
|
|||
}
|
||||
|
||||
// Preload preloads the container runtime with k8s images
|
||||
func (r *CRIO) Preload(cfg config.KubernetesConfig) error {
|
||||
if !download.PreloadExists(cfg.KubernetesVersion, cfg.ContainerRuntime) {
|
||||
func (r *CRIO) Preload(cc config.ClusterConfig) error {
|
||||
if !download.PreloadExists(cc.KubernetesConfig.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime, cc.Driver) {
|
||||
return nil
|
||||
}
|
||||
|
||||
k8sVersion := cfg.KubernetesVersion
|
||||
cRuntime := cfg.ContainerRuntime
|
||||
k8sVersion := cc.KubernetesConfig.KubernetesVersion
|
||||
cRuntime := cc.KubernetesConfig.ContainerRuntime
|
||||
|
||||
// If images already exist, return
|
||||
images, err := images.Kubeadm(cfg.ImageRepository, k8sVersion)
|
||||
images, err := images.Kubeadm(cc.KubernetesConfig.ImageRepository, k8sVersion)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "getting images")
|
||||
}
|
||||
|
|
|
@ -125,7 +125,7 @@ type Manager interface {
|
|||
// SystemLogCmd returns the command to return the system logs
|
||||
SystemLogCmd(int) string
|
||||
// Preload preloads the container runtime with k8s images
|
||||
Preload(config.KubernetesConfig) error
|
||||
Preload(config.ClusterConfig) error
|
||||
// ImagesPreloaded returns true if all images have been preloaded
|
||||
ImagesPreloaded([]string) bool
|
||||
}
|
||||
|
|
|
@ -450,15 +450,15 @@ func (r *Docker) forceSystemd() error {
|
|||
// 1. Copy over the preloaded tarball into the VM
|
||||
// 2. Extract the preloaded tarball to the correct directory
|
||||
// 3. Remove the tarball within the VM
|
||||
func (r *Docker) Preload(cfg config.KubernetesConfig) error {
|
||||
if !download.PreloadExists(cfg.KubernetesVersion, cfg.ContainerRuntime) {
|
||||
func (r *Docker) Preload(cc config.ClusterConfig) error {
|
||||
if !download.PreloadExists(cc.KubernetesConfig.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime, cc.Driver) {
|
||||
return nil
|
||||
}
|
||||
k8sVersion := cfg.KubernetesVersion
|
||||
cRuntime := cfg.ContainerRuntime
|
||||
k8sVersion := cc.KubernetesConfig.KubernetesVersion
|
||||
cRuntime := cc.KubernetesConfig.ContainerRuntime
|
||||
|
||||
// If images already exist, return
|
||||
images, err := images.Kubeadm(cfg.ImageRepository, k8sVersion)
|
||||
images, err := images.Kubeadm(cc.KubernetesConfig.ImageRepository, k8sVersion)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "getting images")
|
||||
}
|
||||
|
|
|
@ -86,14 +86,14 @@ func testPreloadDownloadPreventsMultipleDownload(t *testing.T) {
|
|||
}
|
||||
return nil, nil
|
||||
}
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return true }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime, driverName string, forcePreload ...bool) bool { return true }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error { return nil }
|
||||
|
||||
var group sync.WaitGroup
|
||||
group.Add(2)
|
||||
dlCall := func() {
|
||||
if err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime); err != nil {
|
||||
if err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime, "docker"); err != nil {
|
||||
t.Logf("Failed to download preload: %+v (may be ok)", err)
|
||||
}
|
||||
group.Done()
|
||||
|
@ -114,11 +114,11 @@ func testPreloadNotExists(t *testing.T) {
|
|||
DownloadMock = mockSleepDownload(&downloadNum)
|
||||
|
||||
checkCache = func(file string) (fs.FileInfo, error) { return nil, fmt.Errorf("cache not found") }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return false }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime, driverName string, forcePreload ...bool) bool { return false }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error { return nil }
|
||||
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime)
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime, "docker")
|
||||
if err != nil {
|
||||
t.Errorf("Expected no error when preload exists")
|
||||
}
|
||||
|
@ -133,13 +133,13 @@ func testPreloadChecksumMismatch(t *testing.T) {
|
|||
DownloadMock = mockSleepDownload(&downloadNum)
|
||||
|
||||
checkCache = func(file string) (fs.FileInfo, error) { return nil, fmt.Errorf("cache not found") }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return true }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime, driverName string, forcePreload ...bool) bool { return true }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error {
|
||||
return fmt.Errorf("checksum mismatch")
|
||||
}
|
||||
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime)
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime, "docker")
|
||||
expectedErrMsg := "checksum mismatch"
|
||||
if err == nil {
|
||||
t.Errorf("Expected error when checksum mismatches")
|
||||
|
|
|
@ -33,6 +33,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"github.com/spf13/viper"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
"k8s.io/minikube/pkg/minikube/localpath"
|
||||
"k8s.io/minikube/pkg/minikube/out"
|
||||
"k8s.io/minikube/pkg/minikube/style"
|
||||
|
@ -98,7 +99,7 @@ func remoteTarballURL(k8sVersion, containerRuntime string) string {
|
|||
}
|
||||
|
||||
// PreloadExists returns true if there is a preloaded tarball that can be used
|
||||
func PreloadExists(k8sVersion, containerRuntime string, forcePreload ...bool) bool {
|
||||
func PreloadExists(k8sVersion, containerRuntime, driverName string, forcePreload ...bool) bool {
|
||||
// TODO (#8166): Get rid of the need for this and viper at all
|
||||
force := false
|
||||
if len(forcePreload) > 0 {
|
||||
|
@ -107,7 +108,9 @@ func PreloadExists(k8sVersion, containerRuntime string, forcePreload ...bool) bo
|
|||
|
||||
// TODO: debug why this func is being called two times
|
||||
klog.Infof("Checking if preload exists for k8s version %s and runtime %s", k8sVersion, containerRuntime)
|
||||
if !viper.GetBool("preload") && !force {
|
||||
// If `driverName` is BareMetal, there is no preload. Note: some uses of
|
||||
// `PreloadExists` assume that the driver is irrelevant unless BareMetal.
|
||||
if !driver.AllowsPreload(driverName) || !viper.GetBool("preload") && !force {
|
||||
return false
|
||||
}
|
||||
|
||||
|
@ -147,7 +150,7 @@ func PreloadExists(k8sVersion, containerRuntime string, forcePreload ...bool) bo
|
|||
var checkPreloadExists = PreloadExists
|
||||
|
||||
// Preload caches the preloaded images tarball on the host machine
|
||||
func Preload(k8sVersion, containerRuntime string) error {
|
||||
func Preload(k8sVersion, containerRuntime, driverName string) error {
|
||||
targetPath := TarballPath(k8sVersion, containerRuntime)
|
||||
targetLock := targetPath + ".lock"
|
||||
|
||||
|
@ -165,7 +168,7 @@ func Preload(k8sVersion, containerRuntime string) error {
|
|||
}
|
||||
|
||||
// Make sure we support this k8s version
|
||||
if !checkPreloadExists(k8sVersion, containerRuntime) {
|
||||
if !checkPreloadExists(k8sVersion, containerRuntime, driverName) {
|
||||
klog.Infof("Preloaded tarball for k8s version %s does not exist", k8sVersion)
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package driver
|
||||
package auxdriver
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
@ -32,6 +32,7 @@ import (
|
|||
"k8s.io/klog/v2"
|
||||
|
||||
"k8s.io/minikube/pkg/minikube/download"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
"k8s.io/minikube/pkg/minikube/out"
|
||||
"k8s.io/minikube/pkg/minikube/style"
|
||||
"k8s.io/minikube/pkg/util/lock"
|
||||
|
@ -39,7 +40,7 @@ import (
|
|||
|
||||
// InstallOrUpdate downloads driver if it is not present, or updates it if there's a newer version
|
||||
func InstallOrUpdate(name string, directory string, v semver.Version, interactive bool, autoUpdate bool) error {
|
||||
if name != KVM2 && name != HyperKit {
|
||||
if name != driver.KVM2 && name != driver.HyperKit {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -69,7 +70,7 @@ func InstallOrUpdate(name string, directory string, v semver.Version, interactiv
|
|||
|
||||
// fixDriverPermissions fixes the permissions on a driver
|
||||
func fixDriverPermissions(name string, path string, interactive bool) error {
|
||||
if name != HyperKit {
|
||||
if name != driver.HyperKit {
|
||||
return nil
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package driver
|
||||
package auxdriver
|
||||
|
||||
import (
|
||||
"testing"
|
|
@ -14,11 +14,12 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package driver
|
||||
package auxdriver
|
||||
|
||||
import (
|
||||
"github.com/blang/semver"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
)
|
||||
|
||||
// minHyperkitVersion is the minimum version of the minikube hyperkit driver compatible with the current minikube code
|
||||
|
@ -36,17 +37,17 @@ func init() {
|
|||
}
|
||||
|
||||
// minAcceptableDriverVersion is the minimum version of driver supported by current version of minikube
|
||||
func minAcceptableDriverVersion(driver string, mkVer semver.Version) semver.Version {
|
||||
switch driver {
|
||||
case HyperKit:
|
||||
func minAcceptableDriverVersion(driverName string, mkVer semver.Version) semver.Version {
|
||||
switch driverName {
|
||||
case driver.HyperKit:
|
||||
if minHyperkitVersion != nil {
|
||||
return *minHyperkitVersion
|
||||
}
|
||||
return mkVer
|
||||
case KVM2:
|
||||
case driver.KVM2:
|
||||
return mkVer
|
||||
default:
|
||||
klog.Warningf("Unexpected driver: %v", driver)
|
||||
klog.Warningf("Unexpected driver: %v", driverName)
|
||||
return mkVer
|
||||
}
|
||||
}
|
|
@ -14,12 +14,13 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package driver
|
||||
package auxdriver
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
)
|
||||
|
||||
func Test_minDriverVersion(t *testing.T) {
|
||||
|
@ -30,9 +31,9 @@ func Test_minDriverVersion(t *testing.T) {
|
|||
mkV string
|
||||
want semver.Version
|
||||
}{
|
||||
{"Hyperkit", HyperKit, "1.1.1", *minHyperkitVersion},
|
||||
{"Hyperkit", driver.HyperKit, "1.1.1", *minHyperkitVersion},
|
||||
{"Invalid", "_invalid_", "1.1.1", v("1.1.1")},
|
||||
{"KVM2", KVM2, "1.1.1", v("1.1.1")},
|
||||
{"KVM2", driver.KVM2, "1.1.1", v("1.1.1")},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.desc, func(t *testing.T) {
|
|
@ -172,6 +172,10 @@ func IsSSH(name string) bool {
|
|||
return name == SSH
|
||||
}
|
||||
|
||||
func AllowsPreload(driverName string) bool {
|
||||
return !BareMetal(driverName) && !IsSSH(driverName)
|
||||
}
|
||||
|
||||
// NeedsPortForward returns true if driver is unable provide direct IP connectivity
|
||||
func NeedsPortForward(name string) bool {
|
||||
if !IsKIC(name) {
|
||||
|
|
|
@ -92,7 +92,7 @@ func newExtractor(functionsToCheck []string) (*state, error) {
|
|||
// Functions must be of the form "package.function"
|
||||
t2 := strings.Split(t, ".")
|
||||
if len(t2) < 2 {
|
||||
return nil, errors.Wrap(nil, fmt.Sprintf("Invalid function string %s. Needs package name as well.", t))
|
||||
return nil, errors.Errorf("invalid function string %s. Needs package name as well", t)
|
||||
}
|
||||
f := funcType{
|
||||
pack: t2[0],
|
||||
|
|
|
@ -18,6 +18,7 @@ package extract
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
@ -84,3 +85,12 @@ func TestExtract(t *testing.T) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func TestExtractShouldReturnErrorOnFunctionWithoutPackage(t *testing.T) {
|
||||
expected := errors.New("Initializing: invalid function string missing_package. Needs package name as well")
|
||||
funcs := []string{"missing_package"}
|
||||
err := TranslatableStrings([]string{}, funcs, "")
|
||||
if err == nil || err.Error() != expected.Error() {
|
||||
t.Fatalf("expected %v, got %v", expected, err)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,11 +48,11 @@ const (
|
|||
)
|
||||
|
||||
// BeginCacheKubernetesImages caches images required for Kubernetes version in the background
|
||||
func beginCacheKubernetesImages(g *errgroup.Group, imageRepository string, k8sVersion string, cRuntime string) {
|
||||
func beginCacheKubernetesImages(g *errgroup.Group, imageRepository string, k8sVersion string, cRuntime string, driverName string) {
|
||||
// TODO: remove imageRepository check once #7695 is fixed
|
||||
if imageRepository == "" && download.PreloadExists(k8sVersion, cRuntime) {
|
||||
if imageRepository == "" && download.PreloadExists(k8sVersion, cRuntime, driverName) {
|
||||
klog.Info("Caching tarball of preloaded images")
|
||||
err := download.Preload(k8sVersion, cRuntime)
|
||||
err := download.Preload(k8sVersion, cRuntime, driverName)
|
||||
if err == nil {
|
||||
klog.Infof("Finished verifying existence of preloaded tar for %s on %s", k8sVersion, cRuntime)
|
||||
return // don't cache individual images if preload is successful.
|
||||
|
@ -70,12 +70,12 @@ func beginCacheKubernetesImages(g *errgroup.Group, imageRepository string, k8sVe
|
|||
}
|
||||
|
||||
// handleDownloadOnly caches appropariate binaries and images
|
||||
func handleDownloadOnly(cacheGroup, kicGroup *errgroup.Group, k8sVersion, containerRuntime string) {
|
||||
func handleDownloadOnly(cacheGroup, kicGroup *errgroup.Group, k8sVersion, containerRuntime, driverName string) {
|
||||
// If --download-only, complete the remaining downloads and exit.
|
||||
if !viper.GetBool("download-only") {
|
||||
return
|
||||
}
|
||||
if err := doCacheBinaries(k8sVersion, containerRuntime); err != nil {
|
||||
if err := doCacheBinaries(k8sVersion, containerRuntime, driverName); err != nil {
|
||||
exit.Error(reason.InetCacheBinaries, "Failed to cache binaries", err)
|
||||
}
|
||||
if _, err := CacheKubectlBinary(k8sVersion); err != nil {
|
||||
|
@ -101,9 +101,9 @@ func CacheKubectlBinary(k8sVersion string) (string, error) {
|
|||
}
|
||||
|
||||
// doCacheBinaries caches Kubernetes binaries in the foreground
|
||||
func doCacheBinaries(k8sVersion, containerRuntime string) error {
|
||||
func doCacheBinaries(k8sVersion, containerRuntime, driverName string) error {
|
||||
existingBinaries := constants.KubernetesReleaseBinaries
|
||||
if !download.PreloadExists(k8sVersion, containerRuntime) {
|
||||
if !download.PreloadExists(k8sVersion, containerRuntime, driverName) {
|
||||
existingBinaries = nil
|
||||
}
|
||||
return machine.CacheBinariesForBootstrapper(k8sVersion, viper.GetString(cmdcfg.Bootstrapper), existingBinaries)
|
||||
|
|
|
@ -134,10 +134,15 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
|
|||
if err := kapi.ScaleDeployment(starter.Cfg.Name, meta.NamespaceSystem, kconst.CoreDNSDeploymentName, 1); err != nil {
|
||||
klog.Errorf("Unable to scale down deployment %q in namespace %q to 1 replica: %v", kconst.CoreDNSDeploymentName, meta.NamespaceSystem, err)
|
||||
}
|
||||
|
||||
// not running this in a Go func can result in DNS answering taking up to 38 seconds, with the Go func it takes 6-10 seconds
|
||||
go func() {
|
||||
// inject {"host.minikube.internal": hostIP} record into CoreDNS
|
||||
if err := addCoreDNSEntry(starter.Runner, "host.minikube.internal", hostIP.String(), *starter.Cfg); err != nil {
|
||||
klog.Errorf("Unable to inject {%q: %s} record into CoreDNS: %v", "host.minikube.internal", hostIP.String(), err)
|
||||
klog.Warningf("Unable to inject {%q: %s} record into CoreDNS: %v", "host.minikube.internal", hostIP.String(), err)
|
||||
out.Err("Failed to inject host.minikube.internal into CoreDNS, this will limit the pods access to the host IP")
|
||||
}
|
||||
}()
|
||||
} else {
|
||||
bs, err = cluster.Bootstrapper(starter.MachineAPI, viper.GetString(cmdcfg.Bootstrapper), *starter.Cfg, starter.Runner)
|
||||
if err != nil {
|
||||
|
@ -280,7 +285,7 @@ func Provision(cc *config.ClusterConfig, n *config.Node, apiServer bool, delOnFa
|
|||
}
|
||||
|
||||
if !driver.BareMetal(cc.Driver) {
|
||||
beginCacheKubernetesImages(&cacheGroup, cc.KubernetesConfig.ImageRepository, n.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime)
|
||||
beginCacheKubernetesImages(&cacheGroup, cc.KubernetesConfig.ImageRepository, n.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime, cc.Driver)
|
||||
}
|
||||
|
||||
// Abstraction leakage alert: startHost requires the config to be saved, to satistfy pkg/provision/buildroot.
|
||||
|
@ -289,7 +294,7 @@ func Provision(cc *config.ClusterConfig, n *config.Node, apiServer bool, delOnFa
|
|||
return nil, false, nil, nil, errors.Wrap(err, "Failed to save config")
|
||||
}
|
||||
|
||||
handleDownloadOnly(&cacheGroup, &kicGroup, n.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime)
|
||||
handleDownloadOnly(&cacheGroup, &kicGroup, n.KubernetesVersion, cc.KubernetesConfig.ContainerRuntime, cc.Driver)
|
||||
waitDownloadKicBaseImage(&kicGroup)
|
||||
|
||||
return startMachine(cc, n, delOnFail)
|
||||
|
@ -318,7 +323,7 @@ func configureRuntimes(runner cruntime.CommandRunner, cc config.ClusterConfig, k
|
|||
// Preload is overly invasive for bare metal, and caching is not meaningful.
|
||||
// KIC handles preload elsewhere.
|
||||
if driver.IsVM(cc.Driver) {
|
||||
if err := cr.Preload(cc.KubernetesConfig); err != nil {
|
||||
if err := cr.Preload(cc); err != nil {
|
||||
switch err.(type) {
|
||||
case *cruntime.ErrISOFeature:
|
||||
out.ErrT(style.Tip, "Existing disk is missing new features ({{.error}}). To upgrade, run 'minikube delete'", out.V{"error": err})
|
||||
|
|
|
@ -41,7 +41,6 @@ var k8sIssues = []K8sIssue{
|
|||
"1.20.4",
|
||||
"1.20.5",
|
||||
"1.20.6",
|
||||
"1.20.7",
|
||||
"1.21.0",
|
||||
"1.21.1",
|
||||
},
|
||||
|
|
|
@ -66,7 +66,7 @@ minikube start [flags]
|
|||
--interactive Allow user prompts for more information (default true)
|
||||
--iso-url strings Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube/iso/minikube-v1.20.0.iso,https://github.com/kubernetes/minikube/releases/download/v1.20.0/minikube-v1.20.0.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.20.0.iso])
|
||||
--keep-context This will keep the existing kubectl context and will create a minikube context.
|
||||
--kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.20.2, 'latest' for v1.22.0-alpha.1). Defaults to 'stable'.
|
||||
--kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.20.7, 'latest' for v1.22.0-alpha.2). Defaults to 'stable'.
|
||||
--kvm-gpu Enable experimental NVIDIA GPU support in minikube
|
||||
--kvm-hidden Hide the hypervisor signature from the guest in minikube (kvm2 driver only)
|
||||
--kvm-network string The KVM default network name. (kvm2 driver only) (default "default")
|
||||
|
|
|
@ -75,3 +75,10 @@ minikube start --cpus 6 --memory 8000
|
|||
## Do I need to install kubectl locally?
|
||||
|
||||
No, minikube comes with built-in kubectl [see minikube's kubectl documentation]({{< ref "docs/handbook/kubectl.md" >}}).
|
||||
|
||||
## How to opt-in to beta notifications?
|
||||
|
||||
Simply run the following command to be enrolled into beta notifications.
|
||||
```
|
||||
minikube config set WantBetaUpdateNotification true
|
||||
```
|
||||
|
|
|
@ -42,7 +42,8 @@ You can use the `--insecure-registry` flag on the
|
|||
|
||||
One nifty hack is to allow the kubelet running in minikube to talk to registries deployed inside a pod in the cluster without backing them
|
||||
with TLS certificates. Because the default service cluster IP is known to be available at 10.0.0.1, users can pull images from registries
|
||||
deployed inside the cluster by creating the cluster with `minikube start --insecure-registry "10.0.0.0/24"`.
|
||||
deployed inside the cluster by creating the cluster with `minikube start --insecure-registry "10.0.0.0/24"`. Ensure the cluster
|
||||
is deleted using `minikube delete` before starting with the `--insecure-registry` flag.
|
||||
|
||||
### docker on macOS
|
||||
|
||||
|
@ -53,6 +54,7 @@ The first step is to enable the registry addon:
|
|||
```shell
|
||||
minikube addons enable registry
|
||||
```
|
||||
> Note: Minikube will generate a port and request you use that port when enabling registry. That instruction is not related to this guide.
|
||||
|
||||
When enabled, the registry addon exposes its port 5000 on the minikube's virtual machine.
|
||||
|
||||
|
|
|
@ -97,7 +97,9 @@ func TestDownloadOnly(t *testing.T) {
|
|||
if NoneDriver() {
|
||||
t.Skip("None driver does not have preload")
|
||||
}
|
||||
if download.PreloadExists(v, containerRuntime, true) {
|
||||
// Driver does not matter here, since the only exception is none driver,
|
||||
// which cannot occur here.
|
||||
if download.PreloadExists(v, containerRuntime, "docker", true) {
|
||||
// Just make sure the tarball path exists
|
||||
if _, err := os.Stat(download.TarballPath(v, containerRuntime)); err != nil {
|
||||
t.Errorf("failed to verify preloaded tarball file exists: %v", err)
|
||||
|
|
|
@ -28,7 +28,7 @@ import (
|
|||
"github.com/Azure/azure-sdk-for-go/tools/apidiff/ioext"
|
||||
"github.com/blang/semver"
|
||||
|
||||
"k8s.io/minikube/pkg/minikube/driver"
|
||||
"k8s.io/minikube/pkg/minikube/driver/auxdriver"
|
||||
"k8s.io/minikube/pkg/minikube/localpath"
|
||||
"k8s.io/minikube/pkg/version"
|
||||
)
|
||||
|
@ -98,7 +98,7 @@ func TestKVMDriverInstallOrUpdate(t *testing.T) {
|
|||
t.Fatalf("Expected new semver. test: %v, got: %v", tc.name, err)
|
||||
}
|
||||
|
||||
err = driver.InstallOrUpdate("kvm2", dir, newerVersion, true, true)
|
||||
err = auxdriver.InstallOrUpdate("kvm2", dir, newerVersion, true, true)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to update driver to %v. test: %s, got: %v", newerVersion, tc.name, err)
|
||||
}
|
||||
|
@ -171,7 +171,7 @@ func TestHyperKitDriverInstallOrUpdate(t *testing.T) {
|
|||
t.Skipf("password required to execute 'sudo', skipping remaining test")
|
||||
}
|
||||
|
||||
err = driver.InstallOrUpdate("hyperkit", dir, newerVersion, false, true)
|
||||
err = auxdriver.InstallOrUpdate("hyperkit", dir, newerVersion, false, true)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to update driver to %v. test: %s, got: %v", newerVersion, tc.name, err)
|
||||
}
|
||||
|
|
|
@ -229,6 +229,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "Fehler beim Löschen des Clusters: {{.error}}",
|
||||
|
|
|
@ -234,6 +234,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "No se ha podido eliminar el clúster: {{.error}}",
|
||||
|
|
|
@ -231,6 +231,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "Échec de la suppression du cluster : {{.error}}",
|
||||
|
|
|
@ -221,6 +221,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "クラスタを削除できませんでしたが、処理を続行します。",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "",
|
||||
|
|
|
@ -249,6 +249,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "클러스터 제거에 실패하였습니다: {{.error}}",
|
||||
|
|
|
@ -239,6 +239,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "",
|
||||
|
|
|
@ -215,6 +215,7 @@
|
|||
"Failed to check main repository and mirrors for images": "",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "",
|
||||
|
|
|
@ -297,6 +297,7 @@
|
|||
"Failed to check main repository and mirrors for images for images": "无法检测主仓库和镜像仓库中的镜像",
|
||||
"Failed to configure metallb IP {{.profile}}": "",
|
||||
"Failed to create file": "",
|
||||
"Failed to create runtime": "",
|
||||
"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
|
||||
"Failed to delete cluster {{.name}}.": "",
|
||||
"Failed to delete cluster: {{.error}}": "未能删除集群:{{.error}}",
|
||||
|
|
Loading…
Reference in New Issue