Friday, 2016-01-15

openstackgerritxu-haiwei proposed openstack/python-senlinclient: Remove 'level', 'cooldown' and 'priority' properties in client  https://review.openstack.org/26745800:15
*** xuhaiwei has joined #senlin00:15
*** dixiaoli has joined #senlin00:31
*** dixiaoli has quit IRC00:36
openstackgerritMerged openstack/python-senlinclient: Remove 'level', 'cooldown' and 'priority' properties in client  https://review.openstack.org/26745801:11
*** Qiming has joined #senlin01:21
openstackgerritxu-haiwei proposed openstack/python-senlinclient: Remove 'permission' from senlin client  https://review.openstack.org/26788301:31
openstackgerritxu-haiwei proposed openstack/python-senlinclient: Remove 'permission' from senlin client  https://review.openstack.org/26788301:38
*** Yanyanhu has joined #senlin01:40
*** cschulz has quit IRC01:41
*** elynn has joined #senlin02:00
*** Qiming_ has joined #senlin02:00
elynnMorning02:01
*** Qiming__ has joined #senlin02:02
*** Qiming has quit IRC02:03
*** Qiming_ has quit IRC02:05
*** Qiming__ is now known as Qiming02:07
*** yuanying has joined #senlin03:19
openstackgerritMerged openstack/python-senlinclient: Remove 'permission' from senlin client  https://review.openstack.org/26788303:19
*** yuanying_ has quit IRC03:21
openstackgerritCindia-blue proposed openstack/senlin: Add Recover into RPC API  https://review.openstack.org/26792203:37
*** Yanyan has joined #senlin03:48
*** Yanyanhu has quit IRC03:48
*** yuanying has quit IRC03:59
*** yuanying has joined #senlin04:00
*** yuanying has quit IRC04:02
*** yuanying has joined #senlin04:03
*** yuanying has quit IRC04:05
*** yuanying has joined #senlin04:08
*** Mayur_ has joined #senlin04:16
Mayur_Hi04:16
openstackgerritEthan Lynn proposed openstack/python-senlinclient: Remove node join/leave from senlinclient  https://review.openstack.org/26792604:17
xuhaiweihi04:17
Mayur_I have reported a bug related to webhook creation using create_receiver method. https://bugs.launchpad.net/senlin/+bug/1534444. Can anyone look into this matter.04:19
openstackLaunchpad bug 1534444 in senlin "resource Forbidden: You are not authorized to complete this action. (HTTP 403) for 'create_receiver' method." [Undecided,New]04:19
openstackgerritEthan Lynn proposed openstack/python-senlinclient: Remove node join/leave from senlinclient  https://review.openstack.org/26792604:19
xuhaiweiMayur_, thank you for reporting this04:23
xuhaiweiare you trying to scale out a heat stack by webhook?04:23
xuhaiweielynn, I think Mayur_ is using heat resource to create a receiver, does Heat support it now?04:25
xuhaiweican you have a look of this bug report?04:26
*** Mayur_ has quit IRC04:54
openstackgerritCindia-blue proposed openstack/senlin: Add Recover into RPC API  https://review.openstack.org/26792205:08
elynnHi Mayur_05:32
xuhaiweihe is gone05:32
elynnHi xuhaiwei05:32
xuhaiweiyou can comment in the launchpad05:33
openstackgerritMerged openstack/python-senlinclient: Remove node join/leave from senlinclient  https://review.openstack.org/26792605:33
elynnheat resource doesn't support webhook05:33
xuhaiweiok05:33
elynnheat only support cluster and profile for now.05:33
xuhaiweiso he is doing in the wrong way05:33
elynnI haven't add node/policy/receiver in heat05:34
xuhaiweiit seems he requests receiver api directly from heat05:35
Qiminghi, forwarded you all the email05:36
Qiminglet's see how we can help solve the problem05:37
xuhaiweiI think we can test it in senlin first, without using Heat05:38
Qimingyep05:39
Qiminglixinhui, there?06:00
lixinhuiYes, Qiming06:05
Qiminglixinhui, looking at your cluster recover patches06:05
Qimingoverall looks good to me06:05
lixinhuiThanks, I saw your comments06:05
Qimingthough I do have some concerns in the details06:06
lixinhuiyes06:06
lixinhuiI saw your replay on service.py06:06
lixinhuiand wonder in what way to get error node06:07
QimingI'd suggest we devise the APIs as individual calls and leave the composition of workflows or usage scenarios to higher level of logics06:08
lixinhuiyou mean, find error nodes, recover node and cluster06:09
Qimingat the RPC API layer, we expose cluster_check(), cluster_recover(), node_check() and node_recover()06:09
Qimingthese will serve the primitives someone can call06:09
Qimingwith cluster_check() we are enabling users to check (unconditionally) the health status of all nodes on a cluster06:10
Qimingwith cluster_recover(), we allow users to recover all nodes inside that cluster06:11
Qimingthe CLUSTER_RECOVER action will fork NODE_RECOVER actions06:11
Qimingeach node will decide whether it should do something based on its current status06:12
lixinhuiokay06:12
Qimingproviding a subset of cluster nodes for recovery would be cool06:12
Qimingand it can be something we can add later on06:12
lixinhuigot it06:13
Qimingat the moment, just make the logic simple and stupid would be okay06:13
lixinhuiyes, I see06:13
Qimingmaking recover_object return a physical_id is a smart move!06:14
lixinhui:)06:14
Qiminglet's do it in a step by step way06:16
Qimingfor node handling06:16
Qimingwe don't have node.do_check() yet, right?06:16
lixinhuinot yet06:17
lixinhuiI will add it from inner to external06:18
Qimingokay, it's your call06:18
lixinhui:)06:18
Qimingyou can start by working out a simple do_recover() logic then improve it06:19
Qimingor you can start with adding do_check() and implement a do_recover() based on it06:19
Qimingboth roads lead to Roma06:20
QimingRome06:20
lixinhuiokay, I will think about it06:20
lixinhuithen build the Rome06:21
Qimingand then destroy it06:21
lixinhuieven a small market first06:21
lixinhuihaha06:22
openstackgerritEldonZhao proposed openstack/python-senlinclient: Input of update_policy using error Fix Bug #1534072  https://review.openstack.org/26796006:25
openstackbug 1534072 in senlin "Input of update_policy using error" [Undecided,New] https://launchpad.net/bugs/1534072 - Assigned to EldonZhao (xyz-213083464)06:25
QimingYanyan, there?06:33
*** lixinhui has quit IRC06:39
Yanyanhi, Qiming06:39
Qiminghi, as API liaison, want to know your opinion on two things06:40
Qimingone is about getting node details: https://review.openstack.org/#/c/262367/06:40
Qimingwithout this patch we won't be able to get node details from client side06:40
Qiminganother workaround would be to add a NodeDetail resource that directs us to a GET of '.../<node_id>/details'06:41
YanyanI think the first one is better06:41
QimingI think it doesn't worth the effort06:41
Yanyanyes06:42
Qimingokay, will keep on pushing that06:42
Yanyanagree, extra resource for this purpose is not needed I think06:42
Qiminga second topic06:42
Qiminghttps://review.openstack.org/#/c/254895/1/guidelines/versioning.rst06:42
Qimingthough this is still under review, we may need to add a version entry and a versions endpoint06:43
Yanyanyes, I noticed keystone tried to provide this support before?06:43
Yanyanabout the api version it supported06:43
Qimingnot sure06:43
Yanyana discover module in its client06:44
Qimingeven if senlin has only one version at the moment or near future06:44
Qimingwe should be returning a dict in a format that is understandable by all consumers06:44
Yanyanyes, this is necessary06:44
Qimingokay, I'll push on that too06:44
Yanyanthanks. will check these two patches and leave comments or talk with you guys06:45
Qiminggreat06:45
*** Qiming has quit IRC06:46
*** Yanyan has quit IRC06:46
*** Qiming has joined #senlin06:46
*** Yanyan has joined #senlin06:46
Yanyannetwork was broken06:47
YanyanBTW, I'm trying to search a solution for query cross tables with 1 to n relationship as you sugguested06:47
Yanyanhope can propose a patch for it soon06:47
*** lixinhui has joined #senlin06:47
openstackgerritxu-haiwei proposed openstack/senlin: Add refresh_zone_data method to update cluster zone info  https://review.openstack.org/26796906:51
QimingYanyan, http://git.openstack.org/cgit/openstack/heat/tree/heat/db/sqlalchemy/api.py#n42006:59
Qimingthis one?06:59
openstackgerritEldonZhao proposed openstack/python-senlinclient: (Bug #1534072)Input of update_policy using error  https://review.openstack.org/26797306:59
openstackbug 1534072 in senlin "Input of update_policy using error" [Undecided,New] https://launchpad.net/bugs/1534072 - Assigned to EldonZhao (xyz-213083464)06:59
YanyanQiming, yes, I guess so. But when I tried some filtering like this "query.filter(tag_alias.tag == tag)", I got an sql error07:00
YanyanI guess I didn't use it right07:00
Yanyanwill check it07:00
Yanyanthanks07:00
openstackgerritQiming Teng proposed openstack/senlin: RPC unit tests for cluster_policy_attach/detach  https://review.openstack.org/26797807:14
openstackgerritxu-haiwei proposed openstack/senlin: Add refresh_zone_data method to update cluster zone info  https://review.openstack.org/26796907:20
Yanyanhi, Qiming, it works, I didn't use join method correctly07:36
Yanyanthanks for the hint :)07:36
openstackgerritEldonZhao proposed openstack/python-senlinclient: Input of update_policy using error Fix Bug #1534072  https://review.openstack.org/26796007:38
openstackbug 1534072 in senlin "Input of update_policy using error" [High,New] https://launchpad.net/bugs/1534072 - Assigned to EldonZhao (xyz-213083464)07:38
openstackgerritQiming Teng proposed openstack/python-senlinclient: Fix meta var problem in cluster-policy-list  https://review.openstack.org/26798707:39
QimingYanyan, cool07:41
Qimingit is a much cleaner way to handle multi-table operations I guess07:41
Yanyanyes, absolutely07:42
openstackgerritQiming Teng proposed openstack/python-senlinclient: Remove cluster-policy-enable/disable  https://review.openstack.org/26799007:44
Yanyanhi, Qiming, do I need to define an inner function '_cluster_policy_get_all' and let cluster_policy_get_all and cluster_policy_get_all_by_policy_type invoke it?07:49
Yanyanlike what heat is doing now07:49
Yanyanor just put this logic into cluster_policy_get_all_by_policy_type07:50
Qimingemm, don't see the need to change other functions07:50
Yanyanok07:50
Qimingcluster_policy_get_by_type would suffice07:50
Yanyanwill just add cluster_policy_get_all_by_policy_type function for this support07:50
Yanyangot it07:50
Qimingit is a join query, not expecting it to be used all over the places07:51
YanyanI see07:51
Qimingwhen that requirement comes, we can try refine the code07:51
Yanyanyes07:52
openstackgerritEldonZhao proposed openstack/python-senlinclient: Follow Up  https://review.openstack.org/26799307:54
openstackgerritCindia-blue proposed openstack/senlin: Expose Check Function in Profile  https://review.openstack.org/26799407:58
openstackgerritMerged openstack/senlin: RPC unit tests for cluster_policy_attach/detach  https://review.openstack.org/26797808:04
openstackgerritYanyan Hu proposed openstack/senlin: Add cluster_policy_get_by_type method to db_api  https://review.openstack.org/26742208:08
*** junxu has joined #senlin08:09
*** elynn has quit IRC08:11
openstackgerritEldonZhao proposed openstack/python-senlinclient: Fix update_policy parameter passing error  https://review.openstack.org/26796008:12
openstackgerritMerged openstack/senlin: Expose Check Function in Profile  https://review.openstack.org/26799408:46
openstackgerritMerged openstack/python-senlinclient: Fix update_policy parameter passing error  https://review.openstack.org/26796008:46
openstackgerritYanyan Hu proposed openstack/senlin: Add cluster_policy_get_by_type method to db_api  https://review.openstack.org/26742208:47
Qiminghi, all08:53
Qimingimportant changes coming08:54
Qiming6908:54
Qimingcurrently08:54
Qiminga node can be an orphan node if a cluster_id is set to None08:54
Qimingthis is wrong08:55
Qimingit will cause some problems when we are retrieving a list of nodes08:55
Qimingfor example, node_get_all(cluster_id=None)08:55
Qimingthis function is becoming ambiguous08:56
Qimingit can be interpreted as a retrieval of all orphan nodes08:56
Qimingor it can be interpreted as retrieving all nodes without caring which cluster a node belongs to08:56
YanyanIMO, node_get_all(cluster_id=None) means getting all orphan nodes08:58
Qimingcluster_id=None can be interpreted into a default value08:58
Yanyanif we want to retrieve all nodes without caring parent cluster, we shouldn't specify cluster_id parameter?08:59
Qimingso node_get_all() will return all nodes or all orphan nodes?08:59
Yanyanno, cluster_id=None and cluster_id parameter is not provided are two cases I think08:59
Qimingget the differences?08:59
Yanyanso node_get_all() may need to be redefined09:00
Qimingso ...09:00
Qimingthere is no clean way to revise that method09:00
Yanyanas you said, now it's ambiguous09:00
Yanyanor we add a new method09:00
QimingI can do a check if cluster_id is None09:00
Qimingthe 'if cluster_id is None' can be interpreted as 'I do not care' or 'I want orphan nodes'09:01
Qimingso ...09:01
QimingI'm proposing a change09:02
Yanyanor maybe we put it into filter?09:02
Qimingfor orphan nodes, we set cluster_id to ''09:02
Yanyanok, will check it09:02
Qimingthen 'if cluster_id is None' means 'I don't care'09:02
Qiming"if cluster_id == ''" means a retrieval of orphan nodes09:03
Yanyanthis is for erasing ambiguousness in db api layer?09:06
Qimingyes09:06
Yanyanif so, why we don't put cluster_id into filter09:07
YanyanI think the function name 'node_get_all' actually shows this is a method about node query09:07
*** elynn has joined #senlin09:07
Qimingdatabase won't be able to do some comparison against None columns09:08
QimingI believe we have encountered similar problems before09:08
Yanyanlet me see09:08
Qimingif you examine the _query_node_get_all() function closely, you will find the difference09:09
Qimingit is very subtle09:09
Yanyanyes09:09
openstackgerritQiming Teng proposed openstack/senlin: Optimize node query at DB layer  https://review.openstack.org/26802009:09
Yanyanwhat I mean is, the key problem is there is a cluster_id input parameter and it has a default value of None09:10
Qiming'if cluster_id' there can mean different thing09:10
Qimingyep09:10
Qimingbut we are not supposed to change the default value to '' or something else09:10
Yanyanyes, so it is always there inside node_get_all function09:11
Yanyanno matter what value it is09:11
Qiming yes09:11
YanyanQiming, ok, I think there is no better way for this issue09:11
Qimingit will yield confusing results09:11
Qimingthat is why we have a node_get_all_by_cluster function09:11
Yanyanok, I think using '' and None to differentiate two cases is ok09:12
Qimingthat function is useless now, just a wrapper of the internal _query_node_get_all09:12
Qimingsee patch #26802009:12
YanyanJust I feel maybe letting cluster=None means search for orphan node is better?09:12
QimingI'm ringing an alarm here because I'm not 100% sure the patch has covered all cases09:12
Yanyansince if not, user need to change DB record again if they have orphan nodes created before09:13
Qimingcluster=None is a default value09:13
*** elynn has quit IRC09:13
Qimingthe way to check it is ambiguous09:13
Qimingthe only thing you can do is 'if cluster_id is None' or 'if cluster_id'09:14
Qimingneither one is that clear about the semantics09:14
Yanyanyes09:14
openstackgerritCindia-blue proposed openstack/senlin: Add Check and Recover into Node Action  https://review.openstack.org/26456809:14
Qimingit is not about the function interface, it is about the interpretation of the parameter09:14
YanyanI see09:15
*** Qiming_ has joined #senlin09:17
openstackgerritMerged openstack/senlin: Add cluster_policy_get_by_type method to db_api  https://review.openstack.org/26742209:18
*** Qiming has quit IRC09:20
*** Qiming_ has quit IRC09:24
openstackgerritMerged openstack/senlin: Optimize node query at DB layer  https://review.openstack.org/26802009:30
*** Yanyan has quit IRC09:41
*** Qiming has joined #senlin10:15
openstackgerritjunxu proposed openstack/senlin: Fix logic broken of lb policy  https://review.openstack.org/26805110:18
*** xuhaiwei has quit IRC10:41
*** gongysh has quit IRC10:48
openstackgerritQiming Teng proposed openstack/senlin: DISRUPTIVE: add version to profile/policy types  https://review.openstack.org/26811512:37
*** openstackgerrit has quit IRC12:50
*** openstackgerrit has joined #senlin12:51
*** Yanyanhu has joined #senlin14:08
*** pratikmallya has joined #senlin14:13
*** Yanyanhu has quit IRC14:15
openstackgerritQiming Teng proposed openstack/senlin: Refactor modules used by senlin-api  https://review.openstack.org/26817014:50
openstackgerritMerged openstack/senlin: DISRUPTIVE: add version to profile/policy types  https://review.openstack.org/26811514:57
openstackgerritQiming Teng proposed openstack/senlin: Refactor modules used by senlin-api  https://review.openstack.org/26817015:02
*** pratikma_ has joined #senlin15:09
openstackgerritDoug Hellmann proposed openstack/senlin: Revert "Pass environment variables of proxy to tox"  https://review.openstack.org/26818215:10
*** pratikmallya has quit IRC15:13
openstackgerritQiming Teng proposed openstack/senlin: Refactor modules used by senlin-api  https://review.openstack.org/26817015:19
openstackgerritMerged openstack/python-senlinclient: Remove cluster-policy-enable/disable  https://review.openstack.org/26799015:21
*** jun_ has joined #senlin15:25
*** junxu has quit IRC15:29
openstackgerritQiming Teng proposed openstack/senlin: Simplify API resource creation  https://review.openstack.org/26820515:51
openstackgerritMerged openstack/senlin: Revert "Pass environment variables of proxy to tox"  https://review.openstack.org/26818215:55
openstackgerritMerged openstack/python-senlinclient: Fix meta var problem in cluster-policy-list  https://review.openstack.org/26798715:57
openstackgerritMerged openstack/senlin: Refactor modules used by senlin-api  https://review.openstack.org/26817016:00
*** Qiming has quit IRC16:31
*** cschulz has joined #senlin17:08
*** pratikma_ has quit IRC17:40
*** pratikmallya has joined #senlin18:51
*** pratikmallya has quit IRC22:27
*** pratikmallya has joined #senlin22:48
*** pratikmallya has quit IRC23:04
*** pratikmallya has joined #senlin23:29

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