CLI Integration Tests

Registered by Trevor McKay on 2014-02-27

Add CLI integration tests that run savanna CLI commands on an OpenStack Instance. This end-to-end integration testing validates CLI operation and is end-user focused, rather than api or client focused.

The CLI should be used for all operations that cause a state change. The client interface should be used to check the result of each operation.

The tests should cover:
* creation of a hadoop cluster, beginning with image registration, node and cluster template creation, and cluster launch
* teardown of the cluster and associated objects
* Execution of all supported EDP job types (and deletion of the objects associated with the job)
* cluster scaling

The tests should be implemented for each supported plugin type.

This blueprint includes the following work items, grouped by plugin type. Where
Prior blueprints that have been collapsed into this bp are listed for reference.

Vanilla plugin
--------------------

cluster launch [DONE https://review.openstack.org/75527]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-cluster-vanilla-integration-tests

cluster scale [OUTSTANDING / DEPENDENCY]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-cluster-scale-vanilla-integration-tests

java edp [DONE https://review.openstack.org/75527]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-java-edp-vanilla-integration-tests

mapreduce edp [DONE https://review.openstack.org/75527]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-mapreduce-edp-vanilla-integration-tests

hive edp [OUTSTANDING]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-hive-edp-vanilla-integration-tests

pig edp [DONE https://review.openstack.org/75527]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-pig-edp-vanilla-integration-tests

HDP plugin
-----------------

cluster launch [DONE]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-cluster-hdp-integration-tests

cluster scale [OUTSTANDING / DEPENDENCY]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-cluster-scale-hdp-integration-tests

java edp [DONE]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-java-edp-hdp-integration-tests

mapreduce edp [DONE]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-mapreduce-edp-hdp-integration-tests

hive edp [OUTSTANDING]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-hive-edp-hdp-integration-tests

pig edp [DONE]
https://blueprints.launchpad.net/python-savannaclient/+spec/cli-pig-edp-hdp-integration-tests

Vanilla 2 plugin
-----------------------

cluster launch [DONE]
cluster scale [OUTSTANDING / DEPENDENCY]
java edp [DONE]
mapreduce edp [DONE]
hive edp [OUTSTANDING / DEPENDENCY]
pig edp [DONE]

Blueprint information

Status:
Complete
Approver:
Sergey Lukjanov
Priority:
Medium
Drafter:
Trevor McKay
Direction:
Approved
Assignee:
Trevor McKay
Definition:
Approved
Series goal:
Accepted for 0.7.x
Implementation:
Implemented
Milestone target:
milestone icon 0.7.1
Started by
Sergey Lukjanov on 2014-02-28
Completed by
Sergey Lukjanov on 2015-08-19

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/cli-integration-tests,n,z

Addressed by: https://review.openstack.org/75527
    Add cli integration test

Addressed by: https://review.openstack.org/79071
    Add excutils and timeutils to openstack common

Addressed by: https://review.openstack.org/89360
    Restructure tests directory in preparation for cli integration tests

Addressed by: https://review.openstack.org/89371
    Stub integration tests for vanilla, vanilla2 and hdp plugins

Addressed by: https://review.openstack.org/89585
    Add cli cluster creation and teardown test

Addressed by: https://review.openstack.org/89692
    Add EDP jobs to cli integration tests

Addressed by: https://review.openstack.org/105603
    Jar files for pig and mapreduce EDP tests

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.