Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!
Open sidebar
chainweaver
mira
mira-scheduler
Commits
1d6b9861
Commit
1d6b9861
authored
8 months ago
by
JdaDong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix recycle
parent
686f523b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
16 deletions
+16
-16
runner/run/service_runner.go
runner/run/service_runner.go
+16
-16
No files found.
runner/run/service_runner.go
View file @
1d6b9861
...
...
@@ -140,7 +140,7 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
return
}
log
.
Info
(
"***service : "
,
service
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
log
.
Info
(
"
JobInstanceID: "
,
service
.
JobInstanceId
,
"|
***service : "
,
service
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
chartPath
:=
exec
.
ExecutableFile
//repository path: 当前执行程序所在环境的绝对路径,即docker 容器运行的绝对路径
nameSpace
:=
conf
.
GetNamespace
()
// k8s 启动集群nameSpace
standardJobId
:=
strings
.
ReplaceAll
(
service
.
JobInstanceId
,
"_"
,
"-"
)
...
...
@@ -153,7 +153,7 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
//You can pass an empty string instead of settings.Namespace() to list all namespaces
// TODO add os.env HELM_DRIVER
if
err
:=
actionConfig
.
Init
(
settings
.
RESTClientGetter
(),
nameSpace
,
os
.
Getenv
(
"HELM_DRIVER"
),
log
.
Debugf
);
err
!=
nil
{
log
.
Errorln
(
"#{err}"
)
log
.
Errorln
(
"
JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| err is
#{err}"
)
//How to deal error?
return
}
...
...
@@ -208,13 +208,13 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
}
serviceJSB
,
err
:=
json
.
Marshal
(
serviceChartValue
)
if
err
!=
nil
{
log
.
Errorln
(
err
)
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| err is "
,
err
)
return
}
log
.
Info
(
"processServiceWithStage : "
,
service
,
"| jobInstanceId: "
,
service
.
JobInstanceId
,
"| serviceJSB: "
,
string
(
serviceJSB
),
" | chainInfoId: "
,
service
.
ChainInfoId
)
values
:=
map
[
string
]
interface
{}{}
if
err
:=
yaml
.
Unmarshal
([]
byte
(
serviceJSB
),
&
values
);
err
!=
nil
{
log
.
Errorln
(
err
)
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| err is "
,
err
)
return
}
...
...
@@ -236,17 +236,17 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
client
.
RepoURL
=
conf
.
GetChartRepoURL
()
chartFinalPath
,
err
:=
client
.
LocateChart
(
chartPath
,
settings
)
if
err
!=
nil
{
log
.
Errorln
(
"LocateChart error "
,
err
,
" | jobInstaceID : "
,
service
.
JobInstanceId
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
log
.
Errorln
(
"LocateChart error "
,
err
,
" | jobInstaceID : "
,
service
.
JobInstanceId
,
" | chainInfoId: "
,
service
.
ChainInfoId
,
"| service: "
,
service
.
ServiceId
)
s
.
ChainService
.
UpdateFailedReason
(
service
.
JobInstanceId
,
"LocateChart error "
+
err
.
Error
(),
service
.
ChainInfoId
)
return
}
log
.
Infoln
(
"chart located at: "
,
chartFinalPath
)
log
.
Infoln
(
"chart located at: "
,
chartFinalPath
,
"| JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
)
// load chart from the path
chart
,
err
:=
loader
.
Load
(
chartFinalPath
)
if
err
!=
nil
{
log
.
Errorln
(
err
,
" | jobInstanceID : "
,
service
.
JobInstanceId
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
log
.
Errorln
(
err
,
" | jobInstanceID : "
,
service
.
JobInstanceId
,
" | chainInfoId: "
,
service
.
ChainInfoId
,
"| service: "
,
service
.
ServiceId
)
//t.saveError2Redis(service.JobId, "1", "Load helm chart failed", err.Error())
return
}
...
...
@@ -255,8 +255,8 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
rel
,
err
:=
client
.
Run
(
chart
,
values
)
if
err
!=
nil
{
log
.
Errorln
(
"client run err,JobInstanceID: "
+
service
.
JobInstanceId
+
" , service.ID: "
+
service
.
ServiceId
+
" , namespace:"
+
client
.
Namespace
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
log
.
Errorln
(
err
)
log
.
Errorln
(
rel
)
//rel.Manifest 是主要的自定义字段
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
" | err"
,
err
)
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
" | rel"
,
rel
)
//rel.Manifest 是主要的自定义字段
if
IsErrorToSkip
(
err
)
{
log
.
Info
(
"Skip this condition"
)
}
else
{
...
...
@@ -266,7 +266,7 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
err
=
s
.
ChainService
.
UpdateServiceSts
(
service
.
JobInstanceId
,
service
.
ServiceId
,
state
.
ServiceState_FAILED
,
service
.
ChainInfoId
)
if
err
!=
nil
{
log
.
Errorln
(
"UpdateServiceSts err: "
,
err
)
log
.
Errorln
(
"
| JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"|
UpdateServiceSts err: "
,
err
)
}
}
return
...
...
@@ -277,12 +277,12 @@ func (s *ServiceRunner) processServiceWithStage(service *types.Service, currentS
// //saveError2Redis(task.JobId, "1", "update port info failed", err.Error())
//}
log
.
Info
(
"Installed Chart from path: %s in namespace: %s
\n
"
,
"rel.Name:"
,
rel
.
Name
,
" | rel.Namespace:"
,
rel
.
Namespace
)
" | rel.Namespace:"
,
rel
.
Namespace
,
"| service: "
,
service
.
ServiceId
,
"| JobInstanceID: "
,
service
.
JobInstanceId
)
// this will confirm the values set during installation
err
=
s
.
ChainService
.
UpdateServiceSts
(
service
.
JobInstanceId
,
service
.
ServiceId
,
nextStage
,
service
.
ChainInfoId
)
if
err
!=
nil
{
log
.
Errorln
(
"UpdateServiceSts err: "
,
err
)
log
.
Errorln
(
"
JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"|
UpdateServiceSts err: "
,
err
)
}
}
...
...
@@ -306,7 +306,7 @@ func (s *ServiceRunner) processServiceEnding(service *types.Service) {
// all namespaces
if
err
:=
actionConfig
.
Init
(
settings
.
RESTClientGetter
(),
nameSpace
,
os
.
Getenv
(
"HELM_DRIVER"
),
log
.
Debugf
);
err
!=
nil
{
//if err := actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), os.Getenv("HELM_DRIVER"), logger.Printf); err != nil {
log
.
Errorln
(
"%+v"
,
err
)
log
.
Errorln
(
"
JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| err
%+v"
,
err
)
//How to deal with error?
return
}
...
...
@@ -315,14 +315,14 @@ func (s *ServiceRunner) processServiceEnding(service *types.Service) {
rel
,
err
:=
client
.
Run
(
releaseName
)
if
err
!=
nil
{
log
.
Errorln
(
"client run uninstall err,JobInstanceID: "
+
service
.
JobInstanceId
+
" , service.ID: "
+
service
.
ServiceId
,
" | chainInfoId: "
,
service
.
ChainInfoId
)
log
.
Errorln
(
err
)
log
.
Errorln
(
rel
)
//rel.Info 是过程描述字段,包括:每行展示释放的资源;以"Uninstalled release : "结尾
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| err"
,
err
)
log
.
Errorln
(
"JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"| rel"
,
rel
)
//rel.Info 是过程描述字段,包括:每行展示释放的资源;以"Uninstalled release : "结尾
//return
}
err
=
s
.
ChainService
.
UpdateServiceSts
(
service
.
JobInstanceId
,
service
.
ServiceId
,
state
.
ServiceState_CLOSED
,
service
.
ChainInfoId
)
if
err
!=
nil
{
log
.
Errorln
(
"UpdateServiceSts err: "
,
err
)
log
.
Errorln
(
"
JobInstanceID: "
,
service
.
JobInstanceId
,
"| service: "
,
service
.
ServiceId
,
"|
UpdateServiceSts err: "
,
err
)
}
}
...
...
This diff is collapsed.
Click to expand it.
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