Create user defined "NodePort" services per pod 29/57529/5
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Wed, 16 May 2018 16:50:09 +0000 (17:50 +0100)
committerRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Thu, 14 Jun 2018 07:16:01 +0000 (07:16 +0000)
commitc601ff364311f0aae04b40b1672ea47bb487c327
treeb5a49a59e64be8f77627d334dbe1b242dd9481d8
parentdeca2856353603b6ac8a016a4a2aedab465953e9
Create user defined "NodePort" services per pod

This feature will give the user the ability to create user defined "NodePort"
services per pod, a part from the default SSH port created, by default, for
each pod created.

Example of Kubernetes yaml definition:
  apiVersion: v1
  kind: Servicemeta
  data:
    name: pod-1-service-nodeport
  spec:
    type: NodePort
    ports:
      - name: web
        port: 80
        targetPort: 8888
        nodePort: 33333
    clusterIP: 10.254.0.8
    selector:
      app: pod-1

Example of Yardstick test case definition:
  context:
    type: Kubernetes
    servers:
      host:
        containers:
          - image: ...
            securityContext:
              allowPrivilegeEscalation: false
          - image: ...
        node_ports:
          - port: <port number>         # Mandatory
            name: <port name>           # Optional
            targetPort: <port name>     # Optional, default: targetPort=port
            nodePort: <port number>     # Optional, assigned by Kubernetes

Kubernetes service, type "NodePort" [1]

[1] https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport

JIRA: YARDSTICK-1181

Change-Id: Ia7730e4569d5526d573402a98c27d55c5c82cdef
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
yardstick/orchestrator/kubernetes.py
yardstick/tests/unit/benchmark/contexts/test_kubernetes.py
yardstick/tests/unit/orchestrator/test_kubernetes.py