[Bug 1828259] Re: [rocky][19.04] Upgrading a deployment from Queens to Rocky resulted in purging of neutron-l3-agent package

OpenStack Infra 1828259 at bugs.launchpad.net
Fri May 10 15:36:09 UTC 2019


Reviewed:  https://review.opendev.org/658062
Committed: https://git.openstack.org/cgit/openstack/charm-nova-compute/commit/?id=96b5e8a2493305ec7667c153d070dffda1bf547b
Submitter: Zuul
Branch:    master

commit 96b5e8a2493305ec7667c153d070dffda1bf547b
Author: Corey Bryant <corey.bryant at canonical.com>
Date:   Thu May 9 08:13:51 2019 -0400

    py3: deal with more subordinate dependencies
    
    Ensure subordinate py3 packages are installed if their py2
    counter-parts are currently installed for neutron-openvswitch.
    In this case we had missed python(3)-neutron-fwaas.
    
    Change-Id: I9d5e7c2ad034cd7bdf9cbf292b9107577860dac1
    Closes-Bug: #1828259


** Changed in: charm-nova-compute
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to neutron in Ubuntu.
https://bugs.launchpad.net/bugs/1828259

Title:
  [rocky][19.04] Upgrading a deployment from Queens to Rocky resulted in
  purging of neutron-l3-agent package

Status in OpenStack neutron-openvswitch charm:
  Opinion
Status in OpenStack nova-compute charm:
  Fix Committed
Status in neutron package in Ubuntu:
  Invalid

Bug description:
  Upgrading OpenStack from Queens to Rocky results in removal of
  neutron-l3-agent package which leads to a networking outage.

  The issue with the fact that first python3 packages are installed and
  then python2 packages are purged. The neutron-l3-agent package depends
  on both.

  At the same time neutron-dhcp-agent survives the upgrade while both
  packages seem to have identical "Depends" directives for
  python[3]-neutron:

  https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/neutron/tree/debian/control?h=stable/rocky#n178
  Package: neutron-l3-agent
  Architecture: all
  Depends:
   conntrack,
   iputils-arping,
   keepalived,
   neutron-metadata-agent (= ${source:Version}),
   python-neutron (= ${source:Version}) | python3-neutron (= ${source:Version}),
   python-neutron-fwaas (>= 1:13.0.0~) | python3-neutron-fwaas (>= 1:13.0.0~),

  https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/neutron/tree/debian/control?h=stable/rocky#n156
  Package: neutron-dhcp-agent
  Architecture: all
  Depends:
   dnsmasq-base (>= 2.76),
   dnsmasq-utils (>= 2.76),
   neutron-metadata-agent (= ${source:Version}),
   python-neutron (= ${source:Version}) | python3-neutron (= ${source:Version}),

  When I try to install neutron-l3-agent it tries to pull python2 dependencies again (even though the python3 ones are already there):
  https://paste.ubuntu.com/p/J7Vq8KKnBf/

  More info below:

  ------
  2019-05-07 16:42:41 DEBUG neutron-plugin-api-relation-changed Selecting previously unselected package neutron-l3-agent.
  2019-05-07 16:42:41 DEBUG neutron-plugin-api-relation-changed Preparing to unpack .../6-neutron-l3-agent_2%3a12.0.5-0ubuntu1_all.deb ...
  2019-05-07 16:42:41 DEBUG neutron-plugin-api-relation-changed Unpacking neutron-l3-agent (2:12.0.5-0ubuntu1) ...

  2019-05-07 16:42:47 DEBUG neutron-plugin-api-relation-changed Setting up neutron-l3-agent (2:12.0.5-0ubuntu1) ...
  2019-05-07 16:42:47 DEBUG neutron-plugin-api-relation-changed Created symlink /etc/systemd/system/multi-user.target.wants/neutron-l3-agent.service → /lib/systemd/syst
  em/neutron-l3-agent.service.

  /var/log/apt/term.log:

  update-alternatives: using /usr/bin/python3-nova-metadata-wsgi to provide /usr/bin/nova-metadata-wsgi (nova-metadata-wsgi) in auto mode
  (Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 113229 files and directories currently installed.)
  Purging configuration files for python-neutron (2:13.0.2-0ubuntu1~cloud0) ...
  Purging configuration files for neutron-l3-agent (2:13.0.2-0ubuntu1~cloud0) ...
  Purging configuration files for python-neutron-fwaas (1:13.0.1-0ubuntu1~cloud0) ...
  Purging configuration files for python-nova (2:18.1.0-0ubuntu1~cloud0) ...
  Processing triggers for ureadahead (0.100.0-21) ...
  Processing triggers for systemd (237-3ubuntu10.21) ...
  Log ended: 2019-05-08  13:46:55

  /var/log/apt/history.log:

  # install python3 packages
  Start-Date: 2019-05-08  13:45:18
  Commandline: apt-get --assume-yes --option=Dpkg::Options::=--force-confold install nova-compute genisoimage librbd1 xfsprogs nfs-common ceph-common nova-compute-kvm n
  ova-api-metadata python3-nova python3-memcache python3-rados python3-rbd python3-neutron

  # purge python2 packages
  Start-Date: 2019-05-08  13:46:40
  Commandline: apt-get --assume-yes purge python-neutron python-nova
  Purge: neutron-l3-agent:amd64 (2:13.0.2-0ubuntu1~cloud0), python-nova:amd64 (2:18.1.0-0ubuntu1~cloud0), python-neutron:amd64 (2:13.0.2-0ubuntu1~cloud0), python-neutron-fwaas:amd64 (1:13.0.1-0ubuntu1~cloud0)
  End-Date: 2019-05-08  13:46:55

  apt policy python3-neutron
  https://paste.ubuntu.com/p/3vKsFBf9Hn/

  apt-rdepends:

  neutron-l3-agent
    Depends: conntrack
    Depends: iputils-arping
    Depends: keepalived
    Depends: neutron-metadata-agent (= 2:13.0.2-0ubuntu1~cloud0)
    Depends: python-neutron (= 2:13.0.2-0ubuntu1~cloud0)
    Depends: python-neutron-fwaas (>= 1:13.0.0~)
    Depends: python3-neutron (= 2:13.0.2-0ubuntu1~cloud0)
    Depends: python3-neutron-fwaas (>= 1:13.0.0~)
  # ...

  neutron-dhcp-agent
    Depends: dnsmasq-base (>= 2.76)
    Depends: dnsmasq-utils (>= 2.76)
    Depends: neutron-metadata-agent (= 2:13.0.2-0ubuntu1~cloud0)
    Depends: python-neutron (= 2:13.0.2-0ubuntu1~cloud0)
    Depends: python3-neutron (= 2:13.0.2-0ubuntu1~cloud0)
  # ...

  Charm code:
  https://opendev.org/openstack/charm-neutron-openvswitch/src/branch/stable/19.04/hooks/neutron_ovs_utils.py#L323-L325

      if cmp_release >= 'rocky':
          return PURGE_PACKAGES
      return []

  https://opendev.org/openstack/charm-neutron-openvswitch/src/branch/master/hooks/neutron_ovs_utils.py#L119-L122
  PURGE_PACKAGES = [
      'python-neutron',
      'python-neutron-fwaas',
  ]

  https://opendev.org/openstack/charm-neutron-
  openvswitch/src/branch/master/hooks/neutron_ovs_hooks.py#L115-L124

      install_packages()
      install_tmpfilesd()

      # NOTE(jamespage): purge any packages as a result of py3 switch
      #                  at rocky.
      packages_to_purge = determine_purge_packages()
      request_nova_compute_restart = False
      if packages_to_purge:
          purge_packages(packages_to_purge)
          request_nova_compute_restart = True

To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-neutron-openvswitch/+bug/1828259/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list