*** yangyapeng has quit IRC | 00:00 | |
*** clsacramento has quit IRC | 00:26 | |
*** reldan has quit IRC | 00:28 | |
*** clsacramento has joined #openstack-freezer | 00:29 | |
*** reldan has joined #openstack-freezer | 00:33 | |
*** zhangjn has quit IRC | 00:41 | |
*** zhangjn has joined #openstack-freezer | 00:47 | |
*** yangyapeng has joined #openstack-freezer | 01:04 | |
*** EinstCrazy has joined #openstack-freezer | 01:05 | |
*** EinstCrazy has quit IRC | 01:07 | |
*** EinstCrazy has joined #openstack-freezer | 01:09 | |
*** yangyapeng has quit IRC | 01:10 | |
*** yangyapeng has joined #openstack-freezer | 01:23 | |
*** reldan has quit IRC | 01:23 | |
*** reldan has joined #openstack-freezer | 01:24 | |
*** reldan has quit IRC | 01:36 | |
*** reldan has joined #openstack-freezer | 02:23 | |
*** reldan has quit IRC | 03:00 | |
*** EinstCra_ has joined #openstack-freezer | 04:05 | |
*** EinstCrazy has quit IRC | 04:06 | |
*** yangyape_ has joined #openstack-freezer | 05:23 | |
*** yangyapeng has quit IRC | 05:23 | |
*** yangyape_ has quit IRC | 05:24 | |
*** EinstCra_ has quit IRC | 05:30 | |
*** EinstCrazy has joined #openstack-freezer | 05:33 | |
*** kelepirci has joined #openstack-freezer | 05:58 | |
*** EinstCrazy has quit IRC | 06:44 | |
*** EinstCrazy has joined #openstack-freezer | 06:48 | |
*** EinstCrazy has quit IRC | 07:12 | |
*** EinstCrazy has joined #openstack-freezer | 07:21 | |
*** c00281451_ is now known as chenzeng | 07:26 | |
openstackgerrit | daiki kato proposed openstack/freezer: Fix typos https://review.openstack.org/297565 | 08:04 |
---|---|---|
*** EinstCrazy has quit IRC | 08:24 | |
*** EinstCrazy has joined #openstack-freezer | 08:34 | |
*** reldan has joined #openstack-freezer | 08:55 | |
*** EinstCra_ has joined #openstack-freezer | 09:16 | |
*** EinstCrazy has quit IRC | 09:17 | |
*** EinstCrazy has joined #openstack-freezer | 09:18 | |
*** EinstCra_ has quit IRC | 09:19 | |
*** EinstCrazy has quit IRC | 09:20 | |
*** EinstCrazy has joined #openstack-freezer | 09:21 | |
*** daemontool has joined #openstack-freezer | 09:22 | |
daemontool | hi | 09:23 |
*** EinstCrazy has quit IRC | 09:23 | |
*** EinstCr__ has joined #openstack-freezer | 09:23 | |
*** EinstCrazy has joined #openstack-freezer | 09:24 | |
*** Einst____ has joined #openstack-freezer | 09:26 | |
*** EinstCr__ has quit IRC | 09:27 | |
daemontool | reldan, re https://review.openstack.org/#/c/296404/ | 09:27 |
daemontool | what do you think if we call the options as 'overwrite' or 'skip_old_file' | 09:28 |
daemontool | without prepending tar as specific option | 09:28 |
daemontool | so we have the same option for any engine | 09:29 |
*** EinstCrazy has quit IRC | 09:29 | |
openstackgerrit | Eldar Nugaev proposed openstack/freezer: Added --tar-overwrite parameter for removing all files from restore directory. Added --tar-skip-old-files for don't overwriting existing files. Default value --tar-overwrite=False Default value --tar-skip-old-files=False https://review.openstack.org/296404 | 09:29 |
reldan | daemontool: Hi | 09:32 |
reldan | daemontool: Probably yes, but let’s first implement at least one additional implementation of engine | 09:32 |
reldan | daemontool: And then let’s check what is common between them | 09:33 |
daemontool | reldan, ok, but then we have to change the other options | 09:33 |
reldan | daemontool: can we have the same behaviour for rsync | 09:33 |
daemontool | yes | 09:33 |
daemontool | that's the idea | 09:33 |
daemontool | because then | 09:33 |
reldan | daemontool: second problem - it is not very clear what ‘overwrite’ means for me at least | 09:33 |
reldan | if I have overwrite=False does it the same as skip-old-files=True | 09:34 |
reldan | From common logic yes, but in terms of tar - not | 09:34 |
reldan | We also make agreement that cinder or nova are engines | 09:35 |
reldan | But for cinder and nova overwrite or skip-old-files have no sense at all | 09:36 |
daemontool | skip_old_file don't take any action if the file exists in the fs | 09:36 |
daemontool | I don't think the option for a backup solution make sense in general | 09:36 |
reldan | Slashme said that he wants this option | 09:36 |
daemontool | overwrite do not skip, and do not remove the file prior | 09:36 |
daemontool | the restore | 09:36 |
daemontool | it just rewrite the file | 09:37 |
reldan | Yes, but probably overwrite should be “clean” | 09:37 |
daemontool | I understand slashme said to not remove the content of the whole | 09:37 |
daemontool | directory | 09:37 |
daemontool | prior restore | 09:37 |
daemontool | ? | 09:37 |
daemontool | slashme, ? | 09:37 |
reldan | He wants overwrite and skip-old-files | 09:37 |
reldan | My first patch contained only —overwrite | 09:38 |
reldan | But he said that he also would like to have —skip-old-files and it was not hard for me to implement | 09:38 |
daemontool | it's not | 09:38 |
daemontool | ok | 09:38 |
daemontool | one sec | 09:38 |
daemontool | let me see | 09:39 |
daemontool | the code | 09:39 |
daemontool | so I think the issue is with --unlink-first | 09:39 |
daemontool | when tar execute that on . | 09:39 |
daemontool | -U, --unlink-first | 09:40 |
daemontool | remove each file prior to extracting over it | 09:40 |
daemontool | but if you do that on . | 09:40 |
daemontool | probably remove the content of the whole directory prior the restore | 09:40 |
daemontool | It's just a theory | 09:40 |
daemontool | we need to remove | 09:40 |
daemontool | and see | 09:40 |
daemontool | if the files are removed | 09:40 |
reldan | I checked —overwrite and withouth overwrite it leaves new files untouched | 09:41 |
reldan | with —overwrite - removes all new files | 09:41 |
daemontool | check with slashme because in the comments he says otherwise | 09:42 |
daemontool | is that the same case? | 09:42 |
reldan | I will check again, but yesterday it worked for me | 09:46 |
*** reldan has quit IRC | 09:48 | |
*** EinstCrazy has joined #openstack-freezer | 09:56 | |
*** Einst____ has quit IRC | 09:59 | |
slashme | daemontool: I tried removing the --unlink-first as well, with no luck. | 10:04 |
slashme | I tried to strip more and more things from the command | 10:06 |
slashme | /bin/tar -z --incremental --extract --ignore-zeros --warning=none --directory /root/restore_dir/ | 10:06 |
slashme | This still removes my file | 10:06 |
*** EinstCrazy has quit IRC | 10:14 | |
daemontool | if you remove overwrite and unlink-first still removes all the files in the directory? | 10:15 |
*** reldan has joined #openstack-freezer | 10:22 | |
slashme | Yup | 10:25 |
slashme | This is with a patched liberty version | 10:25 |
slashme | Going to try with master and the patch. | 10:25 |
slashme | Because it does not make any sense... | 10:26 |
daemontool | slashme, ok, it does remove the files even if the command is used directly on the shell? | 10:28 |
daemontool | kelepirci, good job with the documentation :) | 10:36 |
daemontool | I think | 10:39 |
daemontool | we need to add also the sparse option | 10:39 |
daemontool | attributes and files acl | 10:39 |
daemontool | m3m0, https://github.com/openstack/python-freezerclient | 10:40 |
daemontool | :) | 10:40 |
slashme | daemontool: When I execute from the CLI, no problems | 10:44 |
slashme | cat padawan-ccp-c0-m1-mgmt_plop_1458845634_0/1458845634/67108864/00000000 | tar -z --extract --ignore-zeros --directory /home/stack/restore_dir/ | 10:45 |
slashme | ls restore_dir/ | 10:45 |
slashme | file1 file2 file3 file4 | 10:45 |
daemontool | ok | 10:51 |
m3m0 | could someone help me to review? https://review.openstack.org/#/c/291757/ | 11:07 |
openstackgerrit | Saad Zaher proposed openstack/freezer: Use correct type for freezer arguments https://review.openstack.org/297630 | 11:18 |
*** jonaspf has joined #openstack-freezer | 11:20 | |
openstackgerrit | Saad Zaher proposed openstack/freezer: Use correct type for freezer arguments https://review.openstack.org/297630 | 11:25 |
daemontool | m3m0, if you added few comments on https://review.openstack.org/#/c/291757/ please check if they make sense or not | 11:49 |
m3m0 | yep, it improves the messages | 11:54 |
m3m0 | thanks :) | 11:54 |
slashme | daemontool: After removing one flag at the time, it appears that the one that trigger the purge of the directory is --incremental ... | 11:54 |
daemontool | and with --listed-incremental=/dev/null ? | 11:55 |
*** reldan has quit IRC | 11:59 | |
daemontool | we need to get rid of the tar and related binaries... | 12:00 |
daemontool | from ftp://ftp.gnu.org/old-gnu/Manuals/tar/html_node/tar_83.html | 12:03 |
daemontool | --incremental (-G) in conjunction with --extract (--get, -x) causes tar to read the lists of directory contents previously stored in the archive, delete files in the file system that did not exist in their directories when the archive was created, and then extract the files in the archive. | 12:03 |
daemontool | This behavior is convenient when restoring a damaged file system from a succession of incremental backups: it restores the entire state of the file system to that which obtained when the backup was made. If --incremental (-G) isn't specified, the file system will probably fill up with files that shouldn't exist any more. | 12:03 |
openstackgerrit | Memo Garcia proposed openstack/freezer-web-ui: UX improvements https://review.openstack.org/291757 | 12:07 |
slashme | That's what we constated. | 12:08 |
slashme | I guess that should be an option for freezer. | 12:08 |
slashme | Only problem , raised by reldan: | 12:13 |
slashme | If you have: | 12:13 |
slashme | Level1: file1 file2 file3 | 12:13 |
slashme | Level2: file2 file3 | 12:13 |
slashme | Restore dir: file4 | 12:13 |
slashme | When restoring with --incremental, you get: | 12:13 |
slashme | file2 file3 | 12:13 |
slashme | When restoring without --incremental, you get | 12:13 |
slashme | file1 file2 file3 file4 | 12:13 |
daemontool | well files needs to be removed | 12:14 |
daemontool | I mean if a file is removed between backup levels | 12:14 |
slashme | But if we keep the --incremental behaviour by default, we will keep on having people complaining that they accidentaly wiped the content of their /home/ directory | 12:14 |
daemontool | then it is right to remove it | 12:14 |
daemontool | I understand but | 12:15 |
slashme | It is right to remove file1, but not file4 | 12:15 |
daemontool | yes | 12:15 |
daemontool | I think | 12:15 |
daemontool | if we restore the files that has been removed in the middle | 12:15 |
daemontool | users can have big problems when restoring | 12:15 |
daemontool | tar people thought the same as we thought after all | 12:16 |
daemontool | we can add an option called --force | 12:17 |
daemontool | or --force-overwrite | 12:18 |
daemontool | are the files removed | 12:19 |
daemontool | even by using | 12:19 |
daemontool | --listed-incrementals=/dev/null | 12:19 |
daemontool | in place of --incrementals | 12:19 |
daemontool | ? | 12:19 |
slashme | checking | 12:19 |
daemontool | if --reastore-abs-path directory is not empty, the restore stops | 12:20 |
daemontool | and you need to use --force-overwrite | 12:20 |
daemontool | we can do that | 12:20 |
slashme | same thing with --listed-incrementals | 12:21 |
daemontool | ok | 12:21 |
daemontool | what do you think about the --force-overwrite option? | 12:21 |
slashme | We have two solutions | 12:21 |
slashme | Anyway, by default, restore should be without the --incremental flag. and we should add some kind of --force-overwrite flag. | 12:25 |
slashme | Option1: We just restore even if directory is not empty (and end up with file1) | 12:25 |
slashme | Option2: We Error if restore_abs_path is not empty, no restore happen and you have to restart with --force-overwrite | 12:25 |
slashme | Option3: We Warning but still do the restore | 12:25 |
slashme | I'm not sure what I prefer | 12:25 |
slashme | Let's get some opinions | 12:26 |
slashme | reldan m3m0 frescof vannif szaher ^^ | 12:26 |
daemontool | I think the restore should be with --incremental and it does not allow to do the restore if the directory is not empty or --force-overwrite is used | 12:26 |
daemontool | the goal of this | 12:27 |
daemontool | is to prevent users | 12:27 |
daemontool | to delete the content of the directory | 12:27 |
daemontool | they are restoring on | 12:27 |
daemontool | without they knows | 12:27 |
*** reldan has joined #openstack-freezer | 12:28 | |
daemontool | I don't think we should restore without removing the files the have been removed between levels | 12:28 |
daemontool | but yes, let's see what others think also | 12:29 |
daemontool | that was just my opinion | 12:29 |
daemontool | reldan, ping | 12:29 |
reldan | I’m here | 12:30 |
reldan | daemontool | 12:30 |
openstackgerrit | Merged openstack/freezer: Use correct type for freezer arguments https://review.openstack.org/297630 | 12:30 |
slashme | daemontool: I agree | 12:32 |
daemontool | reldan, I'm doing some code reorganization for rsync | 12:33 |
daemontool | before going forward as it will be easier | 12:33 |
daemontool | to udnerstand | 12:33 |
daemontool | I'm using queues now | 12:33 |
daemontool | do you think I should just use threading queues | 12:33 |
daemontool | or use RichQueue, the one you wrote | 12:34 |
daemontool | I'm going to use Threading queues for now I already know it, then when reviewing you can advise if it would be the case of changing it? | 12:35 |
daemontool | or use directly righqueues? | 12:35 |
daemontool | s/righ/rich/ | 12:35 |
reldan | daemontool: I am not very experienced with python threading. I have created RichQueue to be able close queue | 12:36 |
reldan | and don’t get synchronious stop | 12:37 |
reldan | if my queue is full | 12:37 |
reldan | put and get to RichQueue are not blocking with retries | 12:37 |
reldan | Let’s say I have writer and reader and would like to stop reader if writer got exception | 12:38 |
daemontool | ok | 12:38 |
reldan | So if you can implement your staff without it, let’s do that way | 12:39 |
daemontool | ok | 12:55 |
*** reldan has quit IRC | 12:57 | |
openstackgerrit | Merged openstack/freezer-web-ui: UX improvements https://review.openstack.org/291757 | 12:57 |
*** reldan has joined #openstack-freezer | 13:21 | |
m3m0 | slashme ping pong | 13:40 |
slashme | yup | 13:49 |
m3m0 | please review a backport to liberty : https://review.openstack.org/#/c/297690/ | 13:58 |
m3m0 | new backport https://review.openstack.org/297693 | 14:14 |
m3m0 | another backport https://review.openstack.org/297696 | 14:14 |
*** ddieterly has joined #openstack-freezer | 14:17 | |
*** ddieterly is now known as ddieterly[away] | 14:30 | |
*** ddieterly[away] is now known as ddieterly | 14:34 | |
*** ddieterly is now known as ddieterly[away] | 14:35 | |
*** dschroeder has joined #openstack-freezer | 14:37 | |
*** ddieterly[away] is now known as ddieterly | 14:40 | |
slashme | daemontool: What about --overwrite [never, yes, merge] | 14:54 |
slashme | Before restore, we check if restore-abs-path is empty. If not: | 14:54 |
slashme | If overwrite never: restore does not happen and stops with an error | 14:54 |
slashme | If overwrite yes: restore happens with --incremental (we loose file4) | 14:54 |
slashme | If overwrite merge: restore happens without --incremental (we have file1 in excess) | 14:54 |
slashme | What would be the default behaviour. Frescof is ruling for merge. I'm not sure | 14:54 |
openstackgerrit | Memo Garcia proposed openstack/python-freezerclient: Filter jobs by client or custom filters https://review.openstack.org/297714 | 14:55 |
reldan | Too complex for me. I would prefer two modes: 1) Remove everything and restore, I don’t care 2) If directory for restore is not empty - throw exception, I don’t want rewrite | 14:59 |
*** yangyapeng has joined #openstack-freezer | 15:05 | |
daemontool | slashme, I think is complex | 15:10 |
daemontool | merge is not easy to understand | 15:11 |
daemontool | I think, when the user restore, he/she wants to restore as fast as possible | 15:12 |
slashme | Okay. So let's implement --overwrite (boolean) and we will see later if addind the merge makes any sense. I kind of think it does. But it'll be part of another commit and option. | 15:13 |
daemontool | why not add --force-overwrite | 15:13 |
daemontool | if the directory is not empty you have to use it | 15:13 |
daemontool | simple | 15:13 |
slashme | I don't have any preference between --overwrite and --force-overwrite. | 15:14 |
daemontool | it would works exactly as it works now | 15:14 |
daemontool | the only code to add if a check for the directory empty | 15:15 |
slashme | yep | 15:15 |
daemontool | raise exception is empty | 15:15 |
daemontool | log | 15:15 |
daemontool | s/is/if/ | 15:15 |
daemontool | then the user have 2 choices | 15:15 |
daemontool | 1) delete the content of the directory | 15:15 |
daemontool | 2) create a directory and restore there | 15:15 |
daemontool | 3) use --force-overwrite | 15:15 |
daemontool | and have the same behavior we have now | 15:15 |
slashme | I agree | 15:15 |
daemontool | well that are 3 choises | 15:16 |
daemontool | :D | 15:16 |
daemontool | not 2 | 15:16 |
daemontool | lol | 15:16 |
daemontool | we don't have much choices | 15:17 |
daemontool | as tar remove the directory content | 15:17 |
daemontool | and for instance | 15:17 |
daemontool | in a use case | 15:17 |
daemontool | where the user is restoring 200GB | 15:17 |
daemontool | or 500GB like it was happening in the public cloud | 15:17 |
daemontool | it takes time | 15:17 |
daemontool | and you need to restore | 15:17 |
daemontool | it does not delete the data that has been delete between levels | 15:18 |
daemontool | and the space is filled up | 15:18 |
daemontool | and you cannot restore | 15:18 |
daemontool | then yes as a user I'd be very pissed off | 15:18 |
slashme | Yup | 15:19 |
slashme | Okay. Let's go with that. | 15:19 |
daemontool | we need to add one option, one if, one log and one raise | 15:20 |
daemontool | and we are good | 15:20 |
slashme | --overwrite or --force-overwrite ? From my experience, non-empty directory represent most usecases. | 15:20 |
slashme | Maybe we can save the user a few keystroke | 15:20 |
daemontool | then --overwrite | 15:21 |
daemontool | it's OK | 15:21 |
daemontool | if that check can be a function in utils better | 15:21 |
daemontool | so it can be used in both tar and rsync | 15:21 |
slashme | Makes sense | 15:22 |
*** ddieterly is now known as ddieterly[away] | 15:38 | |
*** ddieterly[away] is now known as ddieterly | 15:38 | |
openstackgerrit | Eldar Nugaev proposed openstack/freezer: Added --overwrite parameter for removing all files from restore directory. Default value --overwrite=False https://review.openstack.org/296404 | 15:55 |
slashme | daemontool: ping | 15:59 |
daemontool | yes | 16:00 |
slashme | Can you check your pm | 16:02 |
daemontool | pm == private mail? | 16:04 |
slashme | Oops send it to daemontool_ | 16:05 |
slashme | Need review on https://review.openstack.org/#/c/296404/ please. It is the overwrite patch | 16:22 |
*** reldan has quit IRC | 16:36 | |
*** ddieterly is now known as ddieterly[away] | 16:45 | |
daemontool | slashme, I'm not sure we should backport that change | 16:46 |
daemontool | to liberty | 16:46 |
*** ddieterly[away] is now known as ddieterly | 16:48 | |
slashme | HP requirement... If you really insist, I'll manage on internal repos, but I think we should, we need to maintain liberty for some time and people will keep coming to us after having delete important stuff. | 16:49 |
*** ddieterly has quit IRC | 16:52 | |
openstackgerrit | Merged openstack/freezer: Added --overwrite parameter for removing all files from restore directory. Default value --overwrite=False https://review.openstack.org/296404 | 17:17 |
*** reldan has joined #openstack-freezer | 17:18 | |
slashme | Backports: | 17:23 |
slashme | UI: https://review.openstack.org/#/c/297690 | 17:23 |
slashme | UI: https://review.openstack.org/#/c/297693 | 17:23 |
slashme | UI: https://review.openstack.org/#/c/297696 | 17:23 |
slashme | Agent: https://review.openstack.org/#/c/297766 | 17:23 |
slashme | Mitaka: | 17:30 |
slashme | https://review.openstack.org/297778 | 17:30 |
slashme | https://review.openstack.org/297779 | 17:30 |
slashme | https://review.openstack.org/297780 | 17:30 |
slashme | https://review.openstack.org/297782 | 17:30 |
daemontool | ok but in the future we should really avoid to do that | 17:30 |
slashme | I totaly agree, we shouldn't backport feature. | 17:34 |
slashme | But from my point of view, this one is a bug-fix, as people come to us saying this is a bug in Freezer. | 17:34 |
daemontool | so there's a but in tar also | 17:34 |
daemontool | cause we do just what tar does | 17:35 |
daemontool | s/but/bug/ | 17:35 |
daemontool | but in general, we shouldn't change default behaviour of past stable release | 17:35 |
daemontool | cause if people have jobs for the restore, then it wont work | 17:36 |
slashme | Freezer is not tar, freezer leverages tar in a smart way. Also this is not the default behaviour of tar, just the one you get when using --incremental | 17:36 |
slashme | I know for the jobs, it was part of my concern when doing the backport | 17:37 |
slashme | We need to backport the "Start to introduce tempest tests." to liberty if we want to be able to merge anything on that branch. | 17:39 |
slashme | https://review.openstack.org/297786 | 17:40 |
*** reldan has quit IRC | 17:49 | |
*** joanspf_ has joined #openstack-freezer | 17:51 | |
*** jonaspf has quit IRC | 17:55 | |
*** joanspf_ has quit IRC | 17:58 | |
*** jonaspf has joined #openstack-freezer | 17:59 | |
openstackgerrit | Fausto Marzi proposed openstack/freezer: WIP block based incremntal support - rsync https://review.openstack.org/290461 | 18:07 |
daemontool | I'm going off | 18:08 |
daemontool | enjoy your Easter | 18:08 |
daemontool | bye | 18:08 |
slashme | You too :) | 18:09 |
*** daemontool has quit IRC | 18:12 | |
*** reldan has joined #openstack-freezer | 18:15 | |
openstackgerrit | Deklan Dieterly proposed openstack/freezer-api: Add Freezer API Tempest Tests https://review.openstack.org/297360 | 18:24 |
openstackgerrit | Deklan Dieterly proposed openstack/freezer-api: Add Freezer API Tempest Tests https://review.openstack.org/297360 | 19:14 |
*** jonaspf has quit IRC | 21:10 | |
openstackgerrit | Deklan Dieterly proposed openstack/freezer-api: Add Freezer API Tempest Tests https://review.openstack.org/297360 | 21:48 |
openstackgerrit | Deklan Dieterly proposed openstack/freezer-api: Add Freezer API Tempest Tests https://review.openstack.org/297360 | 22:01 |
*** reldan has quit IRC | 22:22 | |
*** reldan has joined #openstack-freezer | 22:32 | |
*** reldan has quit IRC | 23:15 | |
*** dhellmann has quit IRC | 23:24 | |
*** reldan has joined #openstack-freezer | 23:24 | |
*** reldan has quit IRC | 23:36 | |
*** dschroeder has quit IRC | 23:42 | |
*** yangyapeng has quit IRC | 23:51 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!