mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #1870 from swordqiu/hotfix/qj-agent-report-version
fix: agent registration will report version
This commit is contained in:
@@ -26,7 +26,7 @@ func init() {
|
||||
type BaremetalAgentListOptions struct {
|
||||
options.BaseListOptions
|
||||
}
|
||||
R(&BaremetalAgentListOptions{}, "baremetal-agent-list", "List baremetal agent", func(s *mcclient.ClientSession, args *BaremetalAgentListOptions) error {
|
||||
R(&BaremetalAgentListOptions{}, "agent-list", "List all agent", func(s *mcclient.ClientSession, args *BaremetalAgentListOptions) error {
|
||||
var params *jsonutils.JSONDict
|
||||
{
|
||||
var err error
|
||||
@@ -47,7 +47,7 @@ func init() {
|
||||
type BaremetalAgentOpsOperations struct {
|
||||
ID string `help:"ID or name of agent"`
|
||||
}
|
||||
R(&BaremetalAgentOpsOperations{}, "baremetal-agent-enable", "Enable baremetal agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
R(&BaremetalAgentOpsOperations{}, "agent-enable", "Enable agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
result, err := modules.Baremetalagents.PerformAction(s, args.ID, "enable", nil)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -56,7 +56,7 @@ func init() {
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&BaremetalAgentOpsOperations{}, "baremetal-agent-disable", "Disable baremetal agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
R(&BaremetalAgentOpsOperations{}, "agent-disable", "Disable agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
result, err := modules.Baremetalagents.PerformAction(s, args.ID, "disable", nil)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -65,7 +65,7 @@ func init() {
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&BaremetalAgentOpsOperations{}, "baremetal-agent-delete", "Delete baremetal agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
R(&BaremetalAgentOpsOperations{}, "agent-delete", "Delete agent", func(s *mcclient.ClientSession, args *BaremetalAgentOpsOperations) error {
|
||||
result, err := modules.Baremetalagents.Delete(s, args.ID, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/pkg/util/version"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/mcclient/modules"
|
||||
@@ -256,19 +257,10 @@ func (agent *SBaseAgent) createOrUpdateBaremetalAgent(session *mcclient.ClientSe
|
||||
}
|
||||
} else {
|
||||
cloudBmAgent := ret.Data[0]
|
||||
accessIP, _ := cloudBmAgent.GetString("access_ip")
|
||||
managerUri, _ := cloudBmAgent.GetString("manager_uri")
|
||||
zoneId, _ := cloudBmAgent.GetString("zone_id")
|
||||
agentId, _ := cloudBmAgent.GetString("id")
|
||||
if naccessIP.String() != accessIP ||
|
||||
agent.GetManagerUri() != managerUri ||
|
||||
zoneId != agent.Zone.Id {
|
||||
cloudObj, err = agent.updateBaremetalAgent(session, agentId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
cloudObj = cloudBmAgent
|
||||
cloudObj, err = agent.updateBaremetalAgent(session, agentId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,6 +300,8 @@ func (agent *SBaseAgent) getCreateUpdateInfo() (jsonutils.JSONObject, error) {
|
||||
params.Add(jsonutils.NewString(agent.GetManagerUri()), "manager_uri")
|
||||
params.Add(jsonutils.NewString(agent.Zone.Id), "zone_id")
|
||||
params.Add(jsonutils.NewString(agent.IAgent().GetAgentType()), "agent_type")
|
||||
params.Add(jsonutils.NewString(version.GetShortString()), "version")
|
||||
|
||||
return params, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,8 @@ type SBaremetalagent struct {
|
||||
ZoneId string `width:"128" charset:"ascii" nullable:"false" list:"admin" update:"admin" create:"admin_required"`
|
||||
|
||||
AgentType string `width:"32" charset:"ascii" nullable:"true" default:"baremetal" list:"admin" update:"admin" create:"admin_optional"`
|
||||
|
||||
Version string `width:"64" charset:"ascii" list:"admin" update:"admin" create:"admin_optional"` // Column(VARCHAR(64, charset='ascii'))
|
||||
}
|
||||
|
||||
var BaremetalagentManager *SBaremetalagentManager
|
||||
|
||||
@@ -22,7 +22,7 @@ func init() {
|
||||
Baremetalagents = NewComputeManager(
|
||||
"baremetalagent",
|
||||
"baremetalagents",
|
||||
[]string{"ID", "Name", "Access_ip", "Manager_URI", "Status", "agent_type"},
|
||||
[]string{"ID", "Name", "Access_ip", "Manager_URI", "Status", "agent_type", "version"},
|
||||
[]string{},
|
||||
)
|
||||
registerCompute(&Baremetalagents)
|
||||
|
||||
Reference in New Issue
Block a user