Re: [Openstack] [openstack][nova] Compute node update interval
Kai- Looking at the code the 60 second interval is hard coded and not changeable via a config parameter. Having said that, and given that it’s a fairly expensive operation to update the DB for `every` compute node in the system, maybe the better question is why do you want to increase the update frequency? Do you really expect to be creating/deleting instances so fast on a single node that a 60 second latency in the update of the stats is really a problem? -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Kai Brennenstuhl [mailto:kai.brennenst...@gmail.com] Sent: Thursday, June 26, 2014 6:56 AM To: openstack@lists.openstack.org Subject: [Openstack] [openstack][nova] Compute node update interval Hi, how can I specify the interval in which the (free) resources of my compute nodes are updated and written into the DB? I looked into nova.conf doc and already changed the following attributes: heal_instance_info_cache_interval = 20 service_down_time = 20 periodic_fuzzy_delay = 20 qpid_heartbeat = 20 scheduler_driver_task_period = 20 call_timeout = 20 db_check_interval = 20 But the update interval in which the resources are written into the database still is about one minute. Which parameters should I change? Or is this configuration done somewhere else than in nova.conf? Kind regards Kai ___ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Re: [Openstack] Custom Nova Scheduler Weigher
Danny- People have been thinking about affinity/anti-affinity scheduling so this is a good area to look at but we might want to think of a general approach that addresses this and other issues. I know that Yathi & Debo have proposed a BP: https://blueprints.launchpad.net/nova/+spec/solver-scheduler you might want to check it out and see how it relates to your issues. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Danny Beutler [mailto:dannybeut...@gmail.com] Sent: Friday, August 1, 2014 10:47 AM To: openstack@lists.openstack.org Subject: [Openstack] Custom Nova Scheduler Weigher I am in the process of implementing a custom weigher class. I have created a weigher that prefers hosts which do not have other instances in the same group (think GroupAntiAffinityFilter but for weight). Here is the code for the class: # Copyright (c) 2011 OpenStack Foundation # All Rights Reserved. # #Licensed under the Apache License, Version 2.0 (the "License"); you may #not use this file except in compliance with the License. You may obtain #a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # #Unless required by applicable law or agreed to in writing, software #distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the #License for the specific language governing permissions and limitations """ AntiAffinityWeigher. Weigh hosts by whether or not they have another host in the same group. """ from oslo.config import cfg from nova import db from nova.openstack.common.gettextutils import _ from nova.scheduler import weights from nova.scheduler import filters from nova.openstack.common import log as logging LOG = logging.getLogger(__name__) anti_affinity_weight_opts = [ cfg.FloatOpt('antiAffinityWeigher_Multiplier', default=1000.0, help='Multiplier used for weighing hosts. Negative ' 'numbers mean to stack vs spread.'), ] CONF = cfg.CONF CONF.register_opts(anti_affinity_weight_opts) class AntiAffinityWeigher(weights.BaseHostWeigher): def _weight_multiplier(self): """Override the weight multiplier.""" return CONF.antiAffinityWeigher_Multiplier def _weigh_object(self, host_state, weight_properties): group_hosts = weight_properties.get('group_hosts') or [] LOG.debug(_("Group anti affinity Weigher: check if %(host)s not " "in %(configured)s"), {'host': host_state.host, 'configured': group_hosts}) if group_hosts: return group_hosts.amount() * 10 # No groups configured return 0 I know the python is at least close to correct because the scheduler service wouldn't even restart until it was. After I got the bugs worked out of the module, I added modified the /etc/nova/nova.conf file to have the custom weigher like so: scheduler_weight_classes=nova.scheduler.weights.all_weighers,nova.scheduler.AntiAffinityWeigher After restarting the scheduler service I get the following error in the nova logs: <178>Aug 1 16:46:11 node-25 nova-nova CRITICAL: Class AntiAffinityWeigher cannot be found (['Traceback (most recent call last):\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/importutils.py", line 31, in import_class\nreturn getattr(sys.modules[mod_str], class_str)\n', "AttributeError: 'module' object has no attribute 'AntiAffinityWeigher'\n"]) Traceback (most recent call last): File "/usr/bin/nova-scheduler", line 10, in sys.exit(main()) File "/usr/lib/python2.6/site-packages/nova/cmd/scheduler.py", line 39, in main topic=CONF.scheduler_topic) File "/usr/lib/python2.6/site-packages/nova/service.py", line 257, in create db_allowed=db_allowed) File "/usr/lib/python2.6/site-packages/nova/service.py", line 139, in __init__ self.manager = manager_class(host=self.host, *args, **kwargs) File "/usr/lib/python2.6/site-packages/nova/scheduler/manager.py", line 65, in __init__ self.driver = importutils.import_object(scheduler_driver) File "/usr/lib/python2.6/site-packages/nova/openstack/common/importutils.py", line 40, in import_object return import_class(import_str)(*args, **kwargs) File "/usr/lib/python2.6/site-packages/nova/scheduler/filter_scheduler.py", line 59, in __init__ super(FilterScheduler, self).__init__(*args, **kwargs) File "/usr/lib/python2.6/site-packages/nova/scheduler/driver.py", line 103, in __init__ CONF.scheduler_host_manager) File "/usr/lib/python2.6/site-packages/nova/openstack/common/importutils.py", line 40, in import_object return import_class(import_str)(*args, **kwargs) File "/usr/lib/python2.6/site-packages/nova/scheduler/host_manager.py", line 297, in __init__ CONF.scheduler_weight_classes) File "/usr/lib/python2.6/site-packages
Re: [Openstack] Scheduler try and error with compute nodes in different subnets/physnet's
There is a project, gantt, to split out the scheduler but it will be a while before it is capable of making cross project scheduling decisions. I'll be happy if we just have the current Nova scheduler capabilities available in a separate Gantt scheduler by the Kilo release, more advanced capabilities will have to come later. As suggested, using aggregates would be your best option for now. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 -Original Message- From: gustavo panizzo (gfa) [mailto:g...@zumbi.com.ar] Sent: Tuesday, September 16, 2014 12:33 AM To: Chris; 'Jay Pipes'; openstack@lists.openstack.org Subject: Re: [Openstack] Scheduler try and error with compute nodes in different subnets/physnet's On 09/16/2014 02:07 PM, Chris wrote: > Hello Jay, > As far as I understand each compute node sends the current available > resources to the management node. yes, but nova does not know the matching between the subnet and the physical port, neutron knows that. as Jay previously told you, the only thing you can do now is to use host aggregates. i think there is a project to split the scheduler from nova to make it a service, it could take the information from different services (nova, neutron, cinder) to make the decision > This could also include the physnet, so the scheduler ignore the not > matching compute nodes. Or the compute nodes sends the physnet at the > first registration in the management node. > But to be honest I not have the deep insights to make a proper > suggestion here. > > -Original Message- > From: Jay Pipes [mailto:jaypi...@gmail.com] > Sent: Tuesday, September 16, 2014 11:54 > To: openstack@lists.openstack.org > Subject: Re: [Openstack] Scheduler try and error with compute nodes in > different subnets/physnet's > > On 09/15/2014 11:26 PM, Chris wrote: >> Hello, >> >> We have a OpenStack setup with a large number of compute nodes spread >> in different subnets which are represented as different physnet's in > OpenStack. >> >> When we start an instance we see that the scheduler choose a compute >> node and tries to spawn the instance, then it sees its not in the >> right physnet and choose a different compute node. > > How would the scheduler know which compute node is "in the right physnet"? > In other words, when an instance is launched, how does the scheduler > know what is the "correct physnet" for that type of instance? > >> In our case this takes around 4 - 10 attempts. All this attempts >> counts for the "scheduler_max_attempts" which default value is 3. We >> increase this value to prevent errors, but it's still very >> inefficient especially in a large environment. >> >> Is there a way that the scheduler knows the physnet/subnet position >> of the compute nodes before the instance tries to spawn? > > > > ___ > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > Post to : openstack@lists.openstack.org > Unsubscribe : > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > > > > ___ > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > Post to : openstack@lists.openstack.org > Unsubscribe : > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > -- 1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333 ___ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack ___ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Re: [Openstack] Devstack start
Rim- The log message `start_glance' immediately followed by errors was the indicator, your glance didn't start. `devstack' uses `screen' to create console logs for the various components that you use, switch to the `g-api' screen and you should see more detail on what went wrong. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Rim Chol (rimc) [mailto:r...@zhaw.ch] Sent: Thursday, November 6, 2014 6:50 AM To: openstack@lists.openstack.org Subject: [Openstack] Devstack start Greetings! I am sending this email because I have some problems with starting the devstack. I cloned the devstack repository in my laptop and ran ./stack.sh in the devstack directory. But the konsole complains about that and some of the error messages are shown below. + screen -S stack -p g-api -X stuff '/usr/local/bin/glance-api --config-file=/etc/glance/glance-api.conf & echo $! >/opt/stack/status/stack/g-api.pid; fg || echo "g-api failed to start" | tee "/opt/stack/s'atus/stack/g-api.failure" + echo 'Waiting for g-api (160.85.231.43:9292) to start...' Waiting for g-api (160.85.231.43:9292) to start... + wait_for_service 60 http://160.85.231.43:9292 + local timeout=60 + local url=http://160.85.231.43:9292 + timeout 60 sh -c 'while ! curl -k --noproxy '\''*'\'' -s http://160.85.231.43:9292 >/dev/null; do sleep 1; done' + die 317 'g-api did not start' + local exitcode=0 + set +o xtrace [Call Trace] ./stack.sh:1186:start_glance /home/chol/OpenStack/devstack/lib/glance:317:die [ERROR] /home/chol/OpenStack/devstack/lib/glance:317 g-api did not start Error on exit World dumping... see ./worlddump-2014-11-06-133528.txt for details\ I can not find any helpful materials on this over the Internet. Could anyone of you help me fix this? I would really appreciate your help Chol. ___ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Re: [Openstack] Questions from a newbie
Silvia- 1) Not totally sure what you’re asking. When `devstack’ completes there should be an instance of Horizon running on that machine. You can then connect to that Horizon from any other machine on that network, assuming your host has a routable IP address (using 127.0.0.1 as the HOST_IP would make Horizon only available from that machine). Note, by default Horizon listens on port 9000 so make sure you are trying to connect to 10.1.115.126:9000 2) Yes, currently the host information is stored in the DB but there is a lot of work going on in that area. We hope to move to an object model where the compute nodes will be sending state information directly to the scheduler in the Kilo release. I’d be curious to know what it is about the scheduler that you are planning on working on. I should also point out that we have a weekly IRC meeting to discuss scheduler issues at 1500 UTC at #openstack-meeting (the meeting is titled Gantt which is the name of the new scheduler project we are creating), you’re welcome to join if that time zone works for you. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Silvia Fichera [mailto:fichera@gmail.com] Sent: Thursday, March 12, 2015 3:15 AM To: openstack@lists.openstack.org Subject: [Openstack] Questions from a newbie Hi, I'm completely new in OpenStack's Universe and I need to understand a lot of things! Bust let's start with a couple of questions. 1. I have installed OpenStack using DevStack in a physical machine (I have already an Ubuntu system). At the end of the installation there was written the address where I can open Horizon (e.g. 10.1.115.126). What happens if I connect my laptop from another network? Does it remain the same? Or should I do a specific configuration? 2. I will work with nova in particular, especially in the scheduling part. I would like to know where the scheduler take the information about the state of the host to assign it after the filter & weight. I think that those parameters about the status of the host are memorised in the database, but it's only my hypotheses, I haven't read anything about it. And if it's so, how are collected those information? By who? Sorry if I did some silly question, but I would like to well understand the basis. Let me also know if exist a good guide that explains how to start with OpenStack from zero! Thank you -- Silvia Fichera ___ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Re: [Openstack] Questions from a newbie
Duh, I must have been asleep when I wrote that. The meeting is on Tuesdays, look for Gantt on the OpenStack meetings page: https://wiki.openstack.org/wiki/Meetings 1) It all depends upon how routable the IP address is for the host running Horizon. Since 10.x.x.x is not routable and only visible from other nodes on the 10.x.x.x network then moving from the office to your home you probably won’t be able to see it without setting up some sort of tunnel so that you can get to your Horizon machine from the outside. Talk to your network people about how to get a routable IP address. 2) Your best option would be to look at the code. Check out the main filter scheduler in the current Nova source tree at: nova/scheduler/filter_scheduler.py and then look at one of the filters such as: nova/scheduler/filters/ram_filter.py If you look at the tracking page for the priority work for Nova for the Kilo release at: https://etherpad.openstack.org/p/kilo-nova-priorities-tracking There’s a large section on the scheduler, you can follow the blueprints in that sections to see what work we are doing for the next release. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Silvia Fichera [mailto:fichera@gmail.com] Sent: Tuesday, March 17, 2015 4:27 AM To: Dugger, Donald D Cc: openstack@lists.openstack.org Subject: Re: [Openstack] Questions from a newbie 1- I'm asking what happens if I move my laptop from my office network to another one (e.g. if I need to use the dashboard also from home). 2- Have you got a code flow to better understand the information publishing process? And how it will be managed in the future? I started my internship just one week ago, they told my that the purpose is add a feature that will consider also the network link status togheter with the host status. So I think that the scheduler should interact also with the network module, but by now I'm still lost in understanding the architecture and the OpenSTack scenario. I think I will join the meeting when I have time, on which day is it? Thank you again 2015-03-17 5:30 GMT+01:00 Dugger, Donald D mailto:donald.d.dug...@intel.com>>: Silvia- 1) Not totally sure what you’re asking. When `devstack’ completes there should be an instance of Horizon running on that machine. You can then connect to that Horizon from any other machine on that network, assuming your host has a routable IP address (using 127.0.0.1 as the HOST_IP would make Horizon only available from that machine). Note, by default Horizon listens on port 9000 so make sure you are trying to connect to 10.1.115.126:9000<http://10.1.115.126:9000> 2) Yes, currently the host information is stored in the DB but there is a lot of work going on in that area. We hope to move to an object model where the compute nodes will be sending state information directly to the scheduler in the Kilo release. I’d be curious to know what it is about the scheduler that you are planning on working on. I should also point out that we have a weekly IRC meeting to discuss scheduler issues at 1500 UTC at #openstack-meeting (the meeting is titled Gantt which is the name of the new scheduler project we are creating), you’re welcome to join if that time zone works for you. -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale Ph: 303/443-3786 From: Silvia Fichera [mailto:fichera@gmail.com<mailto:fichera@gmail.com>] Sent: Thursday, March 12, 2015 3:15 AM To: openstack@lists.openstack.org<mailto:openstack@lists.openstack.org> Subject: [Openstack] Questions from a newbie Hi, I'm completely new in OpenStack's Universe and I need to understand a lot of things! Bust let's start with a couple of questions. 1. I have installed OpenStack using DevStack in a physical machine (I have already an Ubuntu system). At the end of the installation there was written the address where I can open Horizon (e.g. 10.1.115.126). What happens if I connect my laptop from another network? Does it remain the same? Or should I do a specific configuration? 2. I will work with nova in particular, especially in the scheduling part. I would like to know where the scheduler take the information about the state of the host to assign it after the filter & weight. I think that those parameters about the status of the host are memorised in the database, but it's only my hypotheses, I haven't read anything about it. And if it's so, how are collected those information? By who? Sorry if I did some silly question, but I would like to well understand the basis. Let me also know if exist a good guide that explains how to start with OpenStack from zero! Thank you -- Silvia Fichera -- Silvia Fichera ___ Mailing list: http://lists.open