Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Mizu
Commits
17fa163e
Unverified
Commit
17fa163e
authored
3 years ago
by
RoyUP9
Committed by
GitHub
3 years ago
Browse files
Options
Download
Email Patches
Plain Diff
added proxy logs, added events logs (#254)
parent
3644fdb5
No related merge requests found
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
cli/apiserver/provider.go
+15
-5
cli/apiserver/provider.go
cli/cmd/common.go
+2
-0
cli/cmd/common.go
cli/cmd/fetch.go
+1
-1
cli/cmd/fetch.go
cli/cmd/fetchRunner.go
+1
-1
cli/cmd/fetchRunner.go
cli/cmd/tapRunner.go
+1
-1
cli/cmd/tapRunner.go
cli/cmd/viewRunner.go
+1
-1
cli/cmd/viewRunner.go
cli/config/envConfig.go
+24
-0
cli/config/envConfig.go
cli/kubernetes/provider.go
+10
-0
cli/kubernetes/provider.go
cli/kubernetes/proxy.go
+1
-0
cli/kubernetes/proxy.go
cli/mizu/fsUtils/mizuLogsUtils.go
+17
-0
cli/mizu/fsUtils/mizuLogsUtils.go
with
73 additions
and
9 deletions
+73
-9
cli/apiserver/provider.go
+
15
-
5
View file @
17fa163e
...
...
@@ -5,6 +5,7 @@ import (
"bytes"
"encoding/json"
"fmt"
"github.com/up9inc/mizu/cli/config"
"github.com/up9inc/mizu/cli/logger"
"github.com/up9inc/mizu/cli/uiUtils"
"github.com/up9inc/mizu/shared"
...
...
@@ -18,18 +19,27 @@ import (
type
apiServerProvider
struct
{
url
string
isReady
bool
retries
int
}
var
Provider
=
apiServerProvider
{}
var
Provider
=
apiServerProvider
{
retries
:
config
.
GetIntEnvConfig
(
config
.
ApiServerRetries
,
20
)
}
func
(
provider
*
apiServerProvider
)
InitAndTestConnection
(
url
string
,
retries
int
)
error
{
func
(
provider
*
apiServerProvider
)
InitAndTestConnection
(
url
string
)
error
{
healthUrl
:=
fmt
.
Sprintf
(
"%s/"
,
url
)
retriesLeft
:=
retries
retriesLeft
:=
provider
.
retries
for
retriesLeft
>
0
{
if
response
,
err
:=
http
.
Get
(
healthUrl
);
err
!=
nil
{
logger
.
Log
.
Debugf
(
"[ERROR] failed connecting to api server %v"
,
err
)
}
else
if
response
.
StatusCode
!=
200
{
logger
.
Log
.
Debugf
(
"can't connect to api server yet, response status code %v"
,
response
.
StatusCode
)
responseBody
:=
""
data
,
readErr
:=
ioutil
.
ReadAll
(
response
.
Body
)
if
readErr
==
nil
{
responseBody
=
string
(
data
)
}
logger
.
Log
.
Debugf
(
"can't connect to api server yet, response status code: %v, body: %v"
,
response
.
StatusCode
,
responseBody
)
response
.
Body
.
Close
()
}
else
{
logger
.
Log
.
Debugf
(
"connection test to api server passed successfully"
)
break
...
...
@@ -40,7 +50,7 @@ func (provider *apiServerProvider) InitAndTestConnection(url string, retries int
if
retriesLeft
==
0
{
provider
.
isReady
=
false
return
fmt
.
Errorf
(
"couldn't reach the api server after %v retries"
,
retries
)
return
fmt
.
Errorf
(
"couldn't reach the api server after %v retries"
,
provider
.
retries
)
}
provider
.
url
=
url
provider
.
isReady
=
true
...
...
This diff is collapsed.
Click to expand it.
cli/cmd/common.go
+
2
-
0
View file @
17fa163e
...
...
@@ -26,6 +26,8 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, cancel
"Try setting different port by using --%s"
,
errormessage
.
FormatError
(
err
),
configStructs
.
GuiPortTapName
))
cancel
()
}
logger
.
Log
.
Debugf
(
"proxy ended"
)
}
func
waitForFinish
(
ctx
context
.
Context
,
cancel
context
.
CancelFunc
)
{
...
...
This diff is collapsed.
Click to expand it.
cli/cmd/fetch.go
+
1
-
1
View file @
17fa163e
...
...
@@ -18,7 +18,7 @@ var fetchCmd = &cobra.Command{
RunE
:
func
(
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
go
telemetry
.
ReportRun
(
"fetch"
,
config
.
Config
.
Fetch
)
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
()
,
1
);
err
!=
nil
{
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
());
err
!=
nil
{
logger
.
Log
.
Errorf
(
uiUtils
.
Error
,
"Couldn't connect to API server, make sure one running"
)
return
nil
}
...
...
This diff is collapsed.
Click to expand it.
cli/cmd/fetchRunner.go
+
1
-
1
View file @
17fa163e
...
...
@@ -9,7 +9,7 @@ import (
)
func
RunMizuFetch
()
{
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
()
,
5
);
err
!=
nil
{
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
());
err
!=
nil
{
logger
.
Log
.
Errorf
(
uiUtils
.
Error
,
"Couldn't connect to API server, check logs"
)
}
...
...
This diff is collapsed.
Click to expand it.
cli/cmd/tapRunner.go
+
1
-
1
View file @
17fa163e
...
...
@@ -497,7 +497,7 @@ func watchApiServerPod(ctx context.Context, kubernetesProvider *kubernetes.Provi
isPodReady
=
true
go
startProxyReportErrorIfAny
(
kubernetesProvider
,
cancel
)
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
()
,
20
);
err
!=
nil
{
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
());
err
!=
nil
{
logger
.
Log
.
Errorf
(
uiUtils
.
Error
,
"Couldn't connect to API server, check logs"
)
cancel
()
break
...
...
This diff is collapsed.
Click to expand it.
cli/cmd/viewRunner.go
+
1
-
1
View file @
17fa163e
...
...
@@ -43,7 +43,7 @@ func runMizuView() {
logger
.
Log
.
Infof
(
"Establishing connection to k8s cluster..."
)
go
startProxyReportErrorIfAny
(
kubernetesProvider
,
cancel
)
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
()
,
10
);
err
!=
nil
{
if
err
:=
apiserver
.
Provider
.
InitAndTestConnection
(
GetApiServerUrl
());
err
!=
nil
{
logger
.
Log
.
Errorf
(
uiUtils
.
Error
,
"Couldn't connect to API server, check logs"
)
return
}
...
...
This diff is collapsed.
Click to expand it.
cli/config/envConfig.go
0 → 100644
+
24
-
0
View file @
17fa163e
package
config
import
(
"os"
"strconv"
)
const
(
ApiServerRetries
=
"API_SERVER_RETRIES"
)
func
GetIntEnvConfig
(
key
string
,
defaultValue
int
)
int
{
value
:=
os
.
Getenv
(
key
)
if
value
==
""
{
return
defaultValue
}
intValue
,
err
:=
strconv
.
Atoi
(
value
)
if
err
!=
nil
{
return
defaultValue
}
return
intValue
}
This diff is collapsed.
Click to expand it.
cli/kubernetes/provider.go
+
10
-
0
View file @
17fa163e
...
...
@@ -739,6 +739,16 @@ func (provider *Provider) GetPodLogs(namespace string, podName string, ctx conte
return
str
,
nil
}
func
(
provider
*
Provider
)
GetNamespaceEvents
(
namespace
string
,
ctx
context
.
Context
)
(
string
,
error
)
{
eventsOpts
:=
metav1
.
ListOptions
{}
eventList
,
err
:=
provider
.
clientSet
.
CoreV1
()
.
Events
(
namespace
)
.
List
(
ctx
,
eventsOpts
)
if
err
!=
nil
{
return
""
,
fmt
.
Errorf
(
"error getting events on ns: %s, %w"
,
namespace
,
err
)
}
return
eventList
.
String
(),
nil
}
func
getClientSet
(
config
*
restclient
.
Config
)
(
*
kubernetes
.
Clientset
,
error
)
{
clientSet
,
err
:=
kubernetes
.
NewForConfig
(
config
)
if
err
!=
nil
{
...
...
This diff is collapsed.
Click to expand it.
cli/kubernetes/proxy.go
+
1
-
0
View file @
17fa163e
...
...
@@ -39,6 +39,7 @@ func StartProxy(kubernetesProvider *Provider, mizuPort uint16, mizuNamespace str
server
:=
http
.
Server
{
Handler
:
mux
,
}
return
server
.
Serve
(
l
)
}
...
...
This diff is collapsed.
Click to expand it.
cli/mizu/fsUtils/mizuLogsUtils.go
+
17
-
0
View file @
17fa163e
...
...
@@ -39,22 +39,39 @@ func DumpLogs(provider *kubernetes.Provider, ctx context.Context, filePath strin
}
else
{
logger
.
Log
.
Debugf
(
"Successfully read log length %d for pod: %s.%s"
,
len
(
logs
),
pod
.
Namespace
,
pod
.
Name
)
}
if
err
:=
AddStrToZip
(
zipWriter
,
logs
,
fmt
.
Sprintf
(
"%s.%s.log"
,
pod
.
Namespace
,
pod
.
Name
));
err
!=
nil
{
logger
.
Log
.
Errorf
(
"Failed write logs, %v"
,
err
)
}
else
{
logger
.
Log
.
Debugf
(
"Successfully added log length %d from pod: %s.%s"
,
len
(
logs
),
pod
.
Namespace
,
pod
.
Name
)
}
}
events
,
err
:=
provider
.
GetNamespaceEvents
(
config
.
Config
.
MizuResourcesNamespace
,
ctx
)
if
err
!=
nil
{
logger
.
Log
.
Debugf
(
"Failed to get k8b events, %v"
,
err
)
}
else
{
logger
.
Log
.
Debugf
(
"Successfully read events for k8b namespace: %s"
,
config
.
Config
.
MizuResourcesNamespace
)
}
if
err
:=
AddStrToZip
(
zipWriter
,
events
,
fmt
.
Sprintf
(
"%s_events.log"
,
config
.
Config
.
MizuResourcesNamespace
));
err
!=
nil
{
logger
.
Log
.
Debugf
(
"Failed write logs, %v"
,
err
)
}
else
{
logger
.
Log
.
Debugf
(
"Successfully added events for k8b namespace: %s"
,
config
.
Config
.
MizuResourcesNamespace
)
}
if
err
:=
AddFileToZip
(
zipWriter
,
config
.
Config
.
ConfigFilePath
);
err
!=
nil
{
logger
.
Log
.
Debugf
(
"Failed write file, %v"
,
err
)
}
else
{
logger
.
Log
.
Debugf
(
"Successfully added file %s"
,
config
.
Config
.
ConfigFilePath
)
}
if
err
:=
AddFileToZip
(
zipWriter
,
logger
.
GetLogFilePath
());
err
!=
nil
{
logger
.
Log
.
Debugf
(
"Failed write file, %v"
,
err
)
}
else
{
logger
.
Log
.
Debugf
(
"Successfully added file %s"
,
logger
.
GetLogFilePath
())
}
logger
.
Log
.
Infof
(
"You can find the zip file with all logs in %s
\n
"
,
filePath
)
return
nil
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
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
Menu
Projects
Groups
Snippets
Help