Monday, 2017-07-17

*** zengyingzhe has joined #openstack-karbor01:23
*** liujiong has joined #openstack-karbor01:24
*** liujiong_lj has joined #openstack-karbor01:36
*** liujiong has quit IRC01:37
*** liujiong_lj is now known as liujiong01:39
*** jiaopengju has joined #openstack-karbor01:58
*** chenying has quit IRC02:12
*** chenying has joined #openstack-karbor02:29
openstackgerritMerged openstack/karbor master: Update URL home-page in documents according to document migration  https://review.openstack.org/48367602:39
*** yamamoto has joined #openstack-karbor02:47
*** yamamoto has quit IRC03:09
*** jiaopengju has quit IRC03:19
*** gouthamr has quit IRC03:42
*** jiaopengju has joined #openstack-karbor03:48
*** yamamoto has joined #openstack-karbor04:09
*** yamamoto has quit IRC04:14
*** jiaopengju has quit IRC04:26
*** jiaopengju has joined #openstack-karbor06:31
jiaopengjuping yuval06:31
chenyingping jiaopengju06:36
jiaopengjuhi06:36
chenyinghi I see the bug that you have submitted. https://bugs.launchpad.net/karbor/+bug/170290706:38
openstackLaunchpad bug 1702907 in Karbor "Can not create protection plan from horizon" [Undecided,New]06:38
chenyingI have addressed it.06:38
chenyingjiaopengju  Manila has not installed in your environment?06:39
jiaopengjuchenying: yes, I do not want to use manila in my environment.06:39
jiaopengjuchenying: In this case, the dashboard will not work06:39
chenyingjiaobenju  I see.06:40
chenyingjiaobenju In this case, in the deployment of karbor, you shoud delete the manila-plugins in the default provider config file of karbor.06:41
yuvalhey jiaopengju06:41
yuvalhey chenying06:42
jiaopengjuchenying: OK, I will try06:42
chenyingjiaopengju root@SZX1000340345:/etc/karbor/providers.d# cat openstack-infra.conf06:42
chenying[provider]06:42
chenyingname = OS Infra Provider06:42
chenyingdescription = This provider uses OpenStack's own services (swift, cinder) as storage06:42
chenyingid = cf56bd3e-97a7-4078-b6d5-f36246333fd906:42
chenyingplugin=karbor-volume-protection-plugin06:42
chenyingplugin=karbor-image-protection-plugin06:42
chenyingplugin=karbor-server-protection-plugin06:42
chenyingplugin=karbor-share-protection-plugin06:42
chenyingplugin=karbor-network-protection-plugin06:42
chenyingplugin=karbor-database-protection-plugin06:42
chenyingbank=karbor-swift-bank-plugin06:42
chenying[swift_client]06:42
chenyingswift_auth_url=http://127.0.0.1/identity06:42
chenyingswift_user=demo06:42
chenyingswift_key=password06:42
chenyingswift_tenant_name=demo06:42
chenying[swift_bank_plugin]06:42
chenyinglease_expire_window=12006:42
chenyinglease_renew_window=10006:43
chenyinglease_validity_window=10006:43
jiaopengjuchenying: I know that configuration file06:43
chenyingjiaopengju  You can see the provider config directory of karbor.  If other providers are not needed, you also can delete them,06:43
jiaopengjuyuval: I have an issue need to disscuss06:43
yuvaljiaopengju: sure thing06:44
jiaopengjuchenying: OK, I will try it soon06:44
chenyingjiaobengju Now the problom maybe the that: the protectable plugins are all loaded by karbor protection services.06:44
chenyingyuval: hi06:44
chenyingyuval: Now the protectable plugins are all loaded by karbor protection services. Even some serivces( manila or trove ) are not enable. It may a problom.06:45
yuvalchenying: Yes, agreed06:46
chenyingyuval:  It may be a problom.06:46
jiaopengjuyuval: currently, we use list_objects in bank plugin with parameter prefix, limit, marker, sort_dir, I think some of them is not really needed. IMO, we should use list_objects to get all of the objects, not part of them06:46
yuvaljiaopengju: have you run into this when developing the s3 plugin?06:46
jiaopengjuyuval: When we backup image bigger than 10000 * 640KB, it will fail06:47
chenyingyuval: IMO, the protectable plugins should only loaded the plugins which the protection plugis are enable in the provider config file.06:47
jiaopengjuyuval: No, I think all the plugin should be updated06:47
jiaopengjuchenying: Agree with you06:48
yuvaljiaopengju: "When we backup image bigger than 10000 * 640KB, it will fail" -> please elaborate06:49
jiaopengjuyuval: By default, the swift storage will return 10000 objects06:49
chenyingjiaopengju  Have you test the image backup and restore with s3 bank plugin?06:49
jiaopengjuchenying: I have tested it with a small image file. cirros06:50
jiaopengjuchenying: and it works well06:50
jiaopengjuyuval: S3 seems return 1000 objects by default, so if the image if bigger than 1000 * 640KB, it will fail06:51
jiaopengjuthe image is bigger than06:51
yuvaljiaopengju: use pagination?06:51
chenyingjiaobengju 'By default, the swift storage will return 10000 objects'  the limit of object number 10000 is set in karbor or in swift?06:51
jiaopengjuwe do not have pagination out of the bank06:51
jiaopengjuchenying: in swift06:51
yuvaljiaopengju: we do have pagination, using 'limit', 'marker' arguments06:52
jiaopengjuyuval: Yes, but I think we do not need pagination here. IMO, we can do pagination in bank plugin, not out of the plugin06:53
yuvaljiaopengju: I understand06:53
jiaopengjuyuval: So I think we can change the 'def list_objects'06:54
jiaopengjuyuval: It is enough with using 'Prefix'06:54
yuvaljiaopengju: generally, it seems like a good idea. But, there are two things we should consider06:55
yuvaljiaopengju: 1) Impace on CheckpointCollection which uses marker and limit06:55
yuvaljiaopengju: 2) consistency issues06:55
chenyingyuval The pagination parameters of bank list_objects interface refor to some list methlod of resourece in database. So maybe some are not needed for bank.06:56
yuvaljiaopengju: (consistency issues - in most object stores, bucket listing is eventually consistent)06:56
yuvalchenying: agree06:56
jiaopengjuyuval: the consistency issues: it seems that karbor will not update the objects list of a backup06:57
yuvalCurrently, the bank list parameters 'marker' and 'limit' are used by CheckpointCollection, which goes up to the checkpoint rest api06:58
yuvaljiaopengju: "it seems that karbor will not update the objects list of a backup" - don't understand06:58
jiaopengjuyuval: After the backup finished, karbor will not delete or add objects in swift07:00
jiaopengjuyuval: So the bucket listing will not changed unless you delete the backup07:01
jiaopengjuyuval: bucket listing here is objects like 'data***'07:01
yuvaljiaopengju: youn are speaking specifically about an image07:03
openstackgerritMerged openstack/python-karborclient master: Update URLs in documents according to document migration  https://review.openstack.org/48389407:03
yuvaljiaopengju: *you07:04
jiaopengjuyuval: the first issue 'Impace on CheckpointCollection which uses marker and limit' I do not understand07:04
yuvaljiaopengju: see checkpoint list in karbor api: https://github.com/openstack/karbor/blob/master/karbor/api/v1/providers.py#L286-L34307:05
jiaopengjuyuval: I mean what is Impace?07:06
yuvaljiaopengju: marker, limit, offset coming from pagination params in rest07:06
yuvaljiaopengju: trickle down to https://github.com/openstack/karbor/blob/master/karbor/services/protection/provider.py#L147-L15407:07
yuvaljiaopengju: and then https://github.com/openstack/karbor/blob/master/karbor/services/protection/checkpoint.py#L258-L30907:07
yuvaljiaopengju: where calls to the bank list_objects are07:07
yuvaljiaopengju: not saying there is no solution, but that there is impact on this section for doing the pagination internally in 'list_objects' of the bank07:08
jiaopengjuyuval: I understand07:09
jiaopengjuyuval: if so, we should fix that issue out of the bank plugin?07:09
yuvalchenying: I see that the fs bank plugin doesn't even handle the 'marker' argument07:12
yuvalchenying: nor the sort_direction07:12
chenyingyuval: These are not handled yet.07:13
jiaopengjuyuval: s3 storage only have maker, limit, prefix, delimiter07:13
yuvalI must say, that from this discussion, I become more and more convinced to go with your suggestion, jiaopengju07:15
yuvalin regards to checkpoint pagination api: this can be handled by listing all checkpoints, for now07:15
yuval(and filtering, slicing afterwards)07:16
yuvalchenying: jiaopengju: what do you think?07:16
chenyingyuval  jiaobengju  IMO, pagination parameters is for the dashboard to list the resources.  But the bank list_objects don't need returen the objeccts list to dashboard. So Do we really need the pagination in bank list interface?07:17
jiaopengjuyuval: IMO, it will be better to use full listing in bank plugin07:18
yuvalseems like we have an agreement07:19
yuvalgood point jiaopengju, thanks for raising that up07:19
jiaopengjuyuval: that is what I should do. :)07:21
chenyingyuval Are your free? I have another issue to discuss?  :D07:21
openstackgerritSpencer Yu proposed openstack/karbor master: Fix warning in doc generating "Title overline too short"  https://review.openstack.org/48426807:22
yuvalchenying: yes07:23
chenyingyuval Now I have finished the spec of trove database protectable and protect plugins. But now I can not integrate trove service to karbor's devstack.07:23
yuvalchenying: what's blocking you?07:24
chenyingyuval: I discuss with amrith about enable trove service in karbor's devstack for several times. He said that 'in order to get a working trove, there is a lot more that must be done that is not done in the devstack plugin'.07:24
chenyingyuval:amrith trove PTL. Trove sercice can not work only enablt its plugin.sh in local.conf of devstack. Trove prject develop a integration environment itself wrapper a devstack.07:26
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110607:27
yuvalchenying: tbh, I'm not very familiar with trove07:28
chenyingyuval: So only enable trove in devstackgaterc can not make trove working. He suggest me to refer to the job definition of trove jenkins. But I find that there are lots of script handling in trove project itself. And it depend on lots of prejcet and tools.07:28
chenyingIt is a independent devstack environment installing by trove to run CI. I don't know how to enable trove in karbor's devstack refer to this.07:28
jiaopengjuyuval chenying :One more question: I do not know why we use 'data fragmentation' when backup image data. In swift storage, we can use 'DLO (dynamic large object)', it seems more convenient07:29
openstackgerritSpencer Yu proposed openstack/karbor master: Fix warning in doc generating  https://review.openstack.org/48426807:30
yuvalchenying: seems like integration/scripts/trovestack in the trove repo is important07:31
chenyingyuval: Torve not done devstack integration like other project manila. Beside the plugins.sh , there are lots of configuration handler and service preparation in its service itself. So It means that making trove woking, we must use the integration/scripts/trovestack it self.07:31
chenyingyuval: Yes07:31
chenyingyuval: trovestack will initialize a independent devstack itself.  So I don't how to integrate it with karbor's jenkins devstack.07:32
chenyingyuval: I must install trove service use the  integration/scripts/trovestack of it in my local environment. All the other service (nova keystone heat cinder) are installed via this scripts.07:35
yuvaljiaopengju: regarding the large object support in swift: we definitely considered that, even had a nice talk with swift's ptl about it in Barcelona07:36
yuvaljiaopengju: however07:37
yuvaljiaopengju: it makes us hold the entire image in memory07:37
yuvaljiaopengju: so what we do now, is download a chunk from the bank, and upload it to the remote glance, only holding one (sometimes more, depending on chunks size) in memory every time07:38
yuvaljiaopengju: and that's just a reference implementation plugin07:38
*** NatanBro has joined #openstack-karbor07:39
yuvalchenying: sounds bad. Let me have a look in trovestack script, not really sure what's going on there07:39
chenyingjiaopengju  If you think the  chunks size is not suitable. You can configure the value of it in provider config file.07:39
yuvaljiaopengju: otherwise we might end up holding gigabytes of image data in karbor memory07:40
yuvaljiaopengju: (and even if that might be momenteraly, that's not good)07:40
jiaopengjuyuval: 'it makes us hold the entire image in memory',  use 'header: Range' can get part of the image data in swift07:41
chenyingyuval: I see some code of it.  trovestack script build a independent devstack itself include lots of configuration of trove, preparation work like build a mysql database image, datastore.07:41
yuvalchenying: as said, sounds bad :\\07:41
jiaopengjuchenying: ok07:42
yuvaljiaopengju: we could do that as well07:44
jiaopengjuyuval: thanks for your anwser. I will try to fix the bank issue07:45
yuvaljiaopengju: thank you, you are raising awesome issues07:45
openstackgerritSpencer Yu proposed openstack/python-karborclient master: Fix warning in doc generating  https://review.openstack.org/48427307:45
jiaopengjuyuval: you are welcome :)07:46
chenyingyuval: can you help to see whether have a way to integrate trove in karbor's jenkins devstack?  make it working. I have no idea about it now.07:46
yuvalchenying: yes, looking at it07:46
yuvalchenying: will do it now, before day ends in China :)07:47
chenyingyuval: thanks.07:47
chenyingyuval: Because of poor network, I spend 2 or 3 day to install a trove environment via integration/scripts/trovestack scripts of trove.  Build a mysql image need lots software packages.   T.T07:49
yuvalchenying: what takes all the time? pip packages? git clone? maybe setup a pip/git cache?07:50
chenyingyuval: internet speed is so slow, most of time software packages installation failed.07:51
yuvalchenying: what is taking most of the bandwidth? pip packages? git clone?07:51
yuvalchenying: rpm downloads?07:51
chenyingyuval   apt install packages.07:52
yuvalchenying: take a look: https://help.ubuntu.com/community/Apt-Cacher-Server07:52
yuvalchenying: and: https://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher/07:53
yuvalchenying: will help you guys speed devstack by a lot07:53
chenyingyuval I have change the  mirror source of apt. But It seem that the integration/scripts/trovestack scripts have not use it. It use the official source itself everytime.07:53
chenyingyuval Imagebuild project not only trovestack scripts  use the official source itself everytime.07:54
openstackgerritMerged openstack/python-karborclient master: Fix warning in doc generating  https://review.openstack.org/48427308:00
yuvalchenying: ping08:35
chenyingyuval hi08:36
yuvalchenying: in trovestack, 'cmd_dsvm_gate_tests' initializes the devstack env, and runs the tests using 'cmd_int_tests'08:36
chenyingyuval: I know.08:37
chenyingyuval Only this is not enough.08:37
yuvalchenying: maybe we can refactor 'cmd_dsvm_gate_tests' part of preparing the devstack env and call it from karbor08:37
yuvalchenying: what else is missing?08:37
chenyingyuval We need prepare the datastore of karbor.08:37
chenying We need prepare the datastore of trove08:38
yuvalchenying: it is done in 'cmd_test_init', right?08:40
chenyingyuval: In my local environment,  I use this one kick-start08:40
yuvalchenying: cmd_dsvm_gate_tests calls kickstart08:41
chenyingyuval: Add a new jenkins about trove is better. These cmd from trove depend on lots project and tools  to prepare datastroe.08:43
yuvalchenying: that's what I'm talking about. Refactor the gate prepare from 'cmd_dsvm_gate_tests' (including kickstart) and call it from a karbor gate about trover08:44
yuval*trove08:44
chenyingyuval: we can refactor these cmd in trove to preparing the devstack for karbor.08:44
yuvalchenying: exactly08:44
chenyingyuval: Sound a good idea.08:44
yuvalchenying: :)08:45
openstackgerritSpencer Yu proposed openstack/karbor master: Add choices field in config definition  https://review.openstack.org/48429208:49
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110609:04
*** dixiaoli has joined #openstack-karbor09:07
*** dixiaoli has quit IRC09:07
*** yamamoto has joined #openstack-karbor09:13
*** yamamoto has joined #openstack-karbor09:14
chenyingyuval: So could you do the patch adding a new jenkins about trove integration in karbor gate later?  I'm not familiar with jenkins definition in project-config.09:16
*** yamamoto has quit IRC09:16
*** yamamoto has joined #openstack-karbor09:17
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110609:20
*** yamamoto has quit IRC09:21
*** yamamoto has joined #openstack-karbor09:21
*** yamamoto has quit IRC09:26
*** yamamoto has joined #openstack-karbor09:30
*** yamamoto has quit IRC09:38
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110609:39
*** liujiong has quit IRC10:06
openstackgerritPengju Jiao proposed openstack/karbor master: [WIP] Use full listing in bank plugin  https://review.openstack.org/48431910:17
*** yamamoto has joined #openstack-karbor10:37
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110611:53
*** jiaopengju has quit IRC11:58
*** gouthamr has joined #openstack-karbor13:01
*** jiaopengju has joined #openstack-karbor13:23
openstackgerritYuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP)  https://review.openstack.org/48110613:42
*** yamamoto has quit IRC13:49
*** zhurong has joined #openstack-karbor13:59
*** zhurong has quit IRC13:59
*** yamamoto has joined #openstack-karbor14:09
*** yamamoto has quit IRC14:09
*** NatanBro has quit IRC14:22
*** jiaopengju has quit IRC14:25
*** yamamoto has joined #openstack-karbor14:40
*** yamamoto has quit IRC14:46
*** zengyingzhe_ has joined #openstack-karbor17:06
*** zengyingzhe has quit IRC17:06
*** gouthamr has quit IRC22:12
*** gouthamr has joined #openstack-karbor22:15
*** gouthamr has quit IRC23:32
*** gouthamr has joined #openstack-karbor23:51
*** gouthamr has quit IRC23:53
*** gouthamr has joined #openstack-karbor23:54

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