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
documentation.
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
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:
https://docs.sqlalchemy.org/en/14/dialects/mysql.html#unicodehttps://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html
Story: 2010348
Task: 46492
Change-Id: I4103152489bf61e2d614eaa297da858f7b2112a3
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.
Depends-On: https://review.opendev.org/c/openstack/devstack/+/801309
Change-Id: I41294eb571d07a270a69e5b816cdbad530749a94
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
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
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
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
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
No need to make everyone install rabbitmq just to play with ironic.
Also make it clearer that MySQL is not required.
Change-Id: Ib286f30f16579815ca05c8477f7fd446cad6e453
This patch:
6df83e0bc5
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 <mbuil@suse.com>
This is a mechanically generated change to replace openstack.org
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 (https://gitea.io),
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
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: Ie1be8a026e88eba235bce29fe0504e35e03afe8e
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 <iurygregory@gmail.com>
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
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.
[1] https://review.openstack.org/#/c/407327
Change-Id: I3ded2614306df3f6ce4b1d14526b061dcaa7b829
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
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
Also write a bit more meaningful documentation on writing drivers with
helpful links to move forward.
Change-Id: Id76705efabaf93a76a1370bc2e1d998622e82ac9
Partial-Bug: #1690185
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
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
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
For the contributor documents, all the 'ironic' CLI commands are
replaced with their equivalent 'openstack baremetal' CLI commands.
Change-Id: I5b97e4bb8fc15a9544c1b8fa9b9603c4568020c7
Partial-Bug: #1711235
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
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
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
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
OSProfiler:
enable_plugin panko https://git.openstack.org/openstack/panko
enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer
enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler
# Enable the following services
CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral
ENABLED_SERVICES+=,ceilometer-anotification,ceilometer-collector
ENABLED_SERVICES+=,ceilometer-alarm-evaluator,ceilometer-alarm-notifier
ENABLED_SERVICES+=,ceilometer-api
NOTE: the order of enabling plugins matters.
2) Run stack.sh. Once DevStack environment is setup, enable profiler options
in ironic.conf and restart ironic services:
[profiler]
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: https://review.openstack.org/#/c/103825/
Co-Authored-By: Tovin Seven <vinhnt@vn.fujitsu.com>
Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Partial-Bug: #1560704
Change-Id: Icd3d7c62cf7442de8a77fc67f119ae9b03725f02
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