Adding basic role to unprovision nodes

Added a basic role which, in the same style as other roles,
unprovisions the nodes created.

Added to the test-bifrost.yaml playbook as it will be useful
in the testing sequence.
This commit is contained in:
Julia Kreger 2015-03-25 20:55:16 -04:00
parent 777ab9691c
commit e71534d6ed
7 changed files with 202 additions and 1 deletions

View File

@ -0,0 +1,47 @@
bifrost-unprovision-nodes
=========================
This role unprovisions nodes. Essentially calls `ironic node-set-provisioned-state <uuid> deleted`
Requirements
------------
An enrolled node, and a baremetal.csv file provided via the environment variable baremetal_csv_file.
Role Variables
--------------
TODO
Dependencies
------------
TODO
Example Playbook
----------------
TODO
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 orimplied.
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 bifrost-unprovision-nodes

View File

@ -0,0 +1,2 @@
---
# handlers file for bifrost-unprovision-nodes

View File

@ -0,0 +1,116 @@
---
galaxy_info:
author: Ironic Developers
description:
company: OpenStack
license: Apache
min_ansible_version: 1.9
#
# Below are all platforms currently available. Just uncomment
# the ones that apply to your role. If you don't see your
# platform on this list, let us know and we'll get it added!
#
platforms:
#- name: EL
# versions:
# - all
# - 5
# - 6
# - 7
#- name: GenericUNIX
# versions:
# - all
# - any
#- name: Fedora
# versions:
# - all
# - 16
# - 17
# - 18
# - 19
# - 20
#- name: SmartOS
# versions:
# - all
# - any
#- name: opensuse
# versions:
# - all
# - 12.1
# - 12.2
# - 12.3
# - 13.1
# - 13.2
#- name: Amazon
# versions:
# - all
# - 2013.03
# - 2013.09
#- name: GenericBSD
# versions:
# - all
# - any
#- name: FreeBSD
# versions:
# - all
# - 8.0
# - 8.1
# - 8.2
# - 8.3
# - 8.4
# - 9.0
# - 9.1
# - 9.1
# - 9.2
#- name: Ubuntu
# versions:
# - all
# - lucid
# - maverick
# - natty
# - oneiric
# - precise
# - quantal
# - raring
# - saucy
- trusty
#- name: SLES
# versions:
# - all
# - 10SP3
# - 10SP4
# - 11
# - 11SP1
# - 11SP2
# - 11SP3
#- name: GenericLinux
# versions:
# - all
# - any
#- name: Debian
# versions:
# - all
# - etch
# - lenny
# - squeeze
# - wheezy
#
# Below are all categories currently available. Just as with
# the platforms above, uncomment those that apply to your role.
#
categories:
- cloud
- cloud:openstack
#- cloud:gce
#- cloud:rax
#- clustering
#- database
#- database:nosql
#- database:sql
#- development
#- monitoring
#- networking
#- packaging
#- system
#- web
dependencies: []

View File

@ -0,0 +1,25 @@
# 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: "Unprovision node"
os_ironic_node:
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
uuid: "{{item.split(',')[9]}}"
state: absent
instance_info: "{}"
delegate_to: localhost
with_lines:
- cat {{ baremetal_csv_file }}

View File

@ -0,0 +1,2 @@
---
# vars file for bifrost-unprovision-nodes

View File

@ -38,9 +38,16 @@
# The testvm Host group is added by bifrost-prepare-for-test based # The testvm Host group is added by bifrost-prepare-for-test based
# on the contents of the CSV file. # on the contents of the CSV file.
- hosts: testvm - hosts: testvm
name: "Executes install, enrollment, and testing in one playbook" name: "Tests connectivity to the VM"
sudo: no sudo: no
gather_facts: yes gather_facts: yes
remote_user: ubuntu remote_user: ubuntu
roles: roles:
- role: bifrost-test-vm - role: bifrost-test-vm
- hosts: localhost
connection: local
name: "Unprovisions the test node"
sudo: no
gather_facts: yes
roles:
- role: bifrost-unprovision-nodes