7017 Commits

Author SHA1 Message Date
Sam Betts
aeb5306093 Move install guide into new doc/source/install location
Change-Id: I7d853142aaf794869466a1ba1bfaa82fd8851b7a
2017-07-05 12:16:37 +01:00
Jenkins
cd3729ed31 Merge "switch from oslosphinx to openstackdocstheme" 2017-07-05 01:39:35 +00:00
Jenkins
53c8010b32 Merge "Add REST API for volume connector and volume target operation" 2017-07-04 22:33:03 +00:00
Sam Betts
31ac1b72f2 switch from oslosphinx to openstackdocstheme
Change-Id: I2f1f8f76b6ec732a770707a259dc72a2f576e46c
2017-07-04 15:32:27 +01:00
Jenkins
99ba58172c Merge "Add node power state validation to volume resource update/deletion" 2017-07-04 02:44:24 +00:00
Jenkins
dc14f65696 Merge "Fix quotes in documentation and schema description" 2017-07-03 20:45:33 +00:00
Jenkins
009bf999d5 Merge "Follow-up for bugfix 1694645 patch" 2017-07-03 20:42:57 +00:00
Jenkins
cdd13b405c Merge "Adds clean step 'restore_irmc_bios_config' to iRMC drivers" 2017-07-03 18:11:37 +00:00
Jenkins
cb30c11268 Merge "Add ldlinux.c32 to boot ISO for virtual media" 2017-07-03 16:52:16 +00:00
Kyrylo Romanenko
ab29dccead Fix quotes in documentation and schema description
Fix example of RAID configuration by removing wrong quotes.
Add missing quote in RAID config schema description.

Closes-Bug: #1702129
Change-Id: I2012e3968a0fccec0df1f4de3f682ab97aa1b8ac
2017-07-03 19:32:26 +03:00
Julia Kreger
3e649a74b9 Follow-up for bugfix 1694645 patch
This change addresses review feedback from change
I55229f0ab37e657b7668dd4fe402fe6b5a6cda40 in the release
note, as well as the parameter text. Accordingly, the sample
configuration has been updated.

Change-Id: Ieea574f1bcc9b6c663aeb8d89475c1dd8cf6964d
2017-07-03 15:05:46 +00:00
Satoru Moriya
c380e05dbf Add REST API for volume connector and volume target operation
This patch introduces following REST API endpoints to get/set volume
connector and volume target in Ironic.

- GET /v1/volume
- GET /v1/nodes/<node_uuid or name>/volume
- {GET, POST} /v1/volume/connectors
- {GET, PATCH, DELETE} /v1/volume/connectors/<volume_connector_uuid>
- GET /v1/nodes/<node_uuid or name>/volume/connectors
- {GET, POST} /v1/volume/targets
- {GET, PATCH, DELETE} /v1/volume/targets/<volume_target_uuid>
- GET /v1/nodes/<node_uuid or name>/volume/targets

This also adds CRUD notifications for volume connector and volume
target.

Co-Authored-By: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
Co-Authored-By: David Lenwell <dlenwell@gmail.com>
Co-Authored-By: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
Change-Id: I328a698f2109841e1e122e17fea4b345c4179161
Partial-Bug: 1526231
2017-07-03 15:51:59 +09:00
Hironori Shiina
ddcd97714c Add node power state validation to volume resource update/deletion
This patch validate the power state of a node when the following
actions regarding volume resources associated with the node are
requested.
  - update a volume connector
  - delete a volume connector
  - update a volume target
  - delete a volume target

These actions should allowed only when the node is tuned off as
designed in the SPEC.

Change-Id: I5d0465c6ac2d2c6ddac03385e6ed0ccb37556306
Partial-Bug: 1526231
2017-07-03 09:59:51 +09:00
Jenkins
cbcb5d9fdb Merge "Make redfish power interface wait for the power state change" 2017-06-30 13:39:37 +00:00
Jenkins
df66316a12 Merge "Refactor common keystone methods" 2017-06-30 10:05:56 +00:00
Jenkins
8e593d9598 Merge "Add CRUD notification objects for volume connector and volume target" 2017-06-29 15:28:30 +00:00
Jenkins
05922a4098 Merge "Logic for skipping deployment with BFV" 2017-06-29 15:26:03 +00:00
Dmitry Tantsur
0bf2a4e884 Make redfish power interface wait for the power state change
Currently it's not consistent with other power interfaces.

Change-Id: I82dd74278121857f5bd810878961aa6fb50e53ff
Related-Bug: #1526477
2017-06-29 16:47:08 +02:00
Jenkins
1229ff4586 Merge "Don't retry power status if power action fails" 2017-06-29 13:54:44 +00:00
Pavlo Shchelokovskyy
7337fefd97 Refactor common keystone methods
- Split loading session and auth from config to separate functions,
  allow to override options loaded from config.
  This will lay ground to more efficiently load clients that allow
  passing in both session and auth plugin objects separately.

- When resoving a service endpoint, either fetch the requested interface,
  or first try 'internal' and then 'public'.
  This is done due to our config lacking any options to set the default
  interface for service endpoints to use, and we've used 'internal' by
  default, although DevStack has no such endpoints for most services
  any more [0].
  This will be changed again when gradually introducing usage of
  keystoneauth Adapters to ironic.

- Remove get_admin_token method, it was used only in glance-related code
  once, and was simply moved there.

[0] https://review.openstack.org/#/c/433272

Change-Id: I73b21098f15af4d0445f89fdd6ad4e4a42177df6
Partial-Bug: #1699547
2017-06-29 14:04:08 +03:00
Dao Cong Tien
e7664a161d Adds clean step 'restore_irmc_bios_config' to iRMC drivers
- Adds new boot interface 'irmc-pxe'. Deprecates 'pxe' boot interface
from using with hardware type 'irmc'.

- Adds functions backup_bios_config and restore_bios_config to iRMC
management interface for implementing the BIOS BACKUP/RESTORE
mechanism supporting iRMC S4 hardware. The function backup_bios_config()
will be called automatically before deploying.

- Adds clean step restore_irmc_bios_config to restore BIOS config
for a node during automatic cleaning.

Change-Id: I04aa5bc2f5e287e048d0b52fee123e53ae2eaa99
Partial-Bug: #1639688
2017-06-29 10:06:20 +00:00
Hironori Shiina
4db3123e60 Add CRUD notification objects for volume connector and volume target
This patch adds CRUD notification objects for volume connector and
volume target. Emission will be implemented in API changes for
volume connector and volume target.

Change-Id: Ib13428702f109c20d014ea1870b3c5982db3df0f
Partial-Bug: 1526231
2017-06-28 11:13:00 +09:00
Jenkins
352120378f Merge "Allow to load a subset of object fields from DB" 2017-06-28 00:47:56 +00:00
Jenkins
ba661ceae0 Merge "Updated from global requirements" 2017-06-27 22:43:18 +00:00
Jenkins
72c7fc603c Merge "Fix VIF list for noop network interface" 2017-06-27 20:26:48 +00:00
OpenStack Proposal Bot
b7d3824f41 Updated from global requirements
Change-Id: I905b2d66634cb0474cd5f56ca427290c423cf8a9
2017-06-27 17:43:38 +00:00
Jenkins
a5e4301cc4 Merge "Add docs for node.resource_class and flavor creation" 2017-06-27 13:00:46 +00:00
Julian Edwards
ee5d4942a1 Don't retry power status if power action fails
The old code blindly required power status even if the power action
failed. Now, it will retry the power action only when it detects a
retryable failure, and will only poll for power status if the power
action is successful. This patch also moves the logic for handling
waiting for power status into the conductor so that the logic is
standardised between drivers.

Change-Id: Ib48056e05d359848386ac057b58921f40b7bdd60
Co-Authored-By: Sam Betts <sam@code-smash.net>
Related-Bug: #1675529
Closes-Bug: #1692895
2017-06-27 12:10:47 +01:00
Mark Goddard
181005106b Fix VIF list for noop network interface
Creating a node with the noop network interface, then listing the node's
VIFs, e.g. via openstack baremetal node vif list <node>, ironic
previously returned a 500 internal server error. This change fixes the
issue by returning an empty list instead of None from the vif_list
method.

This change also adds unit tests to cover the noop network interface as
it previously had none.

Change-Id: I327c961f094528d46a78c26610d198ebc2a4f370
Closes-Bug: #1700497
2017-06-27 10:45:01 +01:00
Jenkins
1f074eb8ca Merge "Fetch Glance endpoint from Keystone if it's not provided in the configuration" 2017-06-26 20:21:34 +00:00
Jenkins
87d10a2ed8 Merge "iPXE template support for iSCSI" 2017-06-26 20:19:14 +00:00
Dmitry Tantsur
cb7cdd3534 Fetch Glance endpoint from Keystone if it's not provided in the configuration
This is needed to fix the CI broken by glance switching to running
under wsgi, and thus breaking our assumption that glance is accessible
by host:port only.

The options glance_host, glance_port and glance_protocol were
deprecated.  Standalone deployments should use glance_api_servers
instead.

Also removes two unused utility functions.

Change-Id: I54dc04ab084aeb7208c9dd9940c6434c029bf41c
Partial-Bug: #1699542
2017-06-23 16:42:40 +02:00
Julia Kreger
152a3654ce Logic for skipping deployment with BFV
In order to boot from volume, the deploy driver needs to
know when not to actually deploy. This change wires in the
checks to skip deployment activities if it appears that we
have a valid root volume target defined.

Co-Authored-By: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
Partial-Bug: #1559691
Change-Id: I62e622a2b053f685c2da42ca5106bdb9bdd22dc6
2017-06-22 19:11:50 +00:00
Joanna Taryma
6883674b3c iPXE template support for iSCSI
Added support for iPXE template output of a template
containing iscsi based URL sanhook entries to enable
boot as well as additional attachments.

Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Co-Authored-By: Joanna Taryma <joanna.taryma@intel.com>
Co-Authored-By: Michael Turek <mjturek@linux.vnet.ibm.com>
Change-Id: I75869262dbfd1caa779fa21e93cdb31f193cb829
Partial-Bug: #1559691
2017-06-21 13:15:51 -04:00
Jenkins
f0e6a07ade Merge "Move _abort_attach_volumes functionality to detach_volumes" 2017-06-21 03:02:44 +00:00
Mike Turek
41c0a31bb7 Move _abort_attach_volumes functionality to detach_volumes
This is a followup to the Cinder driver patch [0]. There were several
comments during review that asked why we weren't using
detach_volumes instead of _abort_attach_volumes. This patch is a
proposal to remove the method and merge it's functionality with
the detach_volumes method.

This patch also addresses some nits found in the cinder driver.

[0] b23a176a737f217e9573d6f10c3059d22813b159

Change-Id: Ic5584bc1380a65fdd9a74c174bee63bae1c6a4b3
Parital-bug: #1559691
2017-06-20 17:27:36 +00:00
Vladyslav Drok
7960fdd2bc Allow to load a subset of object fields from DB
Currently, the logic contained inside the _from_db_object base ironic
object method is simply assignment of values in the DB object to the
oslo versioned object. This might not be that simple in case of nested
objects, for example in case of tags contained inside the node. This
change adds a possibility to select which fields to set as usual by
passing them as fields argument to _from_db_object method. Other fields
are loaded in the new _set_from_db_object method.

Change-Id: Ib2ca1acc52b9ba05297976f2c7ad67a63e07dbde
2017-06-20 19:39:51 +03:00
Jenkins
cbedc8268c Merge "Unit test consistency: DB base and utils prefix" 2017-06-20 15:24:03 +00:00
Mark Goddard
937f380b6b Unit test consistency: DB base and utils prefix
Trivial rename to improve consistency within the unit tests. Typically
the base and utils modules imported by various tests are prefixed by
db_, obj_, etc.  to differentiate them. This change adds a db_ prefix to
the ironic.tests.unit.db.base and ironic.tests.unit.db.utils imports
outside of ironic.tests.unit.db and submodules.

Change-Id: I39803c592e32e58ce9657ae70bcd45f7b5d51809
2017-06-20 09:36:21 +01:00
OpenStack Proposal Bot
006e6dd348 Updated from global requirements
Change-Id: Iecb744ddfd1045188ef1ec3d18673a05181fe26f
2017-06-19 21:03:28 +00:00
OpenStack Proposal Bot
6fcf371bb7 Updated from global requirements
Change-Id: I7980d8b5f0dc2afee75e5a222bc30efae8cddeb6
2017-06-16 12:12:10 +00:00
Jenkins
b44074d2d0 Merge "Remove unnecessary line in docstring" 2017-06-16 10:19:26 +00:00
Jenkins
0424e1a075 Merge "Wire in storage interface attach/detach operations" 2017-06-16 10:19:16 +00:00
Jenkins
ae9fafacbc Merge "Wait until iDRAC is ready before out-of-band cleaning" 2017-06-16 10:11:32 +00:00
Mark Goddard
50e1aa1d44 Remove unnecessary line in docstring
Accidentally added in https://review.openstack.org/#/c/469932.

Change-Id: Ic00fc89443da95eb29338a5477f3af19b9d02aaf
Related-Bug: #1666009
2017-06-16 10:22:34 +01:00
Jenkins
9f91c7283a Merge "Validate portgroup physical network consistency" 2017-06-16 07:11:38 +00:00
Mark Goddard
039225610d Validate portgroup physical network consistency
When creating or updating a port that is a member of a portgroup, we
need to validate the consistency of the physical networks of the ports
in the portgroup.

There are 3 cases we are interested in:

- Creating a port which is a member of a portgroup.
- Updating the physical network of a port which is a member of a
  portgroup.
- Updating the portgroup of a port.

All ports in a portgroup should have the same value (which may be None)
for their physical_network field.

During creation or update of a port in a portgroup we apply the
following validation criteria:

- If the portgroup has existing ports with different physical networks,
  we raise PortgroupPhysnetInconsistent. This shouldn't ever happen.
- If the port has a physical network that is inconsistent with other
  ports in the portgroup, we raise exception.Conflict.

If a port's physical network is None, this indicates that ironic's VIF
attachment mapping algorithm should operate in a legacy (physical
network unaware) mode for this port or portgroup. This allows existing
ironic nodes to continue to function after an upgrade to a release
including physical network support.

Change-Id: I6a6d248155f98109dd36dba5837494f6974846e6
Partial-Bug: #1666009
2017-06-15 15:03:10 -07:00
Joanna Taryma
104000549e Wire in storage interface attach/detach operations
Addition of storage interface attachment and detachment
operations when:

* Node power is turned on/off, with a storage_interface
  configured, and when the node is in ACTIVE state.
* Node deployment and node tear_down operations.

In addition to attachment and detachment, driver_internal_info
is now populated with a boot from volume target uuid, if a
volume is defined for the node.

Additionally, upon tear_down, the drivers now call a helper
to remove storage related dictionaries and destroy
volume target records.

The "cinder" storage interface has been enabled by default,
and further details on the storage interface's use are in
later patchsets for this feature.

Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Co-Authored-By: Joanna Taryma <joanna.taryma@intel.com>
Co-Authored-By: Michael Turek <mjturek@linux.vnet.ibm.com>
Change-Id: I0e22312e8cebb37b8f025da2baeca8eb635f35b7
Partial-Bug: #1559691
2017-06-15 21:18:22 +00:00
Christopher Dearborn
35f222c55d Wait until iDRAC is ready before out-of-band cleaning
When out-of-band cleaning is initiated, the node is PXE booted and the
ramdisk is loaded.  After in-band cleaning completes, the node is
rebooted.  At that point, the iDRAC automatically creates and runs an
"Export Configuration" job.  Out-of-band cleaning then starts: either
RAID configuration creation or deletion.  If the export job has not
finished by the time the RAID deletion or creation job is attempted to
be created, then the RAID job creation fails.

This patch causes RAID configuration creation and deletion to wait
until the iDRAC declares itself to be ready before proceeding with
out-of-band cleaning.  This ensures that the export job has completed
before creating another job.

Change-Id: I79faba2206b86288ae636c46468a8b2dc321f979
Closes-Bug: 1691808
Depends-On: I929deada3dda7b09a6f29033fff89d9b0382aef8
2017-06-15 10:06:40 -04:00
Jenkins
d217fb1be4 Merge "Minor changes to object version-related code" 2017-06-15 14:04:26 +00:00