Additional inspection role and adding role to NV job script

Addition of an inspection role, the appropriate test and enrollment
playbooks, and an entry for the node inspection to take place as
part of the long running non-voting job for initial testing.

Implements: blueprint bifrost-inspector-support
Depends-On: I4ba3f0cf4ad6f5466e52f5d034bb217f06eec7dd
Change-Id: Iceaf96aaeedc99530fabe2af47bab414d689c3dd
This commit is contained in:
Julia Kreger 2015-10-08 16:35:13 -04:00
parent 28c784c3a3
commit 204dff820d
9 changed files with 115 additions and 1 deletions

View File

@ -10,3 +10,4 @@
become: no become: no
roles: roles:
- role: ironic-enroll-dynamic - role: ironic-enroll-dynamic
- { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool }

View File

@ -0,0 +1,57 @@
ironic-inspect-node
===================
Invokes ironic node introspection logic using the os_ironic_inspect module.
Requirements
------------
None at this time. See Dependencies.
Role Variables
--------------
uuid: The UUID of the node to invoke ironic node introspection upon.
This variable is not required if the node name is supplied as
ironic requires unique names.
name: A node name to invoke inspection upon. This variable is not
required if the node uuid value is supplied.
Dependencies
------------
This role is dependent upon the os_ironic_inspect module being
available for use.
Example Playbook
----------------
hosts: testvm
name: "Introspect node"
sudo: no
gather_facts: no
roles:
- role: ironic-inspect-node
License
-------
Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
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.
Author Information
------------------
Ironic Developers

View File

@ -0,0 +1,2 @@
---
# defaults file for ironic-inspect-node

View File

@ -0,0 +1,2 @@
---
# handlers file for ironic-inspect-node

View File

@ -0,0 +1,24 @@
---
galaxy_info:
author: Ironic Developers
description: Invoke ironic node hardware introspection.
company: OpenStack
license: Apache
min_ansible_version: 1.9
platforms:
- name: EL
versions:
- 7
- name: Fedora
versions:
- 20
- name: Ubuntu
versions:
- trusty
- name: Debian
versions:
- wheezy
categories:
- cloud
- cloud:openstack
dependencies: []

View File

@ -0,0 +1,21 @@
# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
#
# 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: "Execute node introspection"
os_ironic_inspect:
auth_type: None
auth: None
ironic_url: "{{ ironic_url }}"
uuid: "{{ uuid }}"
delegate_to: localhost

View File

@ -0,0 +1,2 @@
---
# vars file for ironic-inspect-node

View File

@ -68,6 +68,7 @@
connection: local connection: local
roles: roles:
- role: ironic-enroll-dynamic - role: ironic-enroll-dynamic
- { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool }
- hosts: baremetal - hosts: baremetal
name: "Creat configuration drive files and deploy machines." name: "Creat configuration drive files and deploy machines."
become: no become: no

View File

@ -48,7 +48,9 @@ ansible-playbook -vvvv -i inventory/bifrost_inventory.py \
test-bifrost-dynamic.yaml \ test-bifrost-dynamic.yaml \
-e testing_user=root \ -e testing_user=root \
-e download_ipa=false \ -e download_ipa=false \
-e create_ipa_image=true -e create_ipa_image=true \
-e inspect_nodes=true \
-e enable_inspector=true
EXITCODE=$? EXITCODE=$?
if [ $EXITCODE != 0 ]; then if [ $EXITCODE != 0 ]; then
@ -67,4 +69,6 @@ sudo cp /var/log/upstart/ironic-api.log .${LOG_LOCATION}/
sudo chown $USER ${LOG_LOCATION}/ironic-api.log sudo chown $USER ${LOG_LOCATION}/ironic-api.log
sudo cp /var/log/upstart/ironic-conductor.log ${LOG_LOCATION}/ sudo cp /var/log/upstart/ironic-conductor.log ${LOG_LOCATION}/
sudo chown $USER ${LOG_LOCATION}/ironic-conductor.log sudo chown $USER ${LOG_LOCATION}/ironic-conductor.log
sudo cp /var/log/upstart/ironic-inspector.log ${LOG_LOCATION}/
sudo chown $USER ${LOG_LOCATION}/ironic-inspector.log
exit $EXITCODE exit $EXITCODE