Add more details about the node deployment process, when an instance
is booted by nova. This change covers iscsi and direct deploy methods
with PXE boot. This change also updates the sequence diagrams for
deploy process.
Co-Authored-By: Galyna Zholtkevych <galynazholtkevych1991@gmail.com>
Change-Id: Icaec14d10e702627bab0763e40efa77131564dec
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
At present the ironic API explicitly sets the new state for
nodes to the beginning step in the ironic workflow.
As part of hardware fleet lifecycle management, an operator
expects to be able to migrate inventory and control systems
for their hardware fleet utilizing their existing inventory
data and allocation records. Ultimately this means that
an imported host MAY already be allocated and unavailable
for immediate allocation.
As such, a mechanism is required to permit users to put nodes
into an ACTIVE state without performing a deployment operation.
This adds a new API provision_state verb to allow users to move
nodes from MANAGEABLE state to ACTIVE state.
Partial-Bug: #1526315
Change-Id: Ib3eadf4172e93add9a9855582f56cbb3707f3d39
Depends-On: Ie114bfaab249d73ea3ca7c0edc314ca1ed0448eb
This updates the state machine diagram and documentation to indicate
which transitions are initiated by API requests versus the ones that
are internally done by the conductor. Stable states are highlighted
a bit.
Change-Id: I1a2de81b14696286f1da47c06374ad235962c849
Closes-Bug: #1527316
This adds transitions to the state machine so that manual cleaning can
be performed on a node in the manageable provision state via the
'clean' verb. After cleaning is successfully finished, the node will
be in the manageable provision state again (via the 'manage' verb).
The state machine diagram was updated to reflect this.
Change-Id: Ifacdcceb65d1384351aa832042a7471bb48f0894
Implements: blueprint manual-cleaning
Updates the state machine diagram to include the transition
from clean wait to clean fail, when an 'abort' is issued.
Change-Id: I125a0bb1660bf1788bcbfe1e0c3b0764a7a442d9
This updates the state machine diagram to include enroll, verifying,
and clean wait states along with their transitions.
Change-Id: I7af3724b4f36a243b30f979f83cd79f40f209aac
This removes the state transition: 'clean failed' to 'cleaning',
from the state machine diagram.
The transition had been added (but not actually used) and subsequently
removed; see Ieda2fcd78332a063c51685cd01bb824014f0f4a8.
Change-Id: Ifaf1397c07529897e3c3596e6d4b953ab551a1eb
This deletes the deployment_architecture_1.png file because it
isn't used in our documentation. It had been removed from the
documention because there were issues with it [1].
[1] https://bugs.launchpad.net/ironic/+bug/1353688
Change-Id: Ied85ab3786179df68ea42fc3720e1336a1b92c02
Since we can now generate the state machine that ironic
uses using the tools/states_to_dot.py generator we can
now build it and include it in the documentation for others
to view.
Change-Id: I4ffc298d0708cbac2573e1e2aee2d73836c27a80
The first few sections of the 'Introduction to Ironic' document were updated to:
- mention that it is included with OpenStack releases starting with Kilo
- mention that Swift is missing from the Conceptual Architecture diagram
- removes Figure 1.3.1 "Deployment Architecture" and the text surrounding
that for several reasons: it places ir-cond on the same host as n-cpu, which
is not advisable in some situations; it suggests placing ir-api on a
monolithic "Cloud Controller Node", but does not explain why this unusual
choice was made; and it does not include any depiction of the physical
servers which Ironic is going to manage, nor the IPMI network connectivity
to them which is required.
- mentions that for security reasons, ir-cond should be placed on an isolated
host, as it is the *only* service which requires access to both data plane
and IPMI control plane.
- modified (what was Figure 1.3.2) deployment_architecture_2.png so that it
doesn't include a figure number
Change-Id: Ifeeba636c9e7de65385e9f9c631709b2dd09e25b
Partial-Bug: #1353688
This patch updates
Ironic deployment information
Adds 3 deployment diagrams
Describes deployment process
Change-Id: Idbe973c9a5f9805fe9a186a1db77fc66c044eeaf
This replaces the two image files used in the Admin Guide, "Introduction
to Ironic" page. The images were in .gif and are being replaced with
their .png counterparts, because .png is a better format.
Change-Id: Iec831d37f58f4e159b0cfc197bac5dad433d32cf
This patch is a post landing for 41af7d6b741a5a24e2cd212ab543b0b5be105551
Fixing:
Update logical architecture diagram
Brief description of Ironic service
Bullet points
Change-Id: I177041fa7db035d95a93e6345faa64177dbf888e
Add a User guide, Initial chapters to cover introduction, architecture
diagrams, terminology for Ironic service.
Change-Id: I08faac6204aa412e330362133eb14241f3c21b34