Commit Graph

42 Commits (master)

Author SHA1 Message Date
Jay Faulkner 03b8f4dd11 Revamp Ironic dev-quickstart documentation
This is a significant improvement and update to Ironic contributor
documentation, as an attempt to make it easier for new Ironic
contributors to onboard.

It is not perfect, but it's significantly better than the existing

What this change does:
- Improve dev-quickstart guide, make it easier to find
  devstack configurations.
- Removes information that can bit-rot over time and replaces with
  more generic information.
- Provides an actual working, tested, Ironic+Nova devstack conf

What hasn't been done:
- Testing of Ironic BFV or Multitenant networking devstack confs
- Validation that the local development method still works
- There is a ton more information about how to use these testing
  envs (both bifrost and devstack) which could be added.
- System prerequsities and Python prerequisites under the unit
  tests section has bitrotted considerably; they have not been
  significantly modified and will be fixed in a future commit.

Change-Id: I0cdfe50042fabb6b65633961fc418aff5d6ebfe3
2023-08-23 15:14:47 -07:00
Julia Kreger 1435a15ce3 Fix allocations default table type
In trying to figure out why I was unable to run
all of the test_migrations tests, I realized we need
to fix and clean up our unicode declarations.

Specifically, the way I found this was my local mysql
install was defaulted to using 4 Byte Unicode characters,
however some of our fields are 255 characters, which do not
fit inside of InnoDB tables.

They do, however fit with the "utf8" storage alias, which is
presently short for UTF8MB3, as opposed to UTF8MB4 which is
what my local database server was configured for. Because this
was in opportunistic tests, I wasn't able to really sort out
what was going on and thought we needed to shorten the fields.

In reality, it turns out we never defined the allocations
table to use UTF8 and Innodb for storage.

Storage engine wise, this is not a big deal, but may mean a
DBA will one day need to dump and reload the allocation table
of a deployment.

Character set wise... It is not great, but there is not a good
way for us to do this programatically. In my opinion, the chance
of an issue being encountered by an operator is unlikely, which
out weighs the risk and impact of dumping the entire table,
deleting the table, recreating the table with the updated schema
and then repopulating the entries. Of course, if operators are not
using allocations, then it really doesn't matter for them.

Along the way, I discovered we had used the "UTF8" type alias,
which may change one day, which would break Ironic. As such,
I've also updated the definitions used to create databases
and updated our documentation.

Recommended reading:

Story: 2010348
Task: 46492

Change-Id: I4103152489bf61e2d614eaa297da858f7b2112a3
2022-10-13 21:21:24 +00:00
Julia Kreger b5872c9032 Set glance limit for baremetal friendly images
The devstack default limit enforcement for glance defaults
to 1GB, and unfortunately this is too small for many to use
larger images such as centos which includes hardware firmware
images for execution on baremetal where drivers need the vendor
blobs in order to load/run.

Sets ironic-base to 5GB, and updates examples accordingly.

Change-Id: I41294eb571d07a270a69e5b816cdbad530749a94
2021-07-19 10:32:43 -07:00
Zuul 270792377d Merge "Bye-bye iSCSI deploy, you served us well" 2021-05-05 13:12:32 +00:00
Dmitry Tantsur 929907d684 Bye-bye iSCSI deploy, you served us well
The iSCSI deploy was very easy to start with, but it has since become
apparently that it suffers from scalability and maintenance issues.
It was deprecated in the Victoria cycle and can now be removed.

Hide the guide to upgrade to hardware types since it's very outdated.

I had to remove the iBMC diagram since my SVG-fu is not enough to fix it.

Change-Id: I2cd6bf7b27fe0be2c08104b0cc37654b506b2e62
2021-05-04 14:28:25 +02:00
Riccardo Pittau da88ce8cdd Update basic local.conf for quickstart
Updating the local.conf example basic configuration for development
quickstart based on recent updates.
This has been tested on ubuntu focal, current base opearting system used
for CI jobs.

Change-Id: I102bef55bef1c944991fbcba7547cd51c03fc7be
2021-04-21 10:42:42 +02:00
Riccardo Pittau 5c36615a9c Update dev quickstart docs
Change-Id: I2d7f4e617afacf3559ddc8614e7a794fb52b2c2c
2021-03-10 16:34:10 +01:00
likui d99a52f2cf update python packages to python3 in quickstart.rst
since 'train' cycle, we should test python3 by default.

Change-Id: Iadba4098e7ff5b9456fd0224353e55aad73a2b5b
2020-12-27 16:19:03 +08:00
Adam Young 7cb757d7b7 Change auth type to none in dev-quickstart
The OS_AUTH_TYPE=token_endpoint plugin has been removed from Keystoneauth1
Setting that value as an envvar triggers a stack trace when performing
baremetal driver list

Change-Id: Ieb9c12f29c2f4df1ba89b792442e1768c8aee8a4
2020-10-15 14:18:10 -04:00
Kafilat Adeleke acdf1dc772 Updates ironic documentation
Updates ironic documentation to change "openstack baremetal" to "baremetal"

Change-Id: I95afa010aeb4fb08aff05adf0cfb7a200db8a53f
Story: #2008194
Task: #40962
2020-10-07 09:46:34 -07:00
Riccardo Pittau 1f18a2820f Increase VM RAM value in local.conf example
Based on recent changes that make dib image to be default in CI,
the base RAM in the local.conf example should be increased to
2048, which is the minimum recommended to run the centos8 ramdisk.

Change-Id: If8b0a3bbdce8cd1e6d564c9b7b9505729e4eec26
2020-04-10 10:46:56 +02:00
Iury Gregory Melo Ferreira 5b07374fd8 Add info on how to enable ironic-tempest-plugin
To run the ironic tempest tests in DevStack locally it's
necessary to clone the ironic-tempest-plugin repository, and
add TEMPEST_PLUGINS in the local.conf

Change-Id: Iad7ca2c1f2ab5ab49493f9c7fe4738fc0bcdb5f4
2020-03-23 19:22:42 +01:00
Wang Jerry 82b17f0b04 Remove those switches for python2.
Change-Id: Id00d8886b2025203ec0023092064aa8f70904202
2019-12-26 08:41:46 +00:00
Dmitry Tantsur daa26b85db docs: update the local development quickstart to use JSON RPC
No need to make everyone install rabbitmq just to play with ironic.
Also make it clearer that MySQL is not required.

Change-Id: Ib286f30f16579815ca05c8477f7fd446cad6e453
2019-11-25 12:52:26 +01:00
Riccardo Pittau a25589b20f docs: use openstackdocstheme extlink extension
The extlink extension [1] ensures the urls have version-specific
references to other projects.


Change-Id: I0d5d445fae8a7ec60f6a9caacede7cc77770b36e
Story: 2006621
Task: 36825
2019-10-08 11:12:05 +02:00
Manuel Buil cad66b0323 Update env. variables in the documentation
This patch:

changes the variables that must be exported to use ironic in standalone
mode. The old env. variables:

export OS_URL=http://localhost:6385/
export OS_TOKEN='fake-token'

must be replaced by:

export OS_ENDPOINT=http://localhost:6385/
export OS_AUTH_TYPE=none

Change-Id: Ia2ae95af66f701198d5e3174a7cb5564664ae038
Signed-off-by: Manuel Buil <>
2019-09-23 15:14:42 +02:00
ZhongShengping a280696a03 Replace URLs with URLs
Thorough replacement of URLs with their

Change-Id: Ic19e45986e9f650c1deb297f463e679fd268ad97
2019-04-24 16:13:58 +08:00
Ian Wienand 228dfe308a Replace git:// URLs with https://
This is a mechanically generated change to replace
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (,
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

Change-Id: Ie1be8a026e88eba235bce29fe0504e35e03afe8e
2019-03-24 20:33:50 +00:00
Riccardo Pittau 578805b34b [trivial] Removing python 3.5 template jobs
Also correcting docs as we don't have a py35 environment

Change-Id: I409db4b73a2dedf283107708e7eea105549da867
2019-02-22 12:21:25 +01:00
jiapei 016b7dd6c5 Fix ironic developer quickstart document
The running tempest section has a deprecated option "all-plugin",
if developer follows the steps, he will get an InvocationError.
This patch is going to fix it and a broken URL.

Change-Id: I7874817d06309287cba27d2a3d3ec7fe7c8122a2
Story: 2004139
Task: 27605
Co-Authored-By: Iury Gregory Melo Ferreira <>
2018-10-22 14:49:59 +00:00
Iury Gregory Melo Ferreira 7a551c4f4a Remove Vagrant
The files for Vagrants are too outdated, this patch removes the
information about Vagrant in the documentation and the old files
used to set up a Vagrant environment.

Change-Id: Ieee7b76172874e67bb31055c0c40beb41785f7bb
2018-10-16 10:49:19 -04:00
Kaifeng Wang f409a869ef Reformat instructions related with various OS
Follow up to "Ironic behind mod wsgi" documentation [1].

This reformats instructions and clears TODOs in the document,
similar places were found and fixed in this patch as well.

References to Fedora 21 are removed.


Change-Id: I3ded2614306df3f6ce4b1d14526b061dcaa7b829
2018-08-13 09:05:50 +08:00
Will Szumski a033b250ad Document locale requirement for local testing
locale for tests is explicily set to en_US.UTF8 in tox.ini

Change-Id: I0e52720406bceaedd4c33b988ab3da131fc95cb1
Story: 2003177
Task: 23323
2018-07-31 10:37:30 +01:00
Hironori Shiina 2822e05673 Doc: Remove -r option for running a specific unit test
Now that os-testr was replaced with stestr for running unit tests, -r
options is no longer necessary to pass a regex to the test runner.

Change-Id: I2d3738e3af47a4a01db3223941e07e68537b5a5c
2018-06-18 12:06:16 +09:00
Julia Kreger d2f2afa249 Install OSC during quickstart
The quickstart doc was missing the step of installing
python-openstackclient which has become necessary to provide
the `openstack` command. This was not required when the doc
was originally written as we then used the `ironic` command.

Change-Id: Ia529a37730b1df6c6574e10d97a25bc2e547647a
2018-05-08 14:33:36 -07:00
melissaml 909c2678be Trivial: Update pypi url to new url
Pypi url changed from [1] to [2]


Change-Id: I43637859b8c183c8ca17200b337845385e546973
2018-04-21 04:02:09 +08:00
Dmitry Tantsur 152f45c993 Switch contributor documentation to hardware types
Also write a bit more meaningful documentation on writing drivers with
helpful links to move forward.

Change-Id: Id76705efabaf93a76a1370bc2e1d998622e82ac9
Partial-Bug: #1690185
2018-02-14 14:40:38 -08:00
Vladyslav Drok 3363fce3be Remove unnecessary lines from sample local.conf
Nova network service does not exist anymore, so no need to disable
it, as well as enable neutron as it is enabled by default. Heat is
not enabled by default, so there is no need to disable it.

Change-Id: I6dea2ec9bde717462b6974c001bc23b2ad8c6d94
2018-02-07 21:14:11 +00:00
Dmitry Tantsur f02ef8ad7a Rework drivers page in the admin documentation
First, "Enabling Drivers" is a really confusing title, since this page
links to complete driver documentation. It also links to IPA docs and
the PXE driver interface.

Next, our documentation is full of remarks about e.g. "pxe_* family of
drivers", which are misleading in the presence of hardware types and
the pxe_agent_cimc driver. We also have mentions of "iscsi deploy method"
without detailed explanation of how this method relates to hardware types
and classic drivers.

This change consolidates drivers and interfaces documentation under
the more clearly named root page. A new page is created with sections for
both deploy interfaces to use for linking from wherever a link to
a particular deploy interface is required.

Change-Id: Ifb8328ccaaac443fac276873e2c375ebcf983f03
2017-11-22 14:59:57 +01:00
Pavlo Shchelokovskyy ca14146e03 Migrate to stestr as unit tests runner
Recent update brought os-testr 1.0.0 that already uses stestr test
runner instead of testrepository.

This patch migrates those places using testrepository to using stestr.

Change-Id: I793617e042b38aea4cb177b51b6a7ba4a9268f3c
2017-09-22 08:56:34 +00:00
Ruby Loo a2f504e9c9 [contributor docs] ironic -> OSC baremetal CLI
For the contributor documents, all the 'ironic' CLI commands are
replaced with their equivalent 'openstack baremetal' CLI commands.

Change-Id: I5b97e4bb8fc15a9544c1b8fa9b9603c4568020c7
Partial-Bug: #1711235
2017-08-30 13:13:58 -04:00
chao liu 4296c9371e Fix to use "." to source script files
Adhering to coding conventions. Refer to ``Code conventions`` at for details.

Change-Id: Ifc19ac8bf788a137436e7b957798583bdbbeef79
2017-08-28 09:10:57 +00:00
Ruby Loo ca1fe6cc84 correct URLs in contributor docs & main index
This corrects the URLs in the contributor documentation as well as the
main index. The changes include:
- changing http to https
- changing absolute links to relative links (where applicable)

Change-Id: Iea392f8108ca4b5203682609dd78b980c1540b89
2017-08-22 23:54:18 +00:00
gaozx 1df3dff00b Fix incorrect documentation urls
Change-Id: Ifc39a856251c18077bc1c3820bffd3c2e9eed9a1
2017-08-22 15:59:43 +01:00
Hironori Shiina 90d1ac43c2 Add a guide for Devstack configuration for boot-from-volume
This patch adds a guide for Devstack configuration to build a
environment to test boot-from-volume feature with VMs.

Change-Id: If1a2f1a712af61618ec6e96ce3bad67295ddcff3
Partial-Bug: #1559691
2017-08-07 21:54:54 +09:00
Jenkins beb14094d4 Merge "Remove SSH-based driver interfaces and drivers" 2017-08-04 02:20:49 +00:00
Jenkins f15934eb8d Merge "Enable OSProfiler support in Ironic" 2017-08-02 16:26:57 +00:00
Pavlo Shchelokovskyy 3d9895cc0b Remove SSH-based driver interfaces and drivers
SSH drivers are being unsupported for about a year now. All current
stable branches of ironic are officially supporting IPMI-capable HW
simulation via virtualbmc.
All ironic-related gate jobs have already been switched
to not use or enable those drivers.

This patch finally removes SSH-based power and managemtnt driver interfaces
and all classic drivers using those from ironic code and documentation.
Related exceptions and `ssh_connect` function, together with dependency
on `paramiko` package are removed as well.

Change-Id: Ieda7249b9cd78e3be1eff37804996295fc8d3969
Closes-Bug: #1570301
Depends-On: I9b60c9fa24652e9e64e787cd4e5b0152f51e7a28
2017-08-01 12:39:39 +00:00
Vladyslav Drok b8f6d35d00 Remove _ssh drivers from dev-quickstart
IRONIC_ENABLED_DRIVERS from sample devstack plugin still lists the
deprecated drivers.

Change-Id: I869d6197d34e6a0ec9ed1fe396409e8ed9f02d86
2017-07-10 12:46:24 +03:00
Ramamani Yeleswarapu 3773f17403 Enable OSProfiler support in Ironic
This patch does the following:
* Adds osprofiler wsgi middleware
  This middleware is used for 2 things:
  - It checks that person who wants to trace is trusted and knows
    secret HMAC key.
  - It starts tracing in case of proper trace headers
    and adds first wsgi trace point, with info about HTTP request.

* Adds initialization of osprofiler at start of service
  - Initialize and set an oslo.messaging based notifier instance
    to osprofiler, which will be used to send notifications to Ceilometer.

* Traces HTTP/RPC/DB API calls and SQL requests

NOTE to test this patch:
1) Make the following changes in localrc to configure DevStack to enable

   enable_plugin panko
   enable_plugin ceilometer
   enable_plugin osprofiler

   # Enable the following services

NOTE: the order of enabling plugins matters.

2) Run Once DevStack environment is setup, enable profiler options
   in ironic.conf and restart ironic services:
   enabled = true
   hmac_keys = SECRET_KEY
   trace_sqlalchemy = true

3) Use openstackclient and run baremetal command with
   --os-profile SECRET_KEY
   [--profile can be used, but it is deprecated.]
   For example, the following will cause the <trace-id> to be printed
   after node list:

   $ openstack --os-profile SECRET_KEY baremetal node list
   Trace ID: <trace-id>
   Display trace with command:
   osprofiler trace show --html <trace-id>

4) The trace results can be saved using this command:

   $ osprofiler trace show --html <trace-id> --out trace.html

OSprofiler spec:

Co-Authored-By: Tovin Seven <>
Co-Authored-By: Hieu LE <>

Partial-Bug: #1560704

Change-Id: Icd3d7c62cf7442de8a77fc67f119ae9b03725f02
2017-07-07 15:58:28 -07:00
Ilya Etingof 8e48156488 Removed nonexistent option from quickstart snippet
Neither `ironic-api` nor `ironic-conductor` tools accept
the `-v` option. Although the developer's quickstart guide
has it in the example what makes cut&paste failing.

This quick fix removes the offending option from the doc.

Change-Id: I31e3657f12f7a9cf64697b362cc168333752184c
2017-07-07 14:11:49 +02:00
Sam Betts 5647bfc246 Move doc/source/dev to doc/source/contributor
Change-Id: I6a3d143cff31348c62d8825f29f7484bafb9c8f0
2017-07-06 12:59:24 +01:00