Commit aa5a2c6a authored by barnettZQG's avatar barnettZQG
Browse files

remove some unuseful code

parent 638c206a
Showing with 13 additions and 229 deletions
+13 -229
......@@ -31,7 +31,6 @@ import (
"github.com/goodrain/rainbond/event"
"github.com/goodrain/rainbond/mq/api/grpc/pb"
"github.com/goodrain/rainbond/mq/client"
etcdutil "github.com/goodrain/rainbond/util/etcd"
"github.com/goodrain/rainbond/worker/discover/model"
"github.com/jinzhu/gorm"
"github.com/sirupsen/logrus"
......@@ -86,8 +85,7 @@ func CreateEventManager(conf option.Config) error {
//MQManager mq manager
type MQManager struct {
EtcdClientArgs *etcdutil.ClientArgs
DefaultServer string
DefaultServer string
}
//NewMQManager new mq manager
......
......@@ -44,8 +44,7 @@ func InitHandle(conf option.Config,
k8sClient k8sclient.Client,
) error {
mq := api_db.MQManager{
EtcdClientArgs: etcdClientArgs,
DefaultServer: conf.MQAPI,
DefaultServer: conf.MQAPI,
}
mqClient, errMQ := mq.NewMQManager()
if errMQ != nil {
......
......@@ -2347,10 +2347,12 @@ func (s *ServiceAction) ListVersionInfo(serviceID string) (*api_model.BuildListR
for idx := range bversions {
bv := bversions[idx]
if bv.Kind == "build_from_image" || bv.Kind == "build_from_market_image" {
image := parser.ParseImageName(bv.RepoURL)
bv.ImageDomain = image.GetDomain()
bv.ImageRepo = image.GetRepostory()
bv.ImageTag = image.GetTag()
if bv.RepoURL != "" {
image := parser.ParseImageName(bv.RepoURL)
bv.ImageDomain = image.GetDomain()
bv.ImageRepo = image.GetRepostory()
bv.ImageTag = image.GetTag()
}
}
}
result := &api_model.BuildListRespVO{
......
......@@ -60,6 +60,7 @@ func CreateOperationHandler(mqCli gclient.MQClient) *OperationHandler {
func (o *OperationHandler) Build(batchOpReq model.ComponentOpReq) (*model.ComponentOpResult, error) {
res := batchOpReq.BatchOpFailureItem()
if err := o.build(batchOpReq); err != nil {
logrus.Errorf("build component failure %s", err.Error())
res.ErrMsg = err.Error()
} else {
res.Success()
......@@ -279,7 +280,6 @@ func (o *OperationHandler) buildFromMarketSlug(r *model.ComponentBuildReq, servi
return o.sendBuildTopic(service.ServiceID, "build_from_market_slug", body)
}
func (o *OperationHandler) sendBuildTopic(serviceID, taskType string, body map[string]interface{}) error {
topic := gclient.BuilderTopic
if o.isWindowsService(serviceID) {
topic = gclient.WindowsBuilderTopic
......
......@@ -30,7 +30,7 @@ import (
// Metric name parts.
const (
// Namespace for all metrics.
namespace = "rbd_api"
namespace = "region_api"
// Subsystem(s).
exporter = "exporter"
)
......
......@@ -35,7 +35,6 @@ import (
"github.com/goodrain/rainbond/mq/api/grpc/pb"
mqclient "github.com/goodrain/rainbond/mq/client"
etcdutil "github.com/goodrain/rainbond/util/etcd"
k8sutil "github.com/goodrain/rainbond/util/k8s"
)
......@@ -48,7 +47,6 @@ func Test_exectorManager_buildFromSourceCode(t *testing.T) {
RbdNamespace: "rbd-system",
MysqlConnectionInfo: "EeM2oc:lee7OhQu@tcp(192.168.2.203:3306)/region",
}
etcdArgs := etcdutil.ClientArgs{Endpoints: conf.EtcdEndPoints}
event.NewManager(event.EventConfig{
EventLogServers: conf.EventLogServers,
})
......
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
// RAINBOND, Application Management Platform
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. For any non-GPL usage of Rainbond,
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
// must be obtained first.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package discovery
import (
"strings"
)
// Discoverier blablabla
type Discoverier interface {
Connect() error
Fetch() ([]*Endpoint, error)
Close() error
}
// NewDiscoverier creates a new Discoverier
func NewDiscoverier(info *Info) Discoverier {
switch strings.ToUpper(info.Type) {
case "ETCD":
return NewEtcd(info)
}
return nil
}
// Info holds service discovery center information.
type Info struct {
Type string `json:"type"`
Servers []string `json:"servers"`
Key string `json:"key"`
Username string `json:"username"`
Password string `json:"password"`
}
// Endpoint holds endpoint and endpoint status(online or offline).
type Endpoint struct {
Ep string `json:"endpoint"`
IsOnline bool `json:"is_online"`
}
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
// RAINBOND, Application Management Platform
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. For any non-GPL usage of Rainbond,
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
// must be obtained first.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package discovery
import (
"context"
"encoding/json"
"fmt"
"strings"
"time"
c "github.com/coreos/etcd/clientv3"
"github.com/sirupsen/logrus"
)
// Etcd implements Discoverier
type etcd struct {
cli *c.Client
endpoints []string
key string
username string
password string
}
// NewEtcd creates a new Discorvery which implemeted by etcd.
func NewEtcd(info *Info) Discoverier {
// TODO: validate endpoints
return &etcd{
endpoints: info.Servers,
key: info.Key,
username: info.Username,
password: info.Password,
}
}
// Connect connects a etcdv3 client with a given configuration.
func (e *etcd) Connect() error {
cli, err := c.New(c.Config{
Endpoints: e.endpoints,
DialTimeout: 10 * time.Second,
Username: e.username,
Password: e.password,
})
if err != nil {
logrus.Errorf("Endpoints: %s; error connecting etcd: %v", strings.Join(e.endpoints, ","), err)
return err
}
e.cli = cli
return nil
}
// Fetch fetches data from Etcd.
func (e *etcd) Fetch() ([]*Endpoint, error) {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if e.cli == nil {
return nil, fmt.Errorf("can't fetching data from etcd without etcdv3 client")
}
resp, err := e.cli.Get(ctx, e.key, c.WithPrefix())
if err != nil {
return nil, fmt.Errorf("error fetching endpoints form etcd: %v", err)
}
if resp == nil {
return nil, fmt.Errorf("error fetching endpoints form etcd: empty GetResponse")
}
var res []*Endpoint
for _, kv := range resp.Kvs {
var ep Endpoint
if err := json.Unmarshal(kv.Value, &ep); err != nil {
return nil, fmt.Errorf("error parsing the data from etcd: %v", err)
}
ep.Ep = strings.Replace(string(kv.Key), e.key+"/", "", -1)
res = append(res, &ep)
}
return res, nil
}
// Close shuts down the client's etcd connections.
func (e *etcd) Close() error {
if e.cli != nil {
return nil
}
return e.cli.Close()
}
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
// RAINBOND, Application Management Platform
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. For any non-GPL usage of Rainbond,
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
// must be obtained first.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package discovery
......@@ -26,7 +26,6 @@ import (
"github.com/docker/distribution/reference"
"github.com/goodrain/rainbond/builder/parser/code"
"github.com/goodrain/rainbond/builder/parser/discovery"
"github.com/goodrain/rainbond/builder/parser/types"
"github.com/goodrain/rainbond/builder/sources"
"github.com/sirupsen/logrus"
......@@ -184,8 +183,6 @@ type ServiceInfo struct {
Memory int `json:"memory,omitempty"`
Lang code.Lang `json:"language,omitempty"`
ImageAlias string `json:"image_alias,omitempty"`
//For third party services
Endpoints []*discovery.Endpoint `json:"endpoints,omitempty"`
//os type,default linux
OS string `json:"os"`
Name string `json:"name,omitempty"` // module name
......
......@@ -19,22 +19,16 @@
package parser
import (
"encoding/json"
"strings"
"github.com/goodrain/rainbond/builder/parser/discovery"
"github.com/goodrain/rainbond/event"
"github.com/sirupsen/logrus"
)
// ThirdPartyServiceParse is one of the implematation of parser.Parser
type ThirdPartyServiceParse struct {
sourceBody string
endpoints []*discovery.Endpoint
errors []ParseError
logger event.Logger
errors []ParseError
logger event.Logger
}
// CreateThirdPartyServiceParse creates a new ThirdPartyServiceParse.
......@@ -53,41 +47,13 @@ func (t *ThirdPartyServiceParse) Parse() ParseErrorList {
return nil
}
var info discovery.Info
if err := json.Unmarshal([]byte(t.sourceBody), &info); err != nil {
logrus.Errorf("wrong source_body: %v, source_body: %s", err, t.sourceBody)
t.logger.Error("第三方检查输入参数错误", map[string]string{"step": "parse"})
t.errors = append(t.errors, ParseError{FatalError, "wrong input data", ""})
return t.errors
}
// TODO: validate data
d := discovery.NewDiscoverier(&info)
err := d.Connect()
if err != nil {
t.logger.Error("error connecting discovery center", map[string]string{"step": "parse"})
t.errors = append(t.errors, ParseError{FatalError, "error connecting discovery center", "please make sure " +
"the configuration is right and the discovery center is working."})
return t.errors
}
defer d.Close()
eps, err := d.Fetch()
if err != nil {
t.logger.Error("error fetching endpints", map[string]string{"step": "parse"})
t.errors = append(t.errors, ParseError{FatalError, "error fetching endpints", "please check the given key."})
return t.errors
}
t.endpoints = eps
return nil
}
// GetServiceInfo returns information of third-party service from
// the receiver *ThirdPartyServiceParse.
func (t *ThirdPartyServiceParse) GetServiceInfo() []ServiceInfo {
serviceInfo := ServiceInfo{
Endpoints: t.endpoints,
}
serviceInfo := ServiceInfo{}
return []ServiceInfo{serviceInfo}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment