Add dynamic node unprovision role
Addition of an node-unprovision role that leverages dynamic inventory style path. Change-Id: Iec5b8e14af6e3f1ab3f48e40129d6f021b5e3338
This commit is contained in:
parent
5cf7a66de7
commit
7d6ba6a295
56
playbooks/roles/bifrost-unprovision-node-dynamic/README.md
Normal file
56
playbooks/roles/bifrost-unprovision-node-dynamic/README.md
Normal 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
|
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
ironic_url: "http://localhost:6385/"
|
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
# handlers file for bifrost-unprovision-node-dynamic
|
116
playbooks/roles/bifrost-unprovision-node-dynamic/meta/main.yml
Normal file
116
playbooks/roles/bifrost-unprovision-node-dynamic/meta/main.yml
Normal 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: []
|
@ -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
|
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
# vars file for bifrost-unprovision-node-dynamic
|
@ -53,13 +53,13 @@
|
|||||||
remote_user: "{{ testing_user }}"
|
remote_user: "{{ testing_user }}"
|
||||||
roles:
|
roles:
|
||||||
- role: bifrost-test-vm
|
- role: bifrost-test-vm
|
||||||
- hosts: localhost
|
- hosts: baremetal
|
||||||
connection: local
|
connection: local
|
||||||
name: "Unprovisions the test node"
|
name: "Unprovisions the test node"
|
||||||
sudo: no
|
sudo: no
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
roles:
|
roles:
|
||||||
- role: bifrost-unprovision-nodes
|
- role: bifrost-unprovision-node-dynamic
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
name: "Unprovisions the test node"
|
name: "Unprovisions the test node"
|
||||||
|
Loading…
Reference in New Issue
Block a user