<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent/extensions/flow.py, branch 2.0.1</title>
<subtitle>opendev.org: openstack/ironic-python-agent.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/'/>
<entry>
<title>Update to hacking 0.12.0 and use new checks</title>
<updated>2016-11-08T19:31:18+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john.l.villalovos@intel.com</email>
</author>
<published>2016-11-08T19:08:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=0b8763e33221c585207ec33caf05adfba7fad867'/>
<id>0b8763e33221c585207ec33caf05adfba7fad867</id>
<content type='text'>
Use hacking 0.12.0

Use the new checks that are available:
    [H106] Don’t put vim configuration in source files.
    [H203] Use assertIs(Not)None to check for None.
    [H904] Delay string interpolations at logging calls.

Fix code so tests pass.

Change-Id: If22ad272c332f30624ce10861408d377908b152b
Depends-On: I2aa44b62f900d4dfd67701b01eadd0523fbfaf07
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use hacking 0.12.0

Use the new checks that are available:
    [H106] Don’t put vim configuration in source files.
    [H203] Use assertIs(Not)None to check for None.
    [H904] Delay string interpolations at logging calls.

Fix code so tests pass.

Change-Id: If22ad272c332f30624ce10861408d377908b152b
Depends-On: I2aa44b62f900d4dfd67701b01eadd0523fbfaf07
</pre>
</div>
</content>
</entry>
<entry>
<title>Use oslo_log lib</title>
<updated>2015-03-24T07:43:35+00:00</updated>
<author>
<name>Ghe Rivero</name>
<email>ghe.rivero@hp.com</email>
</author>
<published>2015-03-09T22:48:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=10a3a800e719e45777b106e5b946a347f750a289'/>
<id>10a3a800e719e45777b106e5b946a347f750a289</id>
<content type='text'>
Module 'log' from oslo-incubator was removed after release of oslo_log
library.

Change-Id: Ia00e26071fc0cab4fd3f3334ca94860bc7b1c75c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Module 'log' from oslo-incubator was removed after release of oslo_log
library.

Change-Id: Ia00e26071fc0cab4fd3f3334ca94860bc7b1c75c
</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance decorators in agent and automate creation of command_map</title>
<updated>2014-09-11T08:49:33+00:00</updated>
<author>
<name>Szymon Wroblewski</name>
<email>szymon.wroblewski@intel.com</email>
</author>
<published>2014-09-11T08:49:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=324f037eb02b240d612e58e27e97503a8e490681'/>
<id>324f037eb02b240d612e58e27e97503a8e490681</id>
<content type='text'>
sync_command and async_command in ironic_python_agent/extensions/base.py
are implemented so that they change decorated method signature,
which is really bad practice. Example:

@sync_command
def orig_method(self, **kw):
...

sync_command decorator returns lambda which has one additional
argument 'command_name'

def sync_command(func):
    def decorated(self, command_name, **kw):
         ...
         func(self, **kw)
         ...
    return decorated

Additional parameter 'command_name' is moved from decorated function to
decorator signature in both decorators. Every call of decorated functions
is fixed, BaseAgentExtension.execute is updated to not send this extra
argument. BaseAgentExtension.__init__ automatically generates command_map
from decorated methods.

Change-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328
Closes-Bug: 1314148
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sync_command and async_command in ironic_python_agent/extensions/base.py
are implemented so that they change decorated method signature,
which is really bad practice. Example:

@sync_command
def orig_method(self, **kw):
...

sync_command decorator returns lambda which has one additional
argument 'command_name'

def sync_command(func):
    def decorated(self, command_name, **kw):
         ...
         func(self, **kw)
         ...
    return decorated

Additional parameter 'command_name' is moved from decorated function to
decorator signature in both decorators. Every call of decorated functions
is fixed, BaseAgentExtension.execute is updated to not send this extra
argument. BaseAgentExtension.__init__ automatically generates command_map
from decorated methods.

Change-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328
Closes-Bug: 1314148
</pre>
</div>
</content>
</entry>
<entry>
<title>Flow extension uses extension manager from agent</title>
<updated>2014-06-02T11:21:38+00:00</updated>
<author>
<name>Vladimir Kozhukalov</name>
<email>vkozhukalov@mirantis.com</email>
</author>
<published>2014-05-05T09:57:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=b306626e86721f27a1eeba4f54cda02d5ad632d6'/>
<id>b306626e86721f27a1eeba4f54cda02d5ad632d6</id>
<content type='text'>
Removed creating separate extension manager for flow extension.
Instead, have made flow extension using the same extension manager
instance which is initialized in agent. It fixes circular
extension loading in stevedore.

Closes-Bug: #1316145
Change-Id: Id339f1876168a41ca43ba7473f3ff6949a233ef3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed creating separate extension manager for flow extension.
Instead, have made flow extension using the same extension manager
instance which is initialized in agent. It fixes circular
extension loading in stevedore.

Closes-Bug: #1316145
Change-Id: Id339f1876168a41ca43ba7473f3ff6949a233ef3
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Deprecated extension name attribute"</title>
<updated>2014-04-17T15:50:55+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2014-04-17T15:50:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=24c4382fedc74c920c4ac3efbe784ef4c8f4c512'/>
<id>24c4382fedc74c920c4ac3efbe784ef4c8f4c512</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Decorated commands no longer take command_name</title>
<updated>2014-04-15T17:25:12+00:00</updated>
<author>
<name>Russell Haering</name>
<email>russellhaering@gmail.com</email>
</author>
<published>2014-04-14T00:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=bf746732268c073b4749df1a1e35a762d9f8a816'/>
<id>bf746732268c073b4749df1a1e35a762d9f8a816</id>
<content type='text'>
Prior to the (sync|async)_command decorators, extension methods had to
construct command results themselves, which required that they have
the name of the command being executed.

When the async_command decorator was introduced, we wanted to maintain
the current command interface, so that a command could be made
asynchronous simply by adding the decorator.

The introduction of the sync_command decorator allows us to satisfy
this objective, without requiring decorated methods to accept a
command_name. This patch modifies both decorators to no longer pass
the command_name argument, and modifies existing command methods not
to expect one.

Closes-Bug: #1308021
Change-Id: I1b33bb7519588cdcb79c6f4d2b10c1e5e8c0cca3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prior to the (sync|async)_command decorators, extension methods had to
construct command results themselves, which required that they have
the name of the command being executed.

When the async_command decorator was introduced, we wanted to maintain
the current command interface, so that a command could be made
asynchronous simply by adding the decorator.

The introduction of the sync_command decorator allows us to satisfy
this objective, without requiring decorated methods to accept a
command_name. This patch modifies both decorators to no longer pass
the command_name argument, and modifies existing command methods not
to expect one.

Closes-Bug: #1308021
Change-Id: I1b33bb7519588cdcb79c6f4d2b10c1e5e8c0cca3
</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecated extension name attribute</title>
<updated>2014-04-15T11:56:09+00:00</updated>
<author>
<name>Vladimir Kozhukalov</name>
<email>vkozhukalov@mirantis.com</email>
</author>
<published>2014-04-15T11:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=9e153253e59f6d1e23c3d974684a6447b795cf7e'/>
<id>9e153253e59f6d1e23c3d974684a6447b795cf7e</id>
<content type='text'>
It seems not to be used, so it is not needed.

Change-Id: Ie46470d888ff11edaf16b94e5b2e716d13cf764f
Closes-Bug: #1308017
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems not to be used, so it is not needed.

Change-Id: Ie46470d888ff11edaf16b94e5b2e716d13cf764f
Closes-Bug: #1308017
</pre>
</div>
</content>
</entry>
<entry>
<title>Organize agent extensions</title>
<updated>2014-04-14T22:09:12+00:00</updated>
<author>
<name>Russell Haering</name>
<email>russellhaering@gmail.com</email>
</author>
<published>2014-04-11T23:46:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=5ebd2e97977cc7b2ef2625b72db6bad5de757998'/>
<id>5ebd2e97977cc7b2ef2625b72db6bad5de757998</id>
<content type='text'>
Move extensions under an ironic_python_agent.extensions module. This
change also moves the @async_command() decorator into the base
extension module.

Change-Id: I4021fcc33a30f3460a31bca44a4bf776cd53d488
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move extensions under an ironic_python_agent.extensions module. This
change also moves the @async_command() decorator into the base
extension module.

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