<feed xmlns='http://www.w3.org/2005/Atom'>
<title>freeipa.git/ipapython/install, branch fix_ber_scanf</title>
<subtitle>FreeIPA patches</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/'/>
<entry>
<title>Drop list of return values to be ignored in AdminTool</title>
<updated>2019-06-07T09:24:45+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2019-06-04T16:18:46+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=1284bf1588877d3549ddc98e4762038b8740c72e'/>
<id>1284bf1588877d3549ddc98e4762038b8740c72e</id>
<content type='text'>
This was an attempt to suppress client uninstallation failure
messages in the server uninstallation script. This method
inadvertently also suppressed client uninstallation messages and
was generally confusing.

This reverts part of b96906156be37a7b29ee74423b82f04070c84e22

https://pagure.io/freeipa/issue/7836

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Florence Blanc-Renaud &lt;flo@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was an attempt to suppress client uninstallation failure
messages in the server uninstallation script. This method
inadvertently also suppressed client uninstallation messages and
was generally confusing.

This reverts part of b96906156be37a7b29ee74423b82f04070c84e22

https://pagure.io/freeipa/issue/7836

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Florence Blanc-Renaud &lt;flo@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Py3: Remove subclassing from object</title>
<updated>2018-09-27T09:49:04+00:00</updated>
<author>
<name>Christian Heimes</name>
<email>cheimes@redhat.com</email>
</author>
<published>2018-09-26T09:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=b431e9b684df11c811892bd9d2a5711355f0076e'/>
<id>b431e9b684df11c811892bd9d2a5711355f0076e</id>
<content type='text'>
Python 2 had old style and new style classes. Python 3 has only new
style classes. There is no point to subclass from object any more.

See: https://pagure.io/freeipa/issue/7715
Signed-off-by: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Florence Blanc-Renaud &lt;frenaud@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Python 2 had old style and new style classes. Python 3 has only new
style classes. There is no point to subclass from object any more.

See: https://pagure.io/freeipa/issue/7715
Signed-off-by: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Florence Blanc-Renaud &lt;frenaud@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipatests: add installer framework testing</title>
<updated>2018-07-19T06:42:33+00:00</updated>
<author>
<name>Stanislav Laznicka</name>
<email>slaznick@redhat.com</email>
</author>
<published>2018-07-02T11:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=d4732786210f824c87d614fac263361a33e4fbf9'/>
<id>d4732786210f824c87d614fac263361a33e4fbf9</id>
<content type='text'>
Reviewed-By: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Tibor Dudlak &lt;tdudlak@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-By: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Tibor Dudlak &lt;tdudlak@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable Pylint 2.0 violations</title>
<updated>2018-07-16T15:03:35+00:00</updated>
<author>
<name>Armando Neto</name>
<email>abiagion@redhat.com</email>
</author>
<published>2018-07-12T20:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=3ccd512dab1ce325aad99c39e71ade36db826028'/>
<id>3ccd512dab1ce325aad99c39e71ade36db826028</id>
<content type='text'>
Globally disabling the following violations:

- `assignment-from-no-return` (E1111):
  Assigning to function call which doesn't return. Used when an
  assignment is done on a function call but the inferred function
  doesn't return anything.

- `keyword-arg-before-vararg` (W1113):
  Keyword argument before variable positional arguments list in the
  definition of %s function When defining a keyword argument before
  variable positional arguments, one can end up in having multiple
  values passed for the aforementioned parameter in case the method is
  called with keyword arguments.

Locally disabling the following:

- `subprocess-popen-preexec-fn` (W1509):
  Using preexec_fn keyword which may be unsafe in the presence of
  threads The preexec_fn parameter is not safe to use in the presence
  of threads in your application. The child process could deadlock
  before exec is called. If you must use it, keep it trivial! Minimize
  the number of libraries you call into.
  https://docs.python.org/3/library/subprocess.html#popen-constructor

Fixed violations:

- `bad-mcs-classmethod-argument` (C0204):
  Metaclass class method %s should have %s as first argument Used when
  a metaclass class method has a first argument named differently than
  the value specified in valid-metaclass-classmethod-first-arg option
  (default to "mcs"), recommended to easily differentiate them from
  regular instance methods.
  - Note: Actually `cls` is the default first arg for `__new__`.

- `consider-using-get` (R1715):
  Consider using dict.get for getting values from a dict if a key is
  present or a default if not Using the builtin dict.get for getting a
  value from a dictionary if a key is present or a default if not, is
  simpler and considered more idiomatic, although sometimes a bit slower

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Globally disabling the following violations:

- `assignment-from-no-return` (E1111):
  Assigning to function call which doesn't return. Used when an
  assignment is done on a function call but the inferred function
  doesn't return anything.

- `keyword-arg-before-vararg` (W1113):
  Keyword argument before variable positional arguments list in the
  definition of %s function When defining a keyword argument before
  variable positional arguments, one can end up in having multiple
  values passed for the aforementioned parameter in case the method is
  called with keyword arguments.

Locally disabling the following:

- `subprocess-popen-preexec-fn` (W1509):
  Using preexec_fn keyword which may be unsafe in the presence of
  threads The preexec_fn parameter is not safe to use in the presence
  of threads in your application. The child process could deadlock
  before exec is called. If you must use it, keep it trivial! Minimize
  the number of libraries you call into.
  https://docs.python.org/3/library/subprocess.html#popen-constructor

Fixed violations:

- `bad-mcs-classmethod-argument` (C0204):
  Metaclass class method %s should have %s as first argument Used when
  a metaclass class method has a first argument named differently than
  the value specified in valid-metaclass-classmethod-first-arg option
  (default to "mcs"), recommended to easily differentiate them from
  regular instance methods.
  - Note: Actually `cls` is the default first arg for `__new__`.

- `consider-using-get` (R1715):
  Consider using dict.get for getting values from a dict if a key is
  present or a default if not Using the builtin dict.get for getting a
  value from a dictionary if a key is present or a default if not, is
  simpler and considered more idiomatic, although sometimes a bit slower

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Pylint 2.0 violations</title>
<updated>2018-07-14T10:04:19+00:00</updated>
<author>
<name>Armando Neto</name>
<email>abiagion@redhat.com</email>
</author>
<published>2018-07-12T14:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=d13571942e41370fdbd2b6f9960c484fa61c3404'/>
<id>d13571942e41370fdbd2b6f9960c484fa61c3404</id>
<content type='text'>
Fix the following violations aiming to support Pylint 2.0

- `unneeded-not` (C0113):
  Consider changing "not item in items" to "item not in items" used
  when a boolean expression contains an unneeded negation.

- `useless-import-alias` (C0414):
  Import alias does not rename original package Used when an import
  alias is same as original package.e.g using import numpy as numpy
  instead of import numpy as np

- `raising-format-tuple` (W0715):
  Exception arguments suggest string formatting might be intended Used
  when passing multiple arguments to an exception constructor, the
  first of them a string literal containing what appears to be
  placeholders intended for formatting

- `bad-continuation` (C0330):
  This was already included on the disable list, although with current
  version of pylint (2.0.0.dev2) violations at the end of the files
  are not being ignored.
  See: https://github.com/PyCQA/pylint/issues/2278

- `try-except-raise` (E0705):
  The except handler raises immediately Used when an except handler
  uses raise as its first or only operator. This is useless because it
  raises back the exception immediately. Remove the raise operator or
  the entire try-except-raise block!

- `consider-using-set-comprehension` (R1718):
  Consider using a set comprehension Although there is nothing
  syntactically wrong with this code, it is hard to read and can be
  simplified to a set comprehension.Also it is faster since you don't
  need to create another transient list

- `dict-keys-not-iterating` (W1655):
  dict.keys referenced when not iterating Used when dict.keys is
  referenced in a non-iterating context (returns an iterator in
  Python 3)

- `comprehension-escape` (W1662):
  Using a variable that was bound inside a comprehension Emitted when
  using a variable, that was bound in a comprehension handler, outside
  of the comprehension itself. On Python 3 these variables will be
  deleted outside of the comprehension.

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the following violations aiming to support Pylint 2.0

- `unneeded-not` (C0113):
  Consider changing "not item in items" to "item not in items" used
  when a boolean expression contains an unneeded negation.

- `useless-import-alias` (C0414):
  Import alias does not rename original package Used when an import
  alias is same as original package.e.g using import numpy as numpy
  instead of import numpy as np

- `raising-format-tuple` (W0715):
  Exception arguments suggest string formatting might be intended Used
  when passing multiple arguments to an exception constructor, the
  first of them a string literal containing what appears to be
  placeholders intended for formatting

- `bad-continuation` (C0330):
  This was already included on the disable list, although with current
  version of pylint (2.0.0.dev2) violations at the end of the files
  are not being ignored.
  See: https://github.com/PyCQA/pylint/issues/2278

- `try-except-raise` (E0705):
  The except handler raises immediately Used when an except handler
  uses raise as its first or only operator. This is useless because it
  raises back the exception immediately. Remove the raise operator or
  the entire try-except-raise block!

- `consider-using-set-comprehension` (R1718):
  Consider using a set comprehension Although there is nothing
  syntactically wrong with this code, it is hard to read and can be
  simplified to a set comprehension.Also it is faster since you don't
  need to create another transient list

- `dict-keys-not-iterating` (W1655):
  dict.keys referenced when not iterating Used when dict.keys is
  referenced in a non-iterating context (returns an iterator in
  Python 3)

- `comprehension-escape` (W1662):
  Using a variable that was bound inside a comprehension Emitted when
  using a variable, that was bound in a comprehension handler, outside
  of the comprehension itself. On Python 3 these variables will be
  deleted outside of the comprehension.

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pylint 2.0 return-related violations</title>
<updated>2018-07-11T08:11:38+00:00</updated>
<author>
<name>Armando Neto</name>
<email>abiagion@redhat.com</email>
</author>
<published>2018-07-10T20:14:04+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=b4ad0d19a20cc66690e7f4e9c4327afeedff2ab2'/>
<id>b4ad0d19a20cc66690e7f4e9c4327afeedff2ab2</id>
<content type='text'>
Aiming to support pylint 2.0 some functions and methods must have their
return statements updated in order to fix two new violations:

- `useless-return` (R1711):
  Useless return at end of function or method Emitted when a single
  "return" or "return None" statement is found at the end of function
  or method definition. This statement can safely be removed because
  Python will implicitly return None

- `inconsistent-return-statements` (R1710):
  Either all return statements in a function should return an
  expression, or none of them should. According to PEP8, if any return
  statement returns an expression, any return statements where no value
  is returned should explicitly state this as return None, and an
  explicit return statement should be present at the end of the
  function (if reachable)

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Aiming to support pylint 2.0 some functions and methods must have their
return statements updated in order to fix two new violations:

- `useless-return` (R1711):
  Useless return at end of function or method Emitted when a single
  "return" or "return None" statement is found at the end of function
  or method definition. This statement can safely be removed because
  Python will implicitly return None

- `inconsistent-return-statements` (R1710):
  Either all return statements in a function should return an
  expression, or none of them should. According to PEP8, if any return
  statement returns an expression, any return statements where no value
  is returned should explicitly state this as return None, and an
  explicit return statement should be present at the end of the
  function (if reachable)

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto &lt;abiagion@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve console logging for ipa-server-install</title>
<updated>2018-06-20T06:38:03+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2018-05-02T15:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=b96906156be37a7b29ee74423b82f04070c84e22'/>
<id>b96906156be37a7b29ee74423b82f04070c84e22</id>
<content type='text'>
The server installation and uninstallation overlaps both the
server and client installers. The output could be confusing
with a server uninstall finishing with the message:

The ipa-client-install command was successful

This was in part due to the fact that the server was not
configured with a console format and verbose was False which
meant that no logger messages were displayed at all.

In order to suppress client installation errors and avoid
confusion add a list of errors to ignore. If a server install
was not successful and hadn't gotten far enough to do the
client install then we shouldn't complain loudly about it.

https://pagure.io/freeipa/issue/6760

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The server installation and uninstallation overlaps both the
server and client installers. The output could be confusing
with a server uninstall finishing with the message:

The ipa-client-install command was successful

This was in part due to the fact that the server was not
configured with a console format and verbose was False which
meant that no logger messages were displayed at all.

In order to suppress client installation errors and avoid
confusion add a list of errors to ignore. If a server install
was not successful and hadn't gotten far enough to do the
client install then we shouldn't complain loudly about it.

https://pagure.io/freeipa/issue/6760

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
Reviewed-By: Christian Heimes &lt;cheimes@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the Continuous installer class, it is unused</title>
<updated>2018-03-19T16:38:41+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2018-03-13T15:27:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=64fca87a52e361718b46aaec8d1d5eea0f5ccdbc'/>
<id>64fca87a52e361718b46aaec8d1d5eea0f5ccdbc</id>
<content type='text'>
https://pagure.io/freeipa/issue/7330

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://pagure.io/freeipa/issue/7330

Signed-off-by: Rob Crittenden &lt;rcritten@redhat.com&gt;
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Return a value if exceptions are raised in server uninstall</title>
<updated>2018-03-19T16:38:41+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2018-03-13T17:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=68c7b036893fcdad7cc2364b0fc2a841366493ef'/>
<id>68c7b036893fcdad7cc2364b0fc2a841366493ef</id>
<content type='text'>
The AdminTool class purports to "call sys.exit() with the return
value" but most of the run implementations returned no value, or
the methods they called returned nothing so there was nothing to
return, so this was a no-op.

The fix is to capture and bubble up the return values which will
return 1 if any exceptions are caught.

This potentially affects other users in that when executing the
steps of an installer or uninstaller the highest return code
will be the exit value of that installer.

Don't use the Continuous class because it doesn't add any
value and makes catching the exceptions more difficult.

https://pagure.io/freeipa/issue/7330

Signed-off-by: Rob Crittenden rcritten@redhat.com
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The AdminTool class purports to "call sys.exit() with the return
value" but most of the run implementations returned no value, or
the methods they called returned nothing so there was nothing to
return, so this was a no-op.

The fix is to capture and bubble up the return values which will
return 1 if any exceptions are caught.

This potentially affects other users in that when executing the
steps of an installer or uninstaller the highest return code
will be the exit value of that installer.

Don't use the Continuous class because it doesn't add any
value and makes catching the exceptions more difficult.

https://pagure.io/freeipa/issue/7330

Signed-off-by: Rob Crittenden rcritten@redhat.com
Reviewed-By: Stanislav Laznicka &lt;slaznick@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>LGTM: Name unused variable in loop</title>
<updated>2018-01-09T06:53:28+00:00</updated>
<author>
<name>Christian Heimes</name>
<email>cheimes@redhat.com</email>
</author>
<published>2018-01-03T09:14:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/simo/public_git/freeipa.git/commit/?id=a4f36eec0ac741f0050ae15928f101932e8aff4a'/>
<id>a4f36eec0ac741f0050ae15928f101932e8aff4a</id>
<content type='text'>
For loop variable '_nothing' is not used in the loop body. The name
'unused' is used to indicate that a variable is unused.

https://pagure.io/freeipa/issue/7344

Signed-off-by: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Fraser Tweedale &lt;ftweedal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For loop variable '_nothing' is not used in the loop body. The name
'unused' is used to indicate that a variable is unused.

https://pagure.io/freeipa/issue/7344

Signed-off-by: Christian Heimes &lt;cheimes@redhat.com&gt;
Reviewed-By: Fraser Tweedale &lt;ftweedal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
