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/
# 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
[rocky][19.04] Upgrading a DVR deployment from Queens to Rocky purged neutron-l3-agent package
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 metadata- agent (= ${source:Version}), neutron- fwaas (>= 1:13.0.0~) | python3- neutron- fwaas (>= 1:13.0.0~),
Package: neutron-l3-agent
Architecture: all
Depends:
conntrack,
iputils-arping,
keepalived,
neutron-
python-neutron (= ${source:Version}) | python3-neutron (= ${source:Version}),
python-
https:/ /git.launchpad. net/~ubuntu- server- dev/ubuntu/ +source/ neutron/ tree/debian/ control? h=stable/ rocky#n156 metadata- agent (= ${source:Version}),
Package: neutron-dhcp-agent
Architecture: all
Depends:
dnsmasq-base (>= 2.76),
dnsmasq-utils (>= 2.76),
neutron-
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): /paste. ubuntu. com/p/J7Vq8KKnB f/
https:/
More info below:
------ plugin- api-relation- changed Selecting previously unselected package neutron-l3-agent. plugin- api-relation- changed Preparing to unpack .../6-neutron- l3-agent_ 2%3a12. 0.5-0ubuntu1_ all.deb ... plugin- api-relation- changed Unpacking neutron-l3-agent (2:12.0.5-0ubuntu1) ...
2019-05-07 16:42:41 DEBUG neutron-
2019-05-07 16:42:41 DEBUG neutron-
2019-05-07 16:42:41 DEBUG neutron-
2019-05-07 16:42:47 DEBUG neutron- plugin- api-relation- changed Setting up neutron-l3-agent (2:12.0.5-0ubuntu1) ... plugin- api-relation- changed Created symlink /etc/systemd/ system/ multi-user. target. wants/neutron- l3-agent. service → /lib/systemd/syst l3-agent. service.
2019-05-07 16:42:47 DEBUG neutron-
em/neutron-
/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 2-0ubuntu1~ cloud0) ... 2-0ubuntu1~ cloud0) ... neutron- fwaas (1:13.0. 1-0ubuntu1~ cloud0) ... 0-0ubuntu1~ cloud0) ...
(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.
Purging configuration files for neutron-l3-agent (2:13.0.
Purging configuration files for python-
Purging configuration files for python-nova (2:18.1.
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 Dpkg::Options: :=--force- confold install nova-compute genisoimage librbd1 xfsprogs nfs-common ceph-common nova-compute-kvm n
Start-Date: 2019-05-08 13:45:18
Commandline: apt-get --assume-yes --option=
ova-api-metadata python3-nova python3-memcache python3-rados python3-rbd python3-neutron
# purge python2 packages 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)
Start-Date: 2019-05-08 13:46:40
Commandline: apt-get --assume-yes purge python-neutron python-nova
Purge: neutron-
End-Date: 2019-05-08 13:46:55
apt policy python3-neutron /paste. ubuntu. com/p/3vKsFBf9H n/
https:/
apt-rdepends:
neutron-l3-agent metadata- agent (= 2:13.0. 2-0ubuntu1~ cloud0) 2-0ubuntu1~ cloud0) neutron- fwaas (>= 1:13.0.0~) 2-0ubuntu1~ cloud0) neutron- fwaas (>= 1:13.0.0~)
Depends: conntrack
Depends: iputils-arping
Depends: keepalived
Depends: neutron-
Depends: python-neutron (= 2:13.0.
Depends: python-
Depends: python3-neutron (= 2:13.0.
Depends: python3-
# ...
neutron-dhcp-agent metadata- agent (= 2:13.0. 2-0ubuntu1~ cloud0) 2-0ubuntu1~ cloud0) 2-0ubuntu1~ cloud0)
Depends: dnsmasq-base (>= 2.76)
Depends: dnsmasq-utils (>= 2.76)
Depends: neutron-
Depends: python-neutron (= 2:13.0.
Depends: python3-neutron (= 2:13.0.
# ...
Charm code: /opendev. org/openstack/ charm-neutron- openvswitch/ src/branch/ stable/ 19.04/hooks/ neutron_ ovs_utils. py#L323- L325
https:/
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 neutron' , neutron- fwaas',
PURGE_PACKAGES = [
'python-
'python-
]
https:/ /opendev. org/openstack/ charm-neutron- openvswitch/ src/branch/ master/ hooks/neutron_ ovs_hooks. py#L115- L124
install_ packages( ) tmpfilesd( )
install_
# NOTE(jamespage): purge any packages as a result of py3 switch to_purge = determine_ purge_packages( ) nova_compute_ restart = False
purge_ packages( packages_ to_purge)
request_ nova_compute_ restart = True
# at rocky.
packages_
request_
if packages_to_purge: