21:00:15 #startmeeting Solum Team Meeting 21:00:16 Meeting started Tue Jun 30 21:00:15 2015 UTC and is due to finish in 60 minutes. The chair is devkulkarni. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:00:17 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:00:19 The meeting name has been set to 'solum_team_meeting' 21:00:28 #topic Roll Call 21:00:35 Gil Pilz 21:00:36 Devdatta Kulkarni 21:00:37 murali allada 21:00:46 ed cranford 21:00:53 here is our agenda for today: #link https://wiki.openstack.org/wiki/Meetings/Solum#Agenda_for_2015-06-30_2100_UTC 21:01:07 hi gpilz, muralia, datsun180b 21:01:14 hey all 21:01:29 Dimitry Ushakov 21:01:41 hi dimtruck 21:02:10 Melissa Kam 21:02:15 hi mkam 21:02:41 hi james_li 21:02:45 james li 21:03:02 #topic Announcements 21:03:47 this was from last week: https://review.openstack.org/#/c/190949/ 21:04:11 Solum is now in the big tent 21:04:26 we have follow up actions to change our repository locations etc. 21:04:27 woohoo 21:04:28 hooray! 21:04:34 congrats everyone 21:04:48 yes, congratulations to everyone 21:04:56 wow! what a nice tent! 21:05:06 so roomy 21:05:13 gpilz, datsun180b :) 21:05:38 once adrian_otto gets back we can sync up with him to figure out the next steps 21:05:53 till then we continue with our repositories being in stackforge 21:05:58 i imagine the first step will be to create the repos in openstack 21:06:03 yes 21:06:22 I hope there is a checklist of things to do 21:07:05 but, should be fine I guess without it too.. there are other experienced folks who can help us with this transition 21:07:18 ok, any other announcements? 21:07:52 for those who are just joining or joined a bit late, here is the agenda for today: #link https://wiki.openstack.org/wiki/Meetings/Solum#Agenda_for_2015-06-30_2100_UTC 21:08:27 ok, I am going to proceed to status updates 21:08:46 #topic Status Updates 21:08:59 (datsun180b): Update on the recent issues with our gates (and the fixes) 21:09:07 floor is yours datsun180b 21:09:29 1. oslo.* migration. thanks to doug, we're oslo.* free 21:09:57 2. a little bit of mistral's own growing pains, but those appear to be taken care of 21:10:25 cool. so the gates are green now, right? 21:10:28 3. a change to requirements.txt syntax to help push for better nailing-down of dependencies in the future 21:10:45 the gates are so green, my app-resource review was merged just before this meeting 21:11:08 datsun180b: regarding point #3, would we need to change anything on our end to start using the new requirements.txt syntax? 21:11:23 so double thanks to dhellmann for his help in the last week, and to renat for diving into mistral 21:11:38 devkulkarni: we already have, since we're using a newer pbr 21:11:49 and lifeless for helping us with the requirements stuff 21:11:51 oh okay 21:12:01 right yes all of that 21:12:23 cool.. thanks datsun180b for being our gate watcher 21:12:30 gate is green, app resource is merged, santa is real, and tomorrow is christmas 21:12:35 i yield the floor 21:12:39 thanks datsun180b 21:12:49 next up is muralia 21:12:51 (muralia): Updates on delete bug fix 21:13:09 Yes, I had twp patches out there this week 21:13:39 1) fix for a bug that was leaving behind log files in a users swift account once an app was deleted. 21:14:03 this was leaving behind orphaned files in the users account and they were getting charged for storage. 21:14:10 the patch got merged this morning. 21:14:44 2) I implemented support for using the swiftclinet to download operator LPs. 21:15:02 there were reliability issues when downloading a large docker image using wget. 21:15:18 I remember discussing about second point on the ML 21:15:27 Yes, I've made swiftclient the default option for downloading LPs 21:15:34 This patch got merged this morning too 21:15:38 Thats it for me 21:15:43 and the wget option also still exists, right? 21:16:07 yes it does. Its an option in the config file 21:16:17 cool, thanks for the updates muralia 21:16:22 next I can go 21:16:28 (devkulkarni): Update on solum app update feature 21:16:36 I have been working on app update feature 21:16:52 I have a review up: https://review.openstack.org/#/c/194297/ 21:17:03 and also a spec: https://review.openstack.org/#/c/189929/ 21:17:21 the spec outlines an update protocol which is implemented in the patch 21:17:34 currently I am working through the tests 21:17:49 also need to rebase with master 21:18:02 should have an updated patch set later today or tomorrow 21:18:24 please take a look at the code patch whenever you get a chance 21:18:36 thats it for me 21:18:54 james_li: you are next 21:18:56 (james_li): Update on bash to python conversion work 21:19:40 i am working on converting the bash scripts of build-lp, build-app, unittest-app to python code 21:19:51 by leveraging docker-py 21:20:36 a few additional tasks are also addressed in this work, including: 21:22:02 1. security: adding timeout for running user's scirpts for unittesting and building 21:23:12 resource constraint on memory, disk and cpu usage on docker containers by leveraging some new features in recent docker releases. 21:23:30 nice 21:23:49 james_li: does this stuff work on our vagrant setup? 21:24:03 devkulkarni: yes 21:24:06 do we need to update the Vagrantfile to install latest version of docker 21:24:09 oh, cool 21:24:30 nova-docker always try to install the latest docker release 21:24:36 https://github.com/rackerlabs/vagrant-solum-dev/pull/50 merge that and we'll have what james is using 21:24:46 datsun180b: thanks 21:25:12 2. managing docker containers during unittesting and building 21:25:12 done 21:25:47 which means user can use CLI to interrupt an ongoing unittest or building process 21:25:58 thats all for me 21:26:05 oh, is that already part of your current set of patches? 21:26:29 I did not realize that the CLI stop switch is also being tackled in your patches 21:26:32 will be a new patch 21:26:39 james_li: ok, makes sense 21:26:49 cool, good stuff james_li 21:26:55 but current patch paves road for that 21:27:04 yep, have seen the current patches 21:27:10 they look good 21:27:27 thanks james_li 21:27:33 sure 21:27:35 mkam: you want to go next? 21:27:57 dimtruck: how about you? 21:28:05 we can go 21:28:10 ok 21:28:22 since the last time we spoke, created a set of language packs 21:28:27 including nodejs and wordpress 21:28:46 do you have links to their git repos? 21:28:51 working through a ci/cd workflow with a side application and using solum to deploy 21:28:52 yup! 21:28:54 one sec 21:29:04 https://github.com/rackspace-solum-samples/solum-languagepack-wordpress 21:29:05 https://github.com/rackspace-solum-samples/solum-languagepack-nodejs 21:29:12 bam! 21:29:32 https://github.com/rackspace-solum-samples/solum-ui << this is the ui 21:29:38 err, sample application 21:30:00 what lp are you using for the solum-ui? 21:30:05 nodejs 21:30:19 *looking at the nodjs lp* 21:30:24 the language pack installs node 0.10.38, npm 1.2, grunt, and karma 21:30:40 https://github.com/rackspace-solum-samples/solum-languagepack-nodejs/blob/master/bin/build.sh 21:30:56 npm 2.10* 21:31:09 dimtruck: what is the base image (FROM buildpack-deps:jessie) 21:31:16 validating that the workflow is clean 21:31:16 ? 21:31:25 that's jessie - debian 8 21:31:34 the latest and greatest! 21:31:41 ok, but why buildpack-deps? 21:31:54 is it coming from one of the heroku style buildpacks? 21:31:57 nope 21:32:00 docker hub 21:32:23 I see 21:32:25 it's another version of https://registry.hub.docker.com/u/nodesource/jessie/ 21:32:35 i could have used this one just as well :) 21:33:15 here's the buildpack-deps repo: https://registry.hub.docker.com/u/library/buildpack-deps/ 21:33:37 cool, thanks for the links 21:34:09 dimtruck: would these lps work in vagrant setup? 21:34:18 i don't see why not 21:34:19 why shouldn't they 21:34:20 *need to try these out* 21:34:24 i have not tested them in vagrant 21:34:25 right 21:34:30 ok 21:34:38 cool, awesome stuff dimtruck 21:35:09 ok, any more updates from the team? 21:35:25 before next week, we'll work to send out an operations guide 21:35:29 for solum deployments 21:35:39 dimtruck: oh, that will be awesome!! 21:35:41 i can update the team of its status next meeting 21:35:50 there was a request for that on the irc 21:35:57 dimtruck: sounds good 21:36:24 #topic Review action items 21:36:41 There were no action items from last meeting 21:37:09 moving on to the next topic 21:37:16 #topic Discussion topics 21:37:27 (devkulkarni): Plugin architecture for deployer 21:37:48 so first item that I want to discuss is building a plugin architecture for Solum 21:38:26 this stems from the need to be able to use different kinds of heat resources in different operational environments. 21:39:02 for instance, in rackspace environment we want to use the rackspace cloud load balancer resource, whereas on vagrant we want to use neutron 21:39:45 with the plugin architecture, we should be able to choose such different heat resources based on the operational environment of solum 21:39:57 jinja for HOT templating? 21:40:02 any thoughts on how we might start moving in that direction? 21:40:10 james_li: good point 21:40:25 but the problem is more than just choosing the right resource in the HOT 21:40:36 we may also need to selectively choose the code itself 21:40:48 yeah like flavor ... 21:41:05 for instance, in the app update protocol, I modify the HOT in the code 21:41:32 that code will be different based on whether the environment is rax or something else 21:41:51 solum should keeps a set of base HOT templates, and we can plugin stuff to it on the fly 21:41:59 regarding flavor (and other such attributes) — we should be able to control them via CLI 21:42:06 james_li: yep 21:42:49 I know that heat has a plugin architecture 21:42:49 devkulkarni: are we going to add these new options to the CLI as flags? 21:42:58 muralia: good question 21:42:59 the pluggable stuff could also be something from user's input 21:43:06 I'm concerned that the CLI will have way too many options and flags. 21:43:07 probably not as flag 21:43:11 yep 21:43:26 I am thinking that we will need to enhance the app structure 21:43:26 ok. this seems like an advanced option, so we can put it in the planfile 21:43:31 that datsun180b is defining 21:43:37 ok 21:43:37 appfile 21:43:45 more like "has defined" 21:43:52 i'm excited it merged today 21:44:14 james_li: yes, some of the parts of the pluggable code could come from user input, such as the flavor 21:44:23 datsun180b: yeah, it finally merged 21:44:27 congrats :) 21:45:02 the format should be clearer than the planfile format 21:45:24 and i don't think there's much translation between what's in the sample and what the api expects 21:45:26 so about pluggable architecture.. any thoughts on how to actually go about breaking our code? james_li? 21:45:32 devkulkarni: we don't need to worry too much about supporting user input now, we need to build some fundamental things. how to support user experience is another issue 21:45:48 james_li: agree 21:46:34 devkulkarni: as far as I can think now, it probably just a deployer change 21:46:39 based on your recent work on lp_handlers, are there any insights for us on the pluggability front stemming from your experience there? 21:46:59 yes, it will be only limited to deployer for now 21:47:35 I was going to look into how heat has designed their plugin architecture 21:47:40 yeah, I think we can target for it after your current work is done. 21:47:49 randallburt might be a good person to reach out to in this regard 21:47:58 it makes sense to me 21:48:12 james_li: yep, it will be a follow up work 21:48:35 ok, let me take an action item to pursue this with randallbut 21:49:19 #action devkulkarni to check how to make solum's heat deployer pluggable to support different kinds of resources in different operational environments 21:49:53 the next item on discussion topics that I had was: (devkulkarni): Coordination between multiple deployers 21:50:04 so here is some background on this 21:50:45 in an operational setting with multiple deployers, it is possible that consecutive app actions are taken up by different deployers to work on 21:51:08 we have faced race conditions when there is no coordination between the deployers 21:51:42 example of a race condition is when two instances of apps remain even when an app is deleted 21:52:03 currently, we deal with such issues by using the Solum database as the point of coordination 21:52:38 what I wanted to discuss is — is using db for this purpose enough? 21:53:05 or do we want to investigate going the route of distributed coordination protocols? 21:53:26 the latter will increase complexity of our code a whole lot 21:53:35 does the db option implemented now give us what we need? 21:54:26 it does, as long as we don't have install of solum that uses different dbs 21:54:34 this seems like an area that is only going to become a problem if solum becomes popular 21:54:55 i would suggest focussing on more near-term issues 21:55:14 one of those good problems to have 21:55:15 DB coordination will hold up for a while 21:55:35 gpilz: from operational pov this may become an issue sooner, if an operator decided so have a single solum API with data distributed across DCs 21:55:55 agree on DB coordination should hold up for now 21:56:11 ok, we can revisit this later 21:56:18 devkulkarni: what do we need to figure out between two app updates to ensure there is NO race condition? 21:56:47 james_li: basically the actions of the deployers need to be ordered 21:56:47 timestamps? 21:57:06 yeah, they could help. 21:57:15 in fact, we are utilizing timestamps right now 21:57:29 but our granularity is only seconds 21:57:40 the classic Lamport protocol uses timestamps to ensure the cause-effect relationships between events. 21:57:48 so if there are updates within a second then we are still going to run into a race 21:58:24 should we just change the granularity then? 21:58:32 james_li: yes, that is correct. but the pratical implementation may have limitations like above 21:58:46 in which case, we would need to use something else to order the requests 21:58:59 muralia: yes, we should do that.. I think there is bug for that 21:59:08 ok 21:59:13 datsun180b suggested to use incremental 21:59:25 auto-increase 21:59:25 ok, we are at the almost at the end of our meeting time 21:59:33 lets continue in solum 21:59:43 james_li: what is auto-increase? 21:59:49 #solum 21:59:52 james_li: ok 22:00:02 ok, thanks all for joining today 22:00:08 have a happy long weekend 22:00:12 #endmeeting