Commit a8de0029 authored by sylvain.boily's avatar sylvain.boily

adding support for VM name with extra Separator String

parent d9ba0549
...@@ -47,13 +47,19 @@ func (ss *scaleSet) makeVmssVMName(scaleSetName, instanceID string) string { ...@@ -47,13 +47,19 @@ func (ss *scaleSet) makeVmssVMName(scaleSetName, instanceID string) string {
} }
func extractVmssVMName(name string) (string, string, error) { func extractVmssVMName(name string) (string, string, error) {
ret := strings.Split(name, vmssNameSeparator) split := strings.SplitAfter(name, vmssNameSeparator)
if len(ret) != 2 { if len(split) < 2 {
glog.Errorf("Failed to extract vmssVMName %q", name) glog.Errorf("Failed to extract vmssVMName %q", name)
return "", "", ErrorNotVmssInstance return "", "", ErrorNotVmssInstance
} }
return ret[0], ret[1], nil ssName := strings.Join(split[0:len(split)-1], "")
// removing the trailing `vmssNameSeparator` since we used SplitAfter
ssName = ssName[:len(ssName)-1]
instanceID := split[len(split)-1]
return ssName, instanceID, nil
} }
func (ss *scaleSet) newVmssCache() (*timedCache, error) { func (ss *scaleSet) newVmssCache() (*timedCache, error) {
......
...@@ -46,6 +46,12 @@ func TestExtractVmssVMName(t *testing.T) { ...@@ -46,6 +46,12 @@ func TestExtractVmssVMName(t *testing.T) {
expectedScaleSet: "vm", expectedScaleSet: "vm",
expectedInstanceID: "1234", expectedInstanceID: "1234",
}, },
{
description: "correct vmss VM name with Extra Separator should return correct scaleSet and instanceID",
vmName: "vm_test_1234",
expectedScaleSet: "vm_test",
expectedInstanceID: "1234",
},
} }
for _, c := range cases { for _, c := range cases {
......
Markdown is supported
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