Tuesday, 2015-08-25

openstackgerritDavanum Srinivas (dims) proposed openstack/releases: Oslo Releases for Aug 24, 2015  https://review.openstack.org/21641500:57
openstackgerritDavanum Srinivas (dims) proposed openstack/releases: [WIP] Fix list-changes  https://review.openstack.org/21647500:57
openstackgerritDavanum Srinivas (dims) proposed openstack/releases: Oslo Releases for Aug 24, 2015  https://review.openstack.org/21641501:20
openstackgerritDavanum Srinivas (dims) proposed openstack/releases: list-changes breaks because of bad start_range  https://review.openstack.org/21647501:20
*** dims__ has quit IRC01:55
*** bnemec has quit IRC04:42
*** armax has quit IRC06:16
ttxdhellmann: yes07:02
ttxlifeless: around?07:02
ttxlifeless: I'm a bit unclear on the process we need to follow to drive the last stage of the dev cycle and creation of release (or stable) branches -- and the proximity of the action has me stressed out. Wanted to doublecheck a few things with you in those very few work hours we have in common07:05
lifelessttx: hi07:13
lifelessttx: should I get some hard complex carbohydrates out?07:13
lifelessttx: I don't want you stressed ;)07:14
ttxlifeless: hey07:16
ttxlifeless: I posted my questions on an ML thread but I think we need a lower-latency discussion to flush things out07:17
ttxlifeless: My assumption was that we'd follow the process we came up with in Vancouver07:17
lifelessrighto07:18
lifelesswe put that in a doc somewhere07:18
ttxSo my first question is, is there any reason why that wouldn't work, now that the contraints stuff is actually in place07:18
ttxsee raw list at http://lists.openstack.org/pipermail/openstack-dev/2015-August/072725.html07:19
ttxlifeless: we may question the utility of stable branches for some things (like libs) in the future but I'd rather make one change at a time07:19
lifelesshttp://specs.openstack.org/openstack/openstack-specs/specs/requirements-management.html07:19
lifelessttx: Right, I haven't proposed changing anything that we didn't discuss in vancouver07:20
lifelessttx: There are two things we haven't fully done07:20
lifelessone is the stable<->master cross check for the release 'period'07:20
lifelessto ensure co-installability07:20
lifelesswe can achieve that another way (e.g. by care on reviews and good team communication)07:21
lifelessthis bit: During that period we’ll gate any requirements changes on both master and any branched projects, branching openstack/requirements last when we’re finally ready to decouple the release from master.07:21
lifelessits possibly just infra configuration07:22
lifeless'just'07:22
ttxso instead of gating we'll just apply extra care there ? Or is it worth trying to push it ?07:22
ttxneed some analysis I guess07:22
ttxbut plan B would be to soft freeze requirements and apply extra care before approving anything07:22
lifelessyeah07:24
lifelesswe should talk to fungi about having cross-gating07:24
ttxlifeless: I was wondering if the constraints stuff was designed to work on stable->stabel once everything is branched out, or if we would update it very carefully and very manually07:24
lifelessthat is on having master requirements run the jobs from the new branches as well07:25
lifelessttx: stable->stable yes, should be fine07:25
lifelesshells no, I'm all about the lazy07:25
lifelessand careful and manual is not lazy07:25
ttxjust checking, just checking07:26
ttxRe-Reading thoise vancouver plan, I also wondered what the heck we meant by "Converge constraints". I remebner that was a simple thing but I can't remember what we meant by that07:26
lifelessgone07:27
ttxNo more need for that?07:27
lifelessfrom memory07:28
ttxYou were the one adding it originally, so I'll trust you on that07:28
lifelessteehee07:28
ttxOK, so in summary... the plan is still on. We need to immediately evaluate if we can have stable/master cross-check in time for end of next week, but otherwise we follow the plan (minus "converge constraints")07:29
lifelessyeah07:30
lifelessIIRC the infra discussion more07:30
lifelessit was simple07:30
ttxThe stable/master crosscheck is what? Having stable branches tests run on master requirements ?07:30
lifelesswe setup the liberty jobs07:30
lifelessthey all fallback to master on missing branches07:31
ttxright, that's what I was thinking.. not even sure we need to set up anything07:31
lifelesswe just need to trigger them on changes to master requirements, and they'll run with the branches that have been made07:31
ttxoh! I see07:31
lifelessand we fork requirements last07:31
lifelesss/last/at the end of the critical section/07:32
ttxso stable branches should test with master requirements already, due to the fallback. But we need to gate any master requirements change on stable tests as well. Got it07:32
lifelessIIRC converge constraints was making sure that no project has outstanding openstack/requirements sync patches07:32
lifelessat the time of release07:32
lifeless(because if they do, they are not consistent across the release)07:33
ttxI agree some soft freezing and care on requirements update could do the trick if we can't figure it out07:33
ttxok, makes sense to do that07:33
ttxOK, I think I have all the bits. I'll discuss the cross-check with fungi and see what we can do in the remaining time07:34
lifelessthe other thing we haven't yet gotten is constraints in tox jobs07:34
lifelessbut thats close and we can add that as and when stable tox jobs break07:34
ttxright, so we might miss a few breaks07:34
lifelessnot that thats ideal07:34
lifelessbut it won't wedge the sstable gate07:34
lifelessit will make individual projects unhappy at most07:34
ttxeasier to untangle07:35
ttxlifeless: last question on that topic -- on master we have new upper-contraints being proposed and tested all the time. Would we have any of that on stable branches ? Should we ?07:36
ttxMy gut feeling is "no" and that we'd do manual bumps only07:36
lifelesswe will07:36
ttxoh?07:36
lifelessremember that constraints bumps are not requirements bumps07:37
lifelessif its passing tests we have no reason to publish an older known-good than works07:37
ttxsure, but I thought minimizing constraints bump was the way to not push caps07:37
lifelessright07:37
lifelessstepping up07:38
lifelesstheres a dial07:38
lifelesswe can tune it07:38
ttxwe want stable/liberty nova tested with stable/liberty oslo.messaging... how do you do that without capping and with constant bumps ?07:38
lifelessI think knowing that things are / are not working for ecosystem libraries is useful07:38
lifelessthe automated proposals would tell us that07:38
lifelessbut equally we can turn them off07:38
ttxTotally agree, on the 3rd-party lib front07:38
ttx(which we didn't really cap before anyway)07:39
lifelesswell, I want us to get oslo.messaging back to run-latest-release-on-stable-branches as a thing07:39
lifelessbut we have to unwind this hole we dug ourselves into first07:39
lifelesswhich constraints is just the first leg07:39
ttxsure, long term we might just do that. In the mean time with liberty we stil want to relay on "stable/liberty everywhere" as a unit of versions to test07:40
ttxrelay*07:40
ttxrely*07:40
ttxso that means carefully updating stable/liberty upper-constraints as far as oslo libs go07:41
ttxthe system won't enforce that we only use stable/liberty oslo.mesdsaging versions there07:41
ttxwe'll have to (as long as we want to keep using stable/liberty as a unit of versions to test together)07:41
ttxI'm just trying to picture what we replace the oslo capping we did in kilo with07:43
ttxMy understanding is: we replace it with a branch of upper-constraints that we carefully bump07:43
ttxuntil we are ready to completely get rid of oslo stable branches.07:44
lifelessyes07:45
lifelessyour understanding is copacetic07:45
lifelessnow07:45
lifelessyou also wanted to talk about the release notes proposal I believe?07:45
* ttx looks up copacetic07:45
lifeless"in excellent order."07:46
ttxthx07:46
lifelesshttps://en.wiktionary.org/wiki/copacetic07:46
ttxYes, about the release notes stuff. Some people object that it's too complex and given the rate of changes in the branch we could deal with merge conflicts on a single directly-maintained doc07:47
ttxI'd say that's the two options we have at this point07:47
lifelessso07:47
lifelessmaster07:47
lifelessnot so slow07:47
ttxAnother benefit of plan B being that it doesn't require any code07:47
lifelessso start with plan B:)07:48
ttxhmm, yes, good point on master. I focused on stable needs07:48
lifelessAbout 10-15% of my time doing commits to cPython is manual NEWS file entries.07:49
lifelessit is precisely a manual release notes thing07:49
lifelessin a single doc07:49
lifelessby hand merge fixups on merges across branches07:49
ttxit looks like we need to iterate a few times on solutions that would work around the merge conflicts issues07:50
ttxdhellmann wondered if some sphinx-powered solution could not work as well07:51
ttxHow feasible would you say it is to have something ready for start of mitaka ?07:51
ttxIf unlikely (and better discussed at the summit) then let's do plan B for stable/liberty07:52
lifelesssphinx or markdown are equally easy, there's no structural difference07:52
lifelessyou run the preprocessor, it makes the tree ready to render anyway you want07:52
lifelessrst / md. Big deal.07:52
lifelessmerge conflict issues? There aren't any in my proposal from memory...07:52
ttxlifeless: I think he argued it uses code and triggers that are alreday there (but that was before we discovered that doc is not generated in tarballs)07:53
lifelessI really don't think this belongs in pbr07:53
lifelessI am not 100% stuck on that07:53
lifelessbut its not a build-and-install problem07:53
ttx"merge conflicts issues" = solving the challenge of multiple people editing release notes in parallel changed, nothing specific to your solution (which solves it)07:53
ttxchanges*07:54
lifelessttx: my solution means they are each editing separate docs07:54
* ttx should not type before showering07:54
ttxlifeless: yes, totally07:54
lifelessttx: unless they are editing the prelude or the notes on the same change07:54
lifelessttx: oh, got you07:54
lifelessmy solution is a solution. yes :)07:54
ttxwhat I meant there is: "we need to discuss more all the possible solutions to the problem (of which your proposal is a good one)07:54
lifelessrighto07:55
lifelesssure07:55
lifelessanyhow - the reason I think this doesn't belong in pbr is that pbr is our bootstrap mechanism07:55
lifelessit can't have dependencies07:55
lifelesswe can't depend on sphinx, or markdown, or anything else07:55
lifelessthis isn't something you want running in an sdist based install07:56
ttxI just can't sign up to do anything, I'm almost in the pre-release pre-summit tunnel and my capacity for code writing nears zero in that period. So unless someone tells me "as long as we decide before end of month I'll get it done in the next week" I prefer to have a plan B07:56
ttxlifeless: so to solve the "people should be able to take any commit and have release notes" challenge you would just tag more often ?07:57
lifelessttx: no, I'd say 'here is how you get release notes. 1) ...'07:58
lifelessttx: if its in pbr but not running automatically (which e.g. is the case for our sphinx glue) then you still need such instructions07:59
lifelessttx: plan B: put it in a file in the tree and do by hand. Lowest denominator, see how it goes. Call me when you start to die of merge conflicts.07:59
ttxand just include them in tagged versions ? Or also direct tagged versions users to the generation instructions ?08:00
lifelessttx: I can't sign up to do anything either. But I can sign up to put that spec in an oslo specs spec and ask around for wolunteers08:00
lifelessttx: so my design can generate release notes for any commit08:00
ttxok, I think I have a complete picture08:00
lifelessttx: users pulling stuff out of git would just run the make-my-release-notes tool08:00
ttxright08:01
lifelessttx: users pulling out of an sdist would get the notes from whomever gave them the sdist08:01
lifeless(which might be a website doing stuff from cron, or whatevs)08:01
ttxlifeless: thanks for the update. On the stable release stuff I kinda hoped we'd more more far along but the stable team didn't exactly run with the issue08:03
ttxand by the time I woke up it was a bit late for revolutionary solutions08:04
ttxbut then, incremental steps is not a bad thing08:04
ttxlifeless: ttyl, will shower now08:04
lifelessau revoir08:04
ttx(I'll be around for office hours in a few minutes)08:06
*** katyafervent has joined #openstack-relmgr-office09:18
katyaferventHi all!09:19
katyaferventlet's merge this commit to global requirements! Our ci is blocked until it will be merged https://review.openstack.org/#/c/216105/09:20
lifelesswhy is your CI blocked?09:23
SergeyLukjanovdhellmann, hi, when will have stable/liberty in clients? and will it be created from the latest tag?09:42
*** dims__ has joined #openstack-relmgr-office09:48
*** dims__ has joined #openstack-relmgr-office09:49
*** gordc has joined #openstack-relmgr-office11:42
ttxSergeyLukjanov: starting end of week and yes12:15
SergeyLukjanovttx, ok, thx12:15
SergeyLukjanovttx, dhellmann, please, don't create branch in sahara client without my acknowledgement - we need to release one more version and it's very important - bunch of important features client support not yet merged12:16
ttxSergeyLukjanov: no problem, we are still working on the timeframe anyway12:17
dims__ttx: dhellmann: please take a look at a script problem https://review.openstack.org/#/c/216475/ - Need it to merge the review for Oslo releases yesterday (https://review.openstack.org/#/c/216415/)12:51
ttxdims__: on it12:53
*** sigmavirus24_awa is now known as sigmavirus2413:00
ttxdhellmann: about liberty library timing, I think we could extend past liberty-3. The hard stop imho is when we start cutting stable branches for services, i.e. when we start issuing release candidates there. In theory that can happen any time after FF, but in practice it's likely to be FF + 2 weeks13:10
ttxSo we have some wiggle room there13:10
*** dims__ has quit IRC13:24
*** dims__ has joined #openstack-relmgr-office13:25
*** dims has joined #openstack-relmgr-office13:36
*** dims__ has quit IRC13:36
*** dims_ has joined #openstack-relmgr-office13:39
*** dims__ has joined #openstack-relmgr-office13:41
*** dims has quit IRC13:42
*** dims_ has quit IRC13:45
dhellmanndims__: sorry about that, +2a14:56
dhellmannttx: started late today, so I'm catching up on scrollback. It looks like you and lifeless worked out the end-of-release process question, right?14:57
dhellmannttx: as far as "extend past liberty-3" do you mean for creating branches for the libraries?14:58
*** armax has joined #openstack-relmgr-office15:01
ttxyes15:04
openstackgerritMerged openstack/releases: list-changes breaks because of bad start_range  https://review.openstack.org/21647515:05
dhellmannttx: ok, yeah, I don't think there's any rush to create the branches15:05
ttxSo if Oslo wants to have one extra week and do releases next week (or the week after) it's probably fine. We can leave it up to dims15:07
dims__ttx: will try to hold the line and only let things in if absolutely needed15:07
openstackgerritMerged openstack/releases: Oslo Releases for Aug 24, 2015  https://review.openstack.org/21641515:09
openstackgerritDoug Hellmann proposed openstack-infra/release-tools: use git describe to find the last tag  https://review.openstack.org/21675415:10
openstackgerritDoug Hellmann proposed openstack-infra/release-tools: make release_postversion.sh work for unofficial projects  https://review.openstack.org/21675515:10
devanandadhellmann: we ran into a gate issue last night with the oslo versoined objects release, fyi. fix has been landed and the switch to post-versioning also landed this morning15:12
dhellmanndevananda: do you need dims__ to release another oslo.vo?15:17
devanandaI dont think so?15:18
dhellmannttx, devananda : I have fixed up the release notes generation for ironic, so I can send an announcement email. Should I do that?15:18
dhellmanndevananda: was the fix in ironic?15:18
devanandahttps://review.openstack.org/#/c/213601/ is the fix we landed15:18
devanandayes15:18
dhellmannah, ok15:18
dhellmanndevananda: do you need another release of ironic, then? :-)15:18
devanandadhellmann: it means the SHA ... right, that15:18
dhellmanncool15:18
dhellmanndo you want to land my readme fix, too? https://review.openstack.org/21675815:19
devanandait's only an issue in unit tests afaict15:19
devanandaalso yes, that's good. lemme see if any other bug fixes came in last night15:19
* krotscheck grumps about the requirements gate build being flaky15:19
ttxdhellmann: could your +2/APRV https://review.openstack.org/#/c/216736 I'd like to trigger a project-team-guide publication15:22
devanandadhellmann: should we land the gr patch which bumps oslo.service to >= 0.7  as well?15:23
dhellmannttx: +2a15:27
ttxthx15:27
dhellmanndevananda: if you need that as a lower bound, then yes15:28
devanandadhellmann: i'm rebuilding my venv to make sure, but it looks like 0.6.0 still works for us15:34
dhellmannmorgan: do you still want keystoneauth 0.4.0? https://review.openstack.org/#/c/213573/15:38
dhellmannoh, that's not as old as I thought at first15:39
morgandhellmann: hm.15:39
morganNo. Not yet.15:39
dhellmannoh, ok. Want to -1 the patch until you're ready?15:39
morganWe might be jumping to 1.0 this week15:39
morganYeah.15:39
dhellmanncool, thanks15:39
morgan-1 on it now15:40
*** Daviey has joined #openstack-relmgr-office15:47
dhellmanndevananda, ttx: I'm unclear on whether we want to be sending release notes emails about server projects.15:50
dhellmanndevananda, ttx: Now that we're releasing whenever, it seems like something we want to do.15:51
devanandadhellmann: I believe swift has done this in the past15:51
devanandaand I agree, it makes sense to start doing that15:51
ttxdhellmann: we should send curated messages at least15:51
ttxswift sends a handcrafted one which also points to the LP milestone page15:51
ttxI don't think we would use the same template as for libs15:52
ttxbut something along the lines of what I posted for the integrated release / what notmyname posts for swift intermediary releases15:52
dhellmanndevananda: do you want to write up an announcement?15:53
dhellmannttx: hand-crafted makes more sense than the template thing we get for libs15:54
devanandadhellmann: sure15:54
ttxI could totally see that being replaced by the continuous release notes system from lifeless in the future though15:55
ttxbut as for now, handmade organic notes are probably the best bet15:55
devanandaaside from "hey look, our first semver versioned release! dont worry - it wont be our last." I'll have to think of what else to say :)15:55
dhellmannyes, for libs, too15:55
dhellmanndevananda: bonus points for including the phrase "chock full of features"15:55
devanandahah15:55
devananda"not ..." :)15:55
devanandaat least compared to what I hoped we'd have. anyhow, I'll write something up after breakfast15:57
devanandadhellmann: so we have two fixes in the gate right now - one for the readme, and one for mock (this one doesn't have to land, but it's ahead in the gate, and i see no reason to yank it)16:03
devanandadhellmann: do you want to do a 4.0.1 after those land, and then I'll notify the team to resume normal reviewing/approving?16:03
dhellmanndevananda: now that you're switched over to post-versioning, they can resume normal operations. You can then submit a request at any time using a valid SHA to cut a release, and it doesn't have to be HEAD.16:05
devanandaoh - great16:05
devanandamakes sense :)16:05
dhellmann:-)16:06
*** bnemec has joined #openstack-relmgr-office16:25
*** mestery has quit IRC17:14
*** mestery has joined #openstack-relmgr-office17:23
devanandadhellmann: re: your comment about beta releases, it looks like swift has been doing that for a while, eg, 2.0.0.rc118:01
dhellmanndevananda: I don't know the history there.18:02
*** _sigmavirus24 has joined #openstack-relmgr-office18:17
*** sigmavirus24 has quit IRC18:17
*** _sigmavirus24 is now known as sigmavirus2418:20
*** sigmavirus24 has joined #openstack-relmgr-office18:20
devanandadhellmann: how did you plan to generate the README / release notes post commit?18:41
devanandaI would expect them to be included in the release, and therefor landed before i give you a SHA18:41
dhellmannthere's a script in the release-tools repo that we use for libraries that generates them from the git messages. That's probably not what you want for servers, though.18:41
devanandayea18:42
dhellmannthere's an email thread going right now about how to deal with release notes for servers. lifeless proposed something, and I proposed using rst files under doc/source, but I don't think we settled on a solution18:42
devanandak18:42
devanandaI'm going to propose a CHANGELOG for this, so at least there's something up and other cores can work with you to roll it together while I'm on leave18:43
dhellmannk18:43
lifelessdevananda: please don't call it CHANGELOG18:57
lifelessdevananda: there's already a ChangeLog autocreated by pbr18:57
lifelessdevananda: Release notes are != to that, and the name clash is likely to cause confusion18:58
devanandalifeless: great. well, that's what swift uses. give me a better name and I'll use it18:59
devanandaI'm about to hit gr, so ...18:59
lifelessRELEASENOTES.rst19:00
devanandak19:00
devanandadhellmann: https://review.openstack.org/216843 -- I'm going to W-1 it, please take it over or work with the ironic team to do what you need to19:10
dhellmanndevananda: ok19:10
*** dims__ has quit IRC19:25
*** dims has joined #openstack-relmgr-office19:26
openstackgerritMerged openstack/releases: add deliverables directive and source files  https://review.openstack.org/21529520:04
*** armax has quit IRC20:39
stevebakerdhellmann: do you know is there a script which checks kilo-backport-potential and updates to in-stable-kilo20:48
*** bnemec has quit IRC21:05
*** bnemec has joined #openstack-relmgr-office21:06
*** TravT has joined #openstack-relmgr-office21:11
dhellmannttx: I threw together this test repo to experiment with lifeless' ideas: https://github.com/dhellmann/os-relnotes-test21:16
dhellmannstevebaker: I'm not sure, I haven't had to do that before. Did you look through the tools described in the README in the openstack-infra/release-tools repo?21:17
stevebakerdhellmann: I just did it manually. It looks like in-stable-kilo gets applied automatically for *some* merges to stable/kilo21:18
lifelessdhellmann: cool21:20
lifelessdhellmann: it can use the pbr API to query the version (perhaps you do that already)21:20
dhellmannlifeless: I'm using git describe, since it's just hacky, but yeah we could use pbr21:21
lifelessdhellmann: ah - you use git. It would be better not to duplicate the pbr logic here IMO. OTOH21:21
dhellmannI mostly wanted to prove to myself that we could ask git which release notes files had changed in which versions21:21
lifelessOTOH multiple languages :(. Perhaps start with pbr and we'll find some way to factor the pbr logic out for use independently eventually.21:22
dhellmannstart with pbr for what?21:22
dhellmannthe current version?21:22
lifelessyeah21:22
dhellmannoh, yeah, we can definitely replace that bit21:22
dhellmannI just did this so I didn't have to set up a full blown python project21:22
lifelesssure sure21:22
lifelessI'm not sure what you mean by checking for changed release notes files21:23
dhellmannlike I said, the interesting part for me to solve was which note files go with which version numbers21:23
lifelessI don't recally my propsal needing that: its just a query of th git commit logs to look for the Iabc strings21:23
dhellmann"I have a pile of separate release notes, what order do they go in and how do I group them by version number?"21:23
dhellmannthat's a requirement ttx pointed out21:24
dhellmannI thought it was in your proposal, too21:24
lifelessso, if someone edits the file Iabcdef then the version it goes in *isn't altered*21:24
lifelessthe name of the file is the key into the history21:24
lifelessnot the history of the file21:24
dhellmannhrm, true21:24
lifelessotherwise you can't add security notes21:25
dhellmannthe problem with that is getting the change id in order to name the new file21:25
lifelessso the algorithm is, for the versions you want to generate notes, you do one big git log21:25
lifelessthe change id on backports is the change id of the backported commit21:25
lifelessits preserved by git cherry-pick21:26
lifelessfor changes to master, do a git commit, then git show, then add your file and do a git commit --amend21:26
dhellmannif I'm a developer creating a brand new commit that is going to have a release note, and I do that work in master, where do I get the change id?21:27
dhellmannI have to commit something, then get the id, then amend the commit with the release note21:27
lifelessyes21:27
lifelessor21:27
lifelessgenerate a random sha21:27
lifelessand put that in your commit message straight away21:27
dhellmannyeah21:27
lifelesswe could easily have a tool that does this21:27
lifelesseither path21:28
dhellmannlifeless: updated to track the earliest version that has a note, not the latest -- that avoids us having to use special filenames21:39
dhellmannlifeless: ideally we could use descriptive names, but even uuids that can be generated before a commit seems better, imo21:39
lifelessdhellmann: so that will force one git history query per file, it will be a lot slower21:40
lifelessdhellmann: what problem are you trying to solve by these changes to the algorithm ?21:41
dhellmannlifeless: no, it doesn't. One big git log.21:41
dhellmannlifeless: I do not want people to have to use special hash values as filenames. I want the option of a unique prefix with a slug of some sort describing it21:41
lifelessgit log with names is slower than git log without; if you limit it to the directory of release notes it should be tolerable I guess.21:42
lifelessI'd want to test that on a big busy tree though21:42
lifelessdhellmann: ok, well - I'm happy for you to run with this21:43
lifelessdhellmann: I think we have different concerns in our heads; I'm happy to review what you come up with to see if I can predict problems with branches / releases etc etc21:43
dhellmannlifeless: do you mean asking for git to report the filenames in a commit is slower than not?21:44
lifelessyes21:44
dhellmannok21:44
lifelessit has to read the tree objects21:44
lifelessand diff them21:44
lifelessand do that recursively on any diffs that are for tree objects21:44
lifelessuntil its got the names its reporting on (either all, or a sub-path)21:45
lifelessrobertc@lifeless-z140:~/work/pbr$ time git log --name-only > /dev/null21:45
lifelessreal    0m0.087s21:46
lifelessrobertc@lifeless-z140:~/work/pbr$ time git log > /dev/null21:46
lifelessreal    0m0.044s21:46
lifelessrougly twice as long. I didn't call this out but it was a hidden fact in my head when I sketched out the design21:46
lifelessand human-assigned-names wasn't a requirement, so I didn't put that in21:46
dhellmannnova is 0m1.292s vs 0m3.729s21:46
lifelessyou could add a human descriptib slug to the Iabcbb style names easily21:46
dhellmannI guess with glob, sure21:47
lifelessjust say its $CHANGEID(-humandataa){0,1}.rst21:47
dhellmanngiven that one of our oldest, largest, repos takes an extra second or 2 to process, I'm not sure how big of a concern it really is21:48
dhellmannwell, say 2.5 seconds21:49
dhellmannI think the ease of use of allowing any filename makes up for that, since we'd save that much developer time on every new release ntoe21:51
lifelesswhat if someone renames their release note file21:52
lifelesslike21:52
lifelessthere is a bug in their human blurb21:52
dhellmannsigh21:54
lifelesssorry, just thinking through the ramifications21:54
lifelessif there is a pk of some sort there we can match on that21:55
lifelessand keep goingthroug the history further21:55
lifelessjust a random slug as you say would suffice, though we'll need to test carefuly21:56
lifelessalso sorry if I'm being grumpy21:57
lifelessI had a rude awakening this morning21:57
lifelessso I think we can make this work21:58
lifelessat least so far, I'll go through merge and branch scenarios in detail later today21:58
lifelesssee if I can find things that will bite us21:58
lifeless(and answers to them if I do)21:58
dhellmannlifeless: ok, updated to handle renames22:06
lifelessdhellmann: cool22:07
dhellmannlifeless: no, you're right about needing to address these cases22:07
dhellmannI took your idea of the prefix, and just made it a uuid instead of the sha22:07
*** bnemec has quit IRC22:07
dhellmannwe can make it something shorter, too22:07
dhellmannit needs to be fixed width, or have a special separate character, or something so we can find it22:08
dhellmanna shorter random number might be good enough22:08
lifeless$hex- ?22:08
dhellmannyeah, like 6-8 digits should be plenty22:08
*** bnemec has joined #openstack-relmgr-office22:09
dhellmannthe next question is, where does this logic live and how is it invoked22:09
dhellmannpbr? standalone?22:09
lifelessstandalone22:09
lifelessreasons22:09
lifelessa) we have non-python projects22:09
lifeless  so even if we don't support them on day one, we'll need to find a way22:09
lifelesseventually22:09
dhellmannok, cool, that lets me add a sphinx extension so we can actually put the notes in doc/source/releasenotes/notes and have a directive in doc/source/releasenotes/index.rst to generate the list22:10
lifelessputting it inside pbr would make that harder. Pulling /some/ stuff out of pbr is a lot easier and sensible than trying to make pbr talk puppet packaging or node package22:10
dhellmannand of course that path can be different for other projects, and the sphinx stuff is optional22:10
dhellmannright22:10
lifelessyeah, rst vs md syntax is trivial22:10
lifelessI just stuck a finger in the air in my doc22:10
dhellmannyeah, I'm just thinking of all the publishing machinery we already have in place22:11
lifelessb) pbr can't sanely have deps, and e.g. sphinx22:11
dhellmannright, that makes a lot of sense22:11
lifelesswe don't put release notes in sdists today.22:11
dhellmannso I'll work on making this a standalone thing that pulls release notes together into files with some sensible formatting22:11
lifelessSo I think 'when' would have multiple answers like 'at release creation for servers'22:11
lifelessand 'by redistributors when pulling from git'22:12
dhellmannI'll throw it onto github for now, and we can import it into gerrit when we have time22:12
lifelessand 'by a developer if they want to check their release note renders correctly'22:12
dhellmannonce it's on pypi, we can look at adding it to our packaging jobs, I guess, if we want the output files to go into the tarballs we release22:13
* dhellmann needs to give it a name22:14
*** armax has joined #openstack-relmgr-office22:14
lifelessdhellmann: If we want the output files in the tarballs, then we probably want a pbr extension that looks for the command and calls it if its installed22:16
lifelessdhellmann: and/or a cfg setting to turn it on22:16
lifelessdhellmann: TBH though I wouldn't put them in the tarballs22:16
lifelessdhellmann: because we update them post release as CVE's and so on come in - AIUI. if we've put them in the tarball we have to ship a new tarball if that happens22:17
lifelessttx: ^ am I confused?22:17
dhellmannlifeless: I thought the whole point of this was to get them into tarballs, but if I'm wrong maybe we just build the tool as a sphinx extension and publish the notes that way? I'll wait for ttx to chime in tomorrow.22:49
lifelessyah, my understanding is just to get ttx out of the loop22:49
lifelessso that when we *don't* do tarballs or releases on stable branches there are still relevant release notes folk can obtain22:50
dhellmannit's not going to be possible to build the notes without the git history, so if we don't put the finished docs in the tarballs someone is still going to have to clone the repo to build the docs themselves22:53
dhellmannmaybe that's ok22:54
* dhellmann has to run an errand22:54
lifelessyeah, I think its ok22:56
lifelessright now they have to hit a web page22:56
lifelessif we put them in a web page when we build a tarball22:56
lifelessshrug, lots of answers22:56
lifelessnone of them super hard22:56
*** gordc has quit IRC23:17

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!