Code Review
/
ric-plt
/
appmgr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Update regexp for helm command
[ric-plt/appmgr.git]
/
cmd
/
appmgr
/
helm.go
diff --git
a/cmd/appmgr/helm.go
b/cmd/appmgr/helm.go
index
388fb5c
..
5a5c28a
100755
(executable)
--- a/
cmd/appmgr/helm.go
+++ b/
cmd/appmgr/helm.go
@@
-48,7
+48,7
@@
func Exec(args string) (out []byte, err error) {
for i := 0; i < viper.GetInt("helm.retry"); i++ {
err = cmd.Run()
if err != nil {
for i := 0; i < viper.GetInt("helm.retry"); i++ {
err = cmd.Run()
if err != nil {
-
mdclog(MdclogErr, formatLog("Command failed, retrying", args, err.Error()+stderr.String()
))
+
Logger.Error("Command '%s' failed with error: %v, retrying", args, err.Error()+stderr.String(
))
time.Sleep(time.Duration(2) * time.Second)
continue
}
time.Sleep(time.Duration(2) * time.Second)
continue
}
@@
-56,7
+56,7
@@
func Exec(args string) (out []byte, err error) {
}
if err == nil && !strings.HasSuffix(os.Args[0], ".test") {
}
if err == nil && !strings.HasSuffix(os.Args[0], ".test") {
-
mdclog(MdclogDebug, formatLog("command success", stdout.String(), ""
))
+
Logger.Info("command success: %s", stdout.String(
))
return stdout.Bytes(), nil
}
return stdout.Bytes(), nil
}
@@
-82,19
+82,19
@@
func (h *Helm) Initialize() {
for {
if _, err := h.Init(); err == nil {
for {
if _, err := h.Init(); err == nil {
-
mdclog(MdclogDebug, formatLog("Helm init done successfully!", "", "")
)
+
Logger.Info("Helm init done successfully!"
)
break
}
break
}
-
mdclog(MdclogErr, formatLog("helm init failed, retyring ...", "", "")
)
+
Logger.Error("helm init failed, retyring ..."
)
time.Sleep(time.Duration(10) * time.Second)
}
for {
if _, err := h.AddRepo(); err == nil {
time.Sleep(time.Duration(10) * time.Second)
}
for {
if _, err := h.AddRepo(); err == nil {
-
mdclog(MdclogDebug, formatLog("Helm repo added successfully", "", "")
)
+
Logger.Info("Helm repo added successfully"
)
break
}
break
}
-
mdclog(MdclogErr, formatLog("Helm repo addition failed, retyring ...", "", "")
)
+
Logger.Error("Helm repo addition failed, retyring ..."
)
time.Sleep(time.Duration(10) * time.Second)
}
time.Sleep(time.Duration(10) * time.Second)
}
@@
-119,7
+119,7
@@
func (h *Helm) AddRepo() (out []byte, err error) {
// Get helm repo user name and password from files mounted by secret object
credFile, err := ioutil.ReadFile(viper.GetString("helm.helm-username-file"))
if err != nil {
// Get helm repo user name and password from files mounted by secret object
credFile, err := ioutil.ReadFile(viper.GetString("helm.helm-username-file"))
if err != nil {
-
mdclog(MdclogErr, formatLog("helm_repo_username ReadFile failed", "", err.Error()
))
+
Logger.Error("helm_repo_username ReadFile failed: %v", err.Error(
))
return
}
return
}
@@
-127,7
+127,7
@@
func (h *Helm) AddRepo() (out []byte, err error) {
credFile, err = ioutil.ReadFile(viper.GetString("helm.helm-password-file"))
if err != nil {
credFile, err = ioutil.ReadFile(viper.GetString("helm.helm-password-file"))
if err != nil {
-
mdclog(MdclogErr, formatLog("helm_repo_password ReadFile failed", "", err.Error()
))
+
Logger.Error("helm_repo_password ReadFile failed: %v", err.Error(
))
return
}
return
}
@@
-149,7
+149,9
@@
func (h *Helm) Install(m XappDeploy) (xapp Xapp, err error) {
}
var cm interface{}
}
var cm interface{}
- if err = h.cm.ReadConfigMap(m.Name, m.Namespace, &cm); err != nil {
+ m.Namespace = h.cm.GetNamespace(m.Namespace)
+
+ if err = h.cm.GetConfigMap(m, &cm); err != nil {
out, err = h.Run(getInstallArgs(m, false))
if err != nil {
return
out, err = h.Run(getInstallArgs(m, false))
if err != nil {
return
@@
-178,7
+180,7
@@
func (h *Helm) Install(m XappDeploy) (xapp Xapp, err error) {
func (h *Helm) Status(name string) (xapp Xapp, err error) {
out, err := h.Run(strings.Join([]string{"status ", name}, ""))
if err != nil {
func (h *Helm) Status(name string) (xapp Xapp, err error) {
out, err := h.Run(strings.Join([]string{"status ", name}, ""))
if err != nil {
-
mdclog(MdclogErr, formatLog("Getting xapps status", "", err.Error()
))
+
Logger.Error("Getting xapps status: %v", err.Error(
))
return
}
return
}
@@
-188,7
+190,7
@@
func (h *Helm) Status(name string) (xapp Xapp, err error) {
func (h *Helm) StatusAll() (xapps []Xapp, err error) {
xappNameList, err := h.List()
if err != nil {
func (h *Helm) StatusAll() (xapps []Xapp, err error) {
xappNameList, err := h.List()
if err != nil {
-
mdclog(MdclogErr, formatLog("Helm list failed", "", err.Error()
))
+
Logger.Error("Helm list failed: %v", err.Error(
))
return
}
return
}
@@
-196,20
+198,24
@@
func (h *Helm) StatusAll() (xapps []Xapp, err error) {
}
func (h *Helm) List() (names []string, err error) {
}
func (h *Helm) List() (names []string, err error) {
- ns :=
g
etNamespace("")
+ ns :=
h.cm.G
etNamespace("")
out, err := h.Run(strings.Join([]string{"list --all --output yaml --namespace=", ns}, ""))
if err != nil {
out, err := h.Run(strings.Join([]string{"list --all --output yaml --namespace=", ns}, ""))
if err != nil {
-
mdclog(MdclogErr, formatLog("Listing deployed xapps failed", "", err.Error()
))
+
Logger.Error("Listing deployed xapps failed: %v", err.Error(
))
return
}
return h.GetNames(string(out))
}
return
}
return h.GetNames(string(out))
}
+func (h *Helm) SearchAll() (names []string) {
+ return h.cm.GetNamesFromHelmRepo()
+}
+
func (h *Helm) Delete(name string) (xapp Xapp, err error) {
xapp, err = h.Status(name)
if err != nil {
func (h *Helm) Delete(name string) (xapp Xapp, err error) {
xapp, err = h.Status(name)
if err != nil {
-
mdclog(MdclogErr, formatLog("Fetching xapp status failed", "", err.Error()
))
+
Logger.Error("Fetching xapp status failed: %v", err.Error(
))
return
}
return
}
@@
-230,7
+236,7
@@
func (h *Helm) Fetch(name, tarDir string) error {
// Helper functions
func (h *Helm) GetVersion(name string) (version string) {
// Helper functions
func (h *Helm) GetVersion(name string) (version string) {
- ns :=
g
etNamespace("")
+ ns :=
h.cm.G
etNamespace("")
out, err := h.Run(strings.Join([]string{"list --output yaml --namespace=", ns, " ", name}, ""))
if err != nil {
return
out, err := h.Run(strings.Join([]string{"list --output yaml --namespace=", ns, " ", name}, ""))
if err != nil {
return
@@
-287,7
+293,7
@@
func (h *Helm) FillInstanceData(name string, out string, xapp *Xapp, msgs Messag
ip, port := h.GetAddress(out)
var tmp string
ip, port := h.GetAddress(out)
var tmp string
- r := regexp.MustCompile(`
(?s)\/Pod.*?\/Service
`)
+ r := regexp.MustCompile(`
.*(?s)(Running|Pending|Succeeded|Failed|Unknown).*?\r?\n\r?\n
`)
result := r.FindStringSubmatch(string(out))
if result == nil {
return
result := r.FindStringSubmatch(string(out))
if result == nil {
return
@@
-323,6
+329,11
@@
func (h *Helm) parseAllStatus(names []string) (xapps []Xapp, err error) {
xapps = []Xapp{}
for _, name := range names {
xapps = []Xapp{}
for _, name := range names {
+ err := h.cm.ReadSchema(name, &XAppConfig{})
+ if err != nil {
+ continue
+ }
+
x, err := h.Status(name)
if err == nil {
xapps = append(xapps, x)
x, err := h.Status(name)
if err == nil {
xapps = append(xapps, x)
@@
-338,48
+349,31
@@
func addTillerEnv() (err error) {
port := viper.GetString("helm.tiller-port")
if err = os.Setenv("HELM_HOST", service+"."+namespace+":"+port); err != nil {
port := viper.GetString("helm.tiller-port")
if err = os.Setenv("HELM_HOST", service+"."+namespace+":"+port); err != nil {
-
mdclog(MdclogErr, formatLog("Tiller Env Setting Failed", "", err.Error()
))
+
Logger.Error("Tiller Env Setting Failed: %v", err.Error(
))
}
return err
}
}
return err
}
-func getNamespace(namespace string) string {
- if namespace != "" {
- return namespace
- }
-
- ns := viper.GetString("xapp.namespace")
- if ns == "" {
- ns = "ricxapp"
- }
- return ns
-}
-
func getInstallArgs(x XappDeploy, cmOverride bool) (args string) {
func getInstallArgs(x XappDeploy, cmOverride bool) (args string) {
- x.Namespace = getNamespace(x.Namespace)
args = args + " --namespace=" + x.Namespace
if x.ImageRepo != "" {
args = args + " --namespace=" + x.Namespace
if x.ImageRepo != "" {
- args = args + " --set
image
.repository=" + x.ImageRepo
+ args = args + " --set
global
.repository=" + x.ImageRepo
}
if x.ServiceName != "" {
}
if x.ServiceName != "" {
- args = args + " --set service.name=" + x.ServiceName
+ args = args + " --set
ricapp.
service.name=" + x.ServiceName
}
if x.Hostname != "" {
}
if x.Hostname != "" {
- args = args + " --set hostname=" + x.Hostname
+ args = args + " --set
ricapp.
hostname=" + x.Hostname
}
if cmOverride == true {
}
if cmOverride == true {
- args = args + " --set
appconfig.override=true
"
+ args = args + " --set
ricapp.appconfig.override=" + x.Name + "-appconfig
"
}
rname := viper.GetString("helm.repo-name")
return fmt.Sprintf("install %s/%s --name=%s %s", rname, x.Name, x.Name, args)
}
}
rname := viper.GetString("helm.repo-name")
return fmt.Sprintf("install %s/%s --name=%s %s", rname, x.Name, x.Name, args)
}
-
-func formatLog(text string, args string, err string) string {
- return fmt.Sprintf("Helm: %s: args=%s err=%s\n", text, args, err)
-}