Monday 27 March 2023

Traffic Parrot 5.37.8 released, what's new?

We have just released version 5.37.8. Here is a list of the changes that came with the release:

Fixes

  • Added support for protoc on Apple ARM based M1/M2 processors running inside of Docker

Roll-out Traffic Parrot across the whole enterprise

A number of Traffic Parrot customers use the simulation tool across their whole enterprise as the primary and recommended API, system and service simulation tool.

We often get asked what would a large-scale rollout like that look like. We have created a high-level project overview that captures the process we have seen work well for our existing customers: API and Service Simulation Tool Implementation Project Plan



Tuesday 21 March 2023

How to deploy Traffic Parrot in OpenShift

A significant number of Traffic Parrot customers run our tool in OpenShift. This blog post discusses a template process you can follow to do the same. 

Here’s a quick terminology review to get us on the same page:

  • docker = used to build, push and run container images
  • podman = docker replacement that OpenShift recommend using (developed by OpenShift), almost identical to standard docker
  • oc = OpenShift command line interface to deploy and configure OpenShift services etc.
  • helm = tool used to package and deploy OpenShift applications automatically
  • TPLS = Traffic Parrot License Server
  • TP = Traffic Parrot

If the end goal is to deploy Traffic Parrot in OpenShift, you need the following:

  • TPLS Docker image built and pushed to OpenShift Docker registry
  • TPLS Helm Chart built and deployed to OpenShift Cluster
  • TP Docker image built and pushed to OpenShift Docker registry
  • TP Helm Chart built and deployed to OpenShift Cluster

There will be several steps to deploy things in OpenShift that we need to go through:

  1. (One-time learning) Discuss the industry standard Docker and OpenShift workflow
  2. (One-time setup) Establish OpenShift cluster connectivity from your localhost
  3. (One-time setup) Establish Docker registry connectivity from your localhost
  4. (One-time learning) Discuss the client-specific OpenShift workflow (there may be additional steps beyond the industry standard ones)
  5. (One-time setup) Create a TPLS Docker image using podman
  6. (One-time test) Deploy TPLS in OpenShift using oc and test it works as expected
  7. (One-time test) Test that localhost TP can connect to OpenShift TPLS
  8. (One-time setup) Create a TP Docker image using podman
  9. (One-time test) Deploy TP and TPLS in OpenShift using oc and test it works as expected
  10. (One-time setup) Create a pipeline to deploy TPLS in OpenShift from GitHub sources
  11. (One-time setup) Create a pipeline to test TP API mocks and  deploy TP in OpenShift from GitHub sources
  12. (One-time setup) Create a client internal confluence page for API mocks developers on how to make changes to Traffic Parrot client API mocks and deploy them using the automated pipelines
  13. (One-time test) Test TP API mocks with a selected use case
  14. (Ongoing process) Develop TP API mocks locally, then commit configuration to GitHub (which will be deployed by a pipeline automatically to OpenShift)
  15. (Ongoing process) Run TP pipeline to test TP API mocks and deploy to OpenShift automatically with rolling releases for partners
We can help you with all those by providing standard scripts our customers use.


Monday 20 March 2023

Traffic Parrot 5.37.7 released, what's new?

We have just released version 5.37.7. Here is a list of the changes that came with the release:

Features

  • New HTTP request matching script can be used to e.g. match a request header using a regular expression
  • New {{evaluate}} helper to evaluate a JavaScript command
  • JMS recording now supports requests that use JMSReplyTo
  • JMS IBM MQ new toggle in connection to allow MQ JMS to copy request message id to response message id
  • RabbitMQ JMS improvements including:
    • RabbitMQ RPC support
    • RabbitMQ replyTo support
    • RabbitMQ virtual host support
    • Declare queue if it does not already exist in the broker on record/replay start using the arguments specified in the connection e.g. x-max-length
  • Object store improvements including:
    • All operations are now thread safe within a single Traffic Parrot instance
    • A default value can be specified to return if an object is not found
  • trafficparrot.virtualservice.handlebars.select.indexAndCacheCsvFiles property is now also taken into account for {{ dataSource }} CSV file access

Fixes

  • Allow API requests to set the Accept header with multiple content types, so long as the first one listed is application/json
  • Fixed an issue with the scenario dropdown when no default port specified
  • If there is an exception when starting, e.g. due to a missing property, startup fails immediately instead of waiting the full timeout duration to fail
  • If the trafficparrot.license does not exist on startup, a relevant message is now displayed in the UI
  • Improved compatibility with OpenShift 4 when using a TLS passthrough route to the license server

Changes

  • gRPC matching now returns the closest match if multiple candidate responses match and warns in the logs about multiple matches
  • Bundle third-party-licenses.zip instead of many small license text files, which were slow to extract on Windows