ManageIQ / integration_tests

ManageIQ integration tests
GNU General Public License v2.0
69 stars 164 forks source link

Unable to set and unset ownership for Cloud instances #5038

Closed nachandr closed 7 years ago

nachandr commented 7 years ago

https://paste.fedoraproject.org/paste/3TABZclj2Buyh8p5kHH2wg

This issue happens with Cloud instances only and not infra VMs.

mshriver commented 7 years ago

@nachandr the linked paste has been removed it looks like.

This should at least be partially addressed in the framework in #4872, which I will be trying to get updated and merged in this sprint (Cowbell).

mshriver commented 7 years ago

@nachandr I'm unable to reproduce any failures with cloud.instance 'SetOwnership' navigation or form filling in the framework.

Can you comment on what the original failure was, or was that fedoraproject pastebin the only record?

I'm going to close this issue without any fixes if I don't hear back from you by Aug 22nd

mshriver commented 7 years ago
2017-08-18 00:09:22,406 [E] @pytest.yield_fixture(scope="module")
    def vm_ownership(clean_setup_provider, provider):
        # In these tests, chargeback reports are filtered on VM owner.So,VMs have to be
        # assigned ownership.
        vm_name = provider.data['cap_and_util']['chargeback_vm']

        if not provider.mgmt.does_vm_exist(vm_name):
            pytest.skip("Skipping test, cu-24x7 VM does not exist")
        if not provider.mgmt.is_vm_running(vm_name):
            provider.mgmt.start_vm(vm_name)
            provider.mgmt.wait_vm_running(vm_name)

        cb_group = ac.Group(description='EvmGroup-user')
        user = ac.User(name=provider.name + fauxfactory.gen_alphanumeric(),
            credential=new_credential(),
            email='abc@example.com',
            group=cb_group,
            cost_center='Workload',
            value_assign='Database')

        vm = VM.factory(vm_name, provider)

        try:
            user.create()
>           vm.set_ownership(user=user.name)

cfme/tests/intelligence/reports/test_validate_chargeback_report.py:92:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    def set_ownership(self, user=None, group=None, click_cancel=False, click_reset=False):
        """Set ownership of the VM/Instance or Template/Image"""
>       sel.click(self.find_quadicon(False, False, False, use_search=False))
E       TypeError: find_quadicon() takes exactly 1 argument (5 given)

cfme/common/vm.py:481: TypeError (fixtures/log.py:70)
2017-08-18 00:09:23,472 [I] (rest-api) [RESTAPI] GET https://10.8.197.179/api/providers {} (/home/nachandr/virtualenv/lib/python2.7/site-packages/manageiq_client/api.py:84)

@nachandr provided the log snippet above, thanks!

The common method is still using find_quadicon and isn't handling the difference between web_ui infra.vm's and widgetastic cloud.instances

mshriver commented 7 years ago

May wait until #5113 is complete to address this update in cfme/common/vm.py, if its not already addressed there.