Skip to content

Commit ffa6d94

Browse files
authored
Merge branch 'master' into 1.7.4-fix-jvm-cannot-exec-by-username
2 parents 45438e8 + 3ed768a commit ffa6d94

15 files changed

+54
-56
lines changed

build/image/blade/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM alpine:3.8
1+
FROM alpine:3.19
22
LABEL maintainer="Changjun Xiao"
33

44
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

build/image/musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.20.5
1+
FROM golang:1.20.13
22
LABEL maintainer="Changjun Xiao"
33

44
# # The image is used to build chaosblade for musl

build/image/upx/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM alpine:3.8 as builder
1+
FROM alpine:3.19 as builder
22
LABEL maintainer="tiny-x"
33

44
# install upx

cli/cmd/check_java.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -126,30 +126,30 @@ func (djc *CheckJavaCommand) checkJdk() error {
126126
javaHome = strings.Trim(javaResult, "\n")
127127
jdkVersion, err := djc.getJdkVersionFromJdkHome()
128128
if err != nil {
129-
return errors.New(fmt.Sprintf("check java jdk version failed! err: %s", err.Error()))
129+
return fmt.Errorf("check java jdk version failed! err: %s", err.Error())
130130
}
131131

132132
ok, err := djc.checkJdkVersion(jdkVersion)
133133
if !ok || err != nil {
134-
return errors.New(fmt.Sprintf("check java jdk version failed! err: %s", err.Error()))
134+
return fmt.Errorf("check java jdk version failed! err: %s", err.Error())
135135
}
136136
return nil
137137
}
138138

139139
// 3. check jdk by `java -version`
140140
response = channel.NewLocalChannel().Run(context.Background(), "", cmdJavaVersion)
141141
if !response.Success {
142-
return errors.New(fmt.Sprintf("check java jdk version failed! err: %s", response.Err))
142+
return fmt.Errorf("check java jdk version failed! err: %s", response.Err)
143143
}
144144
javaResult := response.Result.(string)
145145

146-
jdkVersion, err := djc.getJdkVersionFromJavaVer(string(javaResult))
146+
jdkVersion, err := djc.getJdkVersionFromJavaVer(javaResult)
147147
if err != nil {
148-
return errors.New(fmt.Sprintf("check java jdk version failed! err: %s", err.Error()))
148+
return fmt.Errorf("check java jdk version failed! err: %s", err.Error())
149149
}
150150
ok, err := djc.checkJdkVersion(jdkVersion)
151151
if !ok || err != nil {
152-
return errors.New(fmt.Sprintf("check java jdk version failed! err: %s", err.Error()))
152+
return fmt.Errorf("check java jdk version failed! err: %s", err.Error())
153153
}
154154
return nil
155155
}
@@ -229,8 +229,9 @@ func (djc *CheckJavaCommand) getJdkVersionFromJdkHome() (string, error) {
229229
}
230230

231231
// get jdk version from `java version` eg: java version "1.8.0_261"
232-
// Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
233-
// Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
232+
//
233+
// Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
234+
// Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
234235
func (djc *CheckJavaCommand) getJdkVersionFromJavaVer(jdkVer string) (string, error) {
235236
// 1. check `java version`
236237
if jdkVer == "" {

cli/cmd/check_os.go

+5-9
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ func (doc *CheckOsCommand) execOperatorCmd(checkExecCmd *CheckExecCmd) {
186186

187187
if len(cmdArr) != 2 {
188188
fmt.Printf("[failed] %s, failed! error: yaml faile is wrong \n", execResult.cmd)
189-
execResult.info = fmt.Sprintf("yaml faile is wrong")
189+
execResult.info = "yaml faile is wrong"
190190
execResult.result = "failed"
191191
continue
192192
}
@@ -266,14 +266,10 @@ func (doc *CheckOsCommand) buildBladeCmd(programs []string, flags []spec.ExpFlag
266266

267267
// merge matchers and flags
268268
func (doc *CheckOsCommand) mergeMatchesAndFlags(matches, flags []spec.ExpFlagSpec) []spec.ExpFlagSpec {
269-
270269
mergeResult := make([]spec.ExpFlagSpec, 0)
271-
for _, flag := range flags {
272-
mergeResult = append(mergeResult, flag)
273-
}
274-
for _, matcher := range matches {
275-
mergeResult = append(mergeResult, matcher)
276-
}
270+
mergeResult = append(mergeResult, flags...)
271+
mergeResult = append(mergeResult, matches...)
272+
277273
return mergeResult
278274
}
279275

@@ -365,7 +361,7 @@ func (doc *CheckOsCommand) actionRunEFunc(target, scope string, actionCommand *a
365361
if !ok || value == "" {
366362
response.Code = spec.ParameterLess.Code
367363
response.Success = false
368-
response.Err = fmt.Sprintf("[failed] check failed! err: less required parameter!")
364+
response.Err = "[failed] check failed! err: less required parameter!"
369365
cmd.Println(response.Print())
370366
return nil
371367
}

cli/cmd/cli.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ type Cli struct {
2727
rootCmd *cobra.Command
2828
}
2929

30-
//NewCli returns the cli instance used to register and execute command
30+
// NewCli returns the cli instance used to register and execute command
3131
func NewCli() *Cli {
3232
cli := &Cli{
3333
rootCmd: &cobra.Command{
@@ -36,7 +36,7 @@ func NewCli() *Cli {
3636
Long: "An easy to use and powerful chaos engineering experiment toolkit",
3737
},
3838
}
39-
cli.rootCmd.SetOutput(os.Stdout)
39+
cli.rootCmd.SetOut(os.Stdout)
4040
cli.setFlags()
4141
return cli
4242
}
@@ -48,7 +48,7 @@ func (cli *Cli) setFlags() {
4848
//flags.StringVarP(&util.LogLevel, "log-level", "l", "info", "level of logging wanted. 1=DEBUG, 0=INFO, -1=WARN, A higher verbosity level means a log message is less important.")
4949
}
5050

51-
//Run command
51+
// Run command
5252
func (cli *Cli) Run() error {
5353
return cli.rootCmd.Execute()
5454
}

cli/cmd/cli_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323

2424
func TestCli_Run(t *testing.T) {
2525
cli := NewCli()
26-
cli.rootCmd.SetOutput(&bytes.Buffer{})
26+
cli.rootCmd.SetOut(&bytes.Buffer{})
2727

2828
err := cli.Run()
2929
if err != nil {

cli/cmd/create.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func (cc *CreateCommand) actionRunEFunc(target, scope string, actionCommand *act
201201
time.Sleep(time.Millisecond * 100)
202202
log.Debugf(ctx, "result: %v", response.Result)
203203
if response.Result == nil {
204-
errMsg := fmt.Sprintf("chaos_os process not found, please check chaosblade log")
204+
errMsg := "chaos_os process not found, please check chaosblade log"
205205
checkError(GetDS().UpdateExperimentModelByUid(model.Uid, Error, errMsg))
206206
response.Err = errMsg
207207
} else {

cli/cmd/exp.go

+20-20
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ package cmd
1919
import (
2020
"context"
2121
"fmt"
22+
"path"
23+
2224
"github.com/chaosblade-io/chaosblade-exec-cri/exec"
2325
"github.com/chaosblade-io/chaosblade-operator/exec/model"
2426
"github.com/chaosblade-io/chaosblade-spec-go/log"
25-
"github.com/chaosblade-io/chaosblade/exec/middleware"
2627
"github.com/chaosblade-io/chaosblade/exec/cloud"
27-
"path"
28+
"github.com/chaosblade-io/chaosblade/exec/middleware"
2829

2930
"github.com/chaosblade-io/chaosblade-spec-go/channel"
3031
"github.com/chaosblade-io/chaosblade-spec-go/spec"
31-
"github.com/chaosblade-io/chaosblade-spec-go/util"
3232
specutil "github.com/chaosblade-io/chaosblade-spec-go/util"
3333
"github.com/spf13/cobra"
3434
"github.com/spf13/pflag"
@@ -137,7 +137,7 @@ func (ec *baseExpCommandService) registerSubCommands() {
137137

138138
// registerOsExpCommands
139139
func (ec *baseExpCommandService) registerOsExpCommands() []*modelCommand {
140-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-os-spec-%s.yaml", version.Ver))
140+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-os-spec-%s.yaml", version.Ver))
141141
models, err := specutil.ParseSpecsToModel(file, os.NewExecutor())
142142
if err != nil {
143143
return nil
@@ -151,10 +151,9 @@ func (ec *baseExpCommandService) registerOsExpCommands() []*modelCommand {
151151
return osCommands
152152
}
153153

154-
155154
// registerMiddlewareExpCommands
156155
func (ec *baseExpCommandService) registerMiddlewareExpCommands() []*modelCommand {
157-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-middleware-spec-%s.yaml", version.Ver))
156+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-middleware-spec-%s.yaml", version.Ver))
158157
models, err := specutil.ParseSpecsToModel(file, middleware.NewExecutor())
159158
if err != nil {
160159
return nil
@@ -167,9 +166,10 @@ func (ec *baseExpCommandService) registerMiddlewareExpCommands() []*modelCommand
167166
}
168167
return middlewareCommands
169168
}
169+
170170
// registerCloudExpCommands
171171
func (ec *baseExpCommandService) registerCloudExpCommands() []*modelCommand {
172-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-cloud-spec-%s.yaml", version.Ver))
172+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-cloud-spec-%s.yaml", version.Ver))
173173
models, err := specutil.ParseSpecsToModel(file, cloud.NewExecutor())
174174
if err != nil {
175175
return nil
@@ -186,8 +186,8 @@ func (ec *baseExpCommandService) registerCloudExpCommands() []*modelCommand {
186186

187187
// registerJvmExpCommands
188188
func (ec *baseExpCommandService) registerJvmExpCommands() []*modelCommand {
189-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
190-
models, err := util.ParseSpecsToModel(file, jvm.NewExecutor())
189+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
190+
models, err := specutil.ParseSpecsToModel(file, jvm.NewExecutor())
191191
if err != nil {
192192
return nil
193193
}
@@ -202,8 +202,8 @@ func (ec *baseExpCommandService) registerJvmExpCommands() []*modelCommand {
202202

203203
// registerCplusExpCommands
204204
func (ec *baseExpCommandService) registerCplusExpCommands() []*modelCommand {
205-
file := path.Join(util.GetYamlHome(), "chaosblade-cplus-spec.yaml")
206-
models, err := util.ParseSpecsToModel(file, cplus.NewExecutor())
205+
file := path.Join(specutil.GetYamlHome(), "chaosblade-cplus-spec.yaml")
206+
models, err := specutil.ParseSpecsToModel(file, cplus.NewExecutor())
207207
if err != nil {
208208
return nil
209209
}
@@ -218,7 +218,7 @@ func (ec *baseExpCommandService) registerCplusExpCommands() []*modelCommand {
218218

219219
// registerDockerExpCommands
220220
func (ec *baseExpCommandService) registerDockerExpCommands() []*modelCommand {
221-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-docker-spec-%s.yaml", version.Ver))
221+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-docker-spec-%s.yaml", version.Ver))
222222
models, err := specutil.ParseSpecsToModel(file, docker.NewExecutor())
223223
if err != nil {
224224
return nil
@@ -231,8 +231,8 @@ func (ec *baseExpCommandService) registerDockerExpCommands() []*modelCommand {
231231
modelCommands = append(modelCommands, command)
232232
}
233233

234-
file = path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
235-
models, err = util.ParseSpecsToModel(file, docker.NewExecutor())
234+
file = path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
235+
models, err = specutil.ParseSpecsToModel(file, docker.NewExecutor())
236236
if err != nil {
237237
return nil
238238
}
@@ -262,7 +262,7 @@ func GetResourceFlags() []spec.ExpFlagSpec {
262262

263263
func (ec *baseExpCommandService) registerK8sExpCommands() []*modelCommand {
264264
// 读取 k8s 下的场景并注册
265-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-k8s-spec-%s.yaml", version.Ver))
265+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-k8s-spec-%s.yaml", version.Ver))
266266
models, err := specutil.ParseSpecsToModel(file, kubernetes.NewComposeExecutor())
267267
if err != nil {
268268
return nil
@@ -275,8 +275,8 @@ func (ec *baseExpCommandService) registerK8sExpCommands() []*modelCommand {
275275
modelCommands = append(modelCommands, command)
276276
}
277277

278-
file = path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
279-
models, err = util.ParseSpecsToModel(file, kubernetes.NewExecutor())
278+
file = path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
279+
models, err = specutil.ParseSpecsToModel(file, kubernetes.NewExecutor())
280280
if err != nil {
281281
return nil
282282
}
@@ -299,7 +299,7 @@ func (ec *baseExpCommandService) registerK8sExpCommands() []*modelCommand {
299299

300300
// registerCriExpCommands
301301
func (ec *baseExpCommandService) registerCriExpCommands() []*modelCommand {
302-
file := path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-cri-spec-%s.yaml", version.Ver))
302+
file := path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-cri-spec-%s.yaml", version.Ver))
303303
models, err := specutil.ParseSpecsToModel(file, cri.NewExecutor())
304304
if err != nil {
305305
return nil
@@ -312,8 +312,8 @@ func (ec *baseExpCommandService) registerCriExpCommands() []*modelCommand {
312312
modelCommands = append(modelCommands, command)
313313
}
314314

315-
file = path.Join(util.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
316-
models, err = util.ParseSpecsToModel(file, cri.NewExecutor())
315+
file = path.Join(specutil.GetYamlHome(), fmt.Sprintf("chaosblade-jvm-spec-%s.yaml", version.Ver))
316+
models, err = specutil.ParseSpecsToModel(file, cri.NewExecutor())
317317
if err != nil {
318318
return nil
319319
}

cli/cmd/prepare_jvm_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import (
2626
func TestPrepareJvmCommand_Run(t *testing.T) {
2727
jvmCommand := &PrepareJvmCommand{}
2828
jvmCommand.Init()
29-
jvmCommand.command.SetOutput(&bytes.Buffer{})
29+
jvmCommand.command.SetOut(&bytes.Buffer{})
3030
jvmCommand.command.RunE = func(cmd *cobra.Command, args []string) error {
3131
return nil
3232
}

cli/cmd/query_disk_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestQueryDiskCommand_queryDiskInfo(t *testing.T) {
3737

3838
func testQueryDiskUnknownArg(t *testing.T, command *cobra.Command, qdc *QueryDiskCommand) {
3939
buffer := &bytes.Buffer{}
40-
command.SetOutput(buffer)
40+
command.SetOut(buffer)
4141

4242
arg := "unknown"
4343
expectedErr := fmt.Errorf("the %s argument not found", arg)
@@ -50,7 +50,7 @@ func testQueryDiskUnknownArg(t *testing.T, command *cobra.Command, qdc *QueryDis
5050

5151
func testQueryDiskDevice(t *testing.T, command *cobra.Command, qdc *QueryDiskCommand) {
5252
buffer := &bytes.Buffer{}
53-
command.SetOutput(buffer)
53+
command.SetOut(buffer)
5454

5555
arg := "mount-point"
5656
err := qdc.queryDiskInfo(command, arg)

cli/cmd/query_network_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestQueryNetworkCommand_queryNetworkInfo(t *testing.T) {
3737

3838
func testQueryNetworkUnknownArg(t *testing.T, command *cobra.Command, qnc *QueryNetworkCommand) {
3939
buffer := &bytes.Buffer{}
40-
command.SetOutput(buffer)
40+
command.SetOut(buffer)
4141

4242
arg := "unknown"
4343
expectedErr := fmt.Errorf("the %s argument not found", arg)
@@ -50,7 +50,7 @@ func testQueryNetworkUnknownArg(t *testing.T, command *cobra.Command, qnc *Query
5050

5151
func testQueryNetworkInterface(t *testing.T, command *cobra.Command, qnc *QueryNetworkCommand) {
5252
buffer := &bytes.Buffer{}
53-
command.SetOutput(buffer)
53+
command.SetOut(buffer)
5454

5555
arg := "interface"
5656
err := qnc.queryNetworkInfo(command, arg)

cli/cmd/server_stop.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (ssc *StopServerCommand) run(cmd *cobra.Command, args []string) error {
4848
if err != nil {
4949
return spec.ResponseFailWithFlags(spec.OsCmdExecFailed, startServerKey, err)
5050
}
51-
if pids == nil || len(pids) == 0 {
51+
if len(pids) == 0 {
5252
log.Infof(context.Background(), "the blade server process not found, so return success for stop operation")
5353
//log.Info("the blade server process not found, so return success for stop operation")
5454
cmd.Println(spec.ReturnSuccess("success").Print())

cli/cmd/status.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/chaosblade-io/chaosblade-spec-go/spec"
2424
"github.com/chaosblade-io/chaosblade-spec-go/util"
2525
"github.com/spf13/cobra"
26-
"golang.org/x/crypto/ssh/terminal"
26+
"golang.org/x/term"
2727
)
2828

2929
const (
@@ -69,7 +69,7 @@ func (sc *StatusCommand) Init() {
6969

7070
}
7171
func (sc *StatusCommand) runStatus(command *cobra.Command, args []string) error {
72-
var uid = ""
72+
var uid string
7373
if len(args) > 0 {
7474
uid = args[0]
7575
} else {
@@ -107,7 +107,7 @@ func (sc *StatusCommand) runStatus(command *cobra.Command, args []string) error
107107
}
108108
response := spec.ReturnSuccess(result)
109109

110-
if terminal.IsTerminal(int(os.Stdout.Fd())) {
110+
if term.IsTerminal(int(os.Stdout.Fd())) {
111111
bytes, err := json.MarshalIndent(response, "", "\t")
112112
if err != nil {
113113
return response

data/preparation.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ import (
2020
"context"
2121
"database/sql"
2222
"fmt"
23-
"github.com/chaosblade-io/chaosblade-spec-go/log"
2423
"strings"
2524
"time"
25+
26+
"github.com/chaosblade-io/chaosblade-spec-go/log"
2627
)
2728

2829
type PreparationRecord struct {
@@ -91,7 +92,7 @@ const preparationTableDDL = `CREATE TABLE IF NOT EXISTS preparation (
9192

9293
var preIndexDDL = []string{
9394
`CREATE INDEX pre_uid_uidx ON preparation (uid)`,
94-
`CREATE INDEX pre_status_idx ON preparation (uid)`,
95+
`CREATE INDEX pre_status_idx ON preparation (status)`,
9596
`CREATE INDEX pre_type_process_idx ON preparation (program_type, process)`,
9697
}
9798

0 commit comments

Comments
 (0)