Earlier  
Posted Nick Remark
#openstack-nova - 2018-01-02
20:01:57 mriedem efried: yes i think it will
20:02:05 efried k, thx
20:02:06 mriedem since there would be no need for rootwrap
20:02:12 efried right
20:02:15 efried esberglu ^
20:02:20 dansmith except for starting privsep
20:02:35 efried oh
20:02:44 dansmith I can't remember how we settled on that.. it might be hard-coded in privsep stuff now or something
20:03:27 mriedem i thought we did a hard-coded thing to get around grenade
20:03:32 efried Basically, trying to figure out if my driver needs that opt set to True if the only root-y stuff it does is via privsep now.
20:03:36 mriedem which was the great schizm of 2015
20:04:49 mriedem https://github.com/openstack/oslo.rootwrap/commit/37c2a041d33f0fdce7ce2832398c1f60f3ee8703
20:04:51 mriedem is what i'm thinking of
20:05:09 mriedem which is different from what dansmith is talking about, i think
20:09:05 esberglu efried: I will push a run through without use_rootwrap_daemon and confirm
20:09:44 efried esberglu Sounds like a plan. Could consider splitting that bit out of the change; I'd be +2 on the other parts.
20:20:34 openstackgerrit Matt Riedemann proposed openstack/nova stable/pike: Do not set allocation.id in AllocationList.create_all() https://review.openstack.org/530794
20:49:23 openstackgerrit Eric Fried proposed openstack/nova master: Move aggregates from report client to ProviderTree https://review.openstack.org/521685
20:49:24 openstackgerrit Eric Fried proposed openstack/nova master: Track associated sharing RPs in report client https://review.openstack.org/526539
20:49:24 openstackgerrit Eric Fried proposed openstack/nova master: Track provider traits in report client https://review.openstack.org/521686
20:49:25 openstackgerrit Eric Fried proposed openstack/nova master: ProviderTree.populate_from_iterable https://review.openstack.org/520756
20:49:25 openstackgerrit Eric Fried proposed openstack/nova master: Raise on API errors getting aggregates/traits https://review.openstack.org/526540
20:49:26 openstackgerrit Eric Fried proposed openstack/nova master: WIP: Scheduler[Report]Client.get_provider_tree https://review.openstack.org/521098
20:49:26 openstackgerrit Eric Fried proposed openstack/nova master: Track tree-associated providers in report client https://review.openstack.org/526541
20:49:27 openstackgerrit Eric Fried proposed openstack/nova master: WIP: Use update_provider_tree from resource tracker https://review.openstack.org/520246
20:49:27 openstackgerrit Eric Fried proposed openstack/nova master: WIP: ComputeDriver.update_provider_tree() https://review.openstack.org/521187
20:49:36 efried Rebase only (some manual) ^^
20:59:58 openstackgerrit Jackie Truong proposed openstack/python-novaclient master: Microversion 2.59 - Add trusted_image_certificates https://review.openstack.org/500396
21:10:13 openstackgerrit Jay Pipes proposed openstack/nova-specs master: Support aggregate affinity filters/weighers https://review.openstack.org/529135
21:26:32 mnaser what are the implications of using cpu_allocation_ratio on compute with the placement api?
21:27:23 mnaser i'm testing around cpu_allocation_ratio=2.0 on a compute node but i'm not sure if its properly reporting that number to the placement as im getting no valid host
21:28:51 jaypipes mnaser: easy enough to check... in the API database (the one placement uses, do this: SELECT * FROM inventories WHERE allocation_ratio > 1.0 AND resource_class = 0;
21:29:01 mnaser jaypipes: gah thah was an obvious one
21:29:07 jaypipes mnaser: :)
21:29:09 mnaser and i was trying to think how i was going to query the placement api
21:29:15 mnaser and making curl calls
21:29:16 mnaser :p
21:29:29 jaypipes mnaser: you could do that, too, but wouldn't be as fun ;)
21:29:44 jaypipes mnaser: FYI, VCPU == resource_class "0"
21:29:47 mnaser jaypipes: true
21:29:57 jaypipes MEMORY_MB == 1
21:29:59 jaypipes DISK_GB == 2
21:30:36 mnaser ok the allocation ratio is indeed there
21:30:45 mnaser i guess ill have to run the scheduler in verbose
21:31:32 mnaser i could swear scheduling failures were reported as warnings in the scheduler
21:31:50 mriedem "and i was trying to think how i was going to query the placement api" - osc-placement plugin has some placement CLI now
21:31:58 mnaser oh really
21:32:06 mriedem pretty minimal at this point
21:32:22 mriedem supports working on resource providers and inventories records
21:32:24 jaypipes mnaser: no, but in debug/verbose mode, you will see some log messages like "Filter XXX: Started with 10 hosts, finished with 6 hosts" or something like that.
21:33:10 dansmith mnaser: like a (statistically-consistent) boss
21:33:29 jaypipes mnaser: however it's just as good to look in the placement-api logs for the requests to GET /allocation_candidates and then I can give you the SQL to run that represents that particular request.
21:33:50 mnaser 3 schedulers, 1 running verbose, 3 build attempts and i am 0-3
21:34:15 mnaser oh duh because verbose=True is a default now and I should be debug=True
21:34:24 jaypipes heh
21:34:59 mnaser um
21:35:09 mnaser "Got no allocation candidates from the Placement API. This may be a temporary occurrence as compute nodes start up and begin reporting inventory to the Placement service."
21:35:23 mnaser i might have a bit more on my hands than i expected
21:35:40 mnaser shouldn't that be WARN instead of DEBUG?
21:36:26 jaypipes mnaser: there was a deliberate use of DEBUG for most/all messages in the scheduler code paths due to concern about performance.
21:36:28 cdent mnaser: that's what I was going to suggest: first make sure you're getting any allocations candidates, you can contrust queries direct to /allocation_candidates: https://developer.openstack.org/api-ref/placement/#allocation-candidates
21:36:45 cdent s/contrust/construct/
21:36:48 mnaser jaypipes: i see
21:36:54 jaypipes mnaser: what was the GET /allocation_candidates HTTP request you see in your logs?\
21:37:03 mnaser cdent: ok, i'll try to do that, might be a bit difficult considering the volume of traffic at the placement api
21:37:06 jaypipes placement-api logs, that is.
21:37:14 mnaser because i'm pretty sure this is some upgrade-leftover
21:37:33 mnaser let me check
21:38:22 mnaser "GET /allocation_candidates?resources=MEMORY_MB%3A65536%2CVCPU%3A64" status: 200 len: 53 microversion: 1.10
21:39:17 cdent mnaser: you can also make similar queries to /resource_providers to confirm what you think should be there is in fact there (basically a shorter version of what an /allocation_candidates query might report. you want 64 vcpus?
21:39:56 mnaser so right now i have an empty 32 physical core machine and im trying to launch 64 cores on it (with allocation ratio set to 2) -- im aware of performance implications but this is just to test out oversubscription
21:40:52 jaypipes ahhhhhhhhh
21:41:13 jaypipes mnaser: so, you will notice that max_unit is == 32 for your VCPU inventories.
21:41:28 mnaser for that host correct
21:41:41 jaypipes mnaser: this is to prevent someone from attempting to launch an instance that consumes more VCPU than the physical number of CPUs on the host.
21:41:58 jaypipes mnaser: allocation_ratio does not affect this constraint.
21:42:29 mnaser so, no single VM can have above max_unit, but the total vcpus is limited to max_unit * allocation_ratio ?
21:42:45 jaypipes mnaser: allocation_ratio only allows over-subscription of resources when min_unit <= $REQUESTED_AMOUNT <= max_unit
21:42:58 jaypipes mnaser: that is correct.
21:43:21 mnaser so everything was probably working and my lazy (launch one big instance to test overcommit) was at fault :D
21:43:29 jaypipes heh, yeah :)
21:43:32 cdent Is bauzas back yet? He'd be relishing this moment (even though I still think we made the right decision)
21:43:34 mnaser let me double check this by launching a few instances
21:44:59 mnaser and indeed, that was it
21:45:06 mnaser 2x 32c was ok
21:46:10 mnaser thanks jaypipes and everyone else for the input
21:47:36 cdent mnaser, while you're hear can you clarify something for me. above you said "might be a bit difficult considering the volume of traffic at the placement api". What did you mean by that? How is/was the traffic at the api impacting your ability to make requests of it, in this case?
21:47:44 cdent sigh: s/hear/here/
21:48:09 mnaser cdent: oh, i was doing some testing on a host aggregate on our public cloud, so the volume of traffic hitting the placement api is pretty significant
21:48:24 mnaser from compute nodes reporting inventory to VMs getting booted its pretty busy and gets churned a lot
21:49:26 cdent Okay, my suggestion was, effectively, to construst the query that the scheduler was doing, yourself, so you could isolate the "no candidates returned" problem, without having to boot anything
21:50:19 mnaser cdent: yeah, i have to admit the placement api is still one of the things that i'm not as comfortable with as the rest of nova.. but this little experience added a bunch of stuff to my 'toolkit'
21:50:38 cdent I'm the opposite :)
21:52:19 mnaser :D
22:24:16 openstackgerrit Rodolfo Alonso Hernandez proposed openstack/nova master: Change 'InstancePCIRequest' spec field https://review.openstack.org/449257
22:24:17 openstackgerrit Rodolfo Alonso Hernandez proposed openstack/nova master: Format NIC features using os-traits definitions https://review.openstack.org/466051
22:24:17 openstackgerrit Rodolfo Alonso Hernandez proposed openstack/nova master: Add Neutron port capabilities to devspec in request https://review.openstack.org/451777
22:28:07 openstackgerrit Rodolfo Alonso Hernandez proposed openstack/nova master: Read Neutron port 'binding_profile' during boot https://review.openstack.org/507481
22:36:02 eandersson Is services versions supposed to be upgraded when you upgrade the version of Openstack?
23:35:20 openstackgerrit Eric Berglund proposed openstack/nova master: PowerVM driver: ovs vif https://review.openstack.org/422512

Earlier   Later