maas badly needs dep8 tests that check for django compatibility

Bug #1698889 reported by Steve Langasek
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
maas (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

I'm told that when I merged python-django over the weekend to unblock some packages that build-depend on the newer version, I overlooked bug #1605278. Avoiding breaking reverse-dependencies should not depend on Ubuntu developers looking at the right place in Launchpad ahead of a merge; this should be picked up in an automated fashion from information available in the archive.

Ideally, maas should have autopkgtests that ensure django is not updated in the devel series if it breaks maas.

If this can't be done as an autopkgtest for $reasons, then maas should declare a versioned << dependency on the allowed versions of python-django.

Revision history for this message
Andres Rodriguez (andreserl) wrote :

FWIW, we are working on supporting newer Django versions, and as such, we are not concerned with the upgrade of it in the archives!

Changed in maas (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :
Download full text (3.3 KiB)

This breaks my local maas install, since I'm running it on artful. After upgrade, I can't use the MaaS CLI:

 mtrudel@demeter  /srv  maas demeter
Traceback (most recent call last):
  File "/usr/bin/maas", line 12, in <module>
    sys.exit(maascli.main())
  File "/usr/lib/python3/dist-packages/maascli/__init__.py", line 24, in main
    parser = prepare_parser(argv)
  File "/usr/lib/python3/dist-packages/maascli/parser.py", line 70, in prepare_parser
    register_cli_commands(parser)
  File "/usr/lib/python3/dist-packages/maascli/cli.py", line 194, in register_cli_commands
    load_regiond_commands(management, parser)
  File "/usr/lib/python3/dist-packages/maascli/cli.py", line 227, in load_regiond_commands
    klass = management.load_command_class(app, name)
  File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 40, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 697, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/maasserver/management/commands/apikey.py", line 14, in <module>
    from django.contrib.auth.models import User
  File "/usr/lib/python3/dist-packages/django/contrib/auth/models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/usr/lib/python3/dist-packages/django/contrib/auth/base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "/usr/lib/python3/dist-packages/django/contrib/auth/base_user.py", line 53, in AbstractBaseUser
    password = models.CharField(_('password'), max_length=128)
  File "/usr/lib/python3/dist-packages/django/db/models/fields/__init__.py", line 1043, in __init__
    super(CharField, self).__init__(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/django/db/models/fields/__init__.py", line 166, in __init__
    self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 53, in __getattr__
    self._setup(name)
  File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 41, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 97, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/lib/python3/dist-packages/maasserver/djangosettings/settings.py", line 45, in <module>
    dja...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.