cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9104) VM naming convention in case vmware is used
Date Tue, 28 Feb 2017 09:03:45 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15887610#comment-15887610
] 

ASF GitHub Bot commented on CLOUDSTACK-9104:
--------------------------------------------

Github user rhtyd commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1302#discussion_r103405279
  
    --- Diff: plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
---
    @@ -2226,17 +2227,33 @@ int getReservedCpuMHZ(VirtualMachineTO vmSpec) {
             return new String[] {datastoreDiskPath};
         }
     
    -    // Pair<internal CS name, vCenter display name>
    -    private Pair<String, String> composeVmNames(VirtualMachineTO vmSpec) {
    -        String vmInternalCSName = vmSpec.getName();
    -        String vmNameOnVcenter = vmSpec.getName();
    -        if (_instanceNameFlag && vmSpec.getHostName() != null) {
    -            vmNameOnVcenter = vmSpec.getHostName();
    +    /**
    +     * This method generates VM name for Vcenter and Cloudstack( when Hypervisor is VMware).
    +     * It generates VM name according to  _instanceNameFlag setting.
    +     *
    +     * @param VirtualMachineTO
    +     *        vmSpec
    +     * @return Pair<internal CS name, vCenter display name>. A pair which contain
'internal CS name'  and
    +     *         'vCenter display name'(vCenter knows VM by this name).
    +     **/
    +    protected Pair<String, String> composeVmNames(VirtualMachineTO vmSpec) {
    +
    +        String vmInternalCSName = "";
    +        String vmNameOnVcenter  = "";
    +        if(vmSpec != null)
    +        {
    +            vmInternalCSName = vmNameOnVcenter = vmSpec.getName();
    +            if (_instanceNameFlag == true && vmSpec.getType() == VirtualMachine.Type.User)
{
    +                String[] tokens = vmInternalCSName.split("-");
    +                if(tokens.length<3) throw new InvalidParameterValueException("Invalid
vmInternalCSName format: "+vmInternalCSName+" expected format : *-*-* (e.g -> i-x-y)");
// vmInternalCSName has format i-x-y-<instance.name>
    +                vmNameOnVcenter = String.format("%s-%s-%s-%s", tokens[0], tokens[1],
tokens[2], vmSpec.getHostName());
    --- End diff --
    
    The token length comparison may break backward compatibility for existing VMs that may
not conform to this scheme. Also, assuming the token length is 3 the line can be written as:
    `vmNameOnVcenter = String.format("%s-%s", vmInternalCSName, vmSpec.getHostName());`
    
    As per previous code, `vmNameOnVcenter = vmSpec.getHostName()`, which will introduce backward
compatibility issues for older 4.3 environments. Is there any code that handles for such old
VMs. If a 4.3 user decides to upgrade to 4.10+, their VMs might not start the next time someone
restarts. Please comment on how the change addresses backward compatibility issue.


> VM naming convention in case vmware is used
> -------------------------------------------
>
>                 Key: CLOUDSTACK-9104
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9104
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>            Reporter: Priyank Parihar
>            Assignee: Priyank Parihar
>
> ISSUE
> ======
> VM naming convention in case vmware is used.
> Description
> ==========
> User with different account cannot create VMs with the same name, which was possible
earlier (I am not sure in which CCP version). That time naming convention used was like this
“I-<user-id>-<Display-Name>”
> Currently if vm.instancename.flag is set to true the VM name will be exactly as display
name given. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message