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

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

GitHub user sudhansu7 opened a pull request:

    https://github.com/apache/cloudstack/pull/1805

    CLOUDSTACK-9637: Template create from snapshot does not populate vm_t…

    
    **ISSUE**
    ============
    Template create from snapshot does not populate vm_template_details
    
    **REPRO STEPS**
    ==================
    1. Register a template A and specify property:
    Root disk controller: scsi
    NIC adapter type: E1000
    Keyboard type: us
    
    2. Create a vm instance from template A
    
    3. Take volume snapshot for vm instance
    
    4. Delete VM instance
    
    5. Switch to "Storage->Snapshots", convert snapshot to a template B
    
    6. Observe template B does not inherit property from template A, the table 
vm_template_details is empty
    
    
    **SOLUTION**: Retrieve and add source template details to VMTemplateVO.
    
    `Before Fix:
    
    mysql> select id,name,source_template_id from vm_template where id=202; 
    +-----+--------+--------------------+
    | id  | name   | source_template_id |
    +-----+--------+--------------------+
    | 202 | Debian |               NULL |
    +-----+--------+--------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from vm_template_details where template_id=202; 
    +----+-------------+--------------------+-------+---------+
    | id | template_id | name               | value | display |
    +----+-------------+--------------------+-------+---------+
    |  1 |         202 | keyboard           | us    |       1 |
    |  2 |         202 | nicAdapter         | E1000 |       1 |
    |  3 |         202 | rootDiskController | scsi  |       1 |
    +----+-------------+--------------------+-------+---------+
    3 rows in set (0.00 sec)
    
    mysql> select id,name,source_template_id from vm_template where 
source_template_id=202;
    +-----+----------------+--------------------+
    | id  | name           | source_template_id |
    +-----+----------------+--------------------+
    | 203 | derived-debian |                202 |
    +-----+----------------+--------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from vm_template_details where template_id=203;
    Empty set (0.00 sec)
    
    
    After Fix:
    
    mysql> select id,name,source_template_id from vm_template where 
source_template_id=202;
    +-----+--------------------------+--------------------+
    | id  | name                     | source_template_id |
    +-----+--------------------------+--------------------+
    | 203 | derived-debian           |                202 |
    | 204 | debian-derived-after-fix |                202 |
    +-----+--------------------------+--------------------+
    2 rows in set (0.00 sec)
    
    mysql> select * from vm_template_details where template_id=204;
    +----+-------------+--------------------+-------+---------+
    | id | template_id | name               | value | display |
    +----+-------------+--------------------+-------+---------+
    |  4 |         204 | keyboard           | us    |       1 |
    |  5 |         204 | nicAdapter         | E1000 |       1 |
    |  6 |         204 | rootDiskController | scsi  |       1 |
    +----+-------------+--------------------+-------+---------+
    3 rows in set (0.00 sec)`
    
    **Marvin Test :** test_template_from_snapshot_with_template_details.py
    
    **Result:**
    test_01_create_template_snampshot 
(integration.component.test_template_from_snapshot_with_template_details.TestCreateTemplate)
 ... === TestName: test_01_create_template_snampshot | Status : SUCCESS ===
    ok
    
    ----------------------------------------------------------------------
    Ran 1 test in 864.523s
    
    OK

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sudhansu7/cloudstack CLOUDSTACK-9637

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1805.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1805
    
----
commit 9da5a6afe30838ddc82847d15a9bebf4cb4bcb7f
Author: Sudhansu <sudhansu.s...@accelerite.com>
Date:   2016-12-01T18:38:12Z

    CLOUDSTACK-9637: Template create from snapshot does not populate 
vm_template_details
    
    Summary: Retrieve and add source template details to VMTemplateVO.

----


> Template create from snapshot does not populate vm_template_details
> -------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9637
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9637
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>    Affects Versions: 4.8.0
>         Environment:  VMware ESX , CS 4.8.0
>            Reporter: Sudhansu Sahu
>            Assignee: Sudhansu Sahu
>
> ISSUE
> ============
> Template create from snapshot does not populate vm_template_details
> TROUBLESHOOTING
> ==================
> {noformat}
> mysql> select id,name,uuid,instance_name,vm_template_id from vm_instance 
> where uuid='453313f5-ef97-461a-94f5-0838617fe826'
>     -> ;
> +----+-------+--------------------------------------+---------------+----------------+
> | id | name  | uuid                                 | instance_name | 
> vm_template_id |
> +----+-------+--------------------------------------+---------------+----------------+
> |  9 | vm001 | 453313f5-ef97-461a-94f5-0838617fe826 | i-2-9-VM      |         
>    202 |
> +----+-------+--------------------------------------+---------------+----------------+
> 1 row in set (0.00 sec)
> mysql> select id,name,source_template_id from vm_template where id=202; 
> +-----+--------+--------------------+
> | id  | name   | source_template_id |
> +-----+--------+--------------------+
> | 202 | Debian |               NULL |
> +-----+--------+--------------------+
> 1 row in set (0.00 sec)
> mysql> select * from vm_template_details where template_id=202; 
> +----+-------------+--------------------+-------+---------+
> | id | template_id | name               | value | display |
> +----+-------------+--------------------+-------+---------+
> |  1 |         202 | keyboard           | us    |       1 |
> |  2 |         202 | nicAdapter         | E1000 |       1 |
> |  3 |         202 | rootDiskController | scsi  |       1 |
> +----+-------------+--------------------+-------+---------+
> 3 rows in set (0.00 sec)
> mysql> select id,name,source_template_id from vm_template where 
> source_template_id=202;
> +-----+----------------+--------------------+
> | id  | name           | source_template_id |
> +-----+----------------+--------------------+
> | 203 | derived-debian |                202 |
> +-----+----------------+--------------------+
> 1 row in set (0.00 sec)
> mysql> select * from vm_template_details where template_id=203;
> Empty set (0.00 sec)
> {noformat}
> REPRO STEPS
> ==================
> 1. Register a template A and specify property:
> Root disk controller: scsi
> NIC adapter type: E1000
> Keyboard type: us
> 2. Create a vm instance from template A
> 3. Take volume snapshot for vm instance
> 4. Delete VM instance
> 5. Switch to "Storage->Snapshots", convert snapshot to a template B
> 6. Observe template B does not inherit property from template A, the table 
> vm_template_details is empty
> EXPECTED BEHAVIOR
> ==================
> Template should inherit property from source template
>  
> ACTUAL BEHAVIOR
> ==================
> Detail template property lost



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to