hashcat 进度反馈和列表查询接口
Former-commit-id: 6b8598fe77e056b5ce614fed0294d3e395a23459
This commit is contained in:
parent
38e1416a6e
commit
0190b9e204
|
@ -441,4 +441,29 @@ type NodeAsset {
|
||||||
GpuTotal int64 `json:"GpuTotal"` // gpu总数
|
GpuTotal int64 `json:"GpuTotal"` // gpu总数
|
||||||
GpuAvail int64 `json:"GpuAvail"` // gpu可用数
|
GpuAvail int64 `json:"GpuAvail"` // gpu可用数
|
||||||
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
||||||
|
}
|
||||||
|
|
||||||
|
type SaveHashcatReq {
|
||||||
|
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||||
|
CrackStatus string `json:"crackStatus"` // 状态
|
||||||
|
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||||
|
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||||
|
CrackProgress string `json:"crackProgress"` // 进度
|
||||||
|
CrackResult string `json:"crackResult"` // 结果
|
||||||
|
}
|
||||||
|
|
||||||
|
type getHashcatHandlerReq {
|
||||||
|
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||||
|
}
|
||||||
|
|
||||||
|
type getHashcatHandlerResp {
|
||||||
|
HashCatList []HashCat `json:"hashCatList"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type HashCat {
|
||||||
|
CrackStatus string `json:"crackStatus"` // 状态
|
||||||
|
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||||
|
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||||
|
CrackProgress string `json:"crackProgress"` // 进度
|
||||||
|
CrackResult string `json:"crackResult"` // 结果
|
||||||
}
|
}
|
|
@ -68,6 +68,11 @@ service pcm {
|
||||||
@handler nodeAssetsHandler
|
@handler nodeAssetsHandler
|
||||||
get /core/assets () returns (NodeAssetsResp)
|
get /core/assets () returns (NodeAssetsResp)
|
||||||
|
|
||||||
|
@handler saveHashcatHandler
|
||||||
|
post /core/saveHashcat (SaveHashcatReq) returns ()
|
||||||
|
|
||||||
|
@handler getHashcatHandler
|
||||||
|
get /core/getHashcat/:crackTaskId (getHashcatHandlerReq) returns (getHashcatHandlerResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
//hpc二级接口
|
//hpc二级接口
|
||||||
|
@ -97,7 +102,6 @@ service pcm {
|
||||||
|
|
||||||
@handler deleteYamlHandler
|
@handler deleteYamlHandler
|
||||||
get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
|
get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//智算二级接口
|
//智算二级接口
|
||||||
|
@ -132,16 +136,16 @@ service pcm {
|
||||||
// ListAlgorithms 查询创建算法列表
|
// ListAlgorithms 查询创建算法列表
|
||||||
@handler ListAlgorithms
|
@handler ListAlgorithms
|
||||||
//get /ai/ListAlgorithms (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
//get /ai/ListAlgorithms (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
||||||
get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
||||||
// DeleteAlgorithm 删除算法
|
// DeleteAlgorithm 删除算法
|
||||||
@handler DeleteAlgorithm
|
@handler DeleteAlgorithm
|
||||||
delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
|
delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
|
||||||
// CreateTrainingJob 创建训练作业
|
// CreateTrainingJob 创建训练作业
|
||||||
@handler CreateTrainingJobHandler
|
@handler CreateTrainingJobHandler
|
||||||
post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
|
post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
|
||||||
// ShowAlgorithmByUuid 展示算法详情
|
// ShowAlgorithmByUuid 展示算法详情
|
||||||
@handler ShowAlgorithmByUuid
|
@handler ShowAlgorithmByUuid
|
||||||
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
|
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
|
||||||
|
|
||||||
// creat export task 创建导出任务
|
// creat export task 创建导出任务
|
||||||
@handler CreateExportTaskHandler
|
@handler CreateExportTaskHandler
|
||||||
|
@ -166,7 +170,7 @@ service pcm {
|
||||||
get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
|
get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
|
||||||
// Delete service 删除服务
|
// Delete service 删除服务
|
||||||
@handler DeleteServiceHandler
|
@handler DeleteServiceHandler
|
||||||
delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
|
delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
|
||||||
// ListClusters查询专属资源池列表
|
// ListClusters查询专属资源池列表
|
||||||
@handler ListClustersHandler
|
@handler ListClustersHandler
|
||||||
get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
|
get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
|
||||||
|
@ -236,7 +240,6 @@ service pcm {
|
||||||
group : vm
|
group : vm
|
||||||
)
|
)
|
||||||
service pcm {
|
service pcm {
|
||||||
|
|
||||||
@handler GetComputeLimitsHandler
|
@handler GetComputeLimitsHandler
|
||||||
get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
|
get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
|
||||||
@handler GetVolumeLimitsHandler
|
@handler GetVolumeLimitsHandler
|
||||||
|
@ -256,17 +259,17 @@ service pcm {
|
||||||
@handler DeleteNetworkHandler
|
@handler DeleteNetworkHandler
|
||||||
delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
|
delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
|
||||||
@handler CreateNetworkHandler
|
@handler CreateNetworkHandler
|
||||||
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
|
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
|
||||||
@handler CreateSubnetHandler
|
@handler CreateSubnetHandler
|
||||||
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
|
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
|
||||||
@handler ListVolumesDetailHandler
|
@handler ListVolumesDetailHandler
|
||||||
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
|
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
|
||||||
@handler DeleteVolumeHandler
|
@handler DeleteVolumeHandler
|
||||||
delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
|
delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
|
||||||
@handler CreateVolumeHandler
|
@handler CreateVolumeHandler
|
||||||
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
|
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
|
||||||
@handler ListFlavorsDetailHandler
|
@handler ListFlavorsDetailHandler
|
||||||
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
|
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
|
||||||
@handler CreateServerHandler
|
@handler CreateServerHandler
|
||||||
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
|
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
|
||||||
}
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gitlink.org.cn/jcce-pcm/utils/result"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/core"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetHashcatHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
l := core.NewGetHashcatLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetHashcat()
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gitlink.org.cn/jcce-pcm/utils/result"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/core"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
func SaveHashcatHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.SaveHashcatReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
l := core.NewSaveHashcatLogic(r.Context(), svcCtx)
|
||||||
|
err := l.SaveHashcat(&req)
|
||||||
|
result.HttpResult(r, w, nil, err)
|
||||||
|
}
|
||||||
|
}
|
|
@ -94,6 +94,16 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
||||||
Path: "/core/assets",
|
Path: "/core/assets",
|
||||||
Handler: core.NodeAssetsHandler(serverCtx),
|
Handler: core.NodeAssetsHandler(serverCtx),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Method: http.MethodPost,
|
||||||
|
Path: "/core/saveHashcat",
|
||||||
|
Handler: core.SaveHashcatHandler(serverCtx),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Path: "/core/getHashcat/:crackTaskId",
|
||||||
|
Handler: core.GetHashcatHandler(serverCtx),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
rest.WithPrefix("/pcm/v1"),
|
rest.WithPrefix("/pcm/v1"),
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
|
||||||
|
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||||
|
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetHashcatLogic struct {
|
||||||
|
logx.Logger
|
||||||
|
ctx context.Context
|
||||||
|
svcCtx *svc.ServiceContext
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewGetHashcatLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetHashcatLogic {
|
||||||
|
return &GetHashcatLogic{
|
||||||
|
Logger: logx.WithContext(ctx),
|
||||||
|
ctx: ctx,
|
||||||
|
svcCtx: svcCtx,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *GetHashcatLogic) GetHashcat() (resp *types.GetHashcatHandlerResp, err error) {
|
||||||
|
// todo: add your logic here and delete this line
|
||||||
|
var hashcatList []*model.THashcat
|
||||||
|
tx := l.svcCtx.DbEngin.Find(&hashcatList)
|
||||||
|
if tx.Error != nil {
|
||||||
|
return nil, tx.Error
|
||||||
|
}
|
||||||
|
result := types.GetHashcatHandlerResp{}
|
||||||
|
tool.Convert(hashcatList, &result.HashCatList)
|
||||||
|
return &result, nil
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
|
||||||
|
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||||
|
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||||
|
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SaveHashcatLogic struct {
|
||||||
|
logx.Logger
|
||||||
|
ctx context.Context
|
||||||
|
svcCtx *svc.ServiceContext
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewSaveHashcatLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SaveHashcatLogic {
|
||||||
|
return &SaveHashcatLogic{
|
||||||
|
Logger: logx.WithContext(ctx),
|
||||||
|
ctx: ctx,
|
||||||
|
svcCtx: svcCtx,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *SaveHashcatLogic) SaveHashcat(req *types.SaveHashcatReq) error {
|
||||||
|
var hashcat model.THashcat
|
||||||
|
tool.Convert(req, &hashcat)
|
||||||
|
hashcat.Id = tool.GenSnowflakeID()
|
||||||
|
tx := l.svcCtx.DbEngin.Save(hashcat)
|
||||||
|
if tx.Error != nil {
|
||||||
|
return tx.Error
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
|
@ -413,6 +413,31 @@ type NodeAsset struct {
|
||||||
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SaveHashcatReq struct {
|
||||||
|
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||||
|
CrackStatus string `json:"crackStatus"` // 状态
|
||||||
|
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||||
|
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||||
|
CrackProgress string `json:"crackProgress"` // 进度
|
||||||
|
CrackResult string `json:"crackResult"` // 结果
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetHashcatHandlerReq struct {
|
||||||
|
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetHashcatHandlerResp struct {
|
||||||
|
HashCatList []HashCat `json:"hashCatList"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type HashCat struct {
|
||||||
|
CrackStatus string `json:"crackStatus"` // 状态
|
||||||
|
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||||
|
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||||
|
CrackProgress string `json:"crackProgress"` // 进度
|
||||||
|
CrackResult string `json:"crackResult"` // 结果
|
||||||
|
}
|
||||||
|
|
||||||
type Job struct {
|
type Job struct {
|
||||||
SlurmVersion string `json:"slurmVersion"`
|
SlurmVersion string `json:"slurmVersion"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
|
|
@ -37,20 +37,20 @@ type (
|
||||||
Id int64 `db:"id"` // id
|
Id int64 `db:"id"` // id
|
||||||
TaskId int64 `db:"task_id"` // 任务id
|
TaskId int64 `db:"task_id"` // 任务id
|
||||||
ParticipantId int64 `db:"participant_id"` // 集群静态信息id
|
ParticipantId int64 `db:"participant_id"` // 集群静态信息id
|
||||||
ApiVersion string `db:"api_version"`
|
ApiVersion string `db:"api_version"` //api版本
|
||||||
Name string `db:"name"` // 名称
|
Name string `db:"name"` // 名称
|
||||||
Namespace string `db:"namespace"` // 命名空间
|
Namespace string `db:"namespace"` // 命名空间
|
||||||
Kind string `db:"kind"` // 种类
|
Kind string `db:"kind"` // 种类
|
||||||
Status string `db:"status"` // 状态
|
Status string `db:"status"` // 状态
|
||||||
StartTime string `db:"start_time"` // 开始时间
|
StartTime string `db:"start_time"` // 开始时间
|
||||||
RunningTime int64 `db:"running_time"` // 运行时长
|
RunningTime int64 `db:"running_time"` // 运行时长
|
||||||
CreatedBy int64 `db:"created_by"` // 创建人
|
CreatedBy int64 `db:"created_by"` // 创建人
|
||||||
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
||||||
UpdatedBy int64 `db:"updated_by"` // 更新人
|
UpdatedBy int64 `db:"updated_by"` // 更新人
|
||||||
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
||||||
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
||||||
YamlString string `db:"yaml_string"`
|
YamlString string `db:"yaml_string"`
|
||||||
Result string `db:"result"`
|
Result string `db:"result"` // 运行结果
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
// Code generated by goctl. DO NOT EDIT.
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
defaultTHashcatModel struct {
|
||||||
|
conn sqlx.SqlConn
|
||||||
|
table string
|
||||||
|
}
|
||||||
|
|
||||||
|
THashcat struct {
|
||||||
|
Id int64 `db:"id"` // id
|
||||||
|
CrackTaskId int64 `db:"crack_task_id"` // 任务id
|
||||||
|
CrackStatus string `db:"crack_status"` // 状态
|
||||||
|
CrackStartTime string `db:"crack_start_time"` //开始时间
|
||||||
|
CrackEstimatedTime string `db:"crack_estimated_time"` // 预计时间
|
||||||
|
CrackProgress string `db:"crack_progress"` // 进度
|
||||||
|
CrackResult string `db:"crack_result"` // 结果
|
||||||
|
CreatedBy int64 `db:"created_by"` // 创建人
|
||||||
|
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
||||||
|
UpdatedBy int64 `db:"updated_by"` // 更新人
|
||||||
|
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
||||||
|
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func newTHashcatModel(conn sqlx.SqlConn) *defaultCloudModel {
|
||||||
|
return &defaultCloudModel{
|
||||||
|
conn: conn,
|
||||||
|
table: "`cloud`",
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue