#9232 ipaserver circular import
Closed: fixed by frenaud. Opened by slev.

[builder@localhost freeipa]$ python3 -c "from ipaserver.install.ldapupdate import LDAPUpdate"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/src/RPM/BUILD/freeipa/ipaserver/install/ldapupdate.py", line 46, in <module>
    from ipaserver.install import installutils, replication
  File "/usr/src/RPM/BUILD/freeipa/ipaserver/install/installutils.py", line 59, in <module>
    from ipaserver.install import certs, service, sysupgrade
  File "/usr/src/RPM/BUILD/freeipa/ipaserver/install/service.py", line 45, in <module>
    from ipaserver.install.ldapupdate import LDAPUpdate, run_ldapi_reload_task
ImportError: cannot import name 'LDAPUpdate' from partially initialized module 'ipaserver.install.ldapupdate' (most likely due to a circular import) (/usr/src/RPM/BUILD/freeipa/ipaserver/install/ldapupdate.py)

for information:
https://github.com/freeipa/freeipa/commit/87cf2a3c789929337abc3ae38192ee64cfd6c9e3 (4.9.0) closed the circle.


A possible solution could be to move

from ipaserver.install.ldapupdate import LDAPUpdate

inside _ldap_update function.

master:

  • 232b5a9ddeb222035a9393bfc495b2ffba557801 azure tests: move to fedora 37
  • cad06382a29f58dba544938f62f8541ec031a62c pylint: remove unneeded disable=unused-private-member
  • 12067297d8040565fed7b76738109a933901c35e pylint: remove useless suppression
  • a9c1c81a4669c71bf3c629b93ffce4b6018b36ca pylint: disable redefined-slots-in-subclass
  • 2011d1a36ac17449affbbcebc1fbeff19b270a42 pylint: disable used-before-assignment
  • d1f16120886647778d809599263a56729d9c8303 pylint: replace deprecated distutils module
  • be7f0a6e5e05764cd7388522575319144f253eb5 pylint: disable modified-iterating-list
  • 8cd9ddfdeb31cdbf907513e31ae71b9c3390a296 pylint: remove arguments-renamed warnings
  • d6d8319ece323d3bff58e8dfc5fdd169613962df pylint: disable using-constant-test
  • 026885748374a472f145b2b275c78831849687c3 pylint: disable unnecessary-dunder-call message
  • 18fd448156d5f4160101405b110f3a34a27475d8 pylint: globally disable unnecessary-lambda-assignment message
  • 139038c58b17c8f85556c11e730ff9c62bfaae14 pylint: disable missing-timeout message
  • 2268ef4e3ca27b5f58adcd40a6ec3fd0278effcf pylint: fix implicit-str-concat
  • 8e7e48dc78466496dd58b9202e6138e088f6661f pylint: fix duplicate-value
  • 6518855c3499918cd42360b7938868dc838329d2 pylint: fix deprecated-class SafeConfigParser
  • 372a5dc6b84586c1cf2d65328ccc067880843fe9 pylint: disable invalid-sequence-index
  • 79153655d71a6522f923825aa50afda9106ffba6 pylint: disable unhashable-member
  • 8fad897ee70a333b7d0e6c0fca8b212407e7e667 pylint: globally disable useless-object-inheritance
  • fdd3dd29b7897d39d44e61e4a3f372d21896cac9 pylint: fix consider-iterating-dictionary
  • 416c210fc3d000dae9978709fd8e996a76addf10 pylint: disable comparison-of-constants
  • a4102b9960465e79709373005db260da75ee269d pylint: fix comparison-of-constants
  • fa4b0540567c5a9b1932fc6e8241b8d03927454e pylint: disable deprecated-module message
  • a1a3b90c48aa77219a6325590afcc8af03adeaf7 pylint: Lint in single process mode
  • deaec9b31a9fed080e1fbbc38a7ac21bf2c5f364 pylint: More allowed C extensions
  • ccdc94b0e1b234ce459eb2688077f3909652ae60 pylint: Replace deprecated extension-pkg-whitelist
  • 4352bd5a50780e17c0e414fae8d76bfed9405f9d pylint: Fix cyclic-import
  • a8dd0709927eae044f789bcd02bc75a9ae7258b5 pylint: Replace deprecated pipes
  • 0e0331529921f9e7e436ef9d176d6fd12ec4cc46 pylint: Fix used-before-assignment
  • 24db4dc8760bb2e2b544392431690d4e1663b58f pylint: Fix modified-iterating-list
  • bf3083c3760797c466d4010d812755b9fc5aa2c9 pylint: Fix unnecessary-lambda-assignment
  • c523e85835ff1e2e0a6c15f17b550587d3384541 pylint: Fix unhashable-member
  • b8480549c65b6bec5bbe9848342e5af98f22dc5c pylint: Fix useless-object-inheritance
  • 691b5d21af823f6119a65bde27b96e01a9573d1a pylint: Replace deprecated cgi module

ipa-4-10:

  • 782873a2277ca7defa5554d2b7859f1c14767d68 azure tests: move to fedora 37
  • fd21204559bd8fcac6a1b321adda163cd88aa149 pylint: remove unneeded disable=unused-private-member
  • 51e0f751e9c3b5cade75360d24ba64c75ec926ba pylint: remove useless suppression
  • 240b46db1451b8fed5f04244e9927b8fc03f10c0 pylint: disable redefined-slots-in-subclass
  • 081dd26376b8ff704a83e1c783d97c40951c43b3 pylint: disable used-before-assignment
  • 328fb642f6aba1a15040b7374a59cb6f7679f8f5 pylint: replace deprecated distutils module
  • ac69ad4ba5ec644fbb1b2768237fd2412d7e3101 pylint: disable modified-iterating-list
  • 22f182ee9203be5e014d438f2a27b8721dd0c3ae pylint: remove arguments-renamed warnings
  • 5434c12b6012f035528f0b137c1af5c1be113542 pylint: disable using-constant-test
  • 3336236ff1133ae86a5c9e2caeb90db7169fa454 pylint: disable unnecessary-dunder-call message
  • 2b97c8caad267f97780d7ee8d940577c17ef1499 pylint: globally disable unnecessary-lambda-assignment message
  • 84c4792bdbf82108771d796ae317e2cb1f1d2100 pylint: disable missing-timeout message
  • 71496be75f6523b51f9316d3dcf7e0662d2cb606 pylint: fix implicit-str-concat
  • b9ea3fcbdb9ab07153873aeea7d3e1bd69e0d065 pylint: fix duplicate-value
  • 433599fdef1bf0608991d25ddbe6c891ae382ae0 pylint: fix deprecated-class SafeConfigParser
  • a95e11dbbff58804c5b85acaa4d70b72ce750ae0 pylint: disable invalid-sequence-index
  • 07111438389fde4a74845f9f797656712335795f pylint: disable unhashable-member
  • 4e998848f08b52760225c5bcb1afa9a6b2f6361b pylint: globally disable useless-object-inheritance
  • 3d211b4f9f6950a2810496f30e57a421eeb31e85 pylint: fix consider-iterating-dictionary
  • 015e25a581353aaf628f9e2ea8306fda89842cd5 pylint: disable comparison-of-constants
  • 62e2d111fc3113aa5c9f22ae75068094403d1d39 pylint: fix comparison-of-constants
  • 85037db2e1927c76fba963c6fde4ce17d2b95929 pylint: disable deprecated-module message
  • d673fdab6097ae783bd0075c0e990e42bc24f833 pylint: Lint in single process mode
  • f9822697659f134146e1dcfce0c48e2279a8becb pylint: More allowed C extensions
  • 68ab438f5c2250d96733a0c1b47cbb3a1c518bed pylint: Replace deprecated extension-pkg-whitelist
  • c48c76e9d34bae09dc4eac1f3b33f7cb72355c25 pylint: Fix cyclic-import
  • 1261bbf0016d4824f908a589d4943513e98f8b01 pylint: Replace deprecated pipes
  • b12376560da944b0845b9ac0d424adaf5435670f pylint: Fix used-before-assignment
  • acc2daf25f5c12ef1d9a823de15df080ba42d059 pylint: Fix modified-iterating-list
  • dc8c8a7824565178333ef7ae8ac7934467424691 pylint: Fix unnecessary-lambda-assignment
  • bd7b5bf71c443daa3ac12ff194748845a84b08f0 pylint: Fix unhashable-member
  • bccd3c942084c753543d63b4d409ac46f819d314 pylint: Fix useless-object-inheritance
  • 2009889d763ccc26479c966931ca1b60378496fd pylint: Replace deprecated cgi module

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata