16:03:08 #startmeeting ironic_neutron 16:03:09 Sukhdev: Good morning 16:03:09 Meeting started Mon Jun 15 16:03:08 2015 UTC and is due to finish in 60 minutes. The chair is Sukhdev. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:03:10 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:03:12 The meeting name has been set to 'ironic_neutron' 16:03:20 o/ 16:03:37 #topic: Agenda 16:03:43 #link: https://wiki.openstack.org/wiki/Meetings/Ironic-neutron 16:04:07 #topic: Announcements 16:04:24 Folks, we have two specs which are looking very good 16:04:44 thanks to jroll and lauramoore for pushing the updated versions 16:05:06 I see lots of people left some good comments 16:05:27 I just wanted to go over these specs quickly 16:05:42 And, also want to ask if anybody wants to add anything to the agenda? 16:06:25 #topic: Network Flip spec 16:06:31 #link: https://review.openstack.org/#/c/187829/ 16:07:20 jroll: can you spend few minutes to address your concern about the API? 16:08:01 did others have opportunity to review it? 16:08:16 jroll is in two meetings :-) 16:08:29 Sukhdev: can we add neutron-side questions to the agenda 16:08:49 viveknarasimhan: what do you in mind? 16:09:25 Sukhdev: 1) I need to think about it more :) 16:10:18 Sukhdev: we can take that after discussing prime Ironic things in this meeting 16:10:51 viveknarasimhan: sounds good 16:12:47 jroll: still waiting for your 2) :-) 16:14:21 lazy_prince: did you have a chance to review the updated version of the specs? 16:14:38 Sukhdev: oh, I take back the 2) :P 16:14:44 yes.. i did.. and it looks good to me.. 16:15:02 jroll: ah ha - you fooled me :-) 16:15:17 very basic question from a newbie of ironic on 'NetworkProvider' driver in the net-flip spec. When is this driver called? 16:15:24 sorry Sukhdev :P 16:15:50 network provider :) 16:17:12 amotoki: jroll can give more precise answer, my understating is during deploy phase, 16:17:47 amotoki: prior to the local boot of node 16:17:48 aha.. when.. okay.. here is the answer.. 16:17:54 I am a neutron guy and need to study more... I just wonder when new methods are called in the procedure of launcing instance. 16:18:34 first.. before image is deployed on server.. 16:19:03 and second, after the server is provisioned.. 16:20:08 jroll: anything specific you want to talk about API? 16:20:19 during first part, the node will be connected to the provisioning network (where server can PXE boot and reach ironic APIs.. 16:20:50 Sukhdev: no, I need to think on it more. it will be similar, let's focus on any other questinos etc 16:21:15 during second part, it will be connected to the tenant network where there will be no connectivity to PXE and Ironic APIs. 16:22:10 lazy_prince: For the initial connectivity on the provisioning network, Neutron is not involved right? 16:22:21 it is... 16:22:37 viveknarasimhan: in both cases, neutron is involved 16:22:45 lazy_prince: maybe from somewhere here? https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/pxe.py#L290 16:22:50 viveknarasimhan: the provisioning network is a neutron network. 16:22:56 In the first case do we take action, I mean neutron takes any action? 16:22:57 jroll: why do we need two different network for cleaning and provisioning.. ? 16:23:07 wouldn't bind-requested be False in the first boot 16:23:08 viveknarasimhan: yes 16:23:30 lazy_prince: some deployers may want that as untrusted machines are coming into cleaning. could be configured to be the same network, though 16:24:06 in my understanding, we can use a same network for provisioning and cleaning, but we can use separate networks. 16:24:28 jroll: then someone should configure that in the config file.. right..? 16:24:44 jroll: is that captured in the spec..? 16:24:52 lazy_prince: correct. maybe? not sure :) 16:25:19 lazy_prince: I thought I saw cleaning network in the spec 16:25:49 lazy_prince line no 198 it is mentioned 16:25:50 but I see only one config (provisioing_network) now 16:26:39 please note that on the spec so I can fix it :) 16:26:45 amotoki: you may want to leave a comment there - I think it should be there as well 16:27:05 Sukhdev: sure. I just know the spec and am reading it now :-) 16:27:13 Sukhdev: thats for provisioning network. we are talking about cleaning network.. i left a comment on the spec. 16:27:17 Sukhdev: ok, I'm clear of my other meeting now, you have my full attention :) 16:27:44 jroll: cool - thanks 16:28:01 lazy_prince: good 16:28:40 jroll: lazy_prince: so, if the deployer wants to you use cleaning network, then we are switching between three networks 16:28:53 i.e. provisioning, cleaning and tenant network 16:29:08 Sukhdev: yes. cleaning happens after "nova delete". shouldn't be a problem. 16:29:22 All three should be in the config - if not already there 16:29:33 tenant network should not be in config, but yes I get what you mean :) 16:29:37 two should be in the config. 16:29:50 and lazy_prince fwiw cleaning_network is already in the config, maybe that's why I didn't add it to the spec 16:30:36 jroll: Oh in that case, you can just clarify for the new readers :-) 16:30:44 Sukhdev: indeed 16:30:58 is it so...? Sorry if i missed it.. but as of now, there is no network switching in ironic. i wonder how is it being done today.. 16:31:34 lazy_prince: it's used to set up dhcp for cleaning things. generally assumed to be the same network as the provisioning/tenant networks 16:32:14 lazy_prince: since usually nova initializes the ports used for provisioning network 16:32:16 lazy_prince: https://github.com/openstack/ironic/blob/master/ironic/dhcp/neutron.py#L52 16:32:28 aha.. i get it now.. 16:32:49 jroll: on a flat network, they will be all same, right - that is what you mean? 16:32:54 ah.. got it. 16:33:05 Sukhdev: yes 16:33:18 but ironic needed to know what that network was somehow 16:34:35 So, jroll, this spec looks pretty good to me, hence I gave it a +1 16:35:05 I will change my vote then.. 16:35:19 most of the discussion is essentially clarifications 16:35:28 ok great 16:35:33 still need ironic people to review it more :) 16:35:43 devananda: are you here? 16:36:01 jroll: yes, we need ironic cores to bless it 16:36:18 jroll: may be nova folks too 16:36:39 Sukhdev: I'll talk to nova folks about it 16:36:44 don't think it should be a big deal 16:36:49 and will mention it in ironic meeting 16:37:05 jroll: cool - thanks 16:37:20 Anything else on this spec? 16:37:33 Any other questions/clarifications? 16:37:48 Please leave comments on the spec so that jroll can clear it up 16:37:53 ++ 16:38:13 Shall we move to next spec? 16:38:26 #topic: Port connectivity spec 16:38:30 #link: https://review.openstack.org/#/c/188528/2 16:38:46 Laura or Bertie are not here 16:38:55 Sukhdev, I just joined 16:39:02 apologies for being late 16:39:07 lauramoore: perfect timing :-) 16:39:26 This spec looks good as well 16:39:44 so first off, thanks to everyone who has commented so far, i'm just going through the comments now 16:40:19 I did not see any show stopper 16:40:34 I think it looks good in general. 16:40:48 regarding neutron side, I am thinking to define a new field for a neutron port to pass physical information rather than using a binding:profile in Neutron. 16:40:50 so I reviewed this shortly before the meeting, and it's looking good so far. just lots of questions from me, but nothing major :) 16:41:08 amotoki: +1 16:41:13 binding:profile was originally introduced to allow vendor drivers to use it freely and the field has no schema check. 16:41:24 Thus I think it is better to define a new attribute with a schema definition. 16:41:25 This information is going to expand in the future 16:42:00 amotoki: the new field could be used by mech-drivers to claim a physical port to bind 16:42:14 viveknarasimhan: yes 16:42:16 amotoki: I had detailed discussion on this topic - and decided that we should proceed with the proposed model 16:42:18 amotoki: while I tend to agree with more strict schemas, there's two things here: 1) this info may not be the same for all drivers, and 2) we're trying not to modify core neutron things unless we really need to. 16:42:40 amotoki: I also saw that existing mech-drivers that donot support physical ports, can tag on this and Unclaim serving the port 16:43:00 amotoki: We can discuss this in the neutron meeting - but, I have already covered it somewhat 16:43:13 jroll: agree. at least we need to define the same level of API definitions as we define in Ironic API. 16:43:13 Sukhdev: we can proceed with binding-profile for this release for rolling out 16:43:35 amotoki: You are referring to new resource label model, this requires more thinning an hardening 16:43:48 Sukhdev: but as we build more capabilities in Ironic and neutron, this would be better off treated as separat column in Port model of neutron 16:44:20 Sukhdev: i don't necessarily think about resource label model, but it is one option. 16:45:02 viveknarasimhan, amotoki : there are few issues with any of those models and I articulated those in a different meeting 16:45:03 we can simply define a new attribute in port:binding (or another) neutron extension. 16:45:24 viveknarasimhan amotoki : unless we harden those, we do not want to risk this integration - 16:45:43 it does not affect Ironic spec and the spec discusses what information are needed. 16:46:04 the interface to the neutron (from Ironic side) is very simple and clean and information can be dumped into any field in the future - 16:46:14 Sukhdev: yes we discussed ramifications and neutron rpprovals required for new extensions 16:46:25 but, it has ramifications on the neutron core, ML2 plugin and ML2 drivers 16:46:27 Sukhdev: agree. we are clarifying what are needed. 16:46:58 Sukhdev: we can probably pursue the expansion in next release ... and pursue binding_profile for vlan-provisioning in Liberty 16:47:34 I agree that we should continue to think about it for the future and go with binding_profile for now. 16:48:02 amotoki: binding profile was designed for this kind of information - adding additional field will be almost same, isn't it? 16:48:03 Sukhdev, amotoki: one more point on neutron side to put on is mech-driver claiming 16:48:51 since VLAN is widely supported in neutron today by all mech-drivers, it becomes imperative to fix such mech-drivers to ignore binding physical -ports on VLAN network 16:49:12 except for those mech-drivers that woudl want to serve Ironic 16:49:19 viveknarasimhan: actually, it will be fully backward compatible - 16:49:35 Sukhdev: binding:profile was designed for free area, so i personally want not to apply a specific data model for biding profile. 16:49:41 no body uses binding profile 16:50:03 amotoki: understood - 16:50:03 hehe.... mellanox driver use it. 16:50:25 hi Sukhdev, can i also raise the issue of security of info in binding-profile - do we need an additional way of securing it? 16:50:43 amotoki: there is one (i was trying to finish my sentence :-)) - 16:51:26 lauramoore: could you elaborate more? 16:51:38 amotoki: it is used to pass the physical connectivity information 16:51:56 lauramoore: did not understand security related issue 16:51:56 Sukhdev: in our POC's we saw OVS claiming the ironic port and failing binding 16:52:08 when we reorder the mech drivers from hP to top, things went fine for Ironic ports 16:52:30 so that is somehting I thought to share here :) 16:53:15 viveknarasimhan: that is interesting data 16:53:46 we do not have much time left.. 16:53:46 i mean if it contains a switch port id (eg Ethernet 3/14) we don't want a user to be able to change it to say the next switch port id (eg Ethernet 3/15) because that could have a different customer server attached 16:53:57 viveknarasimhan: all drivers are invoked in the order they are registered - so, this is a deployment issue 16:54:14 so i was wondering about security settings in neutron regarding updates to port binding profile 16:54:37 lauramoore: in the default neutron configuration, binding:profile information is avaialble only to admin (which is defined in policy.json). 16:54:49 i don't know enough about this so thought to ask 16:55:26 amatoki: ok, so it should only be changeable by admins 16:55:34 even if we define a new field (or other thing), we need to have the similar default setting. 16:55:38 lauramoore: yes. 16:55:56 and it is only visible to admin. 16:56:25 ok thanks 16:56:30 amotoki: thanks for clarification 16:56:37 * Sukhdev time check 16:56:50 I think viveknarasimhan has an item. 16:57:02 viveknarasimhan: please shoot 16:57:20 Sukhdev: I did discuss the item... ordering of mech drivers 16:57:47 viveknarasimhan: ah good - then we are covered - you understood my answer, right? 16:57:59 in my opinion, it should not be left on the deployer.. 16:58:02 viveknarasimhan: we need to clarify what are the cause of the problem you had. 16:58:30 Sukhdev: yes.. only thing is deployer should order them right when ironic comes into play which as you said is deployment concern. 16:58:42 lazy_prince: ML2 plugin simply loops throughout the list of registered drivers and invokes them 16:58:50 one more thing to add 16:59:10 the mech-driver in neutron for Ironic will claim port based on presence 16:59:24 i guess, we should handle it in a better way.. can we handle if from inside the mech driver,, some flag let know that it should skip it.. 16:59:26 of switch-id in binding-profile ,, if that is the right approach? 16:59:47 we pass a binding type of ironic 16:59:48 viveknarasimhan: based upon Bind_request flag 16:59:58 could use that or something. dunno. 17:00:02 k.. 17:00:33 Folks, we are out of time 17:00:36 Sukhdev: ok 17:00:43 thanks everyone :) 17:00:46 thanks for joining us - this was a great discussion 17:00:48 thankyou 17:00:55 thank you 17:01:00 I will move over to neutron channel and we can continue there 17:01:02 bye 17:01:04 Sukhdev: i perceive Bind_request flag is unique for Ironic and so all th emech-drvers would tag on it 17:01:05 thank you.. bye.. 17:01:05 #endmeeting