Simple deployment and scheduling tool for bare metal
Go to file
Dmitry Tantsur 51a006e307 Rework scheduling filters
Remove ValidationFilter, make it a part of reservation to avoid calling
it too many times. Fix AttributeError on failing the custom predicate.
Remove double validation in the reserver, we do another validation later
on anyway.

BREAKING: changes the exception classes.

Change-Id: Ibc3815989917ab777298a05810fd8f3e64debc8f
Story: #2003584
Task: #26178
2018-09-07 15:37:33 +02:00
doc Simple role to deploy instances 2018-06-11 11:01:08 +02:00
metalsmith Rework scheduling filters 2018-09-07 15:37:33 +02:00
playbooks/integration Restore CI coverage for pre-created ports 2018-09-07 11:51:02 +02:00
roles/metalsmith_deployment Support for HTTP image location 2018-09-07 10:04:38 +02:00
.gitignore Add docs generation (+ clean up) 2018-05-18 13:12:29 +02:00
.gitreview Migrate to OpenStack infra 2018-05-14 19:24:51 +02:00
.zuul.yaml Restore CI coverage for pre-created ports 2018-09-07 11:51:02 +02:00
LICENSE Initial commit 2015-08-27 11:33:12 +02:00
README.rst CLI: use --resource-class instead of a positional argument 2018-06-18 16:20:27 +02:00
lower-constraints.txt Add a lower-constraints job 2018-05-29 10:25:00 +02:00
requirements.txt Support for HTTP image location 2018-09-07 10:04:38 +02:00
setup.cfg Migrate jobs in-tree and add a Python 3.6 job 2018-09-04 09:41:24 +02:00
setup.py Update from Pike requirements 2017-09-20 12:26:47 +02:00
test-requirements.txt Simple role to deploy instances 2018-06-11 11:01:08 +02:00
tox.ini Simple role to deploy instances 2018-06-11 11:01:08 +02:00

README.rst

Deployment and Scheduling tool for Bare Metal

Overview

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

Installation

pip install --user metalsmith

CLI Usage

Generic usage is as follows:

metalsmith --os-cloud <CLOUD NAME> deploy --image <GLANCE IMAGE> \
    --network <NEUTRON NET> --ssh-public-key <PATH TO SSH PUBLIC KEY> \
    --resource-class <RESOURCE CLASS>

This is an example suitable for TripleO (replace compute with the profile you want to deploy):

source ~/stackrc
metalsmith deploy --image overcloud-full --network ctlplane \
    --capability profile=compute --ssh-public-key ~/.ssh/id_rsa.pub \
    --resource-class baremetal

To remove the deployed instance:

metalsmith --os-cloud <CLOUD NAME> undeploy <NODE UUID>

For all possible options see the built-in help:

metalsmith --help

Contributing