RFR(XS): 8189213: [TESTBUG] Running jtreg tests on machine without docker shows extra message
David Holmes
david.holmes at oracle.com
Thu Nov 9 01:40:42 UTC 2017
On 9/11/2017 1:22 AM, mikhailo wrote:
>
>
> On 11/07/2017 06:01 PM, David Holmes wrote:
>> Hi Misha,
>> On 8/11/2017 7:36 AM, mikhailo wrote:
>>>>> Does it work for you Bob? David, are you OK with this approach?
>>>> I think this is an improvement and I’m ok with this approach but I
>>>> don’t see that it will save that much time.
>>>> Starting docker takes a while (worse the first time). I’ve seen
>>>> 1sec startup times. Let see what David thinks
>>>> of the /tmp caching idea. You’d have to put the user that found and
>>>> successfully ran docker and have to deal
>>>> with multi-process write access to the file.
>>> OK. There is another option that will work well, but requires one
>>> extra input from user. We could designate a property that would state
>>> whether a host is docker capable. When user wishes to execute docker
>>> tests locally she/he will set the property to true. When executed via
>>> Oracle automated test system, the system will set this property to
>>> true on docker capable test nodes. All that VMProps will do is check
>>> the property, so no docker ps any more, not even searching for docker
>>> on a known locations.
>>>
>>> As for naming, I can propose this: jdk.test.lib.docker.capable.node.
>>> Alternative suggestions of names welcome.
>>>
>>> This makes the check clear, simple and reliable. What do you think?
>>
>> This doesn't work if the intent is that we happen to add a
>> docker-enabled machine to a test pool. You can't selectively set the
>> property only when run on the right host (if you could then we'd only
>> run the tests on that host in the first place).
>>
>> But you seemed to have moved from fixing this bug - 8189213 - to
>> trying to address the new RFE 8190730.
> You are right. I got carried away with this discussion.
>
> I should fix the "JDK-8189213 - [TESTBUG] Running jtreg tests on machine
> without docker shows extra message" first, and then work on
>
> "JDK-8190730 - [TESTBUG] Calling 'docker ps' from VMProps.java to
> determine presence of docker engine is deemed too heavy".
>
>
> So, the fix for this issue is simple, as we agreed before - remove the
> message. Here is a webrev:
> http://cr.openjdk.java.net/~mseledtsov/8189213.02/
>
> May I count you as a Reviewer for JDK-8189213?
Yes - and this is a trivial change so only one review needed.
Thanks,
David
>
> Thank you,
> Misha
>
>
> P.S. As for JDK-8190730, I will try to summarize the discussion in the
> comments of the JBS issue.
>
>>
>> Thanks,
>> David
>>
>>>
>>> Thank you,
>>> Misha
>>>
>>>
>>>>
>>>> Bob.
>>>>
>>>>
>>>>>> This is probably breaking new ground, but can we cache the result
>>>>>> of “docker ps” in /tmp in order to eliminate the performance
>>>>>> overhead for all but the first time a new user runs these tests?
>>>>> I try to keep this solution simple. If you and David approve the
>>>>> solution above, I will implement and test it. If we find any
>>>>> problems, either during my testing or during test production, we
>>>>> could look into caching mechanisms.
>>>>>
>>>>>
>>>>> Thank you,
>>>>> Misha
>>>>>> Bob.
>>>>>>>
>>>>>>> Thank you,
>>>>>>> Misha
>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> David
>>>>>>>>
>>>>>>>>> Let me know what you think. I can revert this part of the
>>>>>>>>> change or reduce the timeout value a bit more.
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> Misha
>>>>>>>>>>> For this change under review, if I do not hear opinions from
>>>>>>>>>>> other reviewers, I can simply delete the print statement.
>>>>>>>>>> Sounds good to me.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> David
>>>>>>>>>>
>>>>>>>>>>> Thank you,
>>>>>>>>>>> Misha
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> David
>>>>>>>>>>>>
>>>>>>>>>>>> On 3/11/2017 7:03 AM, mikhailo wrote:
>>>>>>>>>>>>> Please review this simple change that makes the error
>>>>>>>>>>>>> message in jtreg-ext/requires/VMProps.java conditional
>>>>>>>>>>>>> on java property "vmprops.trace.verbose". W/o this
>>>>>>>>>>>>> condition an error message is printed each time any jtreg
>>>>>>>>>>>>> test is ran, including non-docker tests.
>>>>>>>>>>>>>
>>>>>>>>>>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8189213
>>>>>>>>>>>>> Webrev:
>>>>>>>>>>>>> http://cr.openjdk.java.net/~mseledtsov/8189213.00/
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ======= Background and details:
>>>>>>>>>>>>> VMProps.java is called for each test run of jtreg (be it a
>>>>>>>>>>>>> run containing a singe test or multiple tests).
>>>>>>>>>>>>> VMProps evaluates the @requires properties. Therefore, in
>>>>>>>>>>>>> case of this bug, any time a user runs any jtreg VM test
>>>>>>>>>>>>> on a machine w/o an operational docker engine, this error
>>>>>>>>>>>>> will pop up.
>>>>>>>>>>>>> The fix makes printing of this error message conditional,
>>>>>>>>>>>>> off by default. The message can be turend on
>>>>>>>>>>>>> via a property vmprops.trace.verbose when detailed
>>>>>>>>>>>>> diagnostic info is desired.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ======== Testing:
>>>>>>>>>>>>> Local testing:
>>>>>>>>>>>>> W/o docker present:
>>>>>>>>>>>>> jtreg <arbitrary-jtreg-test>
>>>>>>>>>>>>> No error message
>>>>>>>>>>>>> jtreg -Dvmprops.trace.verbose=true
>>>>>>>>>>>>> <arbitrary-jtreg-test>
>>>>>>>>>>>>> Detailed error message
>>>>>>>>>>>>> jtreg DockerBasicTest.java
>>>>>>>>>>>>> Test skipped
>>>>>>>>>>>>>
>>>>>>>>>>>>> With docker installed but no permissions:
>>>>>>>>>>>>> jtreg <arbitrary-jtreg-test>
>>>>>>>>>>>>> No error message
>>>>>>>>>>>>> jtreg -Dvmprops.trace.verbose=true
>>>>>>>>>>>>> <arbitrary-jtreg-test>
>>>>>>>>>>>>> Detailed error message
>>>>>>>>>>>>> jtreg DockerBasicTest.java
>>>>>>>>>>>>> Test skipped
>>>>>>>>>>>>>
>>>>>>>>>>>>> With docker installed and operational:
>>>>>>>>>>>>> jtreg <arbitrary-jtreg-test>
>>>>>>>>>>>>> No error message
>>>>>>>>>>>>> jtreg -Dvmprops.trace.verbose=true
>>>>>>>>>>>>> <arbitrary-jtreg-test>
>>>>>>>>>>>>> No error message
>>>>>>>>>>>>> jtreg DockerBasicTest.java
>>>>>>>>>>>>> Test passed
>>>>>>>>>>>>>
>>>>>>>>>>>>> Testing via automated distributed test system:
>>>>>>>>>>>>> - tier1
>>>>>>>>>>>>> - docker tests
>>>>>>>>>>>>> In progress
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>> Misha
>>>>>>>>>>>>>
>>>
>
More information about the hotspot-runtime-dev
mailing list