Add tests for the ironic CLI
This is an initial set of tests of the ironicclient intended to show that the ironic role has been installed and that the API is responding correctly. Tests are: - list chassis - list nodes - list drivers - create node - validate node - create port - update node - delete node Change-Id: I98e67e076bce8711cb1c8e0f8b2e9ae0d89d520d
This commit is contained in:
parent
649c4ea122
commit
7e8a647985
103
tests/test-ironic-cli.yml
Normal file
103
tests/test-ironic-cli.yml
Normal file
@ -0,0 +1,103 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
- name: Test the ironic CLI
|
||||
hosts: hosts
|
||||
user: root
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: Run the ironic chassis-list command
|
||||
shell: >
|
||||
. /root/openrc && ironic chassis-list
|
||||
register: chassis_table
|
||||
- name: Check that the chassis-list command succeeded
|
||||
assert:
|
||||
that:
|
||||
- "'Description' in chassis_table.stdout"
|
||||
|
||||
- name: Run the ironic node-list command
|
||||
shell: >
|
||||
. /root/openrc && ironic node-list
|
||||
register: node_table
|
||||
- name: Check that the node-list command succeeded
|
||||
assert:
|
||||
that:
|
||||
- "'UUID' in node_table.stdout"
|
||||
|
||||
- name: Run the ironic driver-list command
|
||||
shell: >
|
||||
. /root/openrc && ironic driver-list
|
||||
register: driver_table
|
||||
- name: Check that the driver-list command succeeded
|
||||
assert:
|
||||
that:
|
||||
- "'Supported' in driver_table.stdout"
|
||||
|
||||
- name: Create a node
|
||||
shell: >
|
||||
. /root/openrc && ironic node-create -d agent_ipmitool
|
||||
-i ipmi_address=1.2.3.4
|
||||
-i ipmi_password="TrickyPa55"
|
||||
-i ipmi_username="admin"
|
||||
-i deploy_ramdisk="http://example.com/ramdisk.qcow"
|
||||
-i deploy_kernel="http://example.com/kernel.tgz"
|
||||
-n happynode
|
||||
register: node_created
|
||||
- name: Check that the node was created
|
||||
assert:
|
||||
that:
|
||||
- "'happynode' in node_created.stdout"
|
||||
- "'agent_ipmitool' in node_created.stdout"
|
||||
- "'1.2.3.4' in node_created.stdout"
|
||||
- "'admin' in node_created.stdout"
|
||||
- "'http://example.com/ramdisk.qcow' in node_created.stdout"
|
||||
- "'http://example.com/kernel.tgz' in node_created.stdout"
|
||||
|
||||
- name: Run the node-validate command
|
||||
shell: >
|
||||
. /root/openrc && ironic node-validate happynode
|
||||
register: node_validated
|
||||
- name: Check that node-validate returned something sensible
|
||||
assert:
|
||||
that:
|
||||
- "'Reason' in node_validated.stdout"
|
||||
|
||||
- name: Create a port
|
||||
shell: >
|
||||
. /root/openrc && ironic port-create -n $(ironic node-list | grep 'happynode' | cut -f 2 -d "|") -a de:ad:be:ef:de:ad
|
||||
register: port_created
|
||||
- name: Check that the port was created
|
||||
assert:
|
||||
that:
|
||||
- "'de:ad:be:ef:de:ad' in port_created.stdout"
|
||||
|
||||
- name: Update a node (in this case, change its name)
|
||||
shell: >
|
||||
. /root/openrc && ironic node-update happynode replace name=cheerynode
|
||||
register: name_changed
|
||||
- name: Check that the name was changed
|
||||
assert:
|
||||
that:
|
||||
- "'cheerynode' in name_changed.stdout"
|
||||
|
||||
- name: Remove a node
|
||||
shell: >
|
||||
. /root/openrc && ironic node-delete cheerynode
|
||||
register: node_deleted
|
||||
- name: Check that a node was deleted
|
||||
assert:
|
||||
that:
|
||||
- "'Deleted' in node_deleted.stdout"
|
||||
|
@ -34,4 +34,5 @@
|
||||
# Test REST API
|
||||
- include: test-rest-api.yml
|
||||
|
||||
|
||||
# Test the ironicclient CLI
|
||||
- include: test-ironic-cli.yml
|
||||
|
Loading…
Reference in New Issue
Block a user