*** openstackgerrit has joined #openstack-mogan | 01:06 | |
openstackgerrit | liusheng proposed openstack/mogan master: Add support for scheduler_hints https://review.openstack.org/463534 | 01:06 |
---|---|---|
*** wanghao has joined #openstack-mogan | 01:09 | |
zhenguo | morning mogan! | 01:12 |
dims | hey zhenguo | 01:35 |
zhenguo | dims: o/ | 01:35 |
zhenguo | liusheng: ironic node cloud be one, so maybe some problems with placement RP name | 01:39 |
zhenguo | *clould | 01:39 |
zhenguo | could | 01:39 |
zhenguo | liusheng: ironic node name cloud be None, :D | 01:39 |
liusheng | zhenguo: let me check how nova does | 01:40 |
zhenguo | liusheng: seems nova doesn't use node name for rp name | 01:41 |
zhenguo | liusheng: do you know what RP name used for? | 01:44 |
liusheng | zhenguo: yes, in Nova, it is same as node.uuid | 01:44 |
liusheng | zhenguo: when creating rp, the name is the only required field | 01:44 |
liusheng | zhenguo: nova use ironic node.uuid as name, and use the uuid of compute_node object in Nova's db as rp.uuid | 01:45 |
zhenguo | liusheng: ok, so nova still save ironic node info | 01:46 |
zhenguo | liusheng: does the rp name in placement unique? | 01:46 |
liusheng | zhenguo: yes, it has compute nodes table which we removed in Mogan :( | 01:46 |
zhenguo | liusheng: I believe nova will finally get rid of it | 01:46 |
liusheng | zhenguo: maybe | 01:47 |
zhenguo | liusheng: there's no reason to save it twice | 01:47 |
liusheng | zhenguo: I am also just thought about how to add filters for scheduler_hints, since we have removed the compute node object and table | 01:48 |
liusheng | zhenguo: for the rp problem, how about we use node.uuid for both rp name and rp uuid ? | 01:48 |
zhenguo | liusheng: scheduler will pass things like server group? | 01:48 |
liusheng | zhenguo: we don't have the old compute nodes to be filtered | 01:49 |
zhenguo | liusheng: so when do node list we will provide a list of uuids? | 01:49 |
liusheng | zhenguo: we just have rps | 01:49 |
liusheng | zhenguo: hmm... | 01:49 |
liusheng | zhenguo: that is a problem | 01:50 |
liusheng | zhenguo: why ironic support none as name ? | 01:50 |
liusheng | zhenguo: for libvirt, I don't think it can support none as name | 01:51 |
zhenguo | liusheng: because at first there's no name support | 01:51 |
zhenguo | liusheng: let me check high api version to see if none name is allowed | 01:51 |
liusheng | zhenguo: ok | 01:52 |
liusheng | zhenguo: and also, may ironic support duplicated names :( | 01:52 |
zhenguo | liusheng: latest api version also support create node without name | 01:53 |
zhenguo | liusheng: my env not support duplicate name | 01:54 |
zhenguo | liusheng: as ironic also support add node name to URI, so it should be unique | 01:54 |
liusheng | zhenguo: oh, in placement the rp name must be unique | 01:56 |
zhenguo | liusheng: so, we got problems | 01:56 |
zhenguo | liusheng: how about adding a check before, if the node name is None use uuid as name | 01:57 |
liusheng | zhenguo: I'd rather think it is a shortage of Ironic :( | 01:58 |
liusheng | zhenguo: consider other possible driver in Mogan, maybe node name in driver is a required fields | 01:58 |
liusheng | zhenguo: yes, that is a workaround | 01:58 |
zhenguo | liusheng: yes | 01:59 |
liusheng | zhenguo: another strange way, how about setting a name when the periodic task found the name of a node is None, hah | 01:59 |
zhenguo | liusheng: liusheng: set to what | 02:00 |
liusheng | zhenguo: just generated a name for it | 02:00 |
zhenguo | liusheng: seems a waste of API call, hah | 02:00 |
*** yushb has joined #openstack-mogan | 02:00 | |
liusheng | zhenguo: the advantage is keep consistency of Mogan and placmeent and ironic | 02:01 |
liusheng | zhenguo: if we just use the uuid as rp name, sometims may confuse users | 02:01 |
zhenguo | liusheng: for mogan, we only care about the consistency with placement | 02:01 |
liusheng | zhenguo: even for operators | 02:02 |
liusheng | zhenguo: though it is not a good way | 02:02 |
zhenguo | liusheng: if the operators don't want to get confused, he should set the name correctly | 02:02 |
zhenguo | liusheng: we don't know how to set the name actually | 02:02 |
liusheng | zhenguo: for users, may they will be confused, somethimes the name is "name" like, somethimes it is "uuid" like | 02:03 |
zhenguo | liusheng: as my understanding the name should be some ID which indicates the information of the node | 02:03 |
zhenguo | liusheng: why users can see that | 02:03 |
zhenguo | liusheng: common users should never get node information | 02:03 |
liusheng | zhenguo: why don't ? I remember we talked about that yestoday | 02:04 |
zhenguo | liusheng: ? | 02:04 |
liusheng | zhenguo: we only expose uuid names to users, right ? | 02:04 |
zhenguo | liusheng: no common users | 02:04 |
liusheng | zhenguo: alright .. | 02:04 |
zhenguo | liusheng: admin need to get that info to add aggregates nodes | 02:04 |
zhenguo | liusheng: if operators don't set ironic name, it's a sure thing that they will be confused, we don't need to set a strange name for them | 02:05 |
liusheng | zhenguo: hah | 02:06 |
liusheng | zhenguo: ok, that is a tradeoff | 02:07 |
zhenguo | liusheng: ok, so we should add a check to make it not break placement | 02:08 |
liusheng | zhenguo: yes | 02:09 |
zhenguo | liusheng: ok, please help to do that :D | 02:09 |
liusheng | zhenguo: ok, another thing, what do you think about the scheduler filter of scheduler_hint ? | 02:09 |
liusheng | zhenguo: seems we cannot implement filters as the old way | 02:10 |
zhenguo | liusheng: yes | 02:10 |
zhenguo | liusheng: as my understand, scheduler_hints is just used for passing some hints for scheduling, need to adjust it to make it work with our new implementation | 02:10 |
liusheng | zhenguo: yes, we still need the plugin mechanism support, right ? for possible other requirements in the future ? | 02:11 |
zhenguo | liusheng: yes | 02:15 |
liusheng | zhenguo: ok, will try | 02:15 |
zhenguo | liusheng: if no other hints, we can just --server-group instead of --scheduler-hints | 02:15 |
liusheng | zhenguo: if so, how to support anti-affinity ? | 02:17 |
zhenguo | liusheng: anyti-affinity is a policy of the server-group | 02:18 |
liusheng | zhenguo: will server group be an api ? | 02:19 |
zhenguo | liusheng: sure | 02:19 |
liusheng | zhenguo: listing server groups and adding server to it ? | 02:19 |
zhenguo | liusheng: not sure if you can add server to it | 02:19 |
zhenguo | liusheng: only when you craeting server with the server group, that server will add in | 02:20 |
zhenguo | liusheng: you can create the server group with a name and policy like affinity or anti-affinity | 02:20 |
zhenguo | liusheng: then create server with that server group it will automatically added in | 02:20 |
liusheng | zhenguo: do we need to add an api for adding aggregates to a server group ? | 02:22 |
zhenguo | liusheng: no | 02:24 |
zhenguo | liusheng: we can't add aggregate to server group | 02:24 |
liusheng | zhenguo: sorry, I cannot get that clearly | 02:26 |
liusheng | zhenguo: if so, and if server group is only for anti-affinity and affinity policy, we only need two server groups | 02:26 |
zhenguo | liusheng: you can create your server group, and so does I | 02:30 |
zhenguo | liusheng: I can create a server group A(haddop affinity) and server group B(GlusterFS, anti-affinity)... | 02:31 |
liusheng | zhenguo: :( may you can update the spec, and I can abandon the scheduler_hint patch | 02:31 |
liusheng | zhenguo: I cannot get your points clearly | 02:31 |
zhenguo | liusheng: you can read the nova server group first | 02:32 |
liusheng | zhenguo: I know about the Nova's implementation | 02:32 |
liusheng | zhenguo: but we are different | 02:32 |
zhenguo | liusheng: we are same with them | 02:32 |
liusheng | zhenguo: no | 02:32 |
*** yushb has quit IRC | 02:33 | |
zhenguo | liusheng: the only difference is that their policy based on host but we based on affinity zone | 02:33 |
zhenguo | liusheng: all others are same | 02:33 |
liusheng | zhenguo: will check | 02:33 |
zhenguo | liusheng: ok | 02:34 |
*** yushb has joined #openstack-mogan | 02:34 | |
openstackgerrit | liusheng proposed openstack/mogan master: Using node.uuid as rp name if node.name is None when reporting https://review.openstack.org/485918 | 02:39 |
zhenguo | liusheng: the LazyLoader doesn't allow us to access the cached rps https://github.com/openstack/mogan/blob/master/mogan/scheduler/client/__init__.py#L31 | 02:43 |
liusheng | zhenguo: only methods exposed ? | 02:45 |
zhenguo | liusheng: yes | 02:45 |
liusheng | zhenguo: the cache defined as private attributes | 02:46 |
zhenguo | liusheng: yes, maybe we can only leverage the cache when do scheduleing | 02:46 |
liusheng | zhenguo: may need add a simple method to retuen it ? | 02:46 |
zhenguo | liusheng: not sure | 02:46 |
liusheng | zhenguo: s/retuen/return | 02:46 |
zhenguo | liusheng: like get_nodes_from_cache, hah | 02:47 |
liusheng | zhenguo: yes | 02:47 |
zhenguo | liusheng: seems we only need to get nodes and aggregate nodes | 02:47 |
zhenguo | liusheng: will try, thanks | 02:48 |
* zhenguo brb | 02:48 | |
liusheng | zhenguo: maybe capsule a method to retrive in cache, if not found, then retrive by placement api | 02:48 |
zhenguo | liusheng: sounds good | 03:06 |
zhenguo | liusheng: so, we just return something like ['node-1', 'node2', 'node3'] | 03:22 |
liusheng | zhenguo: yes | 03:23 |
zhenguo | liusheng: or with uuid as well? | 03:23 |
liusheng | zhenguo: ok, that looks like get rps | 03:24 |
zhenguo | liusheng: hah | 03:24 |
zhenguo | liusheng: I find we cache rps with many information, including many links | 03:24 |
liusheng | the get rps api request will also return the links | 03:25 |
zhenguo | liusheng: I remember you said nova has a cache for name and uuid translation | 03:25 |
liusheng | zhenguo: that is resource class | 03:26 |
zhenguo | liusheng: currently we cahce the rps like a dict with the uuid as key | 03:26 |
liusheng | zhenguo: yes | 03:26 |
zhenguo | liusheng: so when adding nodes to aggregate with name, we need to get the uuid then passing request to placement | 03:26 |
liusheng | zhenguo: hmm... yes, you don't want to expose uuid, haha | 03:28 |
zhenguo | liusheng: not sure if other places will use the cache as well | 03:28 |
zhenguo | liusheng: if not, maybe change it to this pattern {name: uuid} | 03:29 |
liusheng | zhenguo: placement allow to udate the rp name, so the cache I think may have problem | 03:29 |
liusheng | zhenguo: I may get your ideas about server group | 03:31 |
zhenguo | liusheng: why the cache will get problem | 03:31 |
liusheng | zhenguo: the current cache may won't be updated if name changed | 03:32 |
zhenguo | liusheng: why | 03:32 |
liusheng | zhenguo: it only check if the uuid in cache | 03:32 |
zhenguo | liusheng: I find we have a generation | 03:32 |
liusheng | zhenguo: oh,yes | 03:34 |
zhenguo | liusheng: we are the only man who fetch the data from ironic, and update placement, then cache | 03:35 |
zhenguo | liusheng: that's why I think read from cache is ok | 03:35 |
zhenguo | liusheng: but if this changed in future, we can use proxy api | 03:35 |
liusheng | zhenguo: yes | 03:36 |
zhenguo | liusheng: hah, if it's ok, I will add the patch for node list soon | 03:36 |
liusheng | zhenguo: sure | 03:37 |
zhenguo | liusheng: if I import schedulerclient on api side, we can also read the cache as the class it's singleton, right? | 03:43 |
zhenguo | liusheng: let me test | 03:43 |
* zhenguo brb | 03:44 | |
liusheng | zhenguo: yes, we can load it as a api hook | 03:44 |
zhenguo | liusheng: ok | 03:46 |
*** yushb has quit IRC | 04:13 | |
*** yushb has joined #openstack-mogan | 04:13 | |
*** yushb has quit IRC | 04:22 | |
*** yushb has joined #openstack-mogan | 04:28 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/python-moganclient master: Updated from global requirements https://review.openstack.org/484579 | 05:07 |
*** yushb has quit IRC | 05:33 | |
*** yushb has joined #openstack-mogan | 05:53 | |
*** wanghao_ has joined #openstack-mogan | 06:15 | |
*** wanghao has quit IRC | 06:15 | |
*** wanghao has joined #openstack-mogan | 06:16 | |
*** wanghao has quit IRC | 06:17 | |
*** wanghao has joined #openstack-mogan | 06:18 | |
*** wanghao_ has quit IRC | 06:19 | |
*** wanghao_ has joined #openstack-mogan | 06:37 | |
*** wanghao has quit IRC | 06:42 | |
openstackgerrit | Zhenguo Niu proposed openstack/mogan master: Add node list support https://review.openstack.org/486016 | 07:14 |
* zhenguo brb | 07:17 | |
openstackgerrit | liusheng proposed openstack/python-moganclient master: Need to change "extra" to be metadata https://review.openstack.org/486018 | 07:21 |
openstackgerrit | Merged openstack/mogan master: Update and optimize documentation links https://review.openstack.org/485067 | 07:26 |
openstackgerrit | liusheng proposed openstack/python-moganclient master: Need to change "extra" to be metadata https://review.openstack.org/486018 | 07:34 |
*** yushb has quit IRC | 07:48 | |
*** yushb has joined #openstack-mogan | 07:51 | |
*** dims has quit IRC | 08:09 | |
*** dims has joined #openstack-mogan | 08:11 | |
*** dims has quit IRC | 08:21 | |
*** yushb has quit IRC | 08:21 | |
*** dims has joined #openstack-mogan | 08:23 | |
zhenguo | liusheng: the node is empty on my test if we add a scheduler client hook to API | 08:41 |
liusheng | zhenguo: hmm... seems it is empty, since api and engine are different service, only in engine service, the cache will be updated | 08:42 |
liusheng | zhenguo: :( | 08:42 |
zhenguo | liusheng: seems yes | 08:42 |
zhenguo | liusheng: I will call engine to do that | 08:42 |
zhenguo | liusheng: so no problem with the client import in flows/create_server? | 08:43 |
liusheng | zhenguo: oh.. seems we don't need reportclient in flows, I forgot to remove the client init.. | 08:45 |
liusheng | sorry | 08:45 |
zhenguo | liusheng: hah, ok | 08:45 |
openstackgerrit | liusheng proposed openstack/mogan master: Remove the unused reportclient importing https://review.openstack.org/486049 | 08:47 |
liusheng | zhenguo: just found some unreasonable places in moganclient, will submit some patches, please take care of moganclient patches if you have time :) | 08:48 |
zhenguo | liusheng: sure, thanks | 08:49 |
liusheng | zhenguo: for now, we don't have flavor update command, only flavor set and flavor unset for project acess. how about only provide a flavor update command for both updating flavor and project acess ? | 08:50 |
liusheng | zhenguo: with different command options ? | 08:50 |
zhenguo | liusheng: I just follow other projects' way | 08:51 |
liusheng | zhenguo: yes, I found the OSC have a flavor set and flavor unset, but it seems olso for flavor updating | 08:51 |
zhenguo | liusheng: seems yes | 08:51 |
*** Kevin_Zheng has quit IRC | 08:51 | |
liusheng | zhenguo: not sure if Nova have two api for project access and flavor updating | 08:51 |
zhenguo | liusheng: yes they do | 08:52 |
*** Kevin_Zheng has joined #openstack-mogan | 08:52 | |
liusheng | zhenguo: so we can also merge the two api to one command ? | 08:52 |
zhenguo | liusheng: you mean project access and flavor update? | 08:52 |
liusheng | zhenguo: but seems set and unset looks a bit obscure :( | 08:53 |
liusheng | zhenguo: yes | 08:53 |
zhenguo | liusheng: hah | 08:53 |
zhenguo | liusheng: but we should follow what OSC used | 08:53 |
zhenguo | liusheng: also the metadata and property, I just found you make a change for that | 08:53 |
liusheng | zhenguo: for Nova CLI, there are: flavor-access-add, flavor-access-list, flavor-access-remove | 08:54 |
liusheng | zhenguo: yes | 08:54 |
zhenguo | liusheng: all CLI will be removed | 08:54 |
liusheng | zhenguo: hah | 08:54 |
zhenguo | liusheng: the OSC will be the only client, so we should keep consistent with it | 08:54 |
liusheng | zhenguo: I am afraid may OSC will realize their set & unset commands are bad in the future. hah | 08:55 |
zhenguo | liusheng: if so, all projects should be changed, | 08:55 |
zhenguo | liusheng: but we should not follow it now | 08:56 |
zhenguo | liusheng: s/not follow/follow | 08:56 |
liusheng | zhenguo: ok, but openstack flavor set command can also set the flavor extra | 08:56 |
zhenguo | liusheng: we can use it for set resource classes and traits | 08:57 |
liusheng | zhenguo: since Nova don't have flavor updating, only support to update the extra | 08:57 |
zhenguo | liusheng: yes | 08:57 |
zhenguo | liusheng: for users who use OSC CLI, set and unset just means update | 08:58 |
liusheng | zhenguo: so let's support updating flavor in our "flavor set" ? | 08:58 |
zhenguo | liusheng: what does server update use? | 08:59 |
liusheng | zhenguo: yes, but just a little inconvenience, since we can support "add", "remove", "replace", the set and unset seems correspond to the "and", "remove". if we want to replace, we need two steps:1. unset, 2. set | 09:00 |
zhenguo | liusheng: no | 09:01 |
zhenguo | liusheng: set means add or replace | 09:01 |
liusheng | zhenguo: oh, yes | 09:01 |
liusheng | zhenguo: for server metadata, we have add, remove, replace | 09:02 |
openstackgerrit | Zhenguo Niu proposed openstack/mogan master: Add node list support https://review.openstack.org/486016 | 09:04 |
zhenguo | liusheng: I found nova have a --no-property for remove metadata | 09:04 |
zhenguo | liusheng: btw, please consider what keyword we should use for moganclient, seems 'baremetal' will get collision after we add nodes list support | 09:06 |
zhenguo | liusheng: "baremetal", "bm", "baremetalcompute", "baremetal compute".... | 09:08 |
* zhenguo brb | 09:09 | |
liusheng | zhenguo: :( | 09:10 |
*** wanghao has joined #openstack-mogan | 09:13 | |
*** wanghao_ has quit IRC | 09:15 | |
openstackgerrit | Merged openstack/mogan master: Add support for DBDeadlock handling https://review.openstack.org/485021 | 09:28 |
*** yushb has joined #openstack-mogan | 09:30 | |
openstackgerrit | liusheng proposed openstack/mogan master: Put the required conditions in appropriate of plugin.sh https://review.openstack.org/486078 | 09:41 |
*** wanghao has quit IRC | 09:43 | |
openstackgerrit | Zhenguo Niu proposed openstack/mogan master: Add node list support https://review.openstack.org/486016 | 09:48 |
*** yushb has quit IRC | 09:49 | |
*** yushb has joined #openstack-mogan | 09:58 | |
*** yushb has quit IRC | 10:01 | |
openstackgerrit | Merged openstack/mogan master: Using node.uuid as rp name if node.name is None when reporting https://review.openstack.org/485918 | 10:06 |
*** bani has joined #openstack-mogan | 10:15 | |
openstackgerrit | Xinran WANG proposed openstack/mogan master: Return node uuid with server for admins https://review.openstack.org/486089 | 10:19 |
-openstackstatus- NOTICE: Restarting Gerrit for our weekly memory leak cleanup. | 17:06 | |
-openstackstatus- NOTICE: docs.o.o is currently broken, we're investigating | 18:39 | |
*** RuiChen has quit IRC | 18:52 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!