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

ASF subversion and git services commented on CLOUDSTACK-9637:
-------------------------------------------------------------

Commit f70428a2321277adc58adbb553d96e19b9ca0727 in cloudstack's branch 
refs/heads/master from [~rohit.ya...@shapeblue.com]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=f70428a ]

Merge pull request #1805 from sudhansu7/CLOUDSTACK-9637

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
```

* pr/1805:
  CLOUDSTACK-9637: Template create from snapshot does not populate 
vm_template_details

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>


> 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