Merge pull request #1870 from swordqiu/hotfix/qj-agent-report-version

fix: agent registration will report version
This commit is contained in:
yunion-ci-robot
2019-07-24 09:28:04 +08:00
committed by GitHub
4 changed files with 13 additions and 17 deletions
+4 -4
View File
@@ -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
+6 -12
View File
@@ -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
}
+2
View File
@@ -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
+1 -1
View File
@@ -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)