Difference between revisions of "VPP/CommitterTasks/Compare API Changes"

From fd.io
< VPP
Jump to: navigation, search
(Created page with "= Recipe to compare VPP API changes between different releases = Use this recipe to generate the list of API changes between versions of VPP: * Install the baseline version o...")
 
m (formatting)
 
(4 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
Use this recipe to generate the list of API changes between versions of VPP:
 
Use this recipe to generate the list of API changes between versions of VPP:
 
* Install the baseline version of VPP packages
 
* Install the baseline version of VPP packages
  export RELEASE=".stable.1710"
+
  export RELEASE=".stable.1801"
 
  export UBUNTU="xenial"
 
  export UBUNTU="xenial"
 
  sudo rm /etc/apt/sources.list.d/99fd.io.list
 
  sudo rm /etc/apt/sources.list.d/99fd.io.list
  echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+
  echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
 +
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 
  sudo apt-get update
 
  sudo apt-get update
  sudo apt-get install -y vpp vpp-lib vpp-plugin
+
  sudo apt-get install -y vpp vpp-lib vpp-plugins
* Edit /etc/vpp/startup.conf to enable writing the api table to /tmp/api-table.<release>
+
* Edit ''/etc/vpp/startup.conf'' to enable writing the api table to ''/tmp/api-table.'''<release>'''''
 
  api-trace {
 
  api-trace {
 
  ## This stanza controls binary API tracing. Unless there is a very strong reason,
 
  ## This stanza controls binary API tracing. Unless there is a very strong reason,
Line 24: Line 25:
 
  ## plugins, and so forth.
 
  ## plugins, and so forth.
 
  ##
 
  ##
   save-api-table api-table.1710
+
   save-api-table api-table.1801
 
  }
 
  }
 
* Restart VPP
 
* Restart VPP
 
  sudo service vpp restart
 
  sudo service vpp restart
 
* Verify the API table has been saved
 
* Verify the API table has been saved
  ls -l /tmp/api-table.1710
+
  ls -l /tmp/api-table.1801
 
* Uninstall the baseline VPP packages
 
* Uninstall the baseline VPP packages
 
  sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins
 
  sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins
 
* Install the current VPP release
 
* Install the current VPP release
  export RELEASE=".stable.1801"
+
  export RELEASE=".stable.1804"
 
  export UBUNTU="xenial"
 
  export UBUNTU="xenial"
 
  sudo rm /etc/apt/sources.list.d/99fd.io.list
 
  sudo rm /etc/apt/sources.list.d/99fd.io.list
  echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+
  echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
 +
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 
  sudo apt-get update
 
  sudo apt-get update
  sudo apt-get install -y vpp vpp-lib vpp-plugin
+
  sudo apt-get install -y vpp vpp-lib vpp-plugins
 
* Dump the API table comparison
 
* Dump the API table comparison
  vppctl show api dump file /tmp/api-table.1710 compare
+
  vppctl show api dump file /tmp/api-table.1801 compare
 +
* Uninstall the current VPP packages
 +
sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins

Latest revision as of 02:42, 24 April 2018

Recipe to compare VPP API changes between different releases

Use this recipe to generate the list of API changes between versions of VPP:

  • Install the baseline version of VPP packages
export RELEASE=".stable.1801"
export UBUNTU="xenial"
sudo rm /etc/apt/sources.list.d/99fd.io.list
echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
sudo apt-get update
sudo apt-get install -y vpp vpp-lib vpp-plugins
  • Edit /etc/vpp/startup.conf to enable writing the api table to /tmp/api-table.<release>
api-trace {
## This stanza controls binary API tracing. Unless there is a very strong reason,
## please leave this feature enabled.
  on
## Additional parameters:
##
## To set the number of binary API trace records in the circular buffer, configure nitems
##
## nitems <nnn>
##
## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
## Very handy for understanding api message changes between versions, identifying missing
## plugins, and so forth.
##
  save-api-table api-table.1801
}
  • Restart VPP
sudo service vpp restart
  • Verify the API table has been saved
ls -l /tmp/api-table.1801
  • Uninstall the baseline VPP packages
sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins
  • Install the current VPP release
export RELEASE=".stable.1804"
export UBUNTU="xenial"
sudo rm /etc/apt/sources.list.d/99fd.io.list
echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
sudo apt-get update
sudo apt-get install -y vpp vpp-lib vpp-plugins
  • Dump the API table comparison
vppctl show api dump file /tmp/api-table.1801 compare
  • Uninstall the current VPP packages
sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins