Functional testing: Add tests to cover current functionality

Registered by Antoni Segura Puimedon

We did a lot of development before we got the kuryr tempest plugin. Now that we have it we should add the following test cases to make sure that we cover most of the codebase:

- Spawn a pod and a second one that successfully pings the first
- Spawn an http server pod with readiness and liveness probes to make sure kubelet -> pod probes work
- spawn a pod and a VM and test communication
- spawn a service with three pods and another pod that consumes the service verifying that all the endpoints answer
- Same but resizing the service and checking that no connections are lost
- Port pools
    - Create a Pod, then create N - 1 pods where N is the batch creation size. Ensure that only one neutron port creation operation happened.
    - Create N Pod and delete M pods where M < N. Check that N-M ports where returned to the pool

Blueprint information

Status:
Started
Approver:
Antoni Segura Puimedon
Priority:
High
Drafter:
Antoni Segura Puimedon
Direction:
Approved
Assignee:
Gena
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Good progress
Milestone target:
milestone icon queens-2
Started by
Daniel Mellado

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:pod_icmp,n,z

Addressed by: https://review.openstack.org/515357
    Add icmp sg rules to k8s project

Addressed by: https://review.openstack.org/#/c/518034/
    Enable Neutron Metadata Agent in Tempest jobs

Addressed by: https://review.openstack.org/#/c/510896/
    Add scenario test manager

(?)

Work Items

Work items:
Create Tempest Plugin: DONE
Design the Scenario Manager: DONE
Integrate with python Kubernetes client: DONE
Modify DevStack plugin to allow icmp to pod project: DONE
Add initial vm to pod ping test: DONE
Address the remaining tests: TODO

This blueprint contains Public information 
Everyone can see this information.