Merge "Add dynamic node unprovision role"

This commit is contained in:
Jenkins 2015-06-25 16:52:55 +00:00 committed by Gerrit Code Review
commit da8a288b52
7 changed files with 203 additions and 2 deletions

View File

@ -0,0 +1,56 @@
bifrost-unprovision-node-dynamic
=================================
This role unprovisions nodes. Essentially calls `ironic node-set-provisioned-state <uuid> deleted`
Requirements
------------
An enrolled node, with the node uuid set as a host level variable.
The os_ironic_node module is required.
Role Variables
--------------
uuid: The UUID value for the node, at the host level.
ironic_url: The setting defining the URL to the Ironic API. Presently defaulted to: "http://localhost:6385/"
Dependencies
------------
This role has no roles that it is directly dependent upon, but expects that the environment has been installed with the ironic-install role.
Example Playbook
----------------
- hosts: baremetal
connection: local
name: "Unprovisions the test node"
sudo: no
gather_facts: no
roles:
- role: bifrost-unprovision-node-dynamic
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 @@
---
ironic_url: "http://localhost:6385/"

View File

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

View File

@ -0,0 +1,116 @@
---
galaxy_info:
author: Ironic Developers
description: Unprovisions nodes in Ironic
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,23 @@
# 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_type: None
auth: None
ironic_url: "{{ ironic_url }}"
uuid: "{{ uuid }}"
state: absent
instance_info: "{}"
delegate_to: localhost

View File

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

View File

@ -53,13 +53,13 @@
remote_user: "{{ testing_user }}"
roles:
- role: bifrost-test-vm
- hosts: localhost
- hosts: baremetal
connection: local
name: "Unprovisions the test node"
sudo: no
gather_facts: no
roles:
- role: bifrost-unprovision-nodes
- role: bifrost-unprovision-node-dynamic
- hosts: localhost
connection: local
name: "Unprovisions the test node"