Simple deployment and scheduling tool for bare metal
Go to file
Steve Baker 6c5e68a443 Do a precise node lookup for unprovision
A hostname or name is passed to the unprovision call, and the node is
looked up by allocation name (hostname), falling back to node name.

This can result in the wrong node being unprovisioned in the following
scenario:
* node and hostname naming scheme are identical
* node and hostname names are mixed because allocation placement
  doesn't take the node name into account
* a node has already been unprovisioned by hostname (allocation)
  lookup
* unprovision is performed a second time, this time matching the
  hostname with a different node's name
* the wrong node is unprovisioned

The unprovision_node method can also take a node object instead of a
string identifier, so this change does a precise node lookup before
calling it. This means only hostnames are used for allocation lookups,
and node names for node lookups.

Change-Id: I9507f8d30c871ae62a250148789393695d59183a
Resolves: rhbz#2092444
2022-07-12 08:55:39 +00:00
doc Update pep8 test requirements 2021-10-28 14:53:49 +02:00
metalsmith Do a precise node lookup for unprovision 2022-07-12 08:55:39 +00:00
metalsmith_ansible Do a precise node lookup for unprovision 2022-07-12 08:55:39 +00:00
playbooks/integration Add linters job 2022-07-12 10:05:31 +02:00
releasenotes Update master for stable/yoga 2022-03-07 14:07:52 +00:00
tools Add linters job 2022-07-12 10:05:31 +02:00
.gitignore Add release notes 2018-10-16 15:24:20 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:31:09 +00:00
.stestr.conf Switch to stestr for unit tests 2018-09-10 13:05:02 +02:00
.zuul.yaml Add linters job 2022-07-12 10:05:31 +02:00
LICENSE Initial commit 2015-08-27 11:33:12 +02:00
README.rst Expose Allocation objects on Instance 2019-05-16 12:15:52 +02:00
requirements.txt Uncap PrettyTable 2021-02-20 10:22:50 +08:00
roles Move roles into a standard directory layout 2020-07-01 13:30:35 +12:00
setup.cfg Re-add python 3.6/3.7 in classifier 2021-12-13 19:44:49 -06:00
setup.py Cleanup py27 support 2020-04-05 18:08:09 +02:00
test-requirements.txt Move pep8 requirements to tox.ini 2020-12-09 14:38:01 +01:00
tox.ini Add linters job 2022-07-12 10:05:31 +02:00

README.rst

Deployment and Scheduling tool for Bare Metal

image

Overview

This is a simple tool to provision bare metal machines using OpenStack Bare Metal Service (ironic) and, optionally, OpenStack Image Service (glance) and OpenStack Networking Service (neutron).

Installation

pip install --user metalsmith

Note

The current versions of metalsmith require Bare Metal API from the Stein release or newer. Use the 0.11 release series for older versions.

Contributing