Support Support Downloads Knowledge Base Case Manager My Juniper Community

Knowledge Base

Search our Knowledge Base sites to find answers to your questions.

Ask All Knowledge Base Sites All Knowledge Base Sites JunosE Defect (KA)Knowledge BaseSecurity AdvisoriesTechnical BulletinsTechnotes Sign in to display secure content and recently viewed articles

[Contrail] Juniper modified QEMU packages and their differences

0

0

Article ID: KB34213 KB Last Updated: 10 May 2019Version: 1.0
Summary:

To troubleshoot Data Plane Development Kit (DPDK) vRouter issues, it is necessary to get the QEMU version that is installed on the customer node as baseline information.

This article describes the method to check the QEMU version on a compute node and also lists the differences between each Juniper-modified QEMU package.

Note: QEMU 2.3 is EOL and therefore, is no longer supported by Canonical.

 

Solution:

The following two commands can be used on a kernel or a DPDK compute node to acquire detailed information about the QEMU packages installed: dpkg -l |grep qemu-system and apt-cache policy qemu-system. However, the result differs between a kernel compute and a DPDK compute even for the same Contrail version.

The following examples are taken from the Contrail 3.2.8.0-66 cluster. The first one is from a kernel compute and the second is from a DPDK compute. The obvious differences are that the kernel compute uses QEMU 2.2, whereas the DPDK compute uses QEMU 2.3 with the Juniper-modified change, contrail1.

We will discuss what contrail1 means and also what contrail2 means, which could be seen in a later release such as Contrail 3.2.13.0.

‚ÄčKernel

root@bcomp79:~# dpkg -l | grep qemu-system

ii  qemu-system                          1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries
ii  qemu-system-arm                      1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (arm)
ii  qemu-system-common                   1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (common files)
ii  qemu-system-mips                     1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (mips)
ii  qemu-system-misc                     1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (miscellaneous)
ii  qemu-system-ppc                      1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (ppc)
ii  qemu-system-sparc                    1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (sparc)
ii  qemu-system-x86                      1:2.2+dfsg-5expubuntu9.7~cloud7       amd64        QEMU full system emulation binaries (x86)


root@bcomp79:~# apt-cache policy qemu-system
qemu-system:
  Installed: 1:2.2+dfsg-5expubuntu9.7~cloud7
  Candidate: 1:2.2+dfsg-5expubuntu9.7~cloud7
  Version table:
 *** 1:2.2+dfsg-5expubuntu9.7~cloud7 0
        999 file:/opt/contrail/contrail_install_repo/ ./ Packages
        100 /var/lib/dpkg/status
     2.0.0+dfsg-2ubuntu1.45 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     2.0.0~rc1+dfsg-0ubuntu3 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
 

DPDK

root@bcomp80:~# dpkg -l | grep qemu-system

ii  qemu-block-extra:amd64               2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        extra block backend modules for qemu-system and qemu-utils
ii  qemu-system                          2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries
ii  qemu-system-arm                      2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (arm)
ii  qemu-system-common                   2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (common files)
ii  qemu-system-mips                     2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (mips)
ii  qemu-system-misc                     2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (miscelaneous)
ii  qemu-system-ppc                      2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (ppc)
ii  qemu-system-sparc                    2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (sparc)
ii  qemu-system-x86                      2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 amd64        QEMU full system emulation binaries (x86)

 
root@bcomp80:~# apt-cache policy qemu-system
qemu-system:
  Installed: 2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1
  Candidate: 2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1
  Version table:
 *** 2:2.3+dfsg-5ubuntu9.4~cloud0+contrail1 0
        999 file:/opt/contrail/contrail_install_repo_dpdk/ ./ Packages
        100 /var/lib/dpkg/status
     1:2.2+dfsg-5expubuntu9.7~cloud7 0
        999 file:/opt/contrail/contrail_install_repo/ ./ Packages
     2.0.0+dfsg-2ubuntu1.42 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     2.0.0~rc1+dfsg-0ubuntu3 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
 

‚ÄčAs you can see, the current version of QEMU installed on this compute node is QEMU 2.3 with the Juniper modification, that is, contrail1. The differences between contrail1 and contrail2, which could be seen in a later Contrail release, are as follows:

  • contrail1 version was provided to support the QEMU reconnect capability after a vRouter restarts so that a nova stop and nova start for a VM are not necessary after vRouter restarts.

  • contrail2 version was provided to fix a bug (Bug 1746578), which was seen when we added mergeable buffer support in Contrail 3.2.8.0, Contrail 4.0, and Contrail 4.1. Some of the customized VNFs in these versions did not have mergeable buffer support built in, which was causing loss of network communication after a vRouter was restarted. However, if a customer disables the mergeable buffer feature from the DPDK command line, the contrail2 version is not needed. Otherwise a later version of Contrail, such as Contrail 3.2.10.0, is recommended.

 

Comment on this article > Affected Products Browse the Knowledge Base for more articles related to these product categories. Select a category to begin.

Getting Up and Running with Junos

Getting Up and Running with Junos Security Alerts and Vulnerabilities Product Alerts and Software Release Notices Problem Report (PR) Search Tool EOL Notices and Bulletins JTAC User Guide Customer Care User Guide Pathfinder SRX High Availability Configurator SRX VPN Configurator Training Courses and Videos End User Licence Agreement Global Search