Earlier  
Posted Nick Remark
#openstack-sdks - 2017-10-11
14:05:01 kuzko well that's nice, I used pip to fech the libray, should I update using pip or git clone?
14:05:15 kuzko *library...
14:10:01 mordred kuzko: I'm overdue for a release - so I'll try to get one cut tomorrow
14:24:02 umbSublime mordred, if you can add that feature for custom api call like we discussed yesterday in the next release (if it's ready that is) it would be awesome !!
14:25:46 mordred umbSublime: yes - I fully intend to get that in to the next release
14:26:18 umbSublime awesome!!
14:26:21 mordred umbSublime: well - next sdk release - not next shade release
14:26:45 umbSublime ohh right you guys were talking about shade, my bad :)
14:27:15 mordred umbSublime: well - hopefully that confusion will not persist for TOO much longer :)
14:27:21 umbSublime hehe
14:27:25 mordred but that certaily won't get done by tomorrow :)
14:27:41 umbSublime no worries, I have my work-around working :)
14:37:34 kuzko is shade supposed to become the SDK at a later date? ^^
14:38:34 mordred kuzko: the current proposed plan is that we merge the shade code into the sdk tree, then make the shade library a thin backwards-compat shim that wraps and uses the equivilent code in the sdk
14:38:59 mordred kuzko: so it's still totally safe to use shade today - and I do not intend to break it, well, ever
14:39:25 kuzko nice, because I think we might use it for our operations going forward
14:40:04 kuzko simplicity allow for quick newbs onboarding and teaching
14:46:21 mordred ++
14:47:38 mordred kuzko: the overall intent is to have all three types of access co-exist using the same Connection object - the object-oriented API that sdk currently has - the more procedural business-logic 'easy' api of shade - and fallback/passthrough layer for just making direct REST calls if you need something that doesnt' have a higher-level wrapper
14:48:42 mordred so you can do conn.list_servers() ... conn.compute.server.servers() and conn.compute.get('/servers') depending on your need
14:49:04 kuzko oh right, that would be sweet
14:49:57 umbSublime indeed ^^
14:50:04 mordred that way for times like today if you're like 'hi, I need to set bootable flag' I can say "crap, well, for now just do conn.block_storage.post('/volumes/{id}/action'.format(volume['id']), {'os-set_bootable': True})
14:50:43 mordred I've got most of that working locally but not passing tests yet
14:53:29 mordred (which is mostly just due to mocking issues in the tests - not actual issues)
14:56:37 mordred kuzko: so your workaroud is just to create the volume using cloud.create_volume(image=imageMA, name='ATEL-Modele-20170926',size=50) and that did properly wind up with a bootable volume yeah?
14:59:53 mordred kuzko: did you specifically want to do that in two steps? asking because if your goal is 'create a volume from this image and then boot a server from it' - you can totally do that all just in the create_server call
15:00:53 kuzko it's in two step because I want to reuse the volume to upload it at a later date, it's part of an image update script... and no, it's not doing a proper bootable volume...
15:01:17 mordred gotcha.
15:01:18 kuzko *at a later date ... in the script...
15:01:21 mordred yah
15:03:31 mordred hrm. creating the volume from an image is supposed to set bootable ... lemme go ask someone something
15:29:35 mordred kuzko: SOOO ... I've got some patches queued up to deal with this
15:29:57 mordred kuzko: but - I chatted with the cinder folks and also just did a test real quick against vexxhost doing v=c.create_volume(image='dib-ubuntu-trusty', wait=True, size=50) ... and I get v['is_bootable'] == True
15:30:44 mordred kuzko: can you verify that newvolume['is_bootable'] in your script is False? or, if it is showing True, can you paste me the error you're getting when you get it?
15:31:01 mordred (trying to figure out if there is a deeper bug somewhere)
15:32:48 kuzko 'bootable': False
15:34:32 mordred AWESOME
15:35:19 kuzko you seem awfuly entertained by a bug
15:35:34 mordred well - I'm sick in the head
16:29:36 mordred kuzko: AHA! I think I know what the issue is
16:30:36 kuzko mordred : so how bad is it?
16:30:41 mordred kuzko: your create volume call is not waiting for the volume to be ready - and cinder does not set the bootable attribute on the image until later in processing
16:30:55 kuzko oh...
16:31:09 kuzko I just have to set a wait?
16:31:45 mordred kuzko: yah. try changing cloud.create_volume(image=imageMA, name='ATEL-Modele-20170926',size=50) to cloud.create_volume(image=imageMA, name='ATEL-Modele-20170926',size=50, wait=True)
16:32:04 kuzko mordred : hang on, that makes no sense, the default value of wait is true
16:32:09 mordred oh. hrm
16:32:16 mordred kuzko: ok. nevermind. ignore me :)
16:32:23 kuzko def create_volume(
16:32:23 kuzko self, size,
16:32:23 kuzko wait=True, timeout=None, image=None, **kwargs):
16:32:28 mordred yup. you're very right
16:34:37 mordred kuzko: the cinder team are curious as to what version of cinder you're running - if you happen to know
16:35:28 kuzko :~$ cinder --version
16:35:29 kuzko 3.2.0
16:38:28 kuzko mordred : should I use an other?
16:39:20 mordred kuzko: nah - if you have time, would you mind running with http logging set like: http://paste.openstack.org/show/623372/ and pasting the (likely annoying long) results?
16:39:50 kuzko mordred : paste not running
16:42:54 mordred kuzko: https://etherpad.openstack.org/p/ihJXPoJon5
16:42:57 kuzko mordred : alright there you go https://pastebin.com/ZK990uxi
16:43:12 mordred kuzko: sweet - thankyou very much - I appreciate your help here
16:47:21 kuzko tell me if there is something more i can do about it
16:48:27 mordred ooh- look at line 59 - it's not passing imageRef - I think the reason it's not bootable is that it's not even creating it from the image
16:48:54 kuzko hu... what?
16:53:02 mordred yah. so - that'll be the next rabbit hole to dive down
16:54:25 mordred kuzko: I think I see it ... your script does a get_image for 'ATEL-Modele-Latest' ... but I do not see that image in your image list
16:54:49 mordred kuzko: so I thinkn imageMA is coming back None, which you are then passing to create_volume
16:55:47 kuzko indeed, I am also a dumbass for not checking my code
16:55:57 kuzko and my tenant
16:56:29 mordred well - also shade is failing at figuring out that you requested something it can't do
16:57:30 mordred I have an idea for solving that ...
16:57:36 mordred at least for this use case
17:01:37 kuzko print("dude, you're doing it wrong, that image doesn't exist")
17:01:51 kuzko mordred : maybe?
17:03:05 mordred :)
17:03:07 mordred kuzko: amusingly enough - if you had just passed image='ATEL-Modele-Latest' to create_volume, you would get an exception
17:03:57 kuzko ah... yeah, that makes sense
17:07:31 kuzko god, yeah, i'm stupid, so much time for a freaking varaible misshap
17:07:36 kuzko *variable
17:07:50 kuzko anyhow, thank you mordred
17:18:01 mordred kuzko: well - it certainly shows a place where there is potential for very confusing user mishap - and we've also gotten 2 shiny new patches pushed up
17:18:05 mordred kuzko: so thanks!
17:23:06 kuzko anyway, gotta go thanks for the help !
17:52:24 hyang hi there, I'm working on openstackclient and wondering how we deal with password cache in current version? I know we used to have keyring support long time ago but that was removed.
17:53:55 hyang If we don't want store password in env and not using the token flow, is there any other option to avoid typing password every time?
19:12:07 openstackgerrit Eric Fried proposed openstack/keystoneauth master: Add EndpointData.__str__ for debugging https://review.openstack.org/489413
19:13:58 openstackgerrit Eric Fried proposed openstack/keystoneauth master: WIP: Return the endpoint_override from EndpointData https://review.openstack.org/491947
19:56:29 dtroyer hyang: yes, you can put it in ~/.config/openstack/clouds.yaml
20:14:07 enis_ I'm trying to retrieve details about a specific project using it's name but `conn.identity.projects(name='pr-name')` returns all the projects even though a project by the specified name exists. Is there a different parameter I should be using?
20:15:48 enis_ Using conn.keystone.projects.list(name='pr-name') works but I'd like to use single sdk.
#openstack-sdks - 2017-10-12
12:31:09 elmiko cdent: were you referring to the openstack-sigs ml?
12:31:15 cdent ya
12:31:20 elmiko ack
12:33:18 cdent elmiko: is not your bad, nor anybody’s bad
12:33:26 cdent just occured to me that we’ve got that list, may as well use it
12:37:23 elmiko you are correct though, we should be talking about it on that list
12:37:40 elmiko i certainly don't want to contribute to anything that would exclude apac folks
12:37:58 elmiko i can see that having the discussion at our meeting doesn't really help them =(
12:38:24 elmiko part of this too is that i have some baggage about the last apac meetings we held, i need to drop that

Earlier   Later