<?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=Belliott</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=Belliott"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/Belliott"/>
		<updated>2026-06-30T09:57:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Stackforge_Namespace_Retirement&amp;diff=91269</id>
		<title>Stackforge Namespace Retirement</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Stackforge_Namespace_Retirement&amp;diff=91269"/>
				<updated>2015-09-28T15:41:42Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Background ===&lt;br /&gt;
&lt;br /&gt;
The stackforge/ git namespace is being retired, and active projects are being moved to the openstack/ namespace.  See this mailing list post for [http://lists.openstack.org/pipermail/openstack-dev/2015-August/071816.html full background].  These changes are scheduled to occur on October 17, 2015.&lt;br /&gt;
&lt;br /&gt;
There are two lists below, one for active projects that should be moved, and a second for inactive projects that should become read-only.  Please update them to add your project to the correct list.&lt;br /&gt;
&lt;br /&gt;
=== Active Projects to Move ===&lt;br /&gt;
Active stackforge projects that wish to move into the openstack/ namespace should be added to this list.  Projects in this list will be automatically moved by the Infrastructure team to openstack/ on October 17.  Please note that no other renames can happen during this move -- projects will strictly be moved from stackforge/ to openstack/ with their existing names.  &lt;br /&gt;
&lt;br /&gt;
* aeromancer&lt;br /&gt;
* anvil&lt;br /&gt;
* bansho&lt;br /&gt;
* blazar&lt;br /&gt;
* blazar-nova&lt;br /&gt;
* ceilometer-powervm&lt;br /&gt;
* ceilometer-zvm&lt;br /&gt;
* cerberus&lt;br /&gt;
* cerberus-dashboard&lt;br /&gt;
* cl-openstack-client&lt;br /&gt;
* cloud-init&lt;br /&gt;
* cloudbase-init&lt;br /&gt;
* clouddocs-maven-plugin&lt;br /&gt;
* cloudkitty&lt;br /&gt;
* cloudkitty-dashboard&lt;br /&gt;
* cloudpulse&lt;br /&gt;
* cognitive&lt;br /&gt;
* compass-adapters&lt;br /&gt;
* compass-core&lt;br /&gt;
* compass-specs&lt;br /&gt;
* compass-web&lt;br /&gt;
* compute-hyperv&lt;br /&gt;
* designate-msdnsagent&lt;br /&gt;
* devstack-plugin-glusterfs&lt;br /&gt;
* devstack-plugin-sheepdog&lt;br /&gt;
* doc8&lt;br /&gt;
* dox&lt;br /&gt;
* drbd-devstack&lt;br /&gt;
* driverlog&lt;br /&gt;
* ec2-api&lt;br /&gt;
* ec2-driver&lt;br /&gt;
* faafo&lt;br /&gt;
* flame&lt;br /&gt;
* freezer&lt;br /&gt;
* freezer-api&lt;br /&gt;
* freezer-web-ui&lt;br /&gt;
* fuel-agent&lt;br /&gt;
* fuel-astute&lt;br /&gt;
* fuel-dev-tools&lt;br /&gt;
* fuel-devops&lt;br /&gt;
* fuel-docs&lt;br /&gt;
* fuel-library&lt;br /&gt;
* fuel-main&lt;br /&gt;
* fuel-mirror&lt;br /&gt;
* fuel-nailgun-agent&lt;br /&gt;
* fuel-octane&lt;br /&gt;
* fuel-ostf&lt;br /&gt;
* fuel-ostf-plugin&lt;br /&gt;
* fuel-plugin-calamari&lt;br /&gt;
* fuel-plugin-calico&lt;br /&gt;
* fuel-plugin-ceilometer-redis&lt;br /&gt;
* fuel-plugin-cinder-netapp&lt;br /&gt;
* fuel-plugin-cisco-aci&lt;br /&gt;
* fuel-plugin-contrail&lt;br /&gt;
* fuel-plugin-dbaas-trove&lt;br /&gt;
* fuel-plugin-detach-database&lt;br /&gt;
* fuel-plugin-detach-keystone&lt;br /&gt;
* fuel-plugin-detach-rabbitmq&lt;br /&gt;
* fuel-plugin-elasticsearch-kibana&lt;br /&gt;
* fuel-plugin-external-emc&lt;br /&gt;
* fuel-plugin-external-glusterfs&lt;br /&gt;
* fuel-plugin-external-zabbix&lt;br /&gt;
* fuel-plugin-glance-nfs&lt;br /&gt;
* fuel-plugin-ha-fencing&lt;br /&gt;
* fuel-plugin-influxdb-grafana&lt;br /&gt;
* fuel-plugin-ironic&lt;br /&gt;
* fuel-plugin-ldap&lt;br /&gt;
* fuel-plugin-lma-collector&lt;br /&gt;
* fuel-plugin-lma-infrastructure-alerting&lt;br /&gt;
* fuel-plugin-mellanox&lt;br /&gt;
* fuel-plugin-midonet&lt;br /&gt;
* fuel-plugin-neutron-fwaas&lt;br /&gt;
* fuel-plugin-neutron-lbaas&lt;br /&gt;
* fuel-plugin-neutron-vpnaas&lt;br /&gt;
* fuel-plugin-nova-nfs&lt;br /&gt;
* fuel-plugin-nsxv&lt;br /&gt;
* fuel-plugin-opendaylight&lt;br /&gt;
* fuel-plugin-saltstack&lt;br /&gt;
* fuel-plugin-solidfire-cinder&lt;br /&gt;
* fuel-plugin-swiftstack&lt;br /&gt;
* fuel-plugin-tintri-cinder&lt;br /&gt;
* fuel-plugin-tls&lt;br /&gt;
* fuel-plugin-vmware-dvs&lt;br /&gt;
* fuel-plugin-vxlan&lt;br /&gt;
* fuel-plugin-zabbix-monitoring-emc&lt;br /&gt;
* fuel-plugin-zabbix-monitoring-extreme-networks&lt;br /&gt;
* fuel-plugin-zabbix-snmptrapd&lt;br /&gt;
* fuel-plugins&lt;br /&gt;
* fuel-qa&lt;br /&gt;
* fuel-specs&lt;br /&gt;
* fuel-stats&lt;br /&gt;
* fuel-upgrade&lt;br /&gt;
* fuel-web&lt;br /&gt;
* gce-api&lt;br /&gt;
* gerrit-dash-creator&lt;br /&gt;
* git-upstream&lt;br /&gt;
* golang-client&lt;br /&gt;
* group-based-policy&lt;br /&gt;
* group-based-policy-automation&lt;br /&gt;
* group-based-policy-specs&lt;br /&gt;
* group-based-policy-ui&lt;br /&gt;
* intel-nfv-ci-tests&lt;br /&gt;
* merlin&lt;br /&gt;
* monasca-agent&lt;br /&gt;
* monasca-api&lt;br /&gt;
* monasca-ceilometer&lt;br /&gt;
* monasca-common&lt;br /&gt;
* monasca-log-api&lt;br /&gt;
* monasca-notification&lt;br /&gt;
* monasca-persister&lt;br /&gt;
* monasca-statsd&lt;br /&gt;
* monasca-thresh&lt;br /&gt;
* monasca-ui&lt;br /&gt;
* monasca-vagrant&lt;br /&gt;
* monitoring-for-openstack&lt;br /&gt;
* namos&lt;br /&gt;
* nerd-reviewer&lt;br /&gt;
* networking-6wind&lt;br /&gt;
* networking-bagpipe-l2&lt;br /&gt;
* networking-hyperv&lt;br /&gt;
* networking-ovs-dpdk&lt;br /&gt;
* networking-zvm&lt;br /&gt;
* nova-docker&lt;br /&gt;
* nova-powervm&lt;br /&gt;
* nova-solver-scheduler&lt;br /&gt;
* nova-zvm-virt-driver&lt;br /&gt;
* ooi&lt;br /&gt;
* ops-tags-team&lt;br /&gt;
* osprofiler&lt;br /&gt;
* ospurge&lt;br /&gt;
* packstack&lt;br /&gt;
* poppy&lt;br /&gt;
* proliantutils&lt;br /&gt;
* puppet-autossh&lt;br /&gt;
* puppet-ceph&lt;br /&gt;
* puppet-n1k-vsm&lt;br /&gt;
* puppet-setproxy&lt;br /&gt;
* puppet-surveil&lt;br /&gt;
* python-blazarclient&lt;br /&gt;
* python-cerberusclient&lt;br /&gt;
* python-cloudkittyclient&lt;br /&gt;
* python-cloudpulseclient&lt;br /&gt;
* python-cognitiveclient&lt;br /&gt;
* python-fuelclient&lt;br /&gt;
* python-group-based-policy-client &lt;br /&gt;
* python-jenkins&lt;br /&gt;
* python-monascaclient&lt;br /&gt;
* python-openstacksdk&lt;br /&gt;
* python-rackclient&lt;br /&gt;
* python-senlinclient&lt;br /&gt;
* python-sticksclient&lt;br /&gt;
* python-surveilclient&lt;br /&gt;
* python-tackerclient&lt;br /&gt;
* python-watcherclient&lt;br /&gt;
* rack&lt;br /&gt;
* requests-mock&lt;br /&gt;
* sahara-ci-config&lt;br /&gt;
* senlin&lt;br /&gt;
* senlin-dashboard&lt;br /&gt;
* shaker&lt;br /&gt;
* sqlalchemy-migrate&lt;br /&gt;
* surveil&lt;br /&gt;
* surveil-specs&lt;br /&gt;
* stackalytics&lt;br /&gt;
* sticks&lt;br /&gt;
* sticks-dashboard&lt;br /&gt;
* swift3&lt;br /&gt;
* swiftonfile&lt;br /&gt;
* swift-ceph-backend&lt;br /&gt;
* tacker&lt;br /&gt;
* tacker-horizon&lt;br /&gt;
* tacker-specs&lt;br /&gt;
* tap-as-a-service&lt;br /&gt;
* telcowg-usecases&lt;br /&gt;
* terracotta&lt;br /&gt;
* third-party-ci-tools&lt;br /&gt;
* tricircle&lt;br /&gt;
* vmtp&lt;br /&gt;
* watcher&lt;br /&gt;
* wsme&lt;br /&gt;
* xenapi-os-testing&lt;br /&gt;
* xstatic-d3&lt;br /&gt;
* xstatic-angular-sanitize&lt;br /&gt;
* xstatic-bootstrap-datepicker&lt;br /&gt;
* xstatic-angular-gettext &lt;br /&gt;
* xstatic-bootswatch &lt;br /&gt;
* xstatic-angular-cookies &lt;br /&gt;
* xstatic-bootstrap-scss&lt;br /&gt;
* xstatic-angular-smart-table&lt;br /&gt;
* xstatic-angular-fileupload&lt;br /&gt;
* xstatic-angular-bootstrap&lt;br /&gt;
* xstatic-angular&lt;br /&gt;
* xstatic-angular-mock&lt;br /&gt;
* xstatic-angular-lrdragndrop&lt;br /&gt;
* xstatic-roboto-fontface &lt;br /&gt;
* xstatic-jquery.quicksearch&lt;br /&gt;
* xstatic-mdi&lt;br /&gt;
* xstatic-rickshaw&lt;br /&gt;
* xstatic-magic-search &lt;br /&gt;
* xstatic-font-awesome &lt;br /&gt;
* xstatic-hogan &lt;br /&gt;
* xstatic-spin&lt;br /&gt;
* xstatic-jasmine&lt;br /&gt;
* xstatic-jquery-migrate&lt;br /&gt;
* xstatic-jquery-migrate&lt;br /&gt;
* xstatic-jsencrypt&lt;br /&gt;
* yaql&lt;br /&gt;
&lt;br /&gt;
=== Inactive Projects to Retire ===&lt;br /&gt;
Inactive projects that should be retired should be added to this list.  These projects will have a commit merged removing their content and replacing it with a message indicating the project is no longer maintained and will become read-only in Gerrit.&lt;br /&gt;
&lt;br /&gt;
* cachemonkey&lt;br /&gt;
* compass-monit&lt;br /&gt;
* congressmiddleware&lt;br /&gt;
* fuel-plugin-availability-zones&lt;br /&gt;
* fuel-provision&lt;br /&gt;
* fuel-tasklib&lt;br /&gt;
* mercador-pub&lt;br /&gt;
* mercador-sub&lt;br /&gt;
* MRaaS&lt;br /&gt;
* networking-portforwarding&lt;br /&gt;
* openstackdroid&lt;br /&gt;
* python-mercadorclient&lt;br /&gt;
* rubick&lt;br /&gt;
* sahara-guestagent&lt;br /&gt;
* libra&lt;br /&gt;
* logaas&lt;br /&gt;
* python-libraclient&lt;br /&gt;
* python-rallyclient&lt;br /&gt;
* cookbook-pacemaker&lt;br /&gt;
* puppet-openstack_dev_env&lt;br /&gt;
* puppet_openstack_builder&lt;br /&gt;
* puppet-openstack-cloud&lt;br /&gt;
* tripleo-ansible&lt;br /&gt;
* kickstack&lt;br /&gt;
* packstack-vagrant&lt;br /&gt;
* haos&lt;br /&gt;
* novaimagebuilder&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/Nova&amp;diff=88152</id>
		<title>Meetings/Nova</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/Nova&amp;diff=88152"/>
				<updated>2015-08-17T14:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Nova team meeting =&lt;br /&gt;
'''MEETING TIME: Thursdays alternating 14:00 UTC (#openstack-meeting) and 21:00 UTC (#openstack-meeting)'''&lt;br /&gt;
&lt;br /&gt;
This meeting is a weekly gathering of developers working on [[Nova|OpenStack Compute (Nova)]].  We cover topics such as release planning and status, bugs, reviews, and other current topics worthy of real-time discussion.&lt;br /&gt;
&lt;br /&gt;
NOTE: this wiki page should be 'emptied' at the end of each meeting.&lt;br /&gt;
&lt;br /&gt;
== Agenda for next meeting ==&lt;br /&gt;
&lt;br /&gt;
Next meetings scheduled for:&lt;br /&gt;
* August 20th 2015 1400 UTC, #openstack-meeting (http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150820T140000)&lt;br /&gt;
* August 27th 2015 2100 UTC, #openstack-meeting (http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150827T210000)&lt;br /&gt;
&lt;br /&gt;
Add your IRC nick to this list to be pinged at the start of the meeting:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mikal tjones cburgess jgrimm adrian_otto funzo mjturek jcookekhugen&lt;br /&gt;
irina_pov krtaylor danpb alexpilotti flip214 jaypipes garyk edleafe dims&lt;br /&gt;
moshele anteaya Nisha sileht claudiub lxsli neiljerram markus_z swamireddy alevine&lt;br /&gt;
tonyb andreykurilin ndipanov sc68cal akuriata artom jlvillal mnestratov kashyap &lt;br /&gt;
aloga rgeragnov bauzas xyang tpatil med_ nic scottda nagyz dannywilson belliott&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note &amp;quot;stuck review&amp;quot; means a review where there is some disagreement that needs resolving.&lt;br /&gt;
Its not for reviews that just haven't had attention, except for exceptional cases.&lt;br /&gt;
Where you see &amp;quot;?&amp;quot; feel free to just edit the wiki and add your item.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda for the next meeting:&lt;br /&gt;
* Release Status&lt;br /&gt;
** August 18: Feature Proposal Freeze (see https://wiki.openstack.org/wiki/FeatureProposalFreeze)&lt;br /&gt;
** Updates on feature freeze in here: https://etherpad.openstack.org/p/liberty-nova-non-priority-feature-freeze&lt;br /&gt;
** Nova specific things: https://wiki.openstack.org/wiki/Nova/Liberty_Release_Schedule&lt;br /&gt;
* Bugs (stuck/critical)&lt;br /&gt;
** Gate status&lt;br /&gt;
*** http://status.openstack.org/elastic-recheck/index.html&lt;br /&gt;
** Critical bugs&lt;br /&gt;
*** ?&lt;br /&gt;
** Stable branch status: https://etherpad.openstack.org/p/stable-tracker&lt;br /&gt;
*** stable/kilo: https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:stable/kilo,n,z&lt;br /&gt;
*** stable/juno: https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:stable/juno,n,z&lt;br /&gt;
* Regular Review Reminders&lt;br /&gt;
** all please look here for what patches to review: https://etherpad.openstack.org/p/liberty-nova-priorities-tracking&lt;br /&gt;
** we have a list of actions: https://etherpad.openstack.org/p/YVR-nova-liberty-summit-action-items and https://etherpad.openstack.org/p/liberty-nova-midcycle&lt;br /&gt;
* Stuck Reviews&lt;br /&gt;
**  Please note &amp;quot;stuck review&amp;quot; means a review where there is some disagreement that needs resolving. Its not for reviews that just haven't had attention, except for exceptional cases. Where you see &amp;quot;?&amp;quot; feel free to just edit the wiki and add your item.&lt;br /&gt;
** Any stuck code reviews to discuss:&lt;br /&gt;
*** ?&lt;br /&gt;
* Open discussion&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Sub-teams ==&lt;br /&gt;
&lt;br /&gt;
There are also some Nova subteam meetings.  See [[Nova#Active_Sub-teams:]] for details.&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
* [http://eavesdrop.openstack.org/meetings/nova/ All other meetings are here]&lt;br /&gt;
* [http://eavesdrop.openstack.org/meetings/openstack-meeting/2012/openstack-meeting.2012-08-16-21.01.html 2012-08-16]&lt;br /&gt;
* [http://eavesdrop.openstack.org/meetings/openstack-meeting/2012/openstack-meeting.2012-08-09-21.00.html 2012-08-09]&lt;br /&gt;
* [http://eavesdrop.openstack.org/meetings/openstack-meeting/2012/openstack-meeting.2012-08-02-21.40.html 2012-08-02]&lt;br /&gt;
&lt;br /&gt;
[[category: compute]]&lt;br /&gt;
[[category: meetings]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=ImagePrecacher&amp;diff=45427</id>
		<title>ImagePrecacher</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=ImagePrecacher&amp;diff=45427"/>
				<updated>2014-03-12T21:42:38Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Goal =&lt;br /&gt;
&lt;br /&gt;
Introduce a new, optional nova service to cache high priority images on compute hosts prior to the image being requested during the usual instance creation process.&lt;br /&gt;
&lt;br /&gt;
=  Current Caching Strategy =&lt;br /&gt;
&lt;br /&gt;
In the current icehouse release of Nova, images are cached on demand.  As instances are created, compute hosts need to retrieve the requested image in order to build each instance.  The host may then cache that image for some period of time locally.  This solution speeds up subsequent requests to build an instance from the same image, on the same host.  &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
However, there are some limitations with the current approach:&lt;br /&gt;
* Inconsistent build times - the first build on a host for each image is slower than subsequent ones&lt;br /&gt;
* Network throttling - If creation of a large number of instances is requested, many simultaneous transfers of images to hosts will be initiated.  This may have a crippling effect on network performance.&lt;br /&gt;
&lt;br /&gt;
= Proposed Caching Service =&lt;br /&gt;
&lt;br /&gt;
To rectify the current limitations, we can add a simple nova service to aid in efficient distribution of high priority images to compute hosts out of the control path of the instance creation process.  The service would consist of a periodic task performing the following tasks:&lt;br /&gt;
&lt;br /&gt;
# List - Obtain a list of images to pre-cache.&lt;br /&gt;
# Fetch - Obtain a copy of each image's data.&lt;br /&gt;
# Serve - Setup each image's data for distribution to hosts.&lt;br /&gt;
# Distribute - Trigger downloads of each image by the hosts.&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
&lt;br /&gt;
Use a pluggable strategy for obtaining a list of images to pre-cache.  A default implementation might query Glance to obtain a list of images for certain tenants.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  class ImageLister(object):&lt;br /&gt;
    def list(self):&lt;br /&gt;
      ...&lt;br /&gt;
      return image_list  # return a list of images to pre-cache&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fetch ==&lt;br /&gt;
&lt;br /&gt;
Use a pluggable strategy for fetching the images from their backing storage.  One option might be a class capable of fetching image data from swift.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  class ImageFetcher(object):&lt;br /&gt;
     def fetch(self, image_id):&lt;br /&gt;
       ...&lt;br /&gt;
       return image_filename  # return local filesystem path to image&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Serve ==&lt;br /&gt;
&lt;br /&gt;
Perform work necessary to make the image available to compute hosts.  In the BitTorrent case, this would mean providing an initial seed of the image.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  class ImageServer(object):&lt;br /&gt;
     def serve(self, image_id, image_filename):&lt;br /&gt;
       ...&lt;br /&gt;
       return meta  # return metadata necessary for a compute host to download the image&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Distribute ==&lt;br /&gt;
&lt;br /&gt;
Pre-cache service would send a RPC fanout message on the &amp;quot;compute&amp;quot; topic for each image.  This would cause each host to fetch the image and pre-cache it uses virt driver specific mechanisms.&lt;br /&gt;
 &lt;br /&gt;
RPC API method:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  def cache(image_id, meta)&lt;br /&gt;
    ...  # meta contains all details necessary to fetch image from pre-cache service&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=ImagePrecacher&amp;diff=45411</id>
		<title>ImagePrecacher</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=ImagePrecacher&amp;diff=45411"/>
				<updated>2014-03-12T20:50:23Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: Created page with &amp;quot;= Goal =  Introduce a new, optional nova service to cache high priority images on compute hosts prior to the image being requested during the usual instance creation process....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Goal =&lt;br /&gt;
&lt;br /&gt;
Introduce a new, optional nova service to cache high priority images on compute hosts prior to the image being requested during the usual instance creation process.&lt;br /&gt;
&lt;br /&gt;
=  Current Caching Strategy =&lt;br /&gt;
&lt;br /&gt;
In the current icehouse release of Nova, images are cached on demand.  As instances are created, compute hosts need to retrieve the requested image in order to build each instance.  The host may then cache that image for some period of time locally.  This solution speeds up subsequent requests to build an instance from the same image, on the same host.  &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
However, there are some limitations with the current approach:&lt;br /&gt;
* Inconsistent build times - the first build on a host for each image is slower than subsequent ones&lt;br /&gt;
* Network throttling - If creation of a large number of instances is requested, many simultaneous transfers of images to hosts will be initiated.  This may have a crippling effect on network performance.&lt;br /&gt;
&lt;br /&gt;
= Proposed Caching Service =&lt;br /&gt;
&lt;br /&gt;
To rectify the current limitations, we can add a simple nova service to aid in efficient distribution of high priority images to compute hosts out of the control path of the instance creation process.  The service would consist of a periodic task performing the following tasks:&lt;br /&gt;
&lt;br /&gt;
# List - Obtain a list of images to pre-cache.&lt;br /&gt;
# Fetch - Obtain a copy of each image's data.&lt;br /&gt;
# Serve - Setup each image's data for distribution to hosts.&lt;br /&gt;
# Distribute - Trigger downloads of each image by the hosts.&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
&lt;br /&gt;
Use a pluggable strategy for obtaining a list of images to pre-cache.  &lt;br /&gt;
&lt;br /&gt;
class Lister(&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37231</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37231"/>
				<updated>2013-12-04T21:58:39Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
These values were updated to take into account the number of VCPUs assigned to a VM in this review: https://review.openstack.org/60087&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (GB) of the VM&lt;br /&gt;
* Y-axis: number of VCPUs allocated to the VM&lt;br /&gt;
* Z-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size and number of VCPUs.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| VM memory size (GB)&lt;br /&gt;
! VM number of VCPUs&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 1&lt;br /&gt;
| 4.0&lt;br /&gt;
| 0.015625&lt;br /&gt;
| 6.49936&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 1&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 20.49488&lt;br /&gt;
|-&lt;br /&gt;
| 3972.02233887&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00881163221503&lt;br /&gt;
| 37.0214944666&lt;br /&gt;
|-&lt;br /&gt;
| 3895.72839355&lt;br /&gt;
| 2&lt;br /&gt;
| 34.0&lt;br /&gt;
| 0.00872750781503&lt;br /&gt;
| 36.4256387537&lt;br /&gt;
|-&lt;br /&gt;
| 1508.39562988&lt;br /&gt;
| 2&lt;br /&gt;
| 15.0&lt;br /&gt;
| 0.00994434066424&lt;br /&gt;
| 17.7805698694&lt;br /&gt;
|-&lt;br /&gt;
| 4086.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.00881057268722&lt;br /&gt;
| 37.91166&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4048.31628418&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00864556955117&lt;br /&gt;
| 37.6173501794&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4057.85302734&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0088716865193&lt;br /&gt;
| 37.6918321436&lt;br /&gt;
|-&lt;br /&gt;
| 4073.77954102&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085915302111&lt;br /&gt;
| 37.8162182153&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4072.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085952848723&lt;br /&gt;
| 37.80232&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 38.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 37.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 125.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 4&lt;br /&gt;
| 9.0&lt;br /&gt;
| 0.017578125&lt;br /&gt;
| 12.99872&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 14.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 13.0&lt;br /&gt;
| 0.0126953125&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 4&lt;br /&gt;
| 21.0&lt;br /&gt;
| 0.01025390625&lt;br /&gt;
| 24.99488&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 4&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.02734375&lt;br /&gt;
| 10.99936&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.008203125&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15258.7890625&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.008323072&lt;br /&gt;
| 131.171142578&lt;br /&gt;
|-&lt;br /&gt;
| 15324.7539062&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00828724564041&lt;br /&gt;
| 131.686328008&lt;br /&gt;
|-&lt;br /&gt;
| 15169.2651367&lt;br /&gt;
| 6&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.00830626921373&lt;br /&gt;
| 130.471960718&lt;br /&gt;
|-&lt;br /&gt;
| 15264.6325684&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831988581653&lt;br /&gt;
| 131.216780359&lt;br /&gt;
|-&lt;br /&gt;
| 15267.1328125&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831852329836&lt;br /&gt;
| 131.236307266&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15335.0830078&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00834687363184&lt;br /&gt;
| 131.766998291&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 14819.2524414&lt;br /&gt;
| 6&lt;br /&gt;
| 124.0&lt;br /&gt;
| 0.00836749360268&lt;br /&gt;
| 127.738361567&lt;br /&gt;
|-&lt;br /&gt;
| 15256.3276367&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00838996140145&lt;br /&gt;
| 131.151918843&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 74.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 73.0&lt;br /&gt;
| 0.0089111328125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 497.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 498.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 745.0&lt;br /&gt;
| 0.00808376736111&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 746.0&lt;br /&gt;
| 0.00809461805556&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 994.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 993.0&lt;br /&gt;
| 0.0080810546875&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The following graph was produced via matplotlib:&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph2.jpg|framed|left|VM Memory Size (X) vs Number of VCPUs (Y) vs VM Memory Overhead Size (Z)]]&lt;br /&gt;
&lt;br /&gt;
== Equation ==&lt;br /&gt;
&lt;br /&gt;
The following equation is an interpolation of the above data done via the Affine method in Mac OS X's Grapher app:&lt;br /&gt;
&lt;br /&gt;
overhead = (a * flavor_mb) + (b * num_vcpus) + c&lt;br /&gt;
&lt;br /&gt;
a and b are the constants:&lt;br /&gt;
a = 0.0078&lt;br /&gt;
b = 0.9674&lt;br /&gt;
c = 1.6162&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37189</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37189"/>
				<updated>2013-12-04T18:02:04Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
These values were updated to take into account the number of VCPUs assigned to a VM in this review: TBD&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (GB) of the VM&lt;br /&gt;
* Y-axis: number of VCPUs allocated to the VM&lt;br /&gt;
* Z-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size and number of VCPUs.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| VM memory size (GB)&lt;br /&gt;
! VM number of VCPUs&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 1&lt;br /&gt;
| 4.0&lt;br /&gt;
| 0.015625&lt;br /&gt;
| 6.49936&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 1&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 20.49488&lt;br /&gt;
|-&lt;br /&gt;
| 3972.02233887&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00881163221503&lt;br /&gt;
| 37.0214944666&lt;br /&gt;
|-&lt;br /&gt;
| 3895.72839355&lt;br /&gt;
| 2&lt;br /&gt;
| 34.0&lt;br /&gt;
| 0.00872750781503&lt;br /&gt;
| 36.4256387537&lt;br /&gt;
|-&lt;br /&gt;
| 1508.39562988&lt;br /&gt;
| 2&lt;br /&gt;
| 15.0&lt;br /&gt;
| 0.00994434066424&lt;br /&gt;
| 17.7805698694&lt;br /&gt;
|-&lt;br /&gt;
| 4086.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.00881057268722&lt;br /&gt;
| 37.91166&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4048.31628418&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00864556955117&lt;br /&gt;
| 37.6173501794&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4057.85302734&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0088716865193&lt;br /&gt;
| 37.6918321436&lt;br /&gt;
|-&lt;br /&gt;
| 4073.77954102&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085915302111&lt;br /&gt;
| 37.8162182153&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4072.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085952848723&lt;br /&gt;
| 37.80232&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 38.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 37.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 125.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 4&lt;br /&gt;
| 9.0&lt;br /&gt;
| 0.017578125&lt;br /&gt;
| 12.99872&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 14.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 13.0&lt;br /&gt;
| 0.0126953125&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 4&lt;br /&gt;
| 21.0&lt;br /&gt;
| 0.01025390625&lt;br /&gt;
| 24.99488&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 4&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.02734375&lt;br /&gt;
| 10.99936&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.008203125&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15258.7890625&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.008323072&lt;br /&gt;
| 131.171142578&lt;br /&gt;
|-&lt;br /&gt;
| 15324.7539062&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00828724564041&lt;br /&gt;
| 131.686328008&lt;br /&gt;
|-&lt;br /&gt;
| 15169.2651367&lt;br /&gt;
| 6&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.00830626921373&lt;br /&gt;
| 130.471960718&lt;br /&gt;
|-&lt;br /&gt;
| 15264.6325684&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831988581653&lt;br /&gt;
| 131.216780359&lt;br /&gt;
|-&lt;br /&gt;
| 15267.1328125&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831852329836&lt;br /&gt;
| 131.236307266&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15335.0830078&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00834687363184&lt;br /&gt;
| 131.766998291&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 14819.2524414&lt;br /&gt;
| 6&lt;br /&gt;
| 124.0&lt;br /&gt;
| 0.00836749360268&lt;br /&gt;
| 127.738361567&lt;br /&gt;
|-&lt;br /&gt;
| 15256.3276367&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00838996140145&lt;br /&gt;
| 131.151918843&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 74.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 73.0&lt;br /&gt;
| 0.0089111328125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 497.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 498.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 745.0&lt;br /&gt;
| 0.00808376736111&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 746.0&lt;br /&gt;
| 0.00809461805556&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 994.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 993.0&lt;br /&gt;
| 0.0080810546875&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The following graph was produced via matplotlib:&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph2.jpg|framed|left|VM Memory Size (X) vs Number of VCPUs (Y) vs VM Memory Overhead Size (Z)]]&lt;br /&gt;
&lt;br /&gt;
== Equation ==&lt;br /&gt;
&lt;br /&gt;
The following equation is an interpolation of the above data done via the Affine method in Mac OS X's Grapher app:&lt;br /&gt;
&lt;br /&gt;
overhead = (a * flavor_mb) + (b * num_vcpus) + c&lt;br /&gt;
&lt;br /&gt;
a and b are the constants:&lt;br /&gt;
a = 0.0078&lt;br /&gt;
b = 0.9674&lt;br /&gt;
c = 1.6162&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37188</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37188"/>
				<updated>2013-12-04T17:58:22Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
These values were updated to take into account the number of VCPUs assigned to a VM in this review: TBD&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (GB) of the VM&lt;br /&gt;
* Y-axis: number of VCPUs allocated to the VM&lt;br /&gt;
* Z-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| VM memory size (GB)&lt;br /&gt;
! VM number of VCPUs&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 1&lt;br /&gt;
| 4.0&lt;br /&gt;
| 0.015625&lt;br /&gt;
| 6.49936&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 1&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 20.49488&lt;br /&gt;
|-&lt;br /&gt;
| 3972.02233887&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00881163221503&lt;br /&gt;
| 37.0214944666&lt;br /&gt;
|-&lt;br /&gt;
| 3895.72839355&lt;br /&gt;
| 2&lt;br /&gt;
| 34.0&lt;br /&gt;
| 0.00872750781503&lt;br /&gt;
| 36.4256387537&lt;br /&gt;
|-&lt;br /&gt;
| 1508.39562988&lt;br /&gt;
| 2&lt;br /&gt;
| 15.0&lt;br /&gt;
| 0.00994434066424&lt;br /&gt;
| 17.7805698694&lt;br /&gt;
|-&lt;br /&gt;
| 4086.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.00881057268722&lt;br /&gt;
| 37.91166&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4048.31628418&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00864556955117&lt;br /&gt;
| 37.6173501794&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4057.85302734&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0088716865193&lt;br /&gt;
| 37.6918321436&lt;br /&gt;
|-&lt;br /&gt;
| 4073.77954102&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085915302111&lt;br /&gt;
| 37.8162182153&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4072.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085952848723&lt;br /&gt;
| 37.80232&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 38.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 37.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 125.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 4&lt;br /&gt;
| 9.0&lt;br /&gt;
| 0.017578125&lt;br /&gt;
| 12.99872&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 14.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 13.0&lt;br /&gt;
| 0.0126953125&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 4&lt;br /&gt;
| 21.0&lt;br /&gt;
| 0.01025390625&lt;br /&gt;
| 24.99488&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 4&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.02734375&lt;br /&gt;
| 10.99936&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.008203125&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15258.7890625&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.008323072&lt;br /&gt;
| 131.171142578&lt;br /&gt;
|-&lt;br /&gt;
| 15324.7539062&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00828724564041&lt;br /&gt;
| 131.686328008&lt;br /&gt;
|-&lt;br /&gt;
| 15169.2651367&lt;br /&gt;
| 6&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.00830626921373&lt;br /&gt;
| 130.471960718&lt;br /&gt;
|-&lt;br /&gt;
| 15264.6325684&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831988581653&lt;br /&gt;
| 131.216780359&lt;br /&gt;
|-&lt;br /&gt;
| 15267.1328125&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831852329836&lt;br /&gt;
| 131.236307266&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15335.0830078&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00834687363184&lt;br /&gt;
| 131.766998291&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 14819.2524414&lt;br /&gt;
| 6&lt;br /&gt;
| 124.0&lt;br /&gt;
| 0.00836749360268&lt;br /&gt;
| 127.738361567&lt;br /&gt;
|-&lt;br /&gt;
| 15256.3276367&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00838996140145&lt;br /&gt;
| 131.151918843&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 74.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 73.0&lt;br /&gt;
| 0.0089111328125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 497.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 498.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 745.0&lt;br /&gt;
| 0.00808376736111&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 746.0&lt;br /&gt;
| 0.00809461805556&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 994.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 993.0&lt;br /&gt;
| 0.0080810546875&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The graph is produced in Mac OS X's Grapher app.  The equation shown is interpolated via the Affine method built into the app.  Two lines are shown; one of the actual observed data and one of the predicted overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph2.jpg|framed|left|VM Memory Size (X) vs Number of VCPUs (Y) vs VM Memory Overhead Size (Z)]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=File:Overheadgraph2.jpg&amp;diff=37187</id>
		<title>File:Overheadgraph2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=File:Overheadgraph2.jpg&amp;diff=37187"/>
				<updated>2013-12-04T17:57:22Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: XenServer overhead graph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XenServer overhead graph&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37186</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=37186"/>
				<updated>2013-12-04T17:55:29Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
These values were updated to take into account the number of VCPUs assigned to a VM in this review: TBD&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (GB) of the VM&lt;br /&gt;
* Y-axis: number of VCPUs allocated to the VM&lt;br /&gt;
* Z-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| VM memory size (GB)&lt;br /&gt;
! VM number of VCPUs&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 1&lt;br /&gt;
| 4.0&lt;br /&gt;
| 0.015625&lt;br /&gt;
| 6.49936&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 1&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 12.49744&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 1&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 8.49872&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 1&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 20.49488&lt;br /&gt;
|-&lt;br /&gt;
| 3972.02233887&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00881163221503&lt;br /&gt;
| 37.0214944666&lt;br /&gt;
|-&lt;br /&gt;
| 3895.72839355&lt;br /&gt;
| 2&lt;br /&gt;
| 34.0&lt;br /&gt;
| 0.00872750781503&lt;br /&gt;
| 36.4256387537&lt;br /&gt;
|-&lt;br /&gt;
| 1508.39562988&lt;br /&gt;
| 2&lt;br /&gt;
| 15.0&lt;br /&gt;
| 0.00994434066424&lt;br /&gt;
| 17.7805698694&lt;br /&gt;
|-&lt;br /&gt;
| 4086.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.00881057268722&lt;br /&gt;
| 37.91166&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4048.31628418&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.00864556955117&lt;br /&gt;
| 37.6173501794&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 2&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 21.99488&lt;br /&gt;
|-&lt;br /&gt;
| 4057.85302734&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0088716865193&lt;br /&gt;
| 37.6918321436&lt;br /&gt;
|-&lt;br /&gt;
| 4073.77954102&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085915302111&lt;br /&gt;
| 37.8162182153&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 2&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 37.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4072.0&lt;br /&gt;
| 2&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.0085952848723&lt;br /&gt;
| 37.80232&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 38.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 4&lt;br /&gt;
| 37.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 40.98976&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 125.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 512.0&lt;br /&gt;
| 4&lt;br /&gt;
| 9.0&lt;br /&gt;
| 0.017578125&lt;br /&gt;
| 12.99872&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 4&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 72.97952&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 14.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 4&lt;br /&gt;
| 13.0&lt;br /&gt;
| 0.0126953125&lt;br /&gt;
| 16.99744&lt;br /&gt;
|-&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 4&lt;br /&gt;
| 21.0&lt;br /&gt;
| 0.01025390625&lt;br /&gt;
| 24.99488&lt;br /&gt;
|-&lt;br /&gt;
| 256.0&lt;br /&gt;
| 4&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.02734375&lt;br /&gt;
| 10.99936&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 4&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.008203125&lt;br /&gt;
| 128.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15258.7890625&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.008323072&lt;br /&gt;
| 131.171142578&lt;br /&gt;
|-&lt;br /&gt;
| 15324.7539062&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00828724564041&lt;br /&gt;
| 131.686328008&lt;br /&gt;
|-&lt;br /&gt;
| 15169.2651367&lt;br /&gt;
| 6&lt;br /&gt;
| 126.0&lt;br /&gt;
| 0.00830626921373&lt;br /&gt;
| 130.471960718&lt;br /&gt;
|-&lt;br /&gt;
| 15264.6325684&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831988581653&lt;br /&gt;
| 131.216780359&lt;br /&gt;
|-&lt;br /&gt;
| 15267.1328125&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00831852329836&lt;br /&gt;
| 131.236307266&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 15335.0830078&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00834687363184&lt;br /&gt;
| 131.766998291&lt;br /&gt;
|-&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 131.9616&lt;br /&gt;
|-&lt;br /&gt;
| 14819.2524414&lt;br /&gt;
| 6&lt;br /&gt;
| 124.0&lt;br /&gt;
| 0.00836749360268&lt;br /&gt;
| 127.738361567&lt;br /&gt;
|-&lt;br /&gt;
| 15256.3276367&lt;br /&gt;
| 6&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00838996140145&lt;br /&gt;
| 131.151918843&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 74.0&lt;br /&gt;
| 0.009033203125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 8&lt;br /&gt;
| 73.0&lt;br /&gt;
| 0.0089111328125&lt;br /&gt;
| 78.97952&lt;br /&gt;
|-&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 8&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 254.9232&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 497.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 61440.0&lt;br /&gt;
| 16&lt;br /&gt;
| 498.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 506.8464&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 745.0&lt;br /&gt;
| 0.00808376736111&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 92160.0&lt;br /&gt;
| 24&lt;br /&gt;
| 746.0&lt;br /&gt;
| 0.00809461805556&lt;br /&gt;
| 758.7696&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 994.0&lt;br /&gt;
| 0.00808919270833&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|-&lt;br /&gt;
| 122880.0&lt;br /&gt;
| 32&lt;br /&gt;
| 993.0&lt;br /&gt;
| 0.0080810546875&lt;br /&gt;
| 1010.6928&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The graph is produced in Mac OS X's Grapher app.  The equation shown is interpolated via the Affine method built into the app.  Two lines are shown; one of the actual observed data and one of the predicted overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph.jpg|framed|left|VM Memory Size (X) vs VM Memory Overhead Size (Y)]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26693</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26693"/>
				<updated>2013-07-23T16:38:15Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (MB) of the VM&lt;br /&gt;
* Y-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| XenServer version&lt;br /&gt;
! VM type&lt;br /&gt;
! VM memory size&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 251.832&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 251.832&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The graph is produced in Mac OS X's Grapher app.  The equation shown is interpolated via the Affine method built into the app.  Two lines are shown; one of the actual observed data and one of the predicted overhead.&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph.jpg|framed|left|VM Memory Size (X) vs VM Memory Overhead Size (Y)]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26692</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26692"/>
				<updated>2013-07-23T16:36:30Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (MB) of the VM&lt;br /&gt;
* Y-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| XenServer version&lt;br /&gt;
! VM type&lt;br /&gt;
! VM memory size&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 251.832&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 251.832&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;br /&gt;
&lt;br /&gt;
The graph is produced in Mac OS X's Grapher app.  The equation shown is interpolated via the Affine method built into the app.&lt;br /&gt;
&lt;br /&gt;
[[File:Overheadgraph.jpg|framed|left|VM Memory Size (X) vs VM Memory Overhead Size (Y)]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=File:Overheadgraph.jpg&amp;diff=26689</id>
		<title>File:Overheadgraph.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=File:Overheadgraph.jpg&amp;diff=26689"/>
				<updated>2013-07-23T16:31:47Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: XenServer memory overhead graph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XenServer memory overhead graph&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26688</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26688"/>
				<updated>2013-07-23T16:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
== Estimating Overhead ==&lt;br /&gt;
&lt;br /&gt;
The overhead data below is collected from guest instances in the Rackspace cloud via XenAPI.&lt;br /&gt;
&lt;br /&gt;
The data was plotted on a graph as follows:&lt;br /&gt;
* X-axis: memory size (MB) of the VM&lt;br /&gt;
* Y-axis: memory overhead size (MB) of the VM as observed in XenAPI.&lt;br /&gt;
&lt;br /&gt;
An interpolated equation is fitted over top of the data to predict the overhead based on VM memory size.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| XenServer version&lt;br /&gt;
! VM type&lt;br /&gt;
! VM memory size&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 251.832&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 251.832&lt;br /&gt;
&lt;br /&gt;
== Graph ==&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26497</id>
		<title>XenServer/Overhead</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer/Overhead&amp;diff=26497"/>
				<updated>2013-07-19T15:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: Created page with &amp;quot;= Xen API driver overhead =  Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/  == Data == Th...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Xen API driver overhead =&lt;br /&gt;
&lt;br /&gt;
Per-VM virtualization overhead calculations were added to the xenapi driver in this review: https://review.openstack.org/#/c/35380/&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The formula to calculate overhead is derived from the following data:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
! align=&amp;quot;left&amp;quot;| XenServer version&lt;br /&gt;
! VM type&lt;br /&gt;
! VM memory size&lt;br /&gt;
! VM memory overhead&lt;br /&gt;
! Overhead/MB&lt;br /&gt;
! Predicted Overhead&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 7.0&lt;br /&gt;
| 0.013671875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 512.0&lt;br /&gt;
| 6.0&lt;br /&gt;
| 0.01171875&lt;br /&gt;
| 7.1472&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 11.0&lt;br /&gt;
| 0.0107421875&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 1024.0&lt;br /&gt;
| 10.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 11.2944&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 20.0&lt;br /&gt;
| 0.009765625&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 2048.0&lt;br /&gt;
| 19.0&lt;br /&gt;
| 0.00927734375&lt;br /&gt;
| 19.5888&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 36.0&lt;br /&gt;
| 0.0087890625&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 4096.0&lt;br /&gt;
| 35.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 36.1776&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 70.0&lt;br /&gt;
| 0.008544921875&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 8192.0&lt;br /&gt;
| 69.0&lt;br /&gt;
| 0.0084228515625&lt;br /&gt;
| 69.3552&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 128.0&lt;br /&gt;
| 0.00833333333333&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 15360.0&lt;br /&gt;
| 127.0&lt;br /&gt;
| 0.00826822916667&lt;br /&gt;
| 127.416&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 250.0&lt;br /&gt;
| 0.00813802083333&lt;br /&gt;
| 251.832&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| guest&lt;br /&gt;
| 30720.0&lt;br /&gt;
| 249.0&lt;br /&gt;
| 0.00810546875&lt;br /&gt;
| 251.832&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=XenServer&amp;diff=26496</id>
		<title>XenServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=XenServer&amp;diff=26496"/>
				<updated>2013-07-19T15:08:50Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
For general information about [http://www.citrix.com/XenServer XenServer] and [[OpenStack]] see:&lt;br /&gt;
* [[XenServer/GettingStarted|Getting Started with XenServer and OpenStack]]&lt;br /&gt;
* [[XenServer/XenXCPAndXenServer|Introduction to using Xen, XCP, Kronos and Citrix XenServer with OpenStack]]&lt;br /&gt;
&lt;br /&gt;
To start developing, consider using a Virtual Box based development environment:&lt;br /&gt;
* [[XenServer/VirtualBox]]&lt;br /&gt;
&lt;br /&gt;
Information on configuration of [[XenServer]]:&lt;br /&gt;
* [[XenServer/PostInstall|Post Install steps to prepare XenServer to work with OpenStack]]&lt;br /&gt;
* [[XenServer/NetworkingFlags|Configuring networking with XenServer]]&lt;br /&gt;
&lt;br /&gt;
Other topics:&lt;br /&gt;
* [[XenServer/Install|Installing XenServer]]&lt;br /&gt;
* [[XenServer/Install/PXE|PXE Installing XenServer]]&lt;br /&gt;
* [[XenServer/DevStack|XenServer and DevStack]]&lt;br /&gt;
* [[XenServer/VLANManager|XenServer and VLAN networking]]&lt;br /&gt;
* [[XenServer/Tempest|XenServer and Tempest]]&lt;br /&gt;
* [[QuantumDevstackOvsXcp]]&lt;br /&gt;
* [[XenServer/Overhead|XenServer Virtualization Overhead]]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=SystemUsageData&amp;diff=21335</id>
		<title>SystemUsageData</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=SystemUsageData&amp;diff=21335"/>
				<updated>2013-04-26T22:01:23Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Nova administrators want data on system usage for billing, chargeback, or monitoring purposes.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
System usage data is emitted from Nova in the form of usage events from Nova's [[NotificationSystem]]. The notifications system can be configured to emit events either through nova's logging facility, or send them to a series of AMQP queues (one per notification priority).  System usages are emitted as notification events with the INFO priority.  Different types of usage events are distinguished via the notifications' event_type, which is a hierarchical dotted string such as ''compute.instance.create'', which allows usages to be easily grouped for aggregation. Usage notifications can be immediate, created when a specific increment of usage occurs (such as creation of an instance) or periodic, generated by a periodic task, like a cron job, and covering usage for a certain period of time. Besides the standard Nova Notification priority, notification timestamp, and event_type, usage notifications contain a payload of data that will vary depending on the event_type. This is presented as a json-formatted hash of key-value pairs. Some of the keys, such as tenant_id will always be present in any usage notification, others will be data relevent to that event_type (For example, instance related notifications will contain data describing the instance.)&lt;br /&gt;
&lt;br /&gt;
For more indepth examples see [[NotificationEventExamples]].&lt;br /&gt;
&lt;br /&gt;
An external application (https://github.com/rackspace/yagi) is available that can read notifications from AMQP queues and provide an Atom API. This application generates Atom feeds of the notifications,  and can publish feeds via PubSubHubbub (PSH) for efficient distribution of data to subscribers.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
As a systems integrator, we need the ability for 3rd party systems to query usage information from Nova to determine how to charge customers for use of the platform.&lt;br /&gt;
&lt;br /&gt;
Enterprise customers also need the ability to determine usage data, though for different reasons. For example, a cloud administrator may want to determine VMs that have not been used in several month so that they can be reclaimed and the resources reallocated. Some IT departments may implement a quota system for their users.&lt;br /&gt;
&lt;br /&gt;
Note that Nova itself should not be concerned with billing, but it needs to present a feed of usage data that an external application could use to aggregate the billing data for a requested time period.&lt;br /&gt;
&lt;br /&gt;
== User stories ==&lt;br /&gt;
# As a systems integrator, I need to retrieve usage data so that I can properly bill my customers.&lt;br /&gt;
# As a systems integrator or enterprise cloud administrator, I want to monitor usage data over time so that I can optimize the utilization of my resources.&lt;br /&gt;
# As an business or agency that supports multiple projects, I need to account for the resources consumed by each project so that I can properly meet accounting and budget standards.&lt;br /&gt;
# As a systems integrator, I need to provide usage data to multiple third-party systems without building custom interfaces to each one so that I can efficiently utilize my manpower.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
Usage data can be aggregated by Tenant ID (as defined in the [[openstack-accounting]] blueprint).(i.e. Tenant ID is always present)&lt;br /&gt;
&lt;br /&gt;
There is a billing system that is not a part of [[OpenStack]]. Invoicing, billing, and customer management are handled externally to [[OpenStack]]/Nova. Nova only has knowledge of an &amp;quot;tenant ID&amp;quot; (as per the [[openstack-accounting]] blueprint).&lt;br /&gt;
&lt;br /&gt;
The Tenant ID is the same as the tenant id concept in Keystone, and is known internally to Nova as the &amp;quot;Project ID&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If Nova is installed in multiple regions (aka &amp;quot;zones&amp;quot;), usage data will not span zones; even if the same tenant ID is used in multiple zones, that data must be aggregated external to Nova.&lt;br /&gt;
&lt;br /&gt;
== Design and Implementation ==&lt;br /&gt;
There are two events generated for every activity. Previously, events were only generated on activity completion, but now there is an event when the activity starts and, as before, when the activity ends. These are marked as 'compute.instance.&amp;lt;activity&amp;gt;.start' and 'compute.instance.&amp;lt;activity&amp;gt;.end'. The '.end' event is the same as the event previously expected.&lt;br /&gt;
&lt;br /&gt;
=== Event Types and Payload data: ===&lt;br /&gt;
==== compute.instance.create.{start,error,end}: ====&lt;br /&gt;
* Usage notification upon creation of a new instance.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this instance (string)&lt;br /&gt;
* '''instance_id''':  Nova instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of the instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID for instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''': User selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for when this instance's record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for when this instance was last launched by hypervisor. (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image URL (from Glance) that this instance was created from. (string)&lt;br /&gt;
* '''state''': Current state of instance. (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
* '''message''': High-level message describing the notification.  If the event type is &amp;quot;create.error&amp;quot;, it will contain error details.&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.delete.start/.end: ====&lt;br /&gt;
* Usage notification upon deletion of an instance.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that  owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that  owns this instance (string)&lt;br /&gt;
* '''instance_id''':  Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of  the instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID  for instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''': User  selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for  when this instance's record was created in Nova (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for  when this instance was last launched by hypervisor. (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image URL (from Glance) that this instance was created from.  (string)&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.rebuild.start/.end: ====&lt;br /&gt;
* Usage notification upon rebuild of instance.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that  owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that  owns this instance (string)&lt;br /&gt;
* '''instance_id''':   Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of  the instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID  for instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''': User  selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for  when this instance's record was created in Nova (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for  when this instance was last launched by hypervisor. (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image  URL (from Glance) that this instance &amp;lt;u&amp;gt;is being rebuilt&amp;lt;/u&amp;gt; from.  (string)&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.resize.prep.start/.end: ====&lt;br /&gt;
* Usage notification when a resize/migrate of an instance is begun.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that  owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that  owns this instance (string)&lt;br /&gt;
* '''instance_id''':   Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of  the &amp;lt;u&amp;gt;current&amp;lt;/u&amp;gt; (before resize) instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID  for &amp;lt;u&amp;gt;current&amp;lt;/u&amp;gt; (before resize) instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''new_instance_type''':  Name of  the new (after  resize) instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''new_instance_type_id''': Nova ID  for new (after  resize) instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''': User  selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for  when this instance's record was created in Nova (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for  when this instance was last launched by hypervisor. (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image  URL (from Glance) that this instance was  created from.  (string)&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.resize.confirm.start/.end: ====&lt;br /&gt;
* Usage notification when a resize/migration of an instance has been confirmed by the user.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that  owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that  owns this instance (string)&lt;br /&gt;
* '''instance_id''':  Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of  the current instance type ('flavor') of this instance. (i.e. the one it has been resized to.) (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID  for the current instance type ('flavor') of this instance. (i.e. the one it has been resized to.) (string)&lt;br /&gt;
* '''display_name''': User  selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for  when this instance's record was created in Nova (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for  when this instance was last launched by hypervisor. (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image URL (from Glance) that this instance was created from.  (string)&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.resize.revert.start/.end: ====&lt;br /&gt;
* Usage notification when a resize/migration of an instance has been reverted by the user.&lt;br /&gt;
* '''tenant_id''':  Tenant ID that  owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that  owns this instance (string)&lt;br /&gt;
* '''instance_id''':   Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':  Name of  the current instance type ('flavor') of this instance. (i.e. the one it has been reverted back to.) (string)&lt;br /&gt;
* '''instance_type_id''':  Nova ID  for the current instance type ('flavor') of this instance. (i.e. the one it has been reverted back to.) (string)&lt;br /&gt;
* '''display_name''':  User  selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for  when this instance's record was created in Nova (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''': Timestamp for  when this instance was last launched by hypervisor. (string, formatted  &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image  URL (from Glance) that this instance was  created from.  (string)&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.exists: ====&lt;br /&gt;
There is no .start/.end event for this activity ... just the 'compute.instance.exists' event.&lt;br /&gt;
&lt;br /&gt;
* Periodic usage notification generated by the instance-usage-audit cron job. These usages are generated for '''each''' instance that was active during the specified audit period.&lt;br /&gt;
* '''tenant_id''':   Tenant ID that owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this instance  (string)&lt;br /&gt;
* '''instance_id''':  Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':   Name of the instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID for instance type  ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''':  User selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for when this instance's  record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''':  Timestamp for when this instance was last launched by hypervisor.  (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image URL (from Glance) that this  instance was created from. (string)&lt;br /&gt;
* '''image_meta''': Dictionary of key-value pairs representing metadata from the image the instance was built from.&lt;br /&gt;
* '''audit_period_begining''':  Timestamp of beginning of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''audit_period_ending''':  Timestamp of end of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''bandwidth''': Hash listing bandwidth used for each network this instance is connected to.  Keys will be network labels, values will be hashes containing the keys ''''bw_in'''', and ''''bw_out'''', listing the incoming, and outgoing bandwith, respectively,  used by that instance, on that network, for that audit period.  Bandwith is reported in bytes.&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.update: ====&lt;br /&gt;
&lt;br /&gt;
This event is generated whenever the VM or task state of the server changes; for example, when the server moves from BUILDING to either ACTIVE or ERROR.&lt;br /&gt;
&lt;br /&gt;
This notification is disabled by default.  &lt;br /&gt;
&lt;br /&gt;
To enable notifications when the VM state changes, set configuration flag &amp;quot;notify_on_state_change&amp;quot; to &amp;quot;vm_state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To enable notifications when either VM state or task state changes, set configuration flag &amp;quot;notify_on_state_change&amp;quot; to &amp;quot;vm_and_task_state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''tenant_id''':   Tenant ID that owns the this instance (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this instance  (string)&lt;br /&gt;
* '''instance_id''':  Nova  instance ID of this instance (string)&lt;br /&gt;
* '''instance_type''':   Name of the instance type ('flavor') of this instance. (string)&lt;br /&gt;
* '''instance_type_id''': Nova ID for instance type  ('flavor') of this instance. (string)&lt;br /&gt;
* '''display_name''':  User selected display name for instance.&lt;br /&gt;
* '''created_at''': Timestamp for when this instance's  record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''':  Timestamp for when this instance was last launched by hypervisor.  (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''image_ref_url''':  Image URL (from Glance) that this  instance was created from. (string)&lt;br /&gt;
* '''image_metadata''': array of key-value pairs representing the metadata from the image from which the instance was built (array)&lt;br /&gt;
* '''audit_period_begining''':  Timestamp of beginning of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''audit_period_ending''':  Timestamp of end of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''bandwidth''': Hash listing bandwidth used for each network this instance is connected to.  Keys will be network labels, values will be hashes containing the keys ''''bw_in'''', and ''''bw_out'''', listing the incoming, and outgoing bandwith, respectively,  used by that instance, on that network, for that audit period.  Bandwith is reported in bytes.&lt;br /&gt;
* '''old_state''':  Prior state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state''':  Current state of instance.  (string, such as 'active' or 'deleted')&lt;br /&gt;
* '''state_description''': Additional human readable  description of current state of instance.&lt;br /&gt;
* '''fixed_ips''': list of ip addresses formatted like [{&amp;quot;floating_ips&amp;quot;: [], &amp;quot;meta&amp;quot;: {}, &amp;quot;type&amp;quot;: &amp;quot;fixed&amp;quot;, &amp;quot;version&amp;quot;: 4, &amp;quot;address&amp;quot;: &amp;quot;10.0.0.9&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;public&amp;quot;}] assigned to instance.&lt;br /&gt;
* '''memory_mb''': memory allocation for this instance (in mb)&lt;br /&gt;
* '''disk_gb''': disk allocation for this instance (in gb)&lt;br /&gt;
&lt;br /&gt;
==== volume.create.start/.end: ====&lt;br /&gt;
* Usage notification upon creation of a new volume.&lt;br /&gt;
* '''tenant_id''':   Tenant ID that owns the this volume (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this volume  (string)&lt;br /&gt;
* '''volume_id''':  Nova volume ID of this volume (string)&lt;br /&gt;
* '''volume_type''':   Name of the volume type of this volume. (string)&lt;br /&gt;
* '''display_name''':  User selected display name for volume.&lt;br /&gt;
* '''created_at''': Timestamp for when this volume's  record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''':  Timestamp for when this instance was last launched by hypervisor.  (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''status''':  Current status of volume.  (string, such as 'available' or 'attached')&lt;br /&gt;
* '''size''': size of disk allocation for this volume.&lt;br /&gt;
* '''snapshot_id''': Nova id of the volume snapshot.&lt;br /&gt;
&lt;br /&gt;
==== volume.delete.start/.end: ====&lt;br /&gt;
* Usage notification upon deletion of a volume.&lt;br /&gt;
* '''tenant_id''':   Tenant ID that owns the this volume (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this volume  (string)&lt;br /&gt;
* '''volume_id''':  Nova volume ID of this volume (string)&lt;br /&gt;
* '''volume_type''':   Name of the volume type of this volume. (string)&lt;br /&gt;
* '''display_name''':  User selected display name for volume.&lt;br /&gt;
* '''created_at''': Timestamp for when this volume's  record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''':  Timestamp for when this instance was last launched by hypervisor.  (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''status''':  Current status of volume.  (string, such as 'available' or 'attached')&lt;br /&gt;
* '''size''': size of disk allocation for this volume.&lt;br /&gt;
* '''snapshot_id''': Nova id of the volume snapshot.&lt;br /&gt;
&lt;br /&gt;
==== volume.exists: ====&lt;br /&gt;
There is no .start/.end event for this activity ... just the 'volume.exists' event.&lt;br /&gt;
&lt;br /&gt;
* Periodic usage notification generated by the volume-usage-audit cron job. These usages are generated for '''each''' volume that was active during the specified audit period.&lt;br /&gt;
* '''tenant_id''':   Tenant ID that owns the this volume (string)&lt;br /&gt;
* '''user_id''':  User ID that owns this volume  (string)&lt;br /&gt;
* '''volume_id''':  Nova volume ID of this volume (string)&lt;br /&gt;
* '''volume_type''':   Name of the volume type of this volume. (string)&lt;br /&gt;
* '''display_name''':  User selected display name for volume.&lt;br /&gt;
* '''created_at''': Timestamp for when this volume's  record was created in Nova (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''launched_at''':  Timestamp for when this instance was last launched by hypervisor.  (string, formatted &amp;quot;YYYY-MM-DD hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''audit_period_begining''':  Timestamp of beginning of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''audit_period_ending''':  Timestamp of end of audit period. (string, formatted &amp;quot;YYYY-MM-DD  hh:mm:ss.ssssss&amp;quot;)&lt;br /&gt;
* '''status''':  Current status of volume.  (string, such as 'available' or 'attached')&lt;br /&gt;
* '''size''': size of disk allocation for this volume.&lt;br /&gt;
* '''snapshot_id''': Nova id of the volume snapshot.&lt;br /&gt;
&lt;br /&gt;
=== additional events ===&lt;br /&gt;
These are generated for operations monitoring/profiling purposes and shouldn't directly affect usage/billing. They all follow the same signature as the above calls. Some of these notifications may be called from the above operations (for example, shutdown from delete).&lt;br /&gt;
&lt;br /&gt;
==== compute.instance.shutdown.start/.end ====&lt;br /&gt;
==== compute.instance.power_off.start/.end ====&lt;br /&gt;
==== compute.instance.power_on.start/.end ====&lt;br /&gt;
==== compute.instance.snapshot.start/.end ====&lt;br /&gt;
==== compute.instance.resize.start/.end ====&lt;br /&gt;
==== compute.instance.finish_resize.start/.end ====&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Design_Summit/Havana/Etherpads&amp;diff=20503</id>
		<title>Design Summit/Havana/Etherpads</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Design_Summit/Havana/Etherpads&amp;diff=20503"/>
				<updated>2013-04-14T16:17:54Z</updated>
		
		<summary type="html">&lt;p&gt;Belliott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Please add links to the Havana Design Summit etherpad documents here)&lt;br /&gt;
&lt;br /&gt;
=== Documentation ===&lt;br /&gt;
&lt;br /&gt;
* Monday 2013-04-15 11:00  - [https://etherpad.openstack.org/restructure-docs-session Restructure documentation]&lt;br /&gt;
* Monday 2013-04-15 11:50  - [https://etherpad.openstack.org/openstack-ops-session Review Operations Manual and Plan Future Work]&lt;br /&gt;
* Monday 2013-04-15 13:50  - [https://etherpad.openstack.org/openstack-docs-translation Translation management enhancement]&lt;br /&gt;
* Monday 2013-04-15 14:40  - [https://etherpad.openstack.org/openstack-docs-new-projects Documentation for Newly Integrated Projects]&lt;br /&gt;
&lt;br /&gt;
=== Heat ===&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/heat-multiple-engines 9:50am How to run multiple heat-engines and scaling]&lt;br /&gt;
* [https://etherpad.openstack.org/heat-credentials-management 11:00am Heat credentials management/delegation]&lt;br /&gt;
* 11:50am  Adding support for OASIS TOSCA to Heat&lt;br /&gt;
* 1:50pm  Abstracting the AWS out of Heat&lt;br /&gt;
* [https://etherpad.openstack.org/heat-autoscaling 2:40pm  Autoscaling API for Heat]&lt;br /&gt;
* 3:40pm  Concurrent Resource Scheduling in Heat&lt;br /&gt;
* 4:30pm  Rolling Updates and Instance Specific Metadata&lt;br /&gt;
&lt;br /&gt;
=== Horizon ===&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaHorizonTesting 11:00am Testing in Horizon]&lt;br /&gt;
* 11:50am Keystone v3 and multi endpoint/region support &lt;br /&gt;
* 1:50pm Quantum/Horizon integration &lt;br /&gt;
* 2:40pm Heat GUI integration into Horizon &lt;br /&gt;
* 3:40pm Ceilometer/Horizon Integration &lt;br /&gt;
* 4:30pm Are we ready for real-time data in Horizon? &lt;br /&gt;
* 5:20pm BoF: Building on Horizon&lt;br /&gt;
&lt;br /&gt;
=== Keystone ===&lt;br /&gt;
* [https://etherpad.openstack.org/havana-saml-oauth-scim SAML, OAuth 2, and SCIM]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-external-auth Generic support for external authn/authz]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-keystone-performance Scaling &amp;amp; Performance]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-availability-zone-and-region-management Availability zone and region management]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-key-manager Key Manager]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-ldap-integration LDAP Integration]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaCentralizedQuotas Centralized Quotas]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-endpoint-filtering Endpoint Filtering]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-fine-grained-access-control Fine-grained access control]&lt;br /&gt;
&lt;br /&gt;
=== Nova ===&lt;br /&gt;
* [https://etherpad.openstack.org/ZeroDowntimeUpgrades Zero down upgrades]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaContinuingRoadToLiveUpgrade The (continuing) road to live upgrade]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaVersionedInternalObjects Versioned internal objects]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaDatabaseRedux Database Status Redux]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaTripleO Openstack-on-Openstack]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaBaremetalNextSteps Baremetal Driver Next Steps]&lt;br /&gt;
* [https://etherpad.openstack.org/roadmap-for-ceph-integration-with-openstack Roadmap for Ceph integration with Openstack]&lt;br /&gt;
* [https://etherpad.openstack.org/NovaAPIExtensionFramework Nova API Extension framework]&lt;br /&gt;
* [https://etherpad.openstack.org/NovaV3APIHavana Nova v3 API]&lt;br /&gt;
* [https://etherpad.openstack.org/NovaApiValidationFramework Nova API Validation Framework]&lt;br /&gt;
* [https://etherpad.openstack.org/UnifiedResourcePlacement Unified Resource Placement Module]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaSchedulerFeatures Scheduler Features]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaMultiHypervisor Multi-hypervisor clouds]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaLongLivedPeriodicTasks Long lived periodic tasks]&lt;br /&gt;
* [https://etherpad.openstack.org/API_for_block_devices Richer and more flexible APIs for block devices]&lt;br /&gt;
&lt;br /&gt;
=== Oslo ===&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/havana-oslo Oslo Status and Plans]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-common-wsgi Pecan/WSME Status]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaNoDowntimeDBMigrations No-downtime DB migrations]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaRootwrap Rootwrap improvements for the Havana cycle]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-oslo-packaging-and-hacking Common packaging support and code analysis tools]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-rpc-api-review RPC API review]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-rpc-zmq-for-ceilometer-and-quantum ZeroMQ RPC for Ceilometer and Quantum]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-rpc-access-control Message queue access control]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-rpc-signing-and-encryption RPC Message Signing and Encryption]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-zipkin-tracing Zipkin tracing in OpenStack]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-oslo-i18n-strategy i18n strategy for OpenStack services]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-common-xenapi-library Common XenAPI libary]&lt;br /&gt;
&lt;br /&gt;
=== Quantum ===&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaVPNaaS VPNaaS]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-quantum-lbaas LBaaS]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaBareMetalVLAN BareMetal VLAN]&lt;br /&gt;
* [https://etherpad.openstack.org/HavanaHADHCP HA DHCP]&lt;br /&gt;
* [https://etherpad.openstack.org/quantum-qos-api QoS API]&lt;br /&gt;
* [https://etherpad.openstack.org/Quantum_Firewall_As_A_Service FWaaS]&lt;br /&gt;
* [https://etherpad.openstack.org/Quantum_Services'_Chaining_and_Insertion Services' Chaining &amp;amp; Insertion]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-networking-db-improvements Openstack networking DB improvements]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-quantum-unittests Reviewing Openstack networking unit tests]&lt;br /&gt;
&lt;br /&gt;
=== QA ===&lt;br /&gt;
'''Tuesday'''&lt;br /&gt;
* [https://etherpad.openstack.org/havana-tempest-scope Tempest Scope]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-gating-strategies Strategies for Gating in a growing project]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-multi-node multi-node openstack testing]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-fits-testing FITS testing of public clouds]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-gating-validation Gating/Validation of OpenStack Deployments]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-upgrade-testing Upgrade testing and Grenade]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-beyond-api Beyond the API - End to End Testing of OpenStack]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Wednesday'''&lt;br /&gt;
* [https://etherpad.openstack.org/havana-adding-integrated Adding new integrated projects to Tempest]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-testr-feedback testr / testtools feedback/next-steps]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-tempest-best-practice-guide Tempest Best Practice Guide]&lt;br /&gt;
* [https://etherpad.openstack.org/havan-rackspace-engine Rackspace testing engine Case Study/Overview]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-gap-analysis Tempest - Gap Analysis - Identify new testsdevelop]&lt;br /&gt;
&lt;br /&gt;
=== Swift ===&lt;br /&gt;
'''Monday'''&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/swift-openstack-havana Swift and OpenStack what's next]&lt;br /&gt;
* [http://etherpad.openstack.org/HavanaSwiftBenchmarking Benchmarking Swift]&lt;br /&gt;
* [https://etherpad.openstack.org/swift_api Swift API Cleanup]&lt;br /&gt;
&lt;br /&gt;
'''Tuesday (scheduled on-site for the unconference)'''&lt;br /&gt;
* [http://etherpad.openstack.org/Multi_namespaces Swift Multi Namespaces, Swift Multi - Tenants]&lt;br /&gt;
* [http://etherpad.openstack.org/Acls_metadata Extending Swift ACLs and Metadata]&lt;br /&gt;
&lt;br /&gt;
=== Process / Infra ===&lt;br /&gt;
* Calling all Interns and Mentors: Ideas to improve&lt;br /&gt;
* Python3 in OpenStack&lt;br /&gt;
* [https://etherpad.openstack.org/havana-stable-branch Stable Branch]&lt;br /&gt;
* [http://etherpad.openstack.org/HavanaVulnerabilityManagement Vulnerability management: infra needs, scoring...]&lt;br /&gt;
* [http://etherpad.openstack.org/TCMembershipEvolution Technical Committee membership evolution]&lt;br /&gt;
* Continuous-deployment for upstream Openstack&lt;br /&gt;
* Dependency Management&lt;br /&gt;
* Sorting out test runners, wrappers and venvs B119&lt;br /&gt;
* Failure management in the gate&lt;br /&gt;
* Bare Metal Testing&lt;br /&gt;
* OpenStack CI logging&lt;br /&gt;
* [http://etherpad.openstack.org/NonInfraManagedTooling Review of non-infra-managed tooling]&lt;br /&gt;
* [http://etherpad.openstack.org/ProjectsReNaming Projects (re)naming]&lt;br /&gt;
* [http://etherpad.openstack.org/HavanaReleaseSchedule Havana release schedule]&lt;br /&gt;
* [http://etherpad.openstack.org/HavanaContinuousDeployment Continuous Deployment]&lt;br /&gt;
&lt;br /&gt;
=== Ceilometer ===&lt;br /&gt;
&lt;br /&gt;
'''Wednesday'''&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/havana-ceilometer-architecture-overview Intro to Ceilometer Architecture]&lt;br /&gt;
* Feedback from ceilometer users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Thursday'''&lt;br /&gt;
&lt;br /&gt;
* [https://etherpad.openstack.org/havana-ceilometer-incremental-grab-bag Incremental improvement grab-bag]&lt;br /&gt;
* Double Entry Auditing of collected metrics in CM&lt;br /&gt;
* API improvements for ceilometer&lt;br /&gt;
* Logical combination of alarm states&lt;br /&gt;
* Time series data manipulation in nosql stores&lt;br /&gt;
* Simple messaging action for Alerting&lt;br /&gt;
* Alarm state and history management&lt;br /&gt;
* Ceilometer support for advanced billing models&lt;br /&gt;
* Supporting rich data types and aggregation&lt;br /&gt;
&lt;br /&gt;
=== Glance ===&lt;br /&gt;
* [https://etherpad.openstack.org/havana-getting-glance-ready-for-public-clouds Getting glance ready for Public Clouds]&lt;br /&gt;
&lt;br /&gt;
=== Cinder ===&lt;br /&gt;
&lt;br /&gt;
'''Wednesday'''&lt;br /&gt;
* [https://etherpad.openstack.org/Cinder-Havana-Refactor-Attach-Code Refactor Cinder Attach Code]&lt;br /&gt;
* [https://etherpad.openstack.org/havana-cinder-api2-a-new-hope API V2 a new hope for better validation]&lt;br /&gt;
&lt;br /&gt;
'''Thursday'''&lt;br /&gt;
* [https://etherpad.openstack.org/summit-havana-cinder-multi-attach-and-ro-volumes Multi-Attach and Read Only Volumes]&lt;br /&gt;
* [https://etherpad.openstack.org/Summit-Havana-Cinder-Safe-Shutdown Safe Shutdown]&lt;/div&gt;</summary>
		<author><name>Belliott</name></author>	</entry>

	</feed>