Friday, 2023-07-21

opendevreviewMerged openstack/tempest master: Skip test_list_all_networks if no known network configured  https://review.opendev.org/c/openstack/tempest/+/88389200:39
gmannmelwitt: we can try that, I also do not think we need to keep historical timing data04:34
gmannmelwitt: also I am still waiting for this concurrency increase change which should decrease job time to noticeable amount https://review.opendev.org/c/openstack/tempest/+/887220/704:34
gmannmost of the time, workers stay ideal when scenario test run as they need to run serially I need to check if we make a few of the scenario test in parallel 04:35
gmannslow scenario tests already has been separated out to tempest-slow job, I hopeful concurrency increase should solve the job timeout issues04:49
gmannlet's see04:49
opendevreviewMaxim Sava proposed openstack/tempest master: Add image task client and image tests task APIs.  https://review.opendev.org/c/openstack/tempest/+/88875511:06
opendevreviewMerged openstack/tempest master: Run test_port_security_macspoofing_port slow tests serially  https://review.opendev.org/c/openstack/tempest/+/88912912:11
opendevreviewMerged openstack/devstack master: Support RHEL 9  https://review.opendev.org/c/openstack/devstack/+/87336112:35
dansmithmelwitt: they're grouped by class always because we force it that way13:06
dansmithmelwitt: I did look at alphabetical distribution of the classes because I thought we have too many "Test..." and "Server..." class names, but it doesn't seem like it's actually distributed that way when I look at some samples13:07
dansmithmeaning one worker gets some Attach.. and Volume... tests13:07
opendevreviewMaxim Sava proposed openstack/tempest master: Add image task client and image tests task APIs.  https://review.opendev.org/c/openstack/tempest/+/88875513:19
dansmithgmann: do we need to run the scenario tests alone? because that definitely increases the linear time14:09
dansmithmelwitt: so I'm not sure adding random will help, but it's worth a shot to confirm14:15
opendevreviewMerged openstack/devstack master: Switch TLS tests to TLSv1.2+ only  https://review.opendev.org/c/openstack/devstack/+/67073916:37
gmanndansmith: in past as well as in current attempt of slow scenario test to run parallel cause some race condition and  fail. 16:40
dansmithgmann: ack16:41
dansmithit's astounding how hard it is to get a +1 on a patch right now :/16:41
gmannyeah, let me think on those. at least slow job is almost half of them time now16:44
dansmithnot on the other projects, that I've seen16:45
dansmithbut on tempest yeah16:45
opendevreviewGhanshyam proposed openstack/tempest master: Increase the default concurrency for tempest run  https://review.opendev.org/c/openstack/tempest/+/88722016:58
opendevreviewGhanshyam proposed openstack/tempest master: Increase the default concurrency for tempest run  https://review.opendev.org/c/openstack/tempest/+/88722016:59
gmanndansmith: humm server actions test class is too large than I expected it :) reviewing your change17:06
dansmithgmann: yeah it's huge17:07
dansmithgmann: so, I know this is a can of worms, but have you ever considered letting tests use a little bit of threading to parallelize some setup tasks?17:13
dansmiththere is a neutron test that takes 84s on my system, but it creates two servers and a port, all serialized, before it starts doing what it really wants to do17:14
dansmithand that goes 20s faster on my system if I delegate those activities to threads17:14
dansmiththere are some other tests like volume multi-attach which are probably similar17:14
dansmithplaces where we create a volume and server serially and then attach could likely see some speedup there17:15
gmannI am wondering if we see more race condition due to that, we experience that in scenario tests17:15
dansmithwell, you'd have to be careful of course, and only really allow it for things that are really separate, like creating two unrelated servers or a volume and a server17:16
dansmithit's just that we have some tests that run in <1s and some that take five minutes to run17:16
dansmithtestr considers those equivalent because it doesn't know better17:17
gmannbut how many tests we have who create multiple servers in setup ? it should be fewer17:18
dansmithwould you consider stashing a common testr run file in the job so that we don't always run with no time history? we could update that file periodically, but starting from any known-good run would likely help it make better decisions17:18
dansmithgmann: it's not just multiple servers, server+volume would benefit too, but if you look at stackviz, there are some reeeealy chunky single tests, and many of them are servers and volumes (or two servers and a volume in the case of multiattach)17:19
dansmithanyway, I know it's not a silver bullet, just looking for whatever gains we can get :)17:19
gmannbut those are async call at service side right at least creation17:20
gmannbut yes we can parallel the waiter things for resource to particular status like SSHABLE, Available etc17:20
dansmithwell, not if we wait for active or sshable before we get on to the next thing17:20
dansmithand also, create server creates lots of other stuff like validation resources17:20
dansmiththis is the one I was playing with: https://opendev.org/openstack/tempest/src/branch/master/tempest/api/compute/servers/test_attach_interfaces.py#L29517:21
dansmithcreate port before we do anything,17:21
dansmiththen create one server and validation resources, wait for active, then create another, wait for active, then check sshable on each17:22
dansmiththe port and server creations can all run in parallel17:22
dansmithanyway, I know it's a can of worms17:23
dansmithI'm just looking for where we can shrink some of the way-too-big single tests17:23
gmannI feel waiter is the key thing which we can untie from resource creation and run in parallel. like create server1 (wait_until=None), create server2 (wait_until=None), wait for server1 status, wait for server2 status17:26
gmannI remember in some tests we did that wya17:27
gmannbut I agree that if we can do parallel creation of different service resources it will be helpful 17:27
dansmithyeah, you can only get so far with just the waiters, but definitely that's where most of the gain is17:27
gmannwe made create_server common method so heavy that it takes lot of time17:28
dansmithyeah17:29
gmannit is difficult to do all test refactoring for parallelism but we can observe and make note of those slow running tests and make improvement in those gradually 17:30
opendevreviewDan Smith proposed openstack/tempest master: Reorder server and port creation for overlap  https://review.opendev.org/c/openstack/tempest/+/88919617:34
dansmithgmann: here's one ^17:34
dansmith10s gain vs 20s with threads.. better than nothing17:34
gmanndansmith: lgtm, 1 comment there about wait17:39
gmanncool17:39
dansmithgmann: ack thanks17:40
opendevreviewDan Smith proposed openstack/tempest master: Reorder server and port creation for overlap  https://review.opendev.org/c/openstack/tempest/+/88919617:46
opendevreviewDan Smith proposed openstack/tempest master: Reorder device rescue with volume for overlap  https://review.opendev.org/c/openstack/tempest/+/88919817:46
dansmithgmann: fixed the first one and here's another that saves almost 20s locally ^17:46
gmannnice, will check them.17:47
opendevreviewDan Smith proposed openstack/tempest master: Overlap volume and server creation in backup  https://review.opendev.org/c/openstack/tempest/+/88920018:00
*** melwitt is now known as jgwentworth18:26
opendevreviewDan Smith proposed openstack/tempest master: Avoid duplicate server creation in rebuild test  https://review.opendev.org/c/openstack/tempest/+/88920218:43
dansmithgmann: this is a juicy one ^18:43
dansmithkopecmartin: around by change to get this headed into gate? https://review.opendev.org/c/openstack/tempest/+/88910918:44
dansmithchange? chance.18:45
gmanndansmith: nice, i am doing for scenario tests and there are lot of such cases there18:45
dansmithcool18:47
opendevreviewGhanshyam proposed openstack/tempest master: Optimize the resource creation and status waiting in scenario tests  https://review.opendev.org/c/openstack/tempest/+/88920719:14
gmanndansmith: ^^ I audited the scenario tests (there are a few network tests which need refactoring  too) and modified the one that needs parallel resource creation/status waiting19:17
dansmithgmann: ack19:21
opendevreviewAshley Rodriguez proposed openstack/devstack-plugin-ceph master: Remote Ceph with cephadm  https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/87674719:53
opendevreviewGhanshyam proposed openstack/tempest master: Optimize the resource creation and status waiting in scenario tests  https://review.opendev.org/c/openstack/tempest/+/88920720:39
dansmithno timeouts on any of these patches so far is pretty awesome20:45
*** haleyb is now known as haleyb_out21:54

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!