fix host name validator

This commit is contained in:
wanyaoqi
2020-05-26 23:16:41 +08:00
parent c05e24371e
commit ec2cb3113b
3 changed files with 15 additions and 2 deletions
+1 -1
View File
@@ -139,7 +139,7 @@ func (s *sBaremetalRegisterTask) CreateBaremetal() (string, error) {
}
params := jsonutils.NewDict()
params.Set("name", jsonutils.NewString("BM"+strings.Replace(s.accessNic.Mac.String(), ":", "", -1)))
params.Set("name", jsonutils.NewString(strings.Replace(s.accessNic.Mac.String(), ":", "", -1)))
params.Set("access_mac", jsonutils.NewString(s.accessNic.Mac.String()))
params.Set("host_type", jsonutils.NewString("baremetal"))
params.Set("is_baremetal", jsonutils.JSONTrue)
+13
View File
@@ -126,3 +126,16 @@ func (manager *SDnsNameValidatorManager) ValidateName(name string) error {
}
return httperrors.NewInputParameterError("name starts with letter, and contains letter, number and - only")
}
var (
hostNameREG = regexp.MustCompile(`^[a-z$][a-z0-9-${}.]*$`)
)
type SHostNameValidatorManager struct{}
func (manager *SHostNameValidatorManager) ValidateName(name string) error {
if hostNameREG.MatchString(name) {
return nil
}
return httperrors.NewInputParameterError("name starts with letter, and contains letter, number and - only")
}
+1 -1
View File
@@ -61,7 +61,7 @@ import (
type SHostManager struct {
db.SEnabledStatusInfrasResourceBaseManager
db.SExternalizedResourceBaseManager
db.SDnsNameValidatorManager
db.SHostNameValidatorManager
SZoneResourceBaseManager
SManagedResourceBaseManager
}