Earlier  
Posted Nick Remark
#openstack-nova - 2017-07-05
17:01:18 mriedem yeah
17:09:58 sean-k-mooney mriedem: stephenfin running neutron ext-list on master also dos not have the dns extention enabled by default
17:18:10 sean-k-mooney igordcard: o/
17:19:19 melwitt dansmith: what did you mean by "get back the instance" before conductor is called? like if they did a GET and got an instance that was made from a BuildRequest?
17:20:24 dansmith melwitt: well, I mean: I do a create, I get back my instance uuid, which previously meant that I passed my quota check already, so I could wait for it to either go active or error
17:20:49 dansmith melwitt: now, I get that back, and for a split second, the instance continues to be in my list, but then goes away
17:20:53 dtp mriedem was your comment on https://review.openstack.org/#/c/464280/ for me?
17:21:00 melwitt oh
17:21:18 melwitt hmm
17:21:33 dansmith melwitt: I have scripts that poll instance list for the instance I just created
17:21:41 dansmith which will be confused as the instance will now just disappear
17:22:09 dansmith melwitt: definitely a behavioral change, so I think going to error instead of deleted is required here, right?
17:22:25 dansmith which will put them over budget by one, but it's a shell of an instance anyway
17:23:57 melwitt dansmith: yeah, I need to look at it in more detail bc what I'm doing there is deleting the record from the instances table, which isn't what you would have been seeing in your instance list prior to conductor finishing its work. but whatever exception handling that happens from the OverQuota raise might probably wipe out the BuildRequest that was giving the instance back before
17:24:25 dansmith you're following the same pattern as the other resources, but those are created and deleted synchronously
17:24:57 dansmith melwitt: yeah, I think the buildreq will be gone, but you're not wiping out the instance record,
17:24:57 sean-k-mooney mriedem: stephenfin so if i deploy designate i get dns-integration added when i run neutron ext-list
17:25:03 dansmith melwitt: you're setting it to deleted
17:25:12 dansmith melwitt: which is still findable via the instance map until purge
17:25:14 melwitt yeah, I know. the instances table record is created synchronously there too, it's just that prior to that, a BuildRequest is used to present an instance to keep the same behavior we had before moving instance create to conductor
17:25:25 dansmith melwitt: synchronous to the api call Imea
17:25:28 dansmith *I mean
17:25:43 melwitt okay, yeah
17:26:33 sean-k-mooney mriedem: stephenfin this adds some dns field to the port info http://paste.openstack.org/show/614483/
17:26:52 melwitt dansmith: so yeah, probably that's the only thing we can do, set it to ERROR
17:26:58 dansmith melwitt: aye
17:27:16 dansmith melwitt: and we need an instance action or fault message or something so people can tell why
17:27:29 dansmith melwitt: otherwise they'll just go create again, which I guess will probably fail immediately, but still
17:28:00 melwitt dansmith: right. yeah, good point
17:32:44 melwitt dansmith: I have a crazy idea of maybe counting BuildRequests as part of the instances count. not sure if there's any gotchas there
17:33:01 melwitt to make it so we dont return an instance if we go over quota during a race in the first place
17:33:07 dansmith melwitt: meaning counting both and taking the sum?
17:33:31 melwitt yeah
17:33:38 dansmith I don't think you can do that naively unless you filter out the dupes, because we do have dupes for a bit right?
17:33:49 sean-k-mooney stephenfin: if i boot a new instace after designate is there it correct populates the server name from the create command into the hostname and fqdn fields http://paste.openstack.org/show/614486/
17:34:07 dansmith melwitt: we create the instance and then delete the buildreq so the api code starts looking at the actual instance, IIRC
17:34:19 melwitt dansmith: hm, I didn't realize it dupes
17:34:25 melwitt yeah
17:34:29 melwitt dangit
17:34:31 dansmith melwitt: two different databases, so it can't be atomic
17:52:31 jaypipes bauzas, cdent, dansmith: sorry for being absent today, guys :( been struggling with allergies all day. can't seem to shake em.
17:53:17 cdent jaypipes: hot baths and spicy foods
17:53:35 jaypipes cdent: yes, but not together.
17:53:46 cdent spicy foods in the hot tub!
17:54:03 dansmith jaypipes: s'okay, I'm allergic to florida too
17:54:12 jaypipes dansmith: ack
17:55:40 dims LOL
18:26:37 openstackgerrit Rodolfo Alonso Hernandez proposed openstack/nova master: Read Neutron port 'binding_profile' during boot https://review.openstack.org/449257
18:49:40 ildikov mriedem: hi
18:50:13 ildikov mriedem: patches are nice and green if you would happen to have time to review: https://review.openstack.org/#/q/topic:bp/cinder-new-attach-apis :)
19:18:29 openstackgerrit Matt Riedemann proposed openstack/nova master: Fix error message when support matrix entry is missing a driver https://review.openstack.org/480708
19:22:22 openstackgerrit Rick Bartra proposed openstack/nova master: Add policy granularity to the Flavors API https://review.openstack.org/449288
19:46:34 openstackgerrit Matt Riedemann proposed openstack/nova master: Add ability to signal and perform online volume size change https://review.openstack.org/454322
19:47:19 efried mordred https://review.openstack.org/#/c/479818 looks like exactly a case where your new stuff needs to be used.
19:47:42 mordred efried: yup. if you don't beat me to it - I'll write a patch
19:48:04 efried mordred And all the supporting code is merged at this point?
19:48:12 efried And in a ksa release that's percolated through g-r?
19:48:36 mordred efried: yes - merged. no - not released yet - need to respond to some reviews on the docs update patch
19:48:55 mordred efried: and I was hoping I could get the service-types support in
19:49:13 efried mordred Then the novaclient patch has to wait for that, neh?
19:49:50 mordred efried: yah - although if it's urgent we could likely talk to folks about cutting a release once the docs patch lands, then doing another one once service-types is in
20:33:51 openstackgerrit Mathieu Gagné proposed openstack/nova master: Add ability to signal and perform online volume size change https://review.openstack.org/454322
22:57:04 openstackgerrit Michael Still proposed openstack/nova master: Only setup iptables for metadata if using nova-net https://review.openstack.org/480765
#openstack-nova - 2017-07-06
00:37:25 openstackgerrit Matt Riedemann proposed openstack/nova master: Add ability to signal and perform online volume size change https://review.openstack.org/454322
01:27:00 Kevin_Zheng ping mriedem
01:27:21 mriedem pong
01:29:50 Kevin_Zheng Hi, about tag creation
01:29:54 Kevin_Zheng http://git.openstack.org/cgit/openstack/nova/tree/nova/objects/tag.py#n70
01:30:33 Kevin_Zheng it is a class method and takes ['tag1','tag2'] as param
01:30:44 Kevin_Zheng so I think it cannot be used directly
01:30:54 mriedem because we have a TagList,
01:31:01 mriedem so you'd have to convert the TagList to a list of simple tags
01:31:15 mriedem tags = [tag.tag for tag in tags]
01:31:18 mriedem something like that right?
01:31:26 Kevin_Zheng besides, build_request contains TagList.obj so I build taglist in API layer
01:31:27 Kevin_Zheng yes
01:32:32 mriedem i wonder if people would be ok with checking the type for the tags parameter in TagList.create
01:32:42 mriedem and if it's a TagList, convert it to a simple form
01:33:27 mriedem it's just a lot more efficient to do it that way in a single call if we have multiple tags for the server
01:34:00 mriedem because every separate tag create call does this extra _check_instance_exists_in_project db query
01:34:02 mriedem and context switch
01:34:28 Kevin_Zheng you mean do it in objects/tag.py?
01:34:53 mriedem well that would abstract the check which would be nice and clean, but people might not like that, like dansmith
01:35:25 mriedem otherwise we could just convert the TagList to a simple list in the conductor method
01:35:37 mriedem i think passing the TagList object from the compute api to conductor is still ok and what we want
01:36:24 Kevin_Zheng yeah, and we also need it in build_request
01:36:33 mriedem sure i think that's fine
01:36:50 mriedem i wish TagList just had a non-classmethod create() but that would conflict with the classmethod
01:37:13 mriedem we could add a TagList.create_all(context) or something
01:37:22 mriedem TagList.create_all(context, resource_id)
01:37:35 mriedem which would use the tags already stored in the TagList
01:37:48 mriedem create_all() is a confusing name when there is already a create() method
01:37:54 Kevin_Zheng yeah
01:38:07 mriedem i'm just kicking out ideas, i could talk to dan in the morning,
01:38:24 mriedem but i'd really like to do the create in the single call fashion rather than iterate in conductor manager
01:38:44 Kevin_Zheng OK, I will have a try and have all the other comments addressed
01:38:46 Kevin_Zheng first
01:38:53 mriedem the simplest way to do that today is just doing tags = [tag.tag for tag in tags] in conductor manager
01:39:13 mriedem we could always move ^ into TagList later if we wanted
01:39:27 Kevin_Zheng OK

Earlier   Later