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

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

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

    https://github.com/apache/cloudstack/pull/1417#discussion_r54068802
  
    --- Diff: test/integration/component/test_deploy_vm_from_snapshot.py ---
    @@ -0,0 +1,644 @@
    +# Licensed to the Apache Software Foundation (ASF) under one
    +# or more contributor license agreements.  See the NOTICE file
    +# distributed with this work for additional information
    +# regarding copyright ownership.  The ASF licenses this file
    +# to you under the Apache License, Version 2.0 (the
    +# "License"); you may not use this file except in compliance
    +# with the License.  You may obtain a copy of the License at
    +#
    +#   http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing,
    +# software distributed under the License is distributed on an
    +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +# KIND, either express or implied.  See the License for the
    +# specific language governing permissions and limitations
    +# under the License.
    +
    +# Import Local Modules
    +from marvin.codes import FAILED, PASS
    +from nose.plugins.attrib import attr
    +from marvin.cloudstackTestCase import cloudstackTestCase
    +from marvin.cloudstackAPI import seedTemplateFromVmSnapshot
    +from marvin.lib.utils import cleanup_resources, validateList
    +from marvin.lib.base import (Account,
    +                             DiskOffering,
    +                             ServiceOffering,
    +                             VirtualMachine,
    +                             VmSnapshot,
    +                             Volume)
    +from marvin.lib.common import (get_zone,
    +                               get_domain,
    +                               get_template)
    +import urllib
    +import tempfile
    +import os
    +import time
    +from functools import reduce
    +
    +
    +class TestDeployVm(cloudstackTestCase):
    +
    +    @classmethod
    +    def setUpClass(cls):
    +        testClient = super(TestDeployVm, cls).getClsTestClient()
    +        cls.apiclient = testClient.getApiClient()
    +        cls._cleanup = []
    +        cls.unsupportedHypervisor = False
    +        cls.hypervisor = testClient.getHypervisorInfo()
    +        if not cls.hypervisor.lower() in "vmware":
    +            cls.unsupportedHypervisor = True
    +            return
    +
    +        cls.services = testClient.getParsedTestDataConfig()
    +        # Get Zone, Domain and templates
    +        cls.domain = get_domain(cls.apiclient)
    +        cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
    +
    +        template = get_template(
    +            cls.apiclient,
    +            cls.zone.id,
    +            cls.services["ostype"]
    +        )
    +        if template == FAILED:
    +            assert False, "get_template() failed to return template\
    +                    with description %s" % cls.services["ostype"]
    +
    +        cls.services["domainid"] = cls.domain.id
    +        cls.services["small"]["zoneid"] = cls.zone.id
    +        cls.services["templates"]["ostypeid"] = template.ostypeid
    +        cls.services["zoneid"] = cls.zone.id
    +
    +        # Create VMs, NAT Rules etc
    +        cls.account = Account.create(
    +            cls.apiclient,
    +            cls.services["account"],
    +            domainid=cls.domain.id
    +        )
    +        cls._cleanup.append(cls.account)
    +
    +        cls.service_offering = ServiceOffering.create(
    +            cls.apiclient,
    +            cls.services["service_offerings"]["tiny"]
    +        )
    +
    +        cls.service_offering1 = ServiceOffering.create(
    +            cls.apiclient,
    +            cls.services["service_offerings"]["small"]
    +        )
    +        cls.disk_offering = DiskOffering.create(cls.apiclient,
    +                                                
cls.services["disk_offering"])
    +        cls._cleanup.append(cls.service_offering)
    +        cls._cleanup.append(cls.service_offering1)
    +        cls._cleanup.append(cls.disk_offering)
    +        cls.virtual_machine = VirtualMachine.create(
    +            cls.apiclient,
    +            cls.services["small"],
    +            templateid=template.id,
    +            accountid=cls.account.name,
    +            domainid=cls.account.domainid,
    +            serviceofferingid=cls.service_offering.id,
    +            mode=cls.zone.networktype
    +        )
    +
    +        cls.vm_snp = VmSnapshot.create(cls.apiclient,
    +                                       vmid=cls.virtual_machine.id,
    +                                       )
    +
    +        return
    +
    +    @classmethod
    +    def tearDownClass(cls):
    +        try:
    +            # Cleanup resources used
    +            cleanup_resources(cls.apiclient, cls._cleanup)
    +        except Exception as e:
    +            raise Exception("Warning: Exception during cleanup : %s" % e)
    +        return
    +
    +    def setUp(self):
    +        self.apiclient = self.testClient.getApiClient()
    +        self.dbclient = self.testClient.getDbConnection()
    +        self.cleanup = []
    +
    +        if self.unsupportedHypervisor:
    +            self.skipTest("Skipping test because unsupported hypervisor\
    +                    %s" % self.hypervisor)
    +        return
    +
    +    def tearDown(self):
    +        try:
    +            # Clean up, terminate the created instance, volumes and 
snapshots
    +            cleanup_resources(self.apiclient, self.cleanup)
    +        except Exception as e:
    +            raise Exception("Warning: Exception during cleanup : %s" % e)
    +        return
    +
    +    @attr(tags=["basic", "advanced", "advancedns", "smoke"],
    --- End diff --
    
    Since these tests are valid only for vmware, please remove tags basic and 
advancedns from the tags list.


> [Automation] deploy vm from vm snapshot
> ---------------------------------------
>
>                 Key: CLOUDSTACK-9289
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9289
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Automation
>            Reporter: prashant kumar mishra
>            Assignee: prashant kumar mishra
>
> Automating test cases for feature "Deploy vm from vm snapshot"
> FS:
> ==
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Deploy+instance+from+VM+snapshot
> test case result
> ============
> create volume from vmshnapshot and verify usage ... === TestName: 
> test_01_create_volume_from_vmsnapshot | Status : SUCCESS ===
> ok
> create volume from vm snapshot and download ... === TestName: 
> test_02_create_volume_from_vmsnapshot | Status : SUCCESS ===
> ok
> create volume from snapshot and attach to vm ... === TestName: 
> test_03_create_volume_from_vmsnapshot | Status : SUCCESS ===
> ok
> Test to create VM from vm snapshots without data disk ... === TestName: 
> test_01_create_vm_from_vmsnapshots | Status : SUCCESS ===
> ok
> deploy vm from snaphsot , ssh and verify data ... === TestName: 
> test_02_create_vm_from_vmsnapshots_and_verify_data | Status : SUCCESS ===
> ok
> Seed template and then deploy vm and check if time ... === TestName: 
> test_03_seed_template_from_vmsnapshot | Status : SUCCESS ===
> ok
> ----------------------------------------------------------------------
> Ran 6 tests in 1781.242s
> OK



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

Reply via email to