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

    https://github.com/apache/cloudstack/pull/691#discussion_r37381189
  
    --- Diff: test/integration/component/test_persistent_networks.py ---
    @@ -1459,6 +1459,135 @@ def test_delete_account(self):
     
             return
     
    +    def test_volume_delete_event_errorState(self):
    +        """
    +        @summary: Test volume delete event generation in error state 
condition
    +        @Steps:
    +
    +        Step1: Create  a network using network created in Step1
    +        Step2: Verifying that  network creation is successful
    +        Step3: Login to Virtual router and add iptable  rule to block 
insertion of vm rules
    +        Step6: deploy a vm using network created in step2
    +        Step7: check the Vm status for failure
    +        Step8: destroy and expunge the vm
    +        Step9: list the generated events for volume delete event.
    +        """
    +
    +        # Listing all the networks available
    +
    +        account = Account.create(
    +            self.api_client,
    +            self.services["account"],
    +            domainid=self.domain.id)
    +
    +        network = Network.create(
    +            self.apiclient,
    +            self.services["isolated_network"],
    +            networkofferingid=self.isolated_persistent_network_offering.id,
    +            accountid=self.account.name,
    +            domainid=self.domain.id,
    +            zoneid=self.zone.id)
    +
    +        response = verifyNetworkState(
    +            self.apiclient,
    +            network.id,
    +            "implemented")
    +        exceptionOccured = response[0]
    +        isNetworkInDesiredState = response[1]
    +        exceptionMessage = response[2]
    +
    +        if (exceptionOccured or (not isNetworkInDesiredState)):
    +            self.fail(exceptionMessage)
    +        self.assertIsNotNone(
    +            network.vlan,
    +            "vlan must not be null for persistent network")
    +        try:
    +            if self.zone.networktype == "Basic":
    +                list_router_response = list_routers(
    +                    self.apiclient,
    +                    listall="true"
    +                )
    +            else:
    +                list_router_response = list_routers(
    +                    self.apiclient,
    +                    account=self.account.name,
    +                    domainid=self.account.domainid
    +                )
    +            self.assertEqual(
    +                isinstance(list_router_response, list),
    +                True,
    +                "Check list response returns a valid list"
    +            )
    +            router = list_router_response[0]
    +
    +            self.debug("Router ID: %s, state: %s" % (router.id, 
router.state))
    +
    +            self.assertEqual(
    +                router.state,
    +                'Running',
    +                "Check list router response for router state"
    +            )
    +            self.hypervisor = self.testClient.getHypervisorInfo()
    +            if self.hypervisor.lower() in ('vmware', 'hyperv'):
    +                result = get_process_status(
    +                    self.apiclient.connection.mgtSvr,
    +                    22,
    +                    self.apiclient.connection.user,
    +                    self.apiclient.connection.passwd,
    +                    router.linklocalip,
    +                    "iptables -I INPUT 1 -j DROP",
    +                    hypervisor=self.hypervisor
    +                )
    +            else:
    +                try:
    +                    hosts = list_hosts(
    +                        self.apiclient,
    +                        zoneid=router.zoneid,
    +                        type='Routing',
    +                        state='Up',
    +                        id=router.hostid
    +                    )
    +
    +                    self.assertEqual(
    +                        isinstance(hosts, list),
    +                        True,
    +                        "Check list host returns a valid list"
    +                    )
    +
    +                    host = hosts[0]
    +                    result = get_process_status(
    +                        host.ipaddress,
    +                        22, "root", "xenroot", router.linklocalip,
    +                        "iptables -I INPUT 1 -j DROP"
    +                    )
    +
    --- End diff --
    
    I believe this is a double hop to router from the host instead of 
management server. Do you think you can use get_host_credentials for getting 
host password instead of hard coding?
    Otherwise LGTM


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