{{- /*
# Copyright 2018-present Open Networking Foundation
# Copyright 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*/ -}}

Congratulations! You have installed SR-IOV network device plugin into your Kubernetes cluster.

Your configurations for SR-IOV network device plugin as following:

    10-Gigabit NIC PCI address: {{ .Values.sriov.devicepci }}
    SR-IOV device type: {{ .Values.sriov.devicetype }}

You can run following command to check SR-IOV is working in Kubernetes cluster:

    $ kubectl -n kube-system -l name=sriov-device-plugin -o wide get pods
    $ kubectl get nodes -o json | jq -r '.items[] | "\(.metadata.name): \(.status.allocatable)"'

    node1: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov":"63","memory":"31776336Ki","pods":"110"}
    node2: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov":"63","memory":"31776336Ki","pods":"110"}

The result should show "intel.com/sriov" resource is registered to cluster, and have some virtual function available here.
