Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
2c3aba38
Commit
2c3aba38
authored
Jan 22, 2018
by
Rohit Ramkumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding downgrade test for ingress-gce
parent
ee14d2ed
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
6 deletions
+40
-6
nodes_util.go
test/e2e/framework/nodes_util.go
+13
-4
cluster_upgrade.go
test/e2e/lifecycle/cluster_upgrade.go
+27
-2
No files found.
test/e2e/framework/nodes_util.go
View file @
2c3aba38
...
@@ -40,10 +40,10 @@ func EtcdUpgrade(target_storage, target_version string) error {
...
@@ -40,10 +40,10 @@ func EtcdUpgrade(target_storage, target_version string) error {
}
}
}
}
func
IngressUpgrade
()
error
{
func
IngressUpgrade
(
isUpgrade
bool
)
error
{
switch
TestContext
.
Provider
{
switch
TestContext
.
Provider
{
case
"gce"
:
case
"gce"
:
return
ingressUpgradeGCE
()
return
ingressUpgradeGCE
(
isUpgrade
)
default
:
default
:
return
fmt
.
Errorf
(
"IngressUpgrade() is not implemented for provider %s"
,
TestContext
.
Provider
)
return
fmt
.
Errorf
(
"IngressUpgrade() is not implemented for provider %s"
,
TestContext
.
Provider
)
}
}
...
@@ -73,10 +73,19 @@ func etcdUpgradeGCE(target_storage, target_version string) error {
...
@@ -73,10 +73,19 @@ func etcdUpgradeGCE(target_storage, target_version string) error {
return
err
return
err
}
}
func
ingressUpgradeGCE
()
error
{
func
ingressUpgradeGCE
(
isUpgrade
bool
)
error
{
// Flip glbc image from latest release image to HEAD to simulate an upgrade.
// Flip glbc image from latest release image to HEAD to simulate an upgrade.
// Flip from HEAD to latest release image to simulate a downgrade.
// Kubelet should restart glbc automatically.
// Kubelet should restart glbc automatically.
sshResult
,
err
:=
NodeExec
(
GetMasterHost
(),
"sudo sed -i -re 's/(image:)(.*)/
\\
1 gcr.io
\\
/e2e-ingress-gce
\\
/ingress-gce-e2e-glbc-amd64:latest/' /etc/kubernetes/manifests/glbc.manifest"
)
var
command
string
if
isUpgrade
{
// Upgrade
command
=
"sudo sed -i -re 's/(image:)(.*)/
\\
1 gcr.io
\\
/k8s-ingress-image-push
\\
/ingress-gce-e2e-glbc-amd64:latest/' /etc/kubernetes/manifests/glbc.manifest"
}
else
{
// Downgrade
command
=
"sudo sed -i -re 's/(image:)(.*)/
\\
1 gcr.io
\\
/google_containers
\\
/glbc:0.9.7/' /etc/kubernetes/manifests/glbc.manifest"
}
sshResult
,
err
:=
NodeExec
(
GetMasterHost
(),
command
)
// TODO(rramkumar): Ensure glbc pod is in "Running" state before proceeding.
// TODO(rramkumar): Ensure glbc pod is in "Running" state before proceeding.
LogSSHResult
(
sshResult
)
LogSSHResult
(
sshResult
)
return
err
return
err
...
...
test/e2e/lifecycle/cluster_upgrade.go
View file @
2c3aba38
...
@@ -72,7 +72,7 @@ var kubeProxyDowngradeTests = []upgrades.Test{
...
@@ -72,7 +72,7 @@ var kubeProxyDowngradeTests = []upgrades.Test{
&
upgrades
.
IngressUpgradeTest
{},
&
upgrades
.
IngressUpgradeTest
{},
}
}
//
Upgrade ingress with custom
image.
//
Forcefully swap ingress
image.
var
ingressUpgradeTests
=
[]
upgrades
.
Test
{
var
ingressUpgradeTests
=
[]
upgrades
.
Test
{
&
upgrades
.
IngressUpgradeTest
{},
&
upgrades
.
IngressUpgradeTest
{},
}
}
...
@@ -224,7 +224,32 @@ var _ = SIGDescribe("ingress Upgrade [Feature:IngressUpgrade]", func() {
...
@@ -224,7 +224,32 @@ var _ = SIGDescribe("ingress Upgrade [Feature:IngressUpgrade]", func() {
upgradeFunc
:=
func
()
{
upgradeFunc
:=
func
()
{
start
:=
time
.
Now
()
start
:=
time
.
Now
()
defer
finalizeUpgradeTest
(
start
,
ingressTest
)
defer
finalizeUpgradeTest
(
start
,
ingressTest
)
framework
.
ExpectNoError
(
framework
.
IngressUpgrade
())
framework
.
ExpectNoError
(
framework
.
IngressUpgrade
(
true
))
}
runUpgradeSuite
(
f
,
ingressUpgradeTests
,
testFrameworks
,
testSuite
,
upgCtx
,
upgrades
.
IngressUpgrade
,
upgradeFunc
)
})
})
})
var
_
=
SIGDescribe
(
"ingress Downgrade [Feature:IngressDowngrade]"
,
func
()
{
f
:=
framework
.
NewDefaultFramework
(
"ingress-downgrade"
)
// Create the frameworks here because we can only create them
// in a "Describe".
testFrameworks
:=
createUpgradeFrameworks
(
ingressUpgradeTests
)
Describe
(
"ingress downgrade"
,
func
()
{
It
(
"should maintain a functioning ingress"
,
func
()
{
upgCtx
,
err
:=
getUpgradeContext
(
f
.
ClientSet
.
Discovery
(),
""
)
framework
.
ExpectNoError
(
err
)
testSuite
:=
&
junit
.
TestSuite
{
Name
:
"ingress downgrade"
}
ingressTest
:=
&
junit
.
TestCase
{
Name
:
"[sig-networking] ingress-downgrade"
,
Classname
:
"upgrade_tests"
}
testSuite
.
TestCases
=
append
(
testSuite
.
TestCases
,
ingressTest
)
upgradeFunc
:=
func
()
{
start
:=
time
.
Now
()
defer
finalizeUpgradeTest
(
start
,
ingressTest
)
framework
.
ExpectNoError
(
framework
.
IngressUpgrade
(
false
))
}
}
runUpgradeSuite
(
f
,
ingressUpgradeTests
,
testFrameworks
,
testSuite
,
upgCtx
,
upgrades
.
IngressUpgrade
,
upgradeFunc
)
runUpgradeSuite
(
f
,
ingressUpgradeTests
,
testFrameworks
,
testSuite
,
upgCtx
,
upgrades
.
IngressUpgrade
,
upgradeFunc
)
})
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment