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
3509f80b
Commit
3509f80b
authored
Feb 16, 2016
by
Wojciech Tyczynski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Store logs from master components from Kubemark runs in GCS
parent
6e2e3986
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
22 deletions
+31
-22
core.go
test/e2e/core.go
+28
-22
util.go
test/e2e/util.go
+3
-0
No files found.
test/e2e/core.go
View file @
3509f80b
...
@@ -37,55 +37,61 @@ func CoreDump(dir string) {
...
@@ -37,55 +37,61 @@ func CoreDump(dir string) {
}
}
provider
:=
testContext
.
Provider
provider
:=
testContext
.
Provider
// requires ssh
// requires ssh
to master machine
if
!
providerIs
(
providersWithSSH
...
)
{
if
!
providerIs
(
providersWith
Master
SSH
...
)
{
fmt
.
Printf
(
"Skipping SSH core dump, which is not implemented for %s"
,
provider
)
fmt
.
Printf
(
"Skipping SSH core dump, which is not implemented for %s"
,
provider
)
return
return
}
}
//
Get all nodes' external IPs
.
//
I wish there was a better way to get the master IP..
.
hosts
,
err
:=
NodeSSHHosts
(
c
)
config
,
err
:=
loadConfig
(
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Printf
(
"Error getting node hostnames: %v"
,
err
)
fmt
.
Printf
(
"Error loading config: %v"
,
err
)
return
}
}
ix
:=
strings
.
LastIndex
(
config
.
Host
,
"/"
)
master
:=
net
.
JoinHostPort
(
config
.
Host
[
ix
+
1
:
],
"22"
)
cmds
:=
[]
command
{{
"cat /var/log/kube-proxy.log"
,
"kube-proxy"
}}
cmds
:=
[]
command
{
if
isUsingSystemdKubelet
(
provider
,
hosts
...
)
{
{
"cat /var/log/kube-apiserver.log"
,
"kube-apiserver"
},
{
"cat /var/log/kube-scheduler.log"
,
"kube-scheduler"
},
{
"cat /var/log/kube-controller-manager.log"
,
"kube-controller-manager"
},
}
if
isUsingSystemdKubelet
(
provider
,
master
)
{
cmds
=
append
(
cmds
,
command
{
"sudo journalctl --output=cat -u kubelet.service"
,
"kubelet"
})
cmds
=
append
(
cmds
,
command
{
"sudo journalctl --output=cat -u kubelet.service"
,
"kubelet"
})
}
else
{
}
else
{
cmds
=
append
(
cmds
,
[]
command
{
cmds
=
append
(
cmds
,
[]
command
{
{
"cat /var/log/kubelet.log"
,
"kubelet"
},
{
"cat /var/log/kubelet.log"
,
"kubelet"
},
{
"cat /var/log/supervisor/supervisord.log"
,
"supervisord"
},
{
"cat /var/log/supervisor/supervisord.log"
,
"supervisord"
},
{
"cat /var/log/dmesg"
,
"dmesg"
},
}
...
)
}
...
)
}
}
logCore
(
cmds
,
hosts
,
dir
,
provider
)
logCore
(
cmds
,
[]
string
{
master
}
,
dir
,
provider
)
//
I wish there was a better way to get the master IP...
//
requires ssh
config
,
err
:=
loadConfig
()
if
!
providerIs
(
providersWithSSH
...
)
{
if
err
!=
nil
{
fmt
.
Printf
(
"Skipping SSH core dump for nodes, which is not implemented for %s"
,
provider
)
fmt
.
Printf
(
"Error loading config: %v"
,
err
)
return
}
}
ix
:=
strings
.
LastIndex
(
config
.
Host
,
"/"
)
master
:=
net
.
JoinHostPort
(
config
.
Host
[
ix
+
1
:
],
"22"
)
cmds
=
[]
command
{
// Get all nodes' external IPs.
{
"cat /var/log/kube-apiserver.log"
,
"kube-apiserver"
},
hosts
,
err
:=
NodeSSHHosts
(
c
)
{
"cat /var/log/kube-scheduler.log"
,
"kube-scheduler"
},
if
err
!=
nil
{
{
"cat /var/log/kube-controller-manager.log"
,
"kube-controller-manager"
},
fmt
.
Printf
(
"Error getting node hostnames: %v"
,
err
)
return
}
}
if
isUsingSystemdKubelet
(
provider
,
master
)
{
cmds
=
[]
command
{{
"cat /var/log/kube-proxy.log"
,
"kube-proxy"
}}
if
isUsingSystemdKubelet
(
provider
,
hosts
...
)
{
cmds
=
append
(
cmds
,
command
{
"sudo journalctl --output=cat -u kubelet.service"
,
"kubelet"
})
cmds
=
append
(
cmds
,
command
{
"sudo journalctl --output=cat -u kubelet.service"
,
"kubelet"
})
}
else
{
}
else
{
cmds
=
append
(
cmds
,
[]
command
{
cmds
=
append
(
cmds
,
[]
command
{
{
"cat /var/log/kubelet.log"
,
"kubelet"
},
{
"cat /var/log/kubelet.log"
,
"kubelet"
},
{
"cat /var/log/supervisor/supervisord.log"
,
"supervisord"
},
{
"cat /var/log/supervisor/supervisord.log"
,
"supervisord"
},
{
"cat /var/log/dmesg"
,
"dmesg"
},
}
...
)
}
...
)
}
}
logCore
(
cmds
,
[]
string
{
master
}
,
dir
,
provider
)
logCore
(
cmds
,
hosts
,
dir
,
provider
)
}
}
func
logCore
(
cmds
[]
command
,
hosts
[]
string
,
dir
,
provider
string
)
{
func
logCore
(
cmds
[]
command
,
hosts
[]
string
,
dir
,
provider
string
)
{
...
...
test/e2e/util.go
View file @
3509f80b
...
@@ -314,6 +314,9 @@ func SkipUnlessServerVersionGTE(v semver.Version, c client.ServerVersionInterfac
...
@@ -314,6 +314,9 @@ func SkipUnlessServerVersionGTE(v semver.Version, c client.ServerVersionInterfac
// providersWithSSH are those providers where each node is accessible with SSH
// providersWithSSH are those providers where each node is accessible with SSH
var
providersWithSSH
=
[]
string
{
"gce"
,
"gke"
,
"aws"
}
var
providersWithSSH
=
[]
string
{
"gce"
,
"gke"
,
"aws"
}
// providersWithMasterSSH are those providers where master node is accessible with SSH
var
providersWithMasterSSH
=
[]
string
{
"gce"
,
"gke"
,
"kubemark"
,
"aws"
}
type
podCondition
func
(
pod
*
api
.
Pod
)
(
bool
,
error
)
type
podCondition
func
(
pod
*
api
.
Pod
)
(
bool
,
error
)
// podReady returns whether pod has a condition of Ready with a status of true.
// podReady returns whether pod has a condition of Ready with a status of true.
...
...
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