Fission supportability: Add dump command to dump information for debugging (#754)

* Add v1 support tool proposal
* Fission supportability: Add dump command to dump information for debugging
This commit is contained in:
Ta-Ching Chen
2018-09-19 14:35:51 +08:00
committed by GitHub
parent a86c9431d3
commit 6b49c194ca
25 changed files with 1397 additions and 609 deletions
+48
View File
@@ -0,0 +1,48 @@
package util
import (
"fmt"
"github.com/fission/fission"
"github.com/fission/fission/controller/client"
"github.com/fission/fission/fission/log"
"github.com/fission/fission/fission/plugin"
yaml "gopkg.in/yaml.v2"
)
// Versions is a container of versions of the client (and its plugins) and server (and its plugins).
type Versions struct {
Client map[string]fission.BuildMeta `json:"client"`
Server map[string]fission.BuildMeta `json:"server"`
}
func GetVersion(client *client.Client) []byte {
serverInfo, err := client.ServerInfo()
if err != nil {
log.Warn(fmt.Sprintf("Error getting Fission API version: %v", err))
}
// Fetch client versions
versions := Versions{
Client: map[string]fission.BuildMeta{
"fission/core": fission.BuildInfo(),
},
}
for _, pmd := range plugin.FindAll() {
versions.Client[pmd.Name] = fission.BuildMeta{
Version: pmd.Version,
}
}
// Fetch server versions
versions.Server = map[string]fission.BuildMeta{
"fission/core": serverInfo.Build,
}
// FUTURE: fetch versions of plugins server-side
bs, err := yaml.Marshal(versions)
if err != nil {
log.Fatal("Failed to format versions: " + err.Error())
}
return bs
}