| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2019-04-08 | |||
| 12:42:31 | gtema | mordred: ok, thanks | |
| 12:48:50 | dtantsur | mordred: you're right about that | |
| 12:49:39 | dtantsur | API SIG folks, mordred, cdent, elmiko, edleafe, would you be interested in a guideline on discovering openstack API endpoints with mdns? | |
| 12:50:49 | cdent | dtantsur: are you using that? | |
| 12:51:01 | edleafe | dtantsur: um, I don't have a lot of experience (read: any experience) with mdns. What would be the main advantage? | |
| 12:51:05 | dtantsur | cdent: I have an ask to add discovery of ironic API via mdns | |
| 12:51:46 | dtantsur | it could replace endpoint_override for standalone inter-service interaction, but my use case is a bit more specific: | |
| 12:52:00 | cdent | \o/ | |
| 12:52:12 | dtantsur | we have a ramdisk in ironic that has to talk back to ironic and/or ironic-inspector on booting | |
| 12:52:31 | cdent | it does rather make sense in that context | |
| 12:52:40 | dtantsur | to do that, it needs to know ironic URL (keystone service catalog is out of question, we don't have credentials, and probably don't have access to keystone at all) | |
| 12:52:42 | cdent | but in others, now so sure | |
| 12:52:53 | cdent | s/now/not/ | |
| 12:53:28 | dtantsur | currently we pass the ironic URL via kernel command line when PXE booting. works, but is somewhat annoying. | |
| 12:53:55 | dtantsur | now people want to do things like pre-flashing ironic ramdisk to hard drives or using a flash drive with ironic or something | |
| 12:54:04 | dtantsur | no PXE here, no way to pass kernel params | |
| 12:54:23 | dtantsur | okay, this was the background. the question for this channel is whether it's something we're interested to provide guidance one | |
| 12:54:38 | cdent | I think I'd wait | |
| 12:55:02 | cdent | if you get two people wanting to do something, then's the time for guidance? | |
| 12:55:12 | dtantsur | right, okay | |
| 12:55:16 | edleafe | It does sound more like a "how to" than a guideline | |
| 12:55:33 | dtantsur | well, there is at least a question of providing a standard service fqdn | |
| 12:55:50 | dtantsur | e.g. ironic._http._tcp or openstack-baremetal._http._tcp or something more complex | |
| 12:56:04 | dtantsur | (I'm still looking at subtypes to have something like baremetal._http._tcp._openstack) | |
| 12:56:14 | dtantsur | TheJulia: if you're curious ^^^ | |
| 12:56:48 | TheJulia | curious and interested... and have 3 hours of meetings ahead of me | |
| 12:56:57 | dtantsur | ouch :( | |
| 12:57:05 | edleafe | OK, the fqdn does sound like a good candidate for guidance, so that various services don't implement contrary designs | |
| 12:57:18 | dtantsur | right | |
| 12:58:41 | cdent | I'm still curious if we can up with a situation where something other than Ironic would find this useful (I suspect we can, but I'm not thinking of it off the top of my head) | |
| 12:59:12 | cdent | That is: it's not something we'd want to encourage as "the other way of getting endpoints" because having two ways would be tireseome, presumably? | |
| 12:59:28 | mordred | oh my- many scrollbacks | |
| 12:59:45 | cdent | nope, I got nothing | |
| 13:00:41 | mordred | dtantsur: hrm. interesting | |
| 13:01:42 | mordred | dtantsur: so - we've got the well-known url entry (Which we really need to advertise more) for finding the keystone auth_url - I don't think that helps here though. .. HOWEVER | |
| 13:02:51 | mordred | if we built off of that so that the base URL/domain one would be doing a well-known url check on would similarly be the domain on which the SRV record would be looked up on - then that might not be super terrible | |
| 13:03:16 | mordred | I'd _definitely_ go with service-type keys rather than name though - baremetal._http._tcp vs ironic | |
| 13:04:00 | mordred | dtantsur: also - jamielennox started some work in keystoneauth AGES ago to be able to look things up optionally using dns | |
| 13:04:36 | cdent | (yeah, I was kind of taking service-type (not name) for granted) | |
| 13:05:25 | mordred | https://review.openstack.org/#/c/223429/ | |
| 13:05:49 | dtantsur | mordred: but how do we know *any* URL? (esp. if we don't have keystone, but we can assume we do for the sake of the exercise) | |
| 13:06:11 | mordred | dtantsur: ^^ might be worth looking at - it's more about finding auth_url - and we wound up using well-known for that | |
| 13:06:52 | dtantsur | ah, so you lookup for _openstack_keystone | |
| 13:06:55 | mordred | dtantsur: yeah - totally - I could see using mDNS for finding a root domain for local things - but sort of just thinking through it | |
| 13:07:51 | dtantsur | btw why _openstack_keystone, not just _openstack? | |
| 13:08:03 | mordred | yeah - but I agree - there's a different use case for "I'm inside of a firewall looking for the local ironic" - and "I'm looking for the auth_url to a cloud that I know is over there" | |
| 13:09:04 | mordred | dtantsur: agree. I think since the well-known url location is /.well-known/openstack/api ... then finding the auth_url via SRV record, if we supported that, would want to jst look for _openstack | |
| 13:09:44 | mordred | but then, I think given your usecase, a SRV record for _baremetal._openstack would be potentially nice - but it still requires pre-knowing a domain | |
| 13:10:35 | mordred | which would be where an mDNS option would come in I'd guess | |
| 13:12:30 | mordred | dtantsur: I think this _is_ a thing where we should consider a holistic design - because for sanity sake client-side support for it as an alternate endpoint finding method would want to go into keystoneauth | |
| 13:12:41 | mordred | given where in the stack doing these actions happens | |
| 13:13:16 | mordred | which means at the very least agreeing to and defining a protocol for it - even if ironic is the one one that implements it server-side for now | |
| 13:13:40 | dtantsur | our ramdisk doesn't use keystoneauth, otherwise I agree | |
| 13:14:15 | dtantsur | I will think more about it when I don't have to listen to a meeting :( | |
| 13:16:22 | mordred | dtantsur: fair enough re: ramdisk | |
| 13:16:50 | mordred | dtantsur: it sounds like a thing that would be a nice usability feature for ironic users anyway though - so I think definitely worth more discussion | |
| 13:27:24 | mordred | zomg | |
| 13:29:55 | dtantsur | ++ | |
| 13:32:34 | mordred | there is some really complicated testing that the mock system mocks the things that were mocked and some really tiny slices of the behavior work correctly when the rest of the stack is mocked out | |
| 13:32:59 | mordred | *basically* I think that's used to verify that self._list is called | |
| 13:32:59 | cdent | it's a sickness, a bit like heroin addiction | |
| 13:33:01 | mordred | yeah | |
| 13:34:04 | cdent | \o/ | |
| 13:34:12 | mordred | sometimes setup takes a little more work - but you get to test "does this payload from the server result in the correct object behavior in the client" - which is, of course, the thing you actually care about | |
| 13:34:27 | mordred | "Does layer 1 call hidden method 2" is completely useless to know | |
| 13:34:58 | cdent | that's the same spirit that drives gabbi, on the other side | |
| 13:35:27 | mordred | ++ | |
| 13:35:28 | dtantsur | this file is awful indeed | |
| 13:36:32 | mordred | dtantsur: I keep wanting to rip out all of the unittests using it and replace them with requests-mock based tests- but it took us about 8 months to do that with shade and it was MINDNUMBING so I haven't gotten angry enough to do it with these yet | |
| 13:36:45 | dtantsur | right | |
| 13:37:30 | dtantsur | we could start with replacing it with mocking Session. it's not perfect, but tests much more. | |
| 13:37:41 | dtantsur | as you know, I tend to write my unit tests like that | |
| 13:38:41 | mordred | yeah - althuogh we've already got a Session in each unit test that is set up with requests-mock - like, the plumbing is all there, so we don't really even have to mock session | |
| 13:40:08 | mordred | with auth and catalogs already even! :) | |
| 13:40:24 | mordred | I think the real issue is that we need to dig in to "What is this test supposed to be testing" | |
| 13:54:43 | openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Add logger to Proxy object https://review.openstack.org/650901 | |
| 13:54:43 | openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Support microversion 2.61 for nova flavors https://review.openstack.org/650902 | |
| 13:54:44 | openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: WIP Use resource layer for compute flavors https://review.openstack.org/650903 | |
| 13:54:59 | mordred | that stack is a bit of a mess still - but it's getting close | |
| 14:47:45 | elmiko | dtantsur: hey, just saw the conversation | |
| 14:48:03 | elmiko | i would need to read more about mdns before giving an opinion, but is it something we want to promote across openstack? | |
| 14:48:16 | dtantsur | I don't think I want to promote it :) | |
| 14:48:20 | elmiko | lol | |
| 14:48:46 | elmiko | i guess that's my position re: new guidelines, is it something we think everyone /should/ be doing? | |
| 14:49:46 | dtantsur | I don't think everyone should. My thought was: if ppl other than ironic do it, maybe they should do it consistently. | |
| 15:07:38 | elmiko | ok, i can definitely get behind that | |
| 15:08:10 | elmiko | so perhaps this is more us setting a good example through the guidance to help generate consistency if needed? | |
| 15:13:15 | dtantsur | yeah | |
| 15:21:47 | elmiko | dtantsur: given all that, i think you've made a good case for writing something about it. no objection from me =) | |
| 15:22:09 | dtantsur | cool :) I'll try to be brief | |
| 20:23:55 | openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Support microversion 2.61 for nova flavors https://review.openstack.org/650902 | |
| 20:23:56 | openstackgerrit | Monty Taylor proposed openstack/openstacksdk master: Use resource layer for compute flavors https://review.openstack.org/650903 | |
| 20:24:26 | mordred | Shrews: look! ^^ using the resource layer for flavors! | |
| #openstack-sdks - 2019-04-09 | |||
| 07:47:36 | openstackgerrit | Artem Goncharov proposed openstack/openstacksdk master: Update compute.server resource https://review.openstack.org/650868 | |
| 09:27:53 | gtema | mordred: in the image is it intended/desired (currently, and not in shade) to keep owner_specified.openstack.md5 in the root of the image, or under properties? | |
| 09:28:22 | gtema | it is currently done in the root of the image, but I guess make sence to move it under properties | |
| 09:29:00 | gtema | otherwise my change for allowing extending resource is required to properly use resource in the proxy layer | |
| 09:30:29 | openstackgerrit | Vishakha Agarwal proposed openstack/keystoneauth master: Update the min version of tox https://review.openstack.org/651149 | |
| 10:43:59 | openstackgerrit | Artem Goncharov proposed openstack/openstacksdk master: Update compute.server resource https://review.openstack.org/650868 | |
| 11:09:50 | openstackgerrit | Thomas Bechtold proposed openstack/openstacksdk master: baremetal: Add support for mkisofs and xorrisofs for configdrive https://review.openstack.org/651193 | |