<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matiu</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matiu"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/Matiu"/>
		<updated>2026-07-10T17:13:59Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Blueprint-nova-cells-loadbalancing&amp;diff=22382</id>
		<title>Blueprint-nova-cells-loadbalancing</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Blueprint-nova-cells-loadbalancing&amp;diff=22382"/>
				<updated>2013-05-12T22:18:08Z</updated>
		
		<summary type="html">&lt;p&gt;Matiu: Created page with &amp;quot;== Load balanced cells ==  === Rationale === In some situations the nova-cell process can become a bottle neck and not consume messages from the RPC system fast enough.  === G...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Load balanced cells ==&lt;br /&gt;
&lt;br /&gt;
=== Rationale ===&lt;br /&gt;
In some situations the nova-cell process can become a bottle neck and not consume messages from the RPC system fast enough.&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
This blueprint sets out to enable multiple 'nova-cell' consumers from a single RPC queue.&lt;br /&gt;
&lt;br /&gt;
It should work all scenarios, for example:&lt;br /&gt;
* Global cell&lt;br /&gt;
:nova-api instances put messages in the queue, multiple nova-cell instances push those messages down to child cells&lt;br /&gt;
* Child cell&lt;br /&gt;
:incoming command messages come from a parent cell into our RPC queue, multiple 'nova-cell' workers consume and process these messages.&lt;br /&gt;
&lt;br /&gt;
=== Concerns ===&lt;/div&gt;</summary>
		<author><name>Matiu</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Blueprint-spare-hosts&amp;diff=19349</id>
		<title>Blueprint-spare-hosts</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Blueprint-spare-hosts&amp;diff=19349"/>
				<updated>2013-03-21T22:25:48Z</updated>
		
		<summary type="html">&lt;p&gt;Matiu: Created page with &amp;quot;== Specification for the spare-hosts blueprint ==  === Use cases ===  As an openstack administrator, when I set up a new cell, I need to set 10 or so hosts as spares before en...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Specification for the spare-hosts blueprint ==&lt;br /&gt;
&lt;br /&gt;
=== Use cases ===&lt;br /&gt;
&lt;br /&gt;
As an openstack administrator, when I set up a new cell, I need to set 10 or so hosts as spares before enabling the cell / openstack install.&lt;br /&gt;
&lt;br /&gt;
This is primarily aimed at cells / openstack-installs, where all hosts are the same size and the scheduling model is to spread out the VMs as much as possible.&lt;br /&gt;
&lt;br /&gt;
A spare host will be guaranteed not to have any VMs on it.&lt;br /&gt;
&lt;br /&gt;
 * When another host goes down, I can chassis swap it with a spare host.&lt;br /&gt;
 * If a surprise VM building spree happens and we run out of space in the huddle, we can enable some hosts while new ones are being ordered/burnt in&lt;br /&gt;
 * If a raid array shows signs of imminent failure, and there's not much room in the huddle, we can enable a spare and evacuate to it&lt;br /&gt;
&lt;br /&gt;
==== Possible later additions ====&lt;br /&gt;
&lt;br /&gt;
 * A '''warning threshhold''', if the number of free machines is less than double the number of spares, a warning is emitted via the notifications system each time a host is activated.&lt;br /&gt;
 * '''Queueing of migrations''', if a migration is waiting on a spare host to be enabled, it can be put in a new state 'waiting for host availability' rather than failing.==&lt;br /&gt;
&lt;br /&gt;
=== Plan of action ===&lt;br /&gt;
&lt;br /&gt;
==== Scheduler ====&lt;br /&gt;
&lt;br /&gt;
  1. When scheduler chooses a destination host, the list of hosts to be filtered will already have spares removed. We choose this way instead of writing a new filter, as the filtering code is currently already very slow&lt;br /&gt;
&lt;br /&gt;
==== DB ====&lt;br /&gt;
&lt;br /&gt;
 1. We'll add an 'is_spare' column to the ComputeNode field, with an index to make filtering fast&lt;br /&gt;
 2. In the API we'll add an optional parameter to the ''compute_node_get_all'' method, to either filter out, or only return spare hosts.&lt;br /&gt;
 3. We'll add an API method to list the migrations headed towards or on the host. This is needed so we can guarantee that when a host is set to spare, it has zero VMs on it.&lt;br /&gt;
&lt;br /&gt;
==== openstack api extension ====&lt;br /&gt;
&lt;br /&gt;
We'll add an api extension with the following methods:&lt;br /&gt;
&lt;br /&gt;
 * list_spares(cell = None) - returns a list of host_names of spare machines. Takes an optional 'cell' argument, that would restrict the output to that of the single cell.&lt;br /&gt;
 * reserve_spare(host_name=None, count=1, cell=None) - Sets the is_spare flag and disables the host. The box must have zero running VMs and no migrations heading towards it.&lt;br /&gt;
    * If host_name is None, it spares the eligible host with the most available RAM that it can&lt;br /&gt;
    * if host_name is None, count will make it spare the 'count' biggest hosts it finds (measured by available RAM)&lt;br /&gt;
    * if cell is passed, and cells is enabled, it'll restrict the operation to that cell&lt;br /&gt;
    * It will return a list of host_names that were set to spare&lt;br /&gt;
  * release_spare(host_name=None, count=1, cell=None) - removes the is_spare flag and enables the host.&lt;br /&gt;
    * host_name - restrict to one certain host&lt;br /&gt;
    * count - if host_name is None, release 'count' of the smallest spares (by ram)&lt;br /&gt;
    * cell - restrict to one cell&lt;/div&gt;</summary>
		<author><name>Matiu</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Scheduler_Filters&amp;diff=19088</id>
		<title>Scheduler Filters</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Scheduler_Filters&amp;diff=19088"/>
				<updated>2013-03-13T22:04:08Z</updated>
		
		<summary type="html">&lt;p&gt;Matiu: Made it look nice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The nova scheduler has a bunch of filters. See here: http://docs.openstack.org/developer/nova/devref/filter_scheduler.htmlL&lt;br /&gt;
&lt;br /&gt;
This is a quick summary of the filters in grizzly:&lt;br /&gt;
&lt;br /&gt;
* '''affinity_filter''' - Don't put instances in a set on the same host&lt;br /&gt;
* '''aggregate_instance_extra_specs''' - Only build no hosts that support the desired instance type&lt;br /&gt;
* '''aggregate_multitenancy_isolation''' - This host is reserved for 'tenant_id'; only his vms can go here&lt;br /&gt;
* '''all_hosts_filter''' - All hosts are good, yippee!&lt;br /&gt;
* '''availability_zone_filter''' - Can only build in hosts that are in the desired 'availability_zone'&lt;br /&gt;
* '''compute_capabilities_filter''' - Check that vm's 'extra_specs' match hosts 'capabilities'&lt;br /&gt;
* '''compute_filter''' - Only build on active compute nodes&lt;br /&gt;
* '''core_filter''' - Only if we have enough cpu cores free&lt;br /&gt;
* '''disk_filter''' - Only if we have enough disk space free &lt;br /&gt;
* '''extra_specs_ops''' - NOT A FILTER - defines operators for compute_capabilities_filter, like &amp;gt;=&lt;br /&gt;
* '''image_props_filter''' - Checks the requirement of the VM image on architecture, hypervisor type, or virtual machine mode properties&lt;br /&gt;
* '''io_ops_filter''' - Don't build on hosts that are doing too much disk IO right now&lt;br /&gt;
* '''isolated_hosts_filter''' - Lets you specify a list of 'isolated' images and 'isolated' hosts. If image is in the list, host has to be in the list too, and vice versa.&lt;br /&gt;
* '''json_filter''' - Lets you make up your own filter using JSON in the configuration options&lt;br /&gt;
* '''num_instances_filter''' - Don't build if host has &amp;gt; X instances&lt;br /&gt;
* '''ram_filter''' - Don't build if there isn't enough free RAM&lt;br /&gt;
* '''retry_filter''' - Don't try to build if we already tried on this host&lt;br /&gt;
* '''trusted_filter''' - Only build in trusted compute pools&lt;br /&gt;
* '''type_filter''' - Only allow one instance type per host, eg. All VMs must be 512 MB size&lt;/div&gt;</summary>
		<author><name>Matiu</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Scheduler_Filters&amp;diff=19087</id>
		<title>Scheduler Filters</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Scheduler_Filters&amp;diff=19087"/>
				<updated>2013-03-13T22:00:58Z</updated>
		
		<summary type="html">&lt;p&gt;Matiu: List of scheduler filters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The nova scheduler has a bunch of filters. See here: http://docs.openstack.org/developer/nova/devref/filter_scheduler.htmlL&lt;br /&gt;
&lt;br /&gt;
This is a quick summary of the filters in grizzly:&lt;br /&gt;
&lt;br /&gt;
 * affinity_filter.py - Don't put instances in a set on the same host&lt;br /&gt;
 * aggregate_instance_extra_specs.py - Only build no hosts that support the desired instance type&lt;br /&gt;
 * aggregate_multitenancy_isolation.py - This host is reserved for 'tenant_id'; only his vms can go here&lt;br /&gt;
 * all_hosts_filter.py - All hosts are good, yippee!&lt;br /&gt;
 * availability_zone_filter.py - Can only build in hosts that are in the desired 'availability_zone'&lt;br /&gt;
 * compute_capabilities_filter.py - Check that vm's 'extra_specs' match hosts 'capabilities'&lt;br /&gt;
 * compute_filter.py - Only build on active compute nodes&lt;br /&gt;
 * core_filter.py - Only if we have enough cpu cores free&lt;br /&gt;
 * disk_filter.py - Only if we have enough disk space free &lt;br /&gt;
 * extra_specs_ops.py - NOT A FILTER - defines operators for compute_capabilities_filter, like &amp;gt;=&lt;br /&gt;
 * image_props_filter.py - Checks the requirement of the VM image on architecture, hypervisor type, or virtual machine mode properties&lt;br /&gt;
 * io_ops_filter.py - Don't build on hosts that are doing too much disk IO right now&lt;br /&gt;
 * isolated_hosts_filter.py - Lets you specify a list of 'isolated' images and 'isolated' hosts. If image is in the list, host has to be in the list too, and vice versa.&lt;br /&gt;
 * json_filter.py - Lets you make up your own filter using JSON in the configuration options&lt;br /&gt;
 * num_instances_filter.py - Don't build if host has &amp;gt; X instances&lt;br /&gt;
 * ram_filter.py - Don't build if there isn't enough free RAM&lt;br /&gt;
 * retry_filter.py - Don't try to build if we already tried on this host&lt;br /&gt;
 * trusted_filter.py - Only build in trusted compute pools&lt;br /&gt;
 * type_filter.py - Only allow one instance type per host, eg. All VMs must be 512 MB size&lt;/div&gt;</summary>
		<author><name>Matiu</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Nova&amp;diff=19086</id>
		<title>Nova</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Nova&amp;diff=19086"/>
				<updated>2013-03-13T21:59:14Z</updated>
		
		<summary type="html">&lt;p&gt;Matiu: /* Other resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= [https://wiki.openstack.org Openstack] Compute (&amp;quot;Nova&amp;quot;) =&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|  Source code   &lt;br /&gt;
|-&lt;br /&gt;
|  Bug tracker   &lt;br /&gt;
|-&lt;br /&gt;
|  Blueprints    &lt;br /&gt;
|-&lt;br /&gt;
|  Developer doc &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Related projects ==&lt;br /&gt;
* Python Nova client&lt;br /&gt;
* Compute API documentation&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
* [http://docs.openstack.org/api/openstack-compute/2/content/ Compute API (v2) specification]&lt;br /&gt;
* [http://docs.openstack.org/trunk/openstack-compute/admin/content/ Administration Guide]&lt;br /&gt;
&lt;br /&gt;
== Other resources ==&lt;br /&gt;
* [[InstallInstructions/Nova|Install Instructions]]&lt;br /&gt;
* [[Nova/APIFeatureComparison | API feature comparison]]&lt;br /&gt;
* Configuring Nova: listing of nova.conf [[NovaConfigOptions|configuration options]]&lt;br /&gt;
* Details about [[HypervisorSupportMatrix|hypervisor support]]&lt;br /&gt;
* List of [[Scheduler Filters]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Nova]]&lt;/div&gt;</summary>
		<author><name>Matiu</name></author>	</entry>

	</feed>