diff --git a/roles/bifrost-unprovision-nodes/README.md b/roles/bifrost-unprovision-nodes/README.md new file mode 100644 index 000000000..48d098c78 --- /dev/null +++ b/roles/bifrost-unprovision-nodes/README.md @@ -0,0 +1,47 @@ +bifrost-unprovision-nodes +========================= + +This role unprovisions nodes. Essentially calls `ironic node-set-provisioned-state 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 diff --git a/roles/bifrost-unprovision-nodes/defaults/main.yml b/roles/bifrost-unprovision-nodes/defaults/main.yml new file mode 100644 index 000000000..4086025da --- /dev/null +++ b/roles/bifrost-unprovision-nodes/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for bifrost-unprovision-nodes diff --git a/roles/bifrost-unprovision-nodes/handlers/main.yml b/roles/bifrost-unprovision-nodes/handlers/main.yml new file mode 100644 index 000000000..69f92c4d6 --- /dev/null +++ b/roles/bifrost-unprovision-nodes/handlers/main.yml @@ -0,0 +1,2 @@ +--- +# handlers file for bifrost-unprovision-nodes diff --git a/roles/bifrost-unprovision-nodes/meta/main.yml b/roles/bifrost-unprovision-nodes/meta/main.yml new file mode 100644 index 000000000..12a56b50c --- /dev/null +++ b/roles/bifrost-unprovision-nodes/meta/main.yml @@ -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: [] diff --git a/roles/bifrost-unprovision-nodes/tasks/main.yml b/roles/bifrost-unprovision-nodes/tasks/main.yml new file mode 100644 index 000000000..5e6784e0f --- /dev/null +++ b/roles/bifrost-unprovision-nodes/tasks/main.yml @@ -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 }} diff --git a/roles/bifrost-unprovision-nodes/vars/main.yml b/roles/bifrost-unprovision-nodes/vars/main.yml new file mode 100644 index 000000000..afad72860 --- /dev/null +++ b/roles/bifrost-unprovision-nodes/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for bifrost-unprovision-nodes diff --git a/test-bifrost.yaml b/test-bifrost.yaml index 639009f67..afbaf66ff 100644 --- a/test-bifrost.yaml +++ b/test-bifrost.yaml @@ -38,9 +38,16 @@ # The testvm Host group is added by bifrost-prepare-for-test based # on the contents of the CSV file. - hosts: testvm - name: "Executes install, enrollment, and testing in one playbook" + name: "Tests connectivity to the VM" sudo: no gather_facts: yes remote_user: ubuntu roles: - role: bifrost-test-vm +- hosts: localhost + connection: local + name: "Unprovisions the test node" + sudo: no + gather_facts: yes + roles: + - role: bifrost-unprovision-nodes