template.download will periodically check for the template download status.
I didn't test it but it is a small change. So LGTM!!

On Tue, Nov 3, 2015 at 7:16 PM, michaelandersen <g...@git.apache.org> wrote:

> Github user michaelandersen commented on a diff in the pull request:
>
>     https://github.com/apache/cloudstack/pull/1028#discussion_r43748177
>
>     --- Diff: test/integration/smoke/test_vpc_vpn.py ---
>     @@ -570,127 +584,139 @@ def test_vpc_site2site_vpn(self):
>              finally:
>                  self.assertIsNotNone(ntwk2, "Network failed to create")
>
>     -        self.logger.debug("Network %s created in VPC %s" %(ntwk2.id,
> vpc2.id))
>     +        self.logger.debug("Network %s created in VPC %s" % (ntwk2.id,
> vpc2.id))
>
>              # Deploy a vm in network 2
>              try:
>                  vm1 = VirtualMachine.create(self.apiclient,
> services=self.services["virtual_machine"],
>     -                templateid=self.template.id,
>     -                zoneid=self.zone.id,
>     -                accountid=self.account.name,
>     -                domainid= self.account.domainid,
>     -                serviceofferingid=self.service_offering.id,
>     -                networkids=ntwk1.id,
>     -
> hypervisor=self.services["virtual_machine"]["hypervisor"]
>     -            )
>     +                                        templateid=self.template.id,
>     +                                        zoneid=self.zone.id,
>     +                                        accountid=self.account.name,
>     +
> domainid=self.account.domainid,
>     +                                        serviceofferingid=
> self.service_offering.id,
>     +                                        networkids=ntwk1.id,
>     +                                        hypervisor=self.services[
>     +
> "virtual_machine"]["hypervisor"]
>     +                                        )
>              except Exception as e:
>                  self.fail(e)
>              finally:
>                  self.assert_(vm1 is not None, "VM failed to deploy")
>                  self.assert_(vm1.state == 'Running', "VM is not running")
>
>     -        self.logger.debug("VM %s deployed in VPC %s" %(vm1.id,
> vpc1.id))
>     +        self.logger.debug("VM %s deployed in VPC %s" % (vm1.id,
> vpc1.id))
>
>              # Deploy a vm in network 2
>              try:
>                  vm2 = VirtualMachine.create(self.apiclient,
> services=self.services["virtual_machine"],
>     -                templateid=self.template.id,
>     -                zoneid=self.zone.id,
>     -                accountid=self.account.name,
>     -                domainid= self.account.domainid,
>     -                serviceofferingid=self.service_offering.id,
>     -                networkids=ntwk2.id,
>     -
> hypervisor=self.services["virtual_machine"]["hypervisor"]
>     -            )
>     +                                        templateid=self.template.id,
>     +                                        zoneid=self.zone.id,
>     +                                        accountid=self.account.name,
>     +
> domainid=self.account.domainid,
>     +                                        serviceofferingid=
> self.service_offering.id,
>     +                                        networkids=ntwk2.id,
>     +                                        hypervisor=self.services[
>     +
> "virtual_machine"]["hypervisor"]
>     +                                        )
>              except Exception as e:
>                  self.fail(e)
>              finally:
>                  self.assert_(vm2 is not None, "VM failed to deploy")
>                  self.assert_(vm2.state == 'Running', "VM is not running")
>
>     -        self.debug("VM %s deployed in VPC %s" %(vm2.id, vpc2.id))
>     +        self.debug("VM %s deployed in VPC %s" % (vm2.id, vpc2.id))
>
>              # 4) Enable Site-to-Site VPN for VPC
>              vpn1_response = Vpn.createVpnGateway(self.apiclient, vpc1.id)
>     -        self.assert_(vpn1_response is not None, "Failed to enable VPN
> Gateway 1")
>     +        self.assert_(
>     +            vpn1_response is not None, "Failed to enable VPN Gateway
> 1")
>              self.logger.debug("VPN gateway for VPC %s enabled" % vpc1.id)
>
>              vpn2_response = Vpn.createVpnGateway(self.apiclient, vpc2.id)
>     -        self.assert_(vpn2_response is not None, "Failed to enable VPN
> Gateway 2")
>     +        self.assert_(
>     +            vpn2_response is not None, "Failed to enable VPN Gateway
> 2")
>              self.logger.debug("VPN gateway for VPC %s enabled" % vpc2.id)
>
>              # 5) Add VPN Customer gateway info
>              src_nat_list = PublicIPAddress.list(
>     -                                        self.apiclient,
>     -                                        account=self.account.name,
>     -
> domainid=self.account.domainid,
>     -                                        listall=True,
>     -                                        issourcenat=True,
>     -                                        vpcid=vpc1.id
>     -                                        )
>     +            self.apiclient,
>     +            account=self.account.name,
>     +            domainid=self.account.domainid,
>     +            listall=True,
>     +            issourcenat=True,
>     +            vpcid=vpc1.id
>     +        )
>              ip1 = src_nat_list[0]
>              src_nat_list = PublicIPAddress.list(
>     -                                        self.apiclient,
>     -                                        account=self.account.name,
>     -
> domainid=self.account.domainid,
>     -                                        listall=True,
>     -                                        issourcenat=True,
>     -                                        vpcid=vpc2.id
>     -                                        )
>     +            self.apiclient,
>     +            account=self.account.name,
>     +            domainid=self.account.domainid,
>     +            listall=True,
>     +            issourcenat=True,
>     +            vpcid=vpc2.id
>     +        )
>              ip2 = src_nat_list[0]
>
>              services = self.services["vpncustomergateway"]
>     -        customer1_response =
> VpnCustomerGateway.create(self.apiclient, services, "Peer VPC1",
> ip1.ipaddress, vpc1.cidr, self.account.name, self.domain.id )
>     -        self.debug("VPN customer gateway added for VPC %s enabled" %
> vpc1.id )
>     +        customer1_response = VpnCustomerGateway.create(
>     +            self.apiclient, services, "Peer VPC1", ip1.ipaddress,
> vpc1.cidr, self.account.name, self.domain.id)
>     +        self.debug("VPN customer gateway added for VPC %s enabled" %
> vpc1.id)
>              self.logger.debug(vars(customer1_response))
>
>     -        customer2_response =
> VpnCustomerGateway.create(self.apiclient, services, "Peer VPC2",
> ip2.ipaddress, vpc2.cidr, self.account.name, self.domain.id )
>     -        self.debug("VPN customer gateway added for VPC %s enabled" %
> vpc2.id )
>     +        customer2_response = VpnCustomerGateway.create(
>     +            self.apiclient, services, "Peer VPC2", ip2.ipaddress,
> vpc2.cidr, self.account.name, self.domain.id)
>     +        self.debug("VPN customer gateway added for VPC %s enabled" %
> vpc2.id)
>              self.logger.debug(vars(customer2_response))
>
>              # 6) Connect two VPCs
>     -        vpnconn1_response = Vpn.createVpnConnection(self.apiclient,
> customer1_response.id, vpn2_response['id'], True)
>     +        vpnconn1_response = Vpn.createVpnConnection(
>     +            self.apiclient, customer1_response.id,
> vpn2_response['id'], True)
>              self.debug("VPN passive connection created for VPC %s" %
> vpc2.id)
>
>     -        vpnconn2_response = Vpn.createVpnConnection(self.apiclient,
> customer2_response.id, vpn1_response['id'])
>     +        vpnconn2_response = Vpn.createVpnConnection(
>     +            self.apiclient, customer2_response.id,
> vpn1_response['id'])
>              self.debug("VPN connection created for VPC %s" % vpc1.id)
>
>     -        self.assertEqual(vpnconn2_response['state'], "Connected",
> "Failed to connect between VPCs!")
>     +        self.assertEqual(
>     +            vpnconn2_response['state'], "Connected", "Failed to
> connect between VPCs!")
>
>              # acquire an extra ip address to use to ssh into vm2
>              try:
>                  vm2.public_ip = PublicIPAddress.create(
>     -                                    apiclient=self.apiclient,
>     -                                    accountid=self.account.name,
>     -                                    zoneid=self.zone.id,
>     -                                    domainid=self.account.domainid,
>     -                                    services=self.services,
>     -                                    networkid=ntwk2.id,
>     -                                    vpcid=vpc2.id)
>     +                apiclient=self.apiclient,
>     +                accountid=self.account.name,
>     +                zoneid=self.zone.id,
>     +                domainid=self.account.domainid,
>     +                services=self.services,
>     +                networkid=ntwk2.id,
>     +                vpcid=vpc2.id)
>              except Exception as e:
>                  self.fail(e)
>              finally:
>     -            self.assert_(vm2.public_ip is not None, "Failed to
> aqcuire public ip for vm2")
>     -
>     +            self.assert_(
>     +                vm2.public_ip is not None, "Failed to aqcuire public
> ip for vm2")
>
>              # Create port forward to be able to ssh into vm2
>              try:
>     -            natrule = self.create_natrule(vpc2, vm2, 22, 22,
> vm2.public_ip, ntwk2)
>     +            natrule = self.create_natrule(
>     +                vpc2, vm2, 22, 22, vm2.public_ip, ntwk2)
>              except Exception as e:
>                  self.fail(e)
>              finally:
>     -            self.assert_(natrule is not None, "Failed to create
> portforward for vm2")
>     -            time.sleep(10)
>     +            self.assert_(
>     +                natrule is not None, "Failed to create portforward
> for vm2")
>     +            time.sleep(20)
>     --- End diff --
>
>     nope not the essence of this change, that was the waiting for the
> template download which has been implemented using the template.download
> method.
>
>     the time sleep is to catch anything else that could be slow in certain
> environments, such as vm deployment.
>
>
> ---
> If your project is set up for it, you can reply to this email and have your
> reply appear on GitHub as well. If your project does not have this feature
> enabled and wishes so, or if the feature is enabled but not working, please
> contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
> with INFRA.
> ---
>

Reply via email to