18 Commits

Author SHA1 Message Date
Vladyslav Drok
9280560752 Revise deploy process documentation
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
2017-10-24 21:37:40 +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
   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
2017-07-07 15:58:28 -07:00
Julia Kreger
832826f640 Active Node Creation via adopt state
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
2016-06-07 09:13:22 -04:00
Ruby Loo
4f8b97dff6 Show transitions initiated by API requests
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
2016-02-01 14:39:12 +00:00
Ruby Loo
43adad2e0a Add manual cleaning to state machine
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
2015-11-18 22:26:51 +00:00
Ruby Loo
1af4e2db1c Add 'abort' to state machine diagram
Updates the state machine diagram to include the transition
from clean wait to clean fail, when an 'abort' is issued.

Change-Id: I125a0bb1660bf1788bcbfe1e0c3b0764a7a442d9
2015-09-23 20:22:30 +00:00
Ruby Loo
c419d57d95 enroll/verify/cleanwait in state machine diagram
This updates the state machine diagram to include enroll, verifying,
and clean wait states along with their transitions.

Change-Id: I7af3724b4f36a243b30f979f83cd79f40f209aac
2015-07-28 20:54:50 +00:00
Joshua Harlow
3681315012 Use svg as it looks better/scales better than png
Change-Id: I2a17b5ddbe90fe8ea1ead53497e4dfcac5bf5647
2015-06-03 16:56:45 -07:00
Ruby Loo
3103aaf45a Remove cleanfail->cleaning from state diagram
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
2015-05-04 20:00:21 +00:00
IWAMOTO Toshihiro
749e1da4a6 Regenerate states diagram after addition of CLEANING
Change-Id: I8a2b71abb6d15bcdad96c85a6fd662fc04ae7079
2015-04-02 14:57:23 +09:00
Joshua Harlow
cc31c0c524 Update the states generator and regenerate the image
Change-Id: I9ab9bd12547367ab65f225618aa6c4163645fb03
2015-02-23 16:11:04 -08:00
Ruby Loo
375700a7ae Removed unused image file
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
2015-02-17 22:14:27 +00:00
Joshua Harlow
27d9f8b1d3 Add state machine to documentation
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
2015-01-12 17:05:39 -08:00
Ruby Loo
12c83984b6 Update 'Introduction to Ironic' document
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
2014-11-24 15:13:31 +00:00
Sandhya Balakrishnan
b3b1d27029 Updates Ironic Guide with deployment information
This patch updates
Ironic deployment information
Adds 3 deployment diagrams
Describes deployment process

Change-Id: Idbe973c9a5f9805fe9a186a1db77fc66c044eeaf
2014-06-27 17:59:52 +05:30
Ruby Loo
616da5de17 Use .png instead of .gif images
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
2014-06-12 20:45:20 +00:00
Sandhya Balakrishnan
569c0f395a Update Ironic User Guide post landing for 41af7d6b
This patch is a post landing for 41af7d6b741a5a24e2cd212ab543b0b5be105551
Fixing:
Update logical architecture diagram
Brief description of Ironic service
Bullet points

Change-Id: I177041fa7db035d95a93e6345faa64177dbf888e
2014-04-24 15:01:02 +05:30
Sandhya Balakrishnan
41af7d6b74 Add Ironic User Guide
Add a User guide, Initial chapters to cover introduction, architecture
diagrams, terminology for Ironic service.

Change-Id: I08faac6204aa412e330362133eb14241f3c21b34
2014-04-14 16:11:32 +05:30