<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nova.git/bin/nova-api-ec2, branch shared-key-msg</title>
<subtitle>OpenStack's nova patches.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/'/>
<entry>
<title>Delete unused bin directory</title>
<updated>2013-06-03T18:15:33+00:00</updated>
<author>
<name>Joe Gordon</name>
<email>joe.gordon0@gmail.com</email>
</author>
<published>2013-05-28T05:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=584b2fb4b0a1968699f8d2dd4b0a2af67e7dca8c'/>
<id>584b2fb4b0a1968699f8d2dd4b0a2af67e7dca8c</id>
<content type='text'>
Delete last bits of bin/.  With the move to entrypoints these aren't
needed anymore.

Update CONF.bindir to default to
  os.path.join(sys.prefix, 'local', 'bin')

Part of blueprint entrypoints-plugins

Change-Id: I95250d3779433e7b85aaa889a873b16c86a7d2be
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Delete last bits of bin/.  With the move to entrypoints these aren't
needed anymore.

Update CONF.bindir to default to
  os.path.join(sys.prefix, 'local', 'bin')

Part of blueprint entrypoints-plugins

Change-Id: I95250d3779433e7b85aaa889a873b16c86a7d2be
</pre>
</div>
</content>
</entry>
<entry>
<title>Move console scripts to entrypoints.</title>
<updated>2013-04-04T02:14:27+00:00</updated>
<author>
<name>Monty Taylor</name>
<email>mordred@inaugust.com</email>
</author>
<published>2012-08-15T19:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=799a925c1f4a388c30a7f0d9e1ffe1b82e8ced9d'/>
<id>799a925c1f4a388c30a7f0d9e1ffe1b82e8ced9d</id>
<content type='text'>
As part of the move of plugins to entrypoints, take advantage of the
entrypoints based console scripts, which will make our command line scripts
available for unittesting.

Part of blueprint entrypoints-plugins

Co-authored-by: Michael Still &lt;mikal@stillhq.com&gt;

Change-Id: I5f17348b7b3cc896c92263dd518abb128757d81f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As part of the move of plugins to entrypoints, take advantage of the
entrypoints based console scripts, which will make our command line scripts
available for unittesting.

Part of blueprint entrypoints-plugins

Co-authored-by: Michael Still &lt;mikal@stillhq.com&gt;

Change-Id: I5f17348b7b3cc896c92263dd518abb128757d81f
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove gettext.install() from nova/__init__.py</title>
<updated>2013-04-01T17:44:47+00:00</updated>
<author>
<name>Mark McLoughlin</name>
<email>markmc@redhat.com</email>
</author>
<published>2013-03-31T23:53:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=9447e59b704701aad765f8ffa109843d9ffc88ae'/>
<id>9447e59b704701aad765f8ffa109843d9ffc88ae</id>
<content type='text'>
The gettext.install() function installs a builtin _() function which
translates a string in the translation domain supplied to the install()
function. If gettext.install() is called multiple times, it's the last
call to the function which wins and the last supplied translation domain
which is used e.g.

 &gt;&gt;&gt; import os
 &gt;&gt;&gt; os.environ['LANG'] = 'ja.UTF-8'
 &gt;&gt;&gt; import gettext
 &gt;&gt;&gt; gettext.install('keystone', unicode=1, localedir='/opt/stack/keystone/keystone/locale')
 &gt;&gt;&gt; print _('Invalid syslog facility')
 無効な syslog ファシリティ
 &gt;&gt;&gt; gettext.install('nova', unicode=1, localedir='/opt/stack/nova/nova/locale')
 &gt;&gt;&gt; print _('Invalid syslog facility')
 Invalid syslog facility

Usually this function is called early on in a toplevel script and we
assume that no other code will call it and override the installed _().
However, in Nova, we have taken a shortcut to avoid having to call it
explicitly from each script and instead call it from nova/__init__.py.

This shortcut would be perfectly fine if we were absolutely sure that
nova modules would never be imported from another program. It's probably
quite incorrect for a program to use nova code (indeed, if we wanted to
support this, Nova code shouldn't use the default _() function) but
nevertheless there are some corner cases where it happens. For example,
the keystoneclient auth_token middleware tries to import cfg from
nova.openstack.common and this in turn causes gettext.install('nova')
in other projects like glance or quantum.

To avoid any doubt here, let's just rip out the shortcut and always
call gettext.install() from the top-level script.

Change-Id: If4125d6bcbde63df95de129ac5c83b4a6d6f130a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The gettext.install() function installs a builtin _() function which
translates a string in the translation domain supplied to the install()
function. If gettext.install() is called multiple times, it's the last
call to the function which wins and the last supplied translation domain
which is used e.g.

 &gt;&gt;&gt; import os
 &gt;&gt;&gt; os.environ['LANG'] = 'ja.UTF-8'
 &gt;&gt;&gt; import gettext
 &gt;&gt;&gt; gettext.install('keystone', unicode=1, localedir='/opt/stack/keystone/keystone/locale')
 &gt;&gt;&gt; print _('Invalid syslog facility')
 無効な syslog ファシリティ
 &gt;&gt;&gt; gettext.install('nova', unicode=1, localedir='/opt/stack/nova/nova/locale')
 &gt;&gt;&gt; print _('Invalid syslog facility')
 Invalid syslog facility

Usually this function is called early on in a toplevel script and we
assume that no other code will call it and override the installed _().
However, in Nova, we have taken a shortcut to avoid having to call it
explicitly from each script and instead call it from nova/__init__.py.

This shortcut would be perfectly fine if we were absolutely sure that
nova modules would never be imported from another program. It's probably
quite incorrect for a program to use nova code (indeed, if we wanted to
support this, Nova code shouldn't use the default _() function) but
nevertheless there are some corner cases where it happens. For example,
the keystoneclient auth_token middleware tries to import cfg from
nova.openstack.common and this in turn causes gettext.install('nova')
in other projects like glance or quantum.

To avoid any doubt here, let's just rip out the shortcut and always
call gettext.install() from the top-level script.

Change-Id: If4125d6bcbde63df95de129ac5c83b4a6d6f130a
</pre>
</div>
</content>
</entry>
<entry>
<title>Increase maximum URI size for EC2 API to 16k</title>
<updated>2013-01-24T23:11:10+00:00</updated>
<author>
<name>Burt Holzman</name>
<email>burt@fnal.gov</email>
</author>
<published>2013-01-24T06:24:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=dfec46ac8e4cba23da842698c2bc746c03994afe'/>
<id>dfec46ac8e4cba23da842698c2bc746c03994afe</id>
<content type='text'>
The EC2 API supports both HTTP GET and POST agnostically.  It also supports
user-data of 16k -- meaning that client tools could generate 16k URIs.
The WSGI default limit is 8k; this raises it.

Fixes bug 1098646.

Change-Id: Idec460d88b2affab970c9d9f39fa61295db035c5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The EC2 API supports both HTTP GET and POST agnostically.  It also supports
user-data of 16k -- meaning that client tools could generate 16k URIs.
The WSGI default limit is 8k; this raises it.

Fixes bug 1098646.

Change-Id: Idec460d88b2affab970c9d9f39fa61295db035c5
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove nova.flags imports from bin/*</title>
<updated>2012-11-15T23:03:04+00:00</updated>
<author>
<name>Chris Behrens</name>
<email>cbehrens@codestud.com</email>
</author>
<published>2012-11-15T22:07:55+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=e374fb03899a8dd1b143abda65f679b411e26e5b'/>
<id>e374fb03899a8dd1b143abda65f679b411e26e5b</id>
<content type='text'>
nova.flags is no longer needed except to load nova config options shared
across multiple daemons.

This removes nova.flags from the bin programs and makes sure that
nova.flags is imported in nova.config for now.

Change-Id: If066ac0070387bee4b41e6a78ad972f7a0955c75
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nova.flags is no longer needed except to load nova config options shared
across multiple daemons.

This removes nova.flags from the bin programs and makes sure that
nova.flags is imported in nova.config for now.

Change-Id: If066ac0070387bee4b41e6a78ad972f7a0955c75
</pre>
</div>
</content>
</entry>
<entry>
<title>Move parse_args to nova.config</title>
<updated>2012-11-04T21:37:39+00:00</updated>
<author>
<name>Mark McLoughlin</name>
<email>markmc@redhat.com</email>
</author>
<published>2012-10-15T00:40:25+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=efede80046e0504dc8a68ab5447f97b05c02dd7a'/>
<id>efede80046e0504dc8a68ab5447f97b05c02dd7a</id>
<content type='text'>
The flags module will eventually be removed and this is a first step
towards that.

Change-Id: I729b08900e53e2ae6db10633dcff3be59720fa6f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The flags module will eventually be removed and this is a first step
towards that.

Change-Id: I729b08900e53e2ae6db10633dcff3be59720fa6f
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch to common logging.</title>
<updated>2012-07-02T20:57:09+00:00</updated>
<author>
<name>Andrew Bogott</name>
<email>abogott@wikimedia.org</email>
</author>
<published>2012-06-28T20:59:23+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=d335457f48d09c3d780c92413fe777030c1335e2'/>
<id>d335457f48d09c3d780c92413fe777030c1335e2</id>
<content type='text'>
I only just moved logging from nova to common, so behavior should remain the same.

Change-Id: I1d7304ca200f9d024bb7244d25be2f9a670318fb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I only just moved logging from nova to common, so behavior should remain the same.

Change-Id: I1d7304ca200f9d024bb7244d25be2f9a670318fb
</pre>
</div>
</content>
</entry>
<entry>
<title>Add multi-process support for API services</title>
<updated>2012-06-28T19:57:37+00:00</updated>
<author>
<name>Johannes Erdfelt</name>
<email>johannes.erdfelt@rackspace.com</email>
</author>
<published>2012-03-24T18:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=46c1b6eaee4ca00c256c5c403c6d6bfeaf3b63f8'/>
<id>46c1b6eaee4ca00c256c5c403c6d6bfeaf3b63f8</id>
<content type='text'>
Implements blueprint multi-process-api-service

This is based on Huang Zhiteng's patch.

This patch adds support for running services as multiple processes. This
is primarily intended to be used with the API service as a way to provide
more concurrency than eventlet can sometimes provide.

A SIGTERM or SIGINT signal will cause the parent process to gracefully
terminate the child processes, allowing them to finish processing the
requests currently being processed. The parent will wait for the
children to finish before exiting.

Change-Id: Ie6d6802626eb42d5e64c4167be363fbf6cea2a1b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements blueprint multi-process-api-service

This is based on Huang Zhiteng's patch.

This patch adds support for running services as multiple processes. This
is primarily intended to be used with the API service as a way to provide
more concurrency than eventlet can sometimes provide.

A SIGTERM or SIGINT signal will cause the parent process to gracefully
terminate the child processes, allowing them to finish processing the
requests currently being processed. The parent will wait for the
children to finish before exiting.

Change-Id: Ie6d6802626eb42d5e64c4167be363fbf6cea2a1b
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "blueprint &lt;multi-process-api-service&gt;"</title>
<updated>2012-06-05T05:19:10+00:00</updated>
<author>
<name>James E. Blair</name>
<email>corvus@inaugust.com</email>
</author>
<published>2012-06-05T01:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=626f64a716651af3654b0f7dedab0a70988e53c5'/>
<id>626f64a716651af3654b0f7dedab0a70988e53c5</id>
<content type='text'>
This reverts commit e599636d09755f635604f64f17e9f56cac14575e

The nova test runner is leaking processes after this change.

Change-Id: Id74463d53f3b7cd749cba293619abef01499b90d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit e599636d09755f635604f64f17e9f56cac14575e

The nova test runner is leaking processes after this change.

Change-Id: Id74463d53f3b7cd749cba293619abef01499b90d
</pre>
</div>
</content>
</entry>
<entry>
<title>blueprint &lt;multi-process-api-service&gt;</title>
<updated>2012-06-01T16:34:55+00:00</updated>
<author>
<name>Zhiteng Huang</name>
<email>zhiteng.huang@intel.com</email>
</author>
<published>2012-03-24T18:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/nova.git/commit/?id=e599636d09755f635604f64f17e9f56cac14575e'/>
<id>e599636d09755f635604f64f17e9f56cac14575e</id>
<content type='text'>
Add multiprocess support for API serivces (EC2/OSAPI_Compute/OSAPI_Volume/Metadata).

2012-06-1 v7:
    * Add unittest to cover worker recovery, service termination functionality
    in wsgi.py, fix python 2.6 compatibility issue.
    * Modify generate_uid() to introduce per-process seeds in utils.py to avoid
    collisions.
    * Add worker session to nova.conf.sample.
2012-05-21 v6:
    * Fix 'test_wsgi' unittest error.
2012-04-28 v5:
    * Add SIGINT handler and fix child-parent race condition when Ctrl+C is
    pressed.
2012-03-31 v4:
    * Fixed typo, removed debug code.
2012-03-30 v3:
    * Fixed localization/pep8 error in unittest, add metadata test.
    * nova/wsgi.py:Server: use the greenthread pool created for each process.
    * nova/service.py: remove debug code
2012-03-27 v2:
    * Fixed unittest error.
    * nova/wsgi.py:Server: Use self._logger to do logging in multiprocess mode.
    * nova/wsgi.py:Server: Move self._pool creation into proper place.
    * code style fix.
2012-03-25 v1:
    * Modification to nova/service.py and nova/wsgi.py in order to support
    multiprocess (a.k.a. workers) for various API services.  If multiprocess
    mode is enabled, (i.e. flags 'APINAME_workers' set to positive numbers),
    corresponding API service will run in target number of process(es). There
    is also a master_worker process spawned for managing all workers (handling
    signal/termination).
    * Add unittest for multiprocess API service, also alter testing/runner.py
    to adopt new unittest.

Change-Id: Ia045e595543ddfd192894b2a05801cc4b7ca90cb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add multiprocess support for API serivces (EC2/OSAPI_Compute/OSAPI_Volume/Metadata).

2012-06-1 v7:
    * Add unittest to cover worker recovery, service termination functionality
    in wsgi.py, fix python 2.6 compatibility issue.
    * Modify generate_uid() to introduce per-process seeds in utils.py to avoid
    collisions.
    * Add worker session to nova.conf.sample.
2012-05-21 v6:
    * Fix 'test_wsgi' unittest error.
2012-04-28 v5:
    * Add SIGINT handler and fix child-parent race condition when Ctrl+C is
    pressed.
2012-03-31 v4:
    * Fixed typo, removed debug code.
2012-03-30 v3:
    * Fixed localization/pep8 error in unittest, add metadata test.
    * nova/wsgi.py:Server: use the greenthread pool created for each process.
    * nova/service.py: remove debug code
2012-03-27 v2:
    * Fixed unittest error.
    * nova/wsgi.py:Server: Use self._logger to do logging in multiprocess mode.
    * nova/wsgi.py:Server: Move self._pool creation into proper place.
    * code style fix.
2012-03-25 v1:
    * Modification to nova/service.py and nova/wsgi.py in order to support
    multiprocess (a.k.a. workers) for various API services.  If multiprocess
    mode is enabled, (i.e. flags 'APINAME_workers' set to positive numbers),
    corresponding API service will run in target number of process(es). There
    is also a master_worker process spawned for managing all workers (handling
    signal/termination).
    * Add unittest for multiprocess API service, also alter testing/runner.py
    to adopt new unittest.

Change-Id: Ia045e595543ddfd192894b2a05801cc4b7ca90cb
</pre>
</div>
</content>
</entry>
</feed>
