Istio Visrtual service is not working

Hi,
I have done setup with Istio for canary deployment approach. By following link Istio / Canary Deployments using Istio I have created VirtualService and DestinationRule. Below is kubernates yaml file. Expectation was if I pass header “testing=uat” it should call v2 service and rest all time V1 service but in response I can see its happening randomly and not dependent on header.

Service

---
kind: Service
apiVersion: v1
metadata:
  name: msr
  namespace: test
  labels:
    app: msr
spec:
  type: ClusterIP
  ports:
    - name: http-is
      port: 5555
  selector:
    app: msr


apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: msr-vs
  namespace: test
spec:
  hosts:
    - msr
  http:
  - match:
    - headers:
        testing:
          exact: uat
    route:
    - destination:
        host: msr
        subset: v2
  - route:
    - destination:
        host: msr
        subset: v1

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: msr-dr
  namespace: test
spec:
  host: msr
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2

Please help what exactly I can check. On deployed pod I can see it is showing as 2/2 with one container as “istio-proxy”

I can see below details in Kiali UI board , please see if this one help to identify issue.

image