Adding ironic-delete role

Adding ironic-delete role to remove hosts that have been added
to Ironic.
This commit is contained in:
Julia Kreger 2015-03-26 09:31:47 -04:00
parent 659e97a812
commit 76a23b09f9
6 changed files with 204 additions and 0 deletions

View File

@ -0,0 +1,46 @@
ironic-delete
=============
Removes nodes from Ironic utilizing the os_ironic Ansible module that is installed by Bifrost.
Requirements
------------
TODO
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 @@
---

View File

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

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,37 @@
# 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: "Error if variable baremetal_csv_file is not defined"
fail: msg="baremetal_csv_file must be defined for this playbook to execute, please pass option '-e baremetal_csv_file=<path/to/file>'"
when: baremetal_csv_file is not defined
- name: "Validate that CSV file exists"
stat: path={{ baremetal_csv_file }}
register: test_baremetal_csv_file
- name: "Error if file does not exist."
fail: msg="The variable defined for baremetal_csv_file is not to a file. Please define a file and try again."
when: test_baremetal_csv_file.stat.isreg == false
- name: "Delete Hardware"
os_ironic:
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
driver: "agent_ipmitool"
uuid: "{{item.split(',')[9]}}"
state: absent
nics:
- mac: "{{item.split(',')[0]}}"
driver_info: "{}"
delegate_to: localhost
with_lines:
- cat {{ baremetal_csv_file }}

View File

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