On (17/03/16 16:00), Oleg Fayans wrote:
>Hi Lukas,
>
>On 03/17/2016 11:28 AM, Lukas Slebodnik wrote:
>> On (10/03/16 23:09), Oleg Fayans wrote:
>>> Hi Martin,
>>>
>>>
>>>
>>> On 03/08/2016 08:18 PM, Martin Basti wrote:
>>>>
>>>>
>>>> On 08.03.2016 18:24, Martin Basti wrote:
>>>>>
>>>>>
>>>>> On 08.03.2016 12:38, Oleg Fayans wrote:
>>>>>> The patches were rebased against the current master
>>>>>>
>>>>>> On 03/04/2016 05:33 PM, Martin Basti wrote:
>>>>>>> * old messages have been removed *
>>>>>>>>>>> 1)
>>>>>>>>>>> this method is unused please remove it
>>>>>>>>>>>
>>>>>>>>>>>       def test_kra_install_master(self):
>>>>>>>> Well, in fact it is used twice: in both domain levels, so I'd better
>>>>>>>> keep it:
>>>>>>>>
>>>>>>>> -bash-4.3$ ipa-run-tests test_integration/test_replica_promotion.py
>>>>>>>> --collect-only
>>>>>>>> ====================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>> test session starts
>>>>>>>> =====================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>> platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3
>>>>>>>> rootdir: /usr/lib/python2.7/site-packages/ipatests, inifile:
>>>>>>>> pytest.ini
>>>>>>>> plugins: sourceorder, multihost
>>>>>>>> collected 8 items
>>>>>>>> <Module 'test_integration/test_replica_promotion.py'>
>>>>>>>>     <Class 'TestReplicaPromotionLevel0'>
>>>>>>>>       <Instance '()'>
>>>>>>>>         <Function 'test_kra_install_master'>
>>>>>>>>         <Function 'test_promotion_disabled'>
>>>>>>>>         <Function 'test_backup_restore'>
>>>>>>>>     <Class 'TestKRAInstall'>
>>>>>>>>       <Instance '()'>
>>>>>>>>         <Function 'test_kra_install_without_replica_file'>
>>>>>>>>     <Class 'TestCAInstall'>
>>>>>>>>       <Instance '()'>
>>>>>>>>         <Function 'test_ca_install_without_replica_file'>
>>>>>>>>     <Class 'TestReplicaPromotionLevel1'>
>>>>>>>>       <Instance '()'>
>>>>>>>>         <Function 'test_kra_install_master'>
>>>>>>>>         <Function 'test_replica_prepare_disabled'>
>>>>>>>>     <Class 'TestReplicaManageCommands'>
>>>>>>>>       <Instance '()'>
>>>>>>>>         <Function 'test_replica_manage_commands'>
>>>>>>> aah my bad, I forgot that pytest executes it when it begins with test_*
>>>>>>> even in parent class
>>>>>>>>>>> 2)
>>>>>>>>>>> Why are these there? I do not see any usage
>>>>>>>>>>>
>>>>>>>>>>> from env_config import get_global_config
>>>>>>>>>>> config = get_global_config()
>>>>>>>> Removed
>>>>>>>>
>>>>>>>>>>> 3) nitpick
>>>>>>>>>>> +    num_clients = 0
>>>>>>>>>>> this is set by default
>>>>>>>> Removed
>>>>>>>>
>>>>>>>>>>> otherwise LGTM
>>>>>>>>>>>
>>>>>>>>>>> Results of testing tomorrow.
>>>>>>>>>>>
>>>>>>>>>>> Martin^2
>>>>>>>>>>>
>>>>>>>>>> I applied all patches including workarounds, but test failed.
>>>>>>>>>>
>>>>>>>>>> ipatests.test_integration.test_replica_promotion.TestReplicaPromotionLevel0
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51] RUN
>>>>>>>>>> ['ipa-replica-install', '-U', '-p', 'Secret123', '-w', 'Secret123',
>>>>>>>>>> '--setup-ca', '--ip-address', '192.168.144.102',
>>>>>>>>>> '/root/ipatests/replica-info.gpg']
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51] The host
>>>>>>>>>> replica1.ipa.test already exists on the master server.
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51] You should
>>>>>>>>>> remove it before proceeding:
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51] % ipa
>>>>>>>>>> host-del replica1.ipa.test
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51]
>>>>>>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    The
>>>>>>>>>> ipa-replica-install command failed. See
>>>>>>>>>> /var/log/ipareplica-install.log for more information
>>>>>>>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd51] Exit
>>>>>>>>>> code: 3
>>>>>>>>>> FAILED
>>>>>>>> this is exactly the error that happens when a workaround for 5627
>>>>>>>> is not
>>>>>>>> applied. I have re-run the tests with all the patches and everything
>>>>>>>> passed. Could you please double-check, whether patch 0027 was applied
>>>>>>>> correctly?
>>>>>>>>
>>>>>>>> bash-4.3$ ipa-run-tests test_integration/test_replica_promotion.py
>>>>>>>> --pdb
>>>>>>>> ====================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>> test session starts
>>>>>>>> =====================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>> platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3
>>>>>>>> rootdir: /usr/lib/python2.7/site-packages/ipatests, inifile:
>>>>>>>> pytest.ini
>>>>>>>> plugins: sourceorder, multihost
>>>>>>>> collected 8 items
>>>>>>>>
>>>>>>>> test_integration/test_replica_promotion.py ........
>>>>>>>>
>>>>>>>> ================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>> 8 passed in 7561.93 seconds
>>>>>>>> =================================================================================
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> I will
>>>>>>>
>>>>>>>>> And it needs ticket, otherwise it will not be in 4-3 branch.
>>>>>>>> https://fedorahosted.org/freeipa/ticket/5723
>>>>> NACK
>>>>>
>>>>> 1)
>>>>> ipatests.test_integration.test_replica_promotion.TestReplicaPromotionLevel0
>>>>>
>>>>>
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.ParamikoTransport]
>>>>> RUN ['ipa-replica-install', '-U', '-p', 'Secret123', '-w',
>>>>> 'Secret123', '--setup-ca', '--ip-address', '192.168.200.103', '-r',
>>>>> 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65] RUN
>>>>> ['ipa-replica-install', '-U', '-p', 'Secret123', '-w', 'Secret123',
>>>>> '--setup-ca', '--ip-address', '192.168.200.103', '-r', 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65] IPA client is
>>>>> already configured on this system, ignoring the --domain, --server,
>>>>> --realm, --hostname, --password and --keytab options.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65] Your system
>>>>> may be partly configured.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65] Run
>>>>> /usr/sbin/ipa-server-install --uninstall to clean up.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65]
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    You must
>>>>> provide a file generated by ipa-replica-prepare to create a replica
>>>>> when the domain is at level 0.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    The
>>>>> ipa-replica-install command failed. See
>>>>> /var/log/ipareplica-install.log for more information
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd65] Exit code: 1
>>>>> FAILED
>>>>>
>>>>> 2)
>>>>> ipatests.test_integration.test_replica_promotion.TestKRAInstall
>>>>>
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.ParamikoTransport]
>>>>> RUN ['ipa-replica-install', '-U', '-p', 'Secret123', '-w',
>>>>> 'Secret123', '--setup-ca', '--ip-address', '192.168.200.103', '-r',
>>>>> 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] RUN
>>>>> ['ipa-replica-install', '-U', '-p', 'Secret123', '-w', 'Secret123',
>>>>> '--setup-ca', '--ip-address', '192.168.200.103', '-r', 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] IPA client is
>>>>> already configured on this system, ignoring the --domain, --server,
>>>>> --realm, --hostname, --password and --keytab options.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Your system
>>>>> may be partly configured.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Run
>>>>> /usr/sbin/ipa-server-install --uninstall to clean up.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    You must
>>>>> provide a file generated by ipa-replica-prepare to create a replica
>>>>> when the domain is at level 0.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    The
>>>>> ipa-replica-install command failed. See
>>>>> /var/log/ipareplica-install.log for more information
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Exit code: 1
>>>>> FAILED
>>>>>
>>>>>
>>>>> 3)
>>>>> ipatests.test_integration.test_replica_promotion.TestCAInstall
>>>>>
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.ParamikoTransport]
>>>>> RUN ['ipa-replica-install', '-U', '-p', 'Secret123', '-w',
>>>>> 'Secret123', '--setup-dns', '--forwarder', '10.34.78.1',
>>>>> '--ip-address', '192.168.200.103', '-r', 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] RUN
>>>>> ['ipa-replica-install', '-U', '-p', 'Secret123', '-w', 'Secret123',
>>>>> '--setup-dns', '--forwarder', '10.34.78.1', '--ip-address',
>>>>> '192.168.200.103', '-r', 'IPA.TEST']
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] IPA client is
>>>>> already configured on this system, ignoring the --domain, --server,
>>>>> --realm, --hostname, --password and --keytab options.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Your system
>>>>> may be partly configured.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Run
>>>>> /usr/sbin/ipa-server-install --uninstall to clean up.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    You must
>>>>> provide a file generated by ipa-replica-prepare to create a replica
>>>>> when the domain is at level 0.
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22]
>>>>> ipa.ipapython.install.cli.install_tool(Replica): ERROR    The
>>>>> ipa-replica-install command failed. See
>>>>> /var/log/ipareplica-install.log for more information
>>>>> [ipa.ipatests.test_integration.host.Host.replica2.cmd22] Exit code: 1
>>>>> FAILED
>>>>>
>>>>>
>>>>> Reason:
>>>>>
>>>>>  def install_replica(master, replica, setup_ca=True, setup_dns=False,
>>>>> -                    setup_kra=False, extra_args=()):
>>>>> +                    setup_kra=False, extra_args=(), domain_level=None):
>>>>> +    if domain_level is None:
>>>>> +        domain_level = domainlevel(master)
>>>
>>> Oops. Sorry, must have been a result of inaccurate rebase. Fixed
>>> The successful run is attached
>>>
>>>>>
>>>>> -    if domainlevel(master) == DOMAIN_LEVEL_0:
>>>>> +    if domainlevel == DOMAIN_LEVEL_0:
>>>>>
>>>>> domain_level variable is actually unused
>>>>>
>>>> Also with your patch that removes host_prepare, I see many following
>>>> errors in test debug output
>>>>
>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd8] -bash: line 1:
>>>> cd: /root/ipatests: No such file or directory
>>>> [ipa.ipatests.test_integration.host.Host.replica1.cmd8] -bash: line 2:
>>>> /root/ipatests/env.sh: No such file or directory
>>>>
>>>>
>>>> I do not see these errors in current tests, so the patch does not seem
>>>> right to me.
>>>
>>> http://jenkins.idm.lab.eng.brq.redhat.com:8080/job/freeipa-integration-f23master-customized_ds_config_install-domlevel-1/23/consoleFull
>>>
>>> I've been experimenting a lot to find get rid of it but was
>>> unsuccessful. Seemingly it does not affect the tests.
>>>
>> Oleg it looks like you broke something
>> in the test_integration/test_external_ca.py
>> 
>> _______________________ TestExternalCA.test_external_ca 
>> ________________________
>> 
>> self = <ipatests.test_integration.test_external_ca.TestExternalCA object at 
>> 0x7ff560a51750>
>> 
>>     def test_external_ca(self):
>>         # Step 1 of ipa-server-install
>>         self.master.run_command([
>>             'ipa-server-install', '-U',
>>             '-a', self.master.config.admin_password,
>>             '-p', self.master.config.dirman_password,
>>             '--setup-dns', '--no-forwarders',
>>             '-n', self.master.domain.name,
>>             '-r', self.master.domain.realm,
>>             '--domain-level=%i' % self.master.config.domain_level,
>>             '--external-ca'
>>         ])
>>     
>>         nss_db = os.path.join(self.master.config.test_dir, 'testdb')
>>         external_cert_file = os.path.join(nss_db, 'ipa.crt')
>>         external_ca_file = os.path.join(nss_db, 'ca.crt')
>>         noisefile = os.path.join(self.master.config.test_dir, 'noise.txt')
>>         pwdfile = os.path.join(self.master.config.test_dir, 'pwdfile.txt')
>>     
>>         # Create noise and password files for NSS database
>>>       self.master.run_command('date | sha256sum > %s' % noisefile)
>> 
>> test_integration/test_external_ca.py:49: 
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
>> _ _ 
>> ../pytest_multihost/host.py:246: in run_command
>>     command.wait(raiseonerr=raiseonerr)
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
>> _ _ 
>> 
>> self = <pytest_multihost.transport.SSHCommand object at 0x7ff5609eb610>
>> raiseonerr = True
>> 
>>     def wait(self, raiseonerr=True):
>>         """Wait for the remote process to exit
>>     
>>             Raises an excption if the exit code is not 0, unless raiseonerr 
>> is
>>             true.
>>             """
>>         if self._done:
>>             return self.returncode
>>     
>>         self._end_process()
>>     
>>         self._done = True
>>     
>>         if raiseonerr and self.returncode:
>>             self.log.error('Exit code: %s', self.returncode)
>>>           raise subprocess.CalledProcessError(self.returncode, self.argv)
>> E           CalledProcessError: Command 'date | sha256sum > 
>> /root/ipatests/noise.txt' returned non-zero exit status 1
>> 
>> ../pytest_multihost/transport.py:159: CalledProcessError
>> ---------------------------- Captured stdout setup 
>> -----------------------------
>> <ipatests.test_integration.config.Config object at 0x7ff560a51cd0>
>> ========================== 1 failed in 32.25 seconds 
>> ===========================
>> 
>> 
>> 
>> The command "date | sha256sum > /root/ipatests/noise.txt"
>> 
>> The only explanation is that the directory /root/ipatests/ does not exist.
>
>Obviously this is caused by my patch N 0025
>freeipa-ofayans-0025-Removed-a-constantly-failing-call-to-prepare_host.patch
>
>Without it replica_promotion tests would fail. The only compromise I see
>is to remove this line in unapply_fixes function in
>ipatests/test_integration/tasks.py:
>
>host.run_command(['rm', '-rvf', host.config.test_dir])
>
>Now the biggest question is: why do we keep removing the config folder
>anyway? All the files (backups of /etc/hosts, etc) that ever get there
>get overwritten each time anyway so it's quite safe to just keep the
>folder throughout the whole test execution.
>
I do not know why it was removed. IMHO it shoudl be enough
to remove just content of this directory.

But it will bee godd to fix it ASAP
and unblock test test_integration/test_external_ca.py
I hope we want to have green test in 4.3 branch.
Please also open a ticket so it can be backported to
stable branch (if needed)

LS

-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to