Thursday, 2016-04-07

*** yangyapeng has quit IRC00:24
*** ddieterly[away] has quit IRC00:26
*** ddieterly has joined #openstack-freezer00:40
*** yangyapeng has joined #openstack-freezer01:02
*** EinstCrazy has joined #openstack-freezer01:29
*** yangyape_ has joined #openstack-freezer01:41
*** yangyapeng has quit IRC01:44
*** dschroeder has quit IRC01:45
*** ddieterly is now known as ddieterly[away]01:47
*** yangyape_ has quit IRC01:49
*** ddieterly[away] is now known as ddieterly02:21
*** ddieterly is now known as ddieterly[away]02:26
*** EinstCrazy has quit IRC02:35
*** EinstCrazy has joined #openstack-freezer02:36
*** ddieterly[away] has quit IRC03:26
*** zhangjn has quit IRC05:45
*** zhangjn has joined #openstack-freezer05:46
*** EinstCra_ has joined #openstack-freezer06:59
*** EinstCrazy has quit IRC07:02
*** reldan has joined #openstack-freezer07:31
*** daemontool has joined #openstack-freezer07:32
daemontoolall, are we ok to tag current master for the freezer and freezer-api repo for Mitaka release? :)07:53
daemontoolany outstanding bug needs to get in?07:53
daemontoolplease approve the pending devstack fixes also07:53
*** reldan has quit IRC08:10
*** daemontool has quit IRC08:41
EinstCra_https://review.openstack.org/299277 https://review.openstack.org/298588 https://review.openstack.org/298628 I think these 3 bug need to get in08:50
*** EinstCra_ is now known as EinstCrazy08:51
EinstCrazyThese 3 bugs is about cinder native backup and restore08:51
*** reldan has joined #openstack-freezer08:54
slashmeBugs09:16
slashmeWe have a few09:16
slashmeLet's tackle that right now09:16
slashmehttps://review.openstack.org/#/c/301800/09:16
slashmehttps://review.openstack.org/#/c/298628/09:16
slashmehttps://review.openstack.org/#/c/301808/09:16
slashmehttps://review.openstack.org/#/c/302160/09:16
slashmehttps://review.openstack.org/#/c/302151/09:17
slashmeFor 298628, it's not even merged into master09:17
slashmeI'll backport it as soon as it is approved09:17
*** yangyapeng has joined #openstack-freezer09:23
*** reldan has quit IRC10:10
*** reldan has joined #openstack-freezer10:11
*** daemontool has joined #openstack-freezer10:22
reldan+Workflow please to Deklan https://review.openstack.org/#/c/301250/510:29
*** EinstCrazy has quit IRC10:30
*** yangyapeng has quit IRC10:43
*** reldan has quit IRC10:44
*** reldan has joined #openstack-freezer11:03
reldan+Workflow please to Einst Crazy https://review.openstack.org/#/c/266813/11:28
reldan+Workflow plase to Daiki Kato https://review.openstack.org/#/c/297565/111:29
*** yangyapeng has joined #openstack-freezer11:40
reldanValueError: git history requires a target version of pbr.version.SemanticVersion(2.0.1), but target version is pbr.version.SemanticVersion(2.0.0)11:47
reldan2016-04-07 11:27:07.810 |     error in setup command: Error parsing /home/jenkins/workspace/gate-freezer-docs/setup.cfg: ValueError: git history requires a target version of pbr.version.SemanticVersion(2.0.1), but target version is pbr.version.SemanticVersion(2.0.0)11:47
reldandaemontool: Do you know what is it?11:48
slashmeI know11:57
slashmeRelease was tagged11:57
slashmeFrom now on, every backport to mitaka needs to increment the version11:58
openstackgerritPierre Mathieu proposed openstack/freezer: Generate a full backup first time  https://review.openstack.org/29862811:59
yangyapengHI12:03
openstackgerritSaad Zaher proposed openstack/freezer: Add Freezer Tempest Tests  https://review.openstack.org/30125012:04
slashmeJust to be sure.12:04
slashme- Kilo : 1.1.x12:04
slashme- Liberty : 1.2.x12:04
slashme- Mitaka : 2.0.x12:04
slashme- Newton : 2.1.x ??12:04
openstackgerritPierre Mathieu proposed openstack/freezer: Generate a full backup first time  https://review.openstack.org/29862812:04
yangyapengwhen backup_cinder , generate the file in  self.container , that can Overwrite the original backup.12:05
*** EinstCrazy has joined #openstack-freezer12:06
yangyapengping EinstCrazy12:07
EinstCrazyyes?12:07
yangyapenghttps://review.openstack.org/29862812:07
openstackgerritEinst Crazy proposed openstack/freezer: fix some rst syntax error of code block  https://review.openstack.org/26681312:11
*** reldan has quit IRC12:26
*** reldan has joined #openstack-freezer12:35
openstackgerritPierre Mathieu proposed openstack/freezer: Add Freezer Tempest Tests  https://review.openstack.org/30125012:38
daemontoolmeeting is in 1 hour right>13:07
daemontool_13:07
daemontool?13:07
daemontoolI'll be back shortly13:08
*** daemontool has quit IRC13:17
openstackgerritMerged openstack/freezer: Generate a full backup first time  https://review.openstack.org/29862813:23
slashmedaemontool13:27
slashmeyes13:27
*** daemontool has joined #openstack-freezer13:28
*** ddieterly has joined #openstack-freezer13:54
*** ddieterly is now known as ddieterly[away]13:56
slashmeBackports to liberty and mitaka https://review.openstack.org/302780 and https://review.openstack.org/30277914:00
m3m0guys please move to #openstack-meeting-alt14:00
openstackgerritEinst Crazy proposed openstack/freezer: Use volume_id and timestamp to generate container name  https://review.openstack.org/29858814:11
openstackgerritEinst Crazy proposed openstack/freezer: Restore cinder native backup pass right params and call right api  https://review.openstack.org/29927714:21
*** ddieterly has joined #openstack-freezer14:42
*** kelepirci_ has joined #openstack-freezer14:56
*** kelepirci has quit IRC14:57
daemontoolhang on I remember os.walk15:00
daemontoolsupports15:00
daemontoolexclude15:00
daemontoolone sec15:00
*** kelepirci_ is now known as kelepirci15:01
daemontoolmmmhh nope15:01
daemontool:(15:01
ddieterlyare we still meeting?15:03
daemontoolwell we are discussing about the solution15:03
daemontoolthe meeting is over15:03
ddieterlyok15:03
daemontoolanyway15:03
clsacramentodaemontool: do you agree we have to separate this exclusion from the engine?15:04
daemontoolclsacramento, the generation of the list yes15:04
daemontoolI do not agree15:04
daemontoolwith scanning the file system twie15:04
daemontooltwice15:04
daemontoolin that case is better to use regex against each file15:05
daemontooland scanning the fs once15:05
daemontoolis moving that outside the engine15:05
slashmedaemontool: Not possible with tar15:05
daemontools/is/if/15:05
daemontoolthey didn't do that becaus eif inefficient15:06
daemontools/if/is/15:06
frescofhmmmm why separating the exclusion from the engine ?15:08
clsacramentodaemontool: if you separate I dont see how to avoid walking the path twice15:08
slashmefrescof: Having a consistent exclude pattern between egines15:08
daemontoolclsacramento,  ok, I'm not sure we have more benefit if we walk twice15:08
clsacramentofrescof: each engine implements exclusion differently, so we can't control what is really going to be excluded15:08
*** dschroeder has joined #openstack-freezer15:09
daemontoolthe idea of having a consistent exclude15:10
daemontoolis absolutely right15:10
daemontoolbloody binaries... until we do not get rid of them15:10
daemontoolwe have this issues15:10
frescofI agree bus as said this is not possible without the double walk15:11
daemontoolfrescof, do you agree with the double walk?15:11
frescofnope15:11
daemontoolit generated a lots of I/O... and time inefficient15:11
frescofand what if the list of exclude files generated contains millions of files with a very long path ?15:12
frescofit's not only an i/o problem, even memory15:12
slashmefrescof yes15:12
clsacramentook, the other solution that I thought of is to have the engine return the list of backed up files to be used by the checksum module15:12
ddieterlyyou can use a bloom filter15:13
frescofso, for me, no double scan15:13
frescofbetter the inconsistency that that15:13
ddieterlyget a list of files to exclude, put them in a bloom filter, which will fit in memory, then for each file,you can later look in the bloom filter to see if it is there15:13
slashmeWe can also ensure that all engines implement the exclude in the same way15:13
ddieterlybloom filters are a very efficient way to do lookups on large datasets15:14
daemontoolddieterly, I don't know about that15:14
daemontoolI'm going to read15:14
ddieterlyhttps://en.wikipedia.org/wiki/Bloom_filter15:15
daemontoolok15:15
daemontoolty15:15
ddieterlythey are used in very scalable situations15:15
frescofhmmm and how that can be done with tar15:16
daemontoolgood question...15:17
frescofmaybe there is something I'm missing here15:17
daemontoolI can do that in rsync do15:17
clsacramentofrescof: the bloom_filter ?15:17
frescofyep15:17
*** yangyapeng has quit IRC15:17
clsacramentofor tar we can pass a file containing the files to exclude15:18
frescofah lol15:18
frescofso not only we scan the tree twice but we even save the list on disk15:18
slashmefrescof agreed, that's not really acceptable15:19
slashmeSo how about we just ensure that our engines implement the exclude in the same way. Doing that, we don;t have to walk twice and still have a constistent behaviour15:20
frescofwith tests ? :)15:21
ddieterlydid anyone want to discuss https://review.openstack.org/#/c/301250/?15:22
ddieterlyOW, i'm going to go get a coffee ;-)15:22
clsacramentoI'm not sure we can force an engine to behave like we an on that15:23
clsacramentofor tar, it has its own of dealing with pattern and we cannot change it15:23
frescofclsacramento, yep sure15:24
daemontoolI think we need to decide how do we want to match15:24
daemontoollike exact15:24
daemontoolbrown == brown15:24
daemontoolmatch in any place15:24
daemontoolbrown match brownsugar15:24
reldanHmm, could you please explain what is so difficult with excluding and checksum15:25
*** ddieterly is now known as ddieterly[away]15:25
daemontoolreldan, I don't think is difficult, it's just that we need to have same way to exclude15:25
daemontoolamongst multiple engine15:25
daemontoolwhich make totally sense15:25
clsacramentoreldan: to be sure that what checksum assume is excluded is the same that actually is excluded if the exclusion is not standard among engines15:25
daemontoolso, brown == brown15:26
daemontoolor brown match brownsugar?15:26
reldanOh, I see now. Thank you15:26
reldan1) There are problem with incremental15:26
reldanlet’s say level 0 with exclude and level 1 without15:27
reldanOr level 0 without and level 1 with15:27
frescofreldan, hmm and what's the problem ?15:28
clsacramentoreldan: I think is not a problem, the checksum is run at the same time of backup with the same options15:28
clsacramentoand the checsum is run on the original files, not on the files in the backup container15:29
reldanIt is my qustion yes. My first backup is with —exlude=*.log And incremental without exclude. Should increment contains files excluded in level0 ?15:31
frescofreldan, yes15:32
clsacramentoThe it is implemented today, if dont pass again the exlude option on you incremental, it will not exclude15:33
*** EinstCrazy has quit IRC15:36
reldanAnd if I run my wirst backup without exclude and my incremental with —exclude. Should it mark all excluded files as deleted?15:36
*** ddieterly[away] is now known as ddieterly15:37
reldanAnd still don’t see the problem. During checksum - we just skip files by wildcard. And it is all. During restore we should have the same directory like before backup. So checksum should be the same15:40
reldanWhat am I missing?15:40
reldanOr it is discussion about arguments15:41
clsacramentoreldan: I think it is out of scope for the backup consistency checksum... in any case it has to checksum the user files regardless previous backups15:41
clsacramentoI'm trying to implement backup consistency. To do that, I am checksumming the files before backup, checksumming the files after restore and comparing the two checksums15:42
clsacramentonow if the backup is going to exclude files, the same files have to be excluded from the checksum15:42
reldanYes, right15:43
reldanAnd I still don’t see any problem15:43
*** ddieterly is now known as ddieterly[away]15:44
clsacramentoif have no way to ensure the files I exclude on the checksum are the same excluded on the backups because the engines don't implement file exclusion in the same way15:44
frescofddieterly[away], https://review.openstack.org/#/c/301250 seems ok to me15:45
reldanIf file is excluded it should not be in restore? Nope?15:45
reldanWe just don’t have such file15:45
clsacramentobut I don't have the original list of files backed up, just the result of the checksum15:46
*** ddieterly[away] is now known as ddieterly15:46
reldanYes, so we just should compare checksum15:46
clsacramentowhen I restore, I just have the restored files and the checksum of the original files15:47
clsacramentoyes15:47
reldanyes15:47
ddieterlyfrescof ok, thanks15:47
reldanBut still don’t understand what is the problem. During backup we calculate checksum without excluded files, during restore we restore everything except excluded15:47
reldanchecksums should be equal15:48
frescofreldan, agree15:48
clsacramentoYou mean, on backup I checksum all files?15:48
reldanall files except excluded, yes15:48
clsacramentook, this is the problem, how do I retrieve the excluded files15:49
clsacramentoeach engine will determine different files for the same pattern15:49
reldanclsacramentol: we should have our regexp and if some engine supports different pattern - we can provide adaptor, that transform one format to another15:50
clsacramentoreldan: I think it is good idea and simpler of anything that we have came up so far15:51
clsacramentoWe still need to agree on which pattern should be given on the --exclude option in freezer agent15:52
reldanOtherwise it should be hell for our customer.15:52
reldanI like tar format :) Currently it is only engine we have15:53
reldanSo I can write adapter15:53
reldanstr -> str15:53
slashme+1 on reldan's solution :)15:53
clsacramentothank you for thinking about that, we spent 40 minutes of the meeting for that and could not think of anything as good15:54
clsacramentoMe and slashme we prefer the glob pattern which is a little bit different from the tar one though15:55
reldanYes, I don’t insist that it shold be tar format. If we can transform glob to tar. I’m 100% fine with that solution15:55
slashmeTar: .py15:56
slashmeGlob: *.py15:56
slashmeRegex: py$15:56
reldantar -cf src.tar --exclude='*.o' src15:58
reldanSo I suppose for tar it is *.py as well15:58
reldanhttps://www.gnu.org/software/tar/manual/html_chapter/tar_6.html15:59
clsacramentoTar: if you pass --exclude=.py it will exclude any file that has aney .py anywhere15:59
clsacramentoin glob you need *.py* for that15:59
daemontoolso why not do that in rsync too (match the substring) and the problem is solved16:00
clsacramento*.py works the same in both16:00
reldandaemontool: Yes, I suppose we can keep it simple16:01
daemontoolso while we walk the fs16:01
daemontoolit's just an16:01
clsacramentodaemontool: you mean force rsync to function the same as tar ?16:01
daemontoolclsacramento, yes16:02
daemontoolit is important16:02
daemontoolbut in my opinion16:02
daemontoolinvest energies so write an adapter16:02
daemontoolit is a bit too much now16:02
clsacramentodaemontool: do we risk of having any other engine, that like tar we cant modify, and that behaves differently with the pattern?16:03
daemontoolI can't think of one now16:03
daemontoolrsync, tar, the data we get from glance, native backups16:04
clsacramentodaemontool: ok, than I'll make checksum behave like tar, and you make rsync behave like tar for now16:04
daemontoolthose are the cases16:04
daemontoolclsacramento,  I think that is good16:04
daemontoolwhat would be good to do16:04
reldanGood!16:04
daemontoolis implement the listed-incremental feature16:04
daemontoolin tarfile module16:04
daemontoolin python16:04
daemontoolso we remove all the bloody binaries16:04
daemontooland then we can implement the exclude we want16:04
daemontoolwithout binaries limitations16:05
daemontoolreldan, are you up to that? :D16:05
daemontoollol16:05
clsacramentodaemontool: we just have to be careful to make sure that we walk exactly like tar with all patterns16:05
daemontoolyou need to take a sabatical years off after that...16:05
daemontool:)16:05
daemontoolyes16:05
daemontoolclsacramento, yes16:06
reldandaemontool: It shouldn’t be too hard :) But probably it should be too hard to force it work fast :)16:06
daemontoolit's not easy16:06
daemontoolbelieve me16:06
reldanBut git does the same16:07
reldanI can use the same approach from git16:07
daemontoolgit uses its own format16:07
reldanBut more or less, I need to check dates owner size16:08
slashmePending Reviews:16:08
slashme- Backports Cinder incremental :16:08
slashme    https://review.openstack.org/30278016:08
slashme    https://review.openstack.org/30277916:08
slashme- Typos:16:08
slashme    https://review.openstack.org/#/c/29756516:08
slashme    https://review.openstack.org/#/c/266813/16:08
slashme- Cinder Bugs: ?? Do these need backport to liberty/mitaka ??16:08
slashme    https://review.openstack.org/#/c/298588/16:08
slashme    https://review.openstack.org/#/c/299277/16:08
reldanIf I have change - I just pack whole file and mark like it is new16:08
reldanWith deletion it is also not very complex16:09
clsacramentodaemontool: I wrote this conclusion on the etherpad, so we can keep in mind the translator if we ever need to16:10
reldanI don’t say that it is easy, but doesn’t look like rocket science16:10
daemontoolclsacramento, thanks a lot :)16:10
daemontoolslashme,  are those real bugs (Cinder bugs)?16:12
daemontoolreldan,  if we use tarfile, we already have a lots of functions16:13
slashmeEinstCrazy / reldan ??16:13
daemontooland other thigns16:13
daemontoolwe can reuse16:13
openstackgerritMerged openstack/freezer: Add Freezer Tempest Tests  https://review.openstack.org/30125016:13
daemontoolthat's why I was proposing that16:13
daemontoolplease do it, or I have to do it after rsync :)16:13
daemontoolclsacramento, if you want& have time16:14
daemontoolplease review https://review.openstack.org/#/c/290461/16:14
daemontoolit's not working the restore now16:14
daemontoolbut the general code is there16:14
daemontoolthe backup works16:14
reldanslashme: I suppse https://review.openstack.org/#/c/298588/ can go to liberty/mitaka  https://review.openstack.org/#/c/299277/ - Einst should know better16:14
slashmeI wanted his opinion16:15
daemontoolhttps://review.openstack.org/#/c/299277/ added a comment16:16
openstackgerritOpenStack Proposal Bot proposed openstack/freezer: Updated from global requirements  https://review.openstack.org/30293216:17
*** yangyapeng has joined #openstack-freezer16:18
clsacramentodaemontool: I'll take a look16:18
*** ddieterly is now known as ddieterly[away]16:23
daemontoolclsacramento,  ty16:23
*** yangyapeng has quit IRC16:25
openstackgerritMerged openstack/freezer: Use volume_id and timestamp to generate container name  https://review.openstack.org/29858816:36
openstackgerritOpenStack Proposal Bot proposed openstack/freezer: Updated from global requirements  https://review.openstack.org/30293216:39
*** daemontool has quit IRC16:44
*** ddieterly[away] is now known as ddieterly16:46
*** reldan has quit IRC17:03
*** ddieterly is now known as ddieterly[away]17:08
*** ddieterly[away] is now known as ddieterly17:13
openstackgerritDeklan Dieterly proposed openstack/freezer: Add More Freezer Tempest Tests  https://review.openstack.org/30300717:35
*** ddieterly is now known as ddieterly[away]17:36
*** yangyapeng has joined #openstack-freezer18:22
*** yangyapeng has quit IRC18:27
*** ddieterly[away] has quit IRC18:36
*** ddieterly has joined #openstack-freezer18:42
*** ddieterly is now known as ddieterly[away]18:44
*** ddieterly[away] is now known as ddieterly18:46
*** reldan has joined #openstack-freezer18:47
*** ddieterly is now known as ddieterly[away]19:00
*** reldan has quit IRC19:14
*** ddieterly[away] is now known as ddieterly19:21
*** ddieterly is now known as ddieterly[away]20:10
*** ddieterly[away] is now known as ddieterly20:15
openstackgerritDeklan Dieterly proposed openstack/freezer: Add More Freezer Tempest Tests  https://review.openstack.org/30300720:23
*** ddieterly is now known as ddieterly[away]20:49
*** ddieterly[away] has quit IRC20:52
*** ddieterly has joined #openstack-freezer22:01
*** ddieterly is now known as ddieterly[away]22:18
*** ddieterly[away] is now known as ddieterly22:19
*** ddieterly is now known as ddieterly[away]22:30
*** ddieterly[away] is now known as ddieterly22:30
*** daemontool has joined #openstack-freezer22:48
*** dschroeder has quit IRC23:25
*** ddieterly is now known as ddieterly[away]23:33
*** ddieterly[away] has quit IRC23:33
*** ddieterly has joined #openstack-freezer23:36
*** ddieterly is now known as ddieterly[away]23:48

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