summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "IPMINative to use the new ManagementInterface"2014.2.b2Jenkins2014-07-245-107/+159
|\
| * IPMINative to use the new ManagementInterfaceLucas Alvares Gomes2014-07-245-107/+159
| | | | | | | | | | | | | | | | | | | | | | | | Set the new ManagementInterface to the IPMINative driver. As the only vendor method of the IPMINative driver was the set_boot_device, the vendor interface is not needed anymore and was removed. Also, before the 'persistent' parameter of the _set_boot_device() method was ignored, this patch is fixing it. Implements: blueprint new-management-interface Change-Id: I4f3d13f1e0bebda011b3bfbb71ecd7507ca44c39
* | Merge "Import fixes from the Nova driver reviews"Jenkins2014-07-244-78/+92
|\ \
| * | Import fixes from the Nova driver reviewsMichael Davies2014-07-254-78/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import fixes from the Nova driver review, based upon revision 7 of https://review.openstack.org/#/c/103167/ - better use of _L* helpers - dynamically import python-ironicclient when the driver is initialized, so that Nova does not need to add it to requirements.txt - remove unused CONF options pxe_bootfile_name and instance_type_extra_specs Co-authored-by: Devananda van der Veen <devananda.vdv@gmail.com> Change-Id: Iee1481632e9927766776c7d35264e8cf4c469c8a
* | | Merge "Fix nodes left in an incosistent state if no workers"Jenkins2014-07-242-8/+73
|\ \ \
| * | | Fix nodes left in an incosistent state if no workersLucas Alvares Gomes2014-07-242-8/+73
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is fixing the problem of leaving the nodes in an inconsistent state if there's no free conductor workers available to deploy or the tear down a node, the patch is using the set_spawn_error_hook() method of TaskManager to run some custom code that will rollback the nodes to the previous provision_state and target_provision_state in case NoFreeConductorWorker is raised. Closes-Bug: #1331494 Change-Id: I5d6e8e2c69cbdf1f9abe169afe617aa79783e57d
* | | Merge "Catch oslo.db error instead of sqlalchemy error"Jenkins2014-07-241-2/+7
|\ \ \ | |_|/ |/| |
| * | Catch oslo.db error instead of sqlalchemy errorVictor Sergeyev2014-07-231-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest oslo.db code wraps all sqlalchemy exceptions and re-raise them as oslo.db exceptions. But there is a single case in Ironic when we suppose to get sqlalchemy exception, so this will break unittest, when the new version of oslo.db will come. Added check for the new oslo.db exception, left the old check for the compatibility. Closes-Bug: #1214341 Change-Id: Iae5599948d29778ac416edf31d3b1b2f7a8a54a9
* | | Merge "Implement API to get driver properties"Jenkins2014-07-247-15/+261
|\ \ \
| * | | Implement API to get driver propertiesRuby Loo2014-07-237-15/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement GET /v1/drivers/<driver>/properties that returns a dictionary of (driver_info) properties of the specified driver. Each entry in the dictionary is: key: name of the property value: description of the property An invalid driver name results in an HTTP 404. Eg: 'GET /v1/drivers/pxe_ipminative/properties' returns: {"pxe_deploy_ramdisk": "UUID ... of the ramdisk... Required.", "ipmi_username": "IPMI username. Required.", "ipmi_address": "IP of the node's BMC. Required.", "ipmi_password": "IPMI password. Required.", "pxe_deploy_kernel": "UUID ... of the deployment kernel. Required." } If the properties for a driver are not cached, the API service makes an RPC request to a conductor to get the properties for that driver. It then caches that information for subsequent requests of that driver. Change-Id: I9c98f4369c54a7cdf9e20ea87348e61f7af10303 Blueprint: get-required-driver-info Partial-Bug: #1261915
* | | | Merge "Backporting nova host manager changes into ironic"Jenkins2014-07-243-15/+11
|\ \ \ \
| * | | | Backporting nova host manager changes into ironicMichael Davies2014-07-243-15/+11
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Some very trivial pep8 fixes need to go back into the ironic tree in case of future round-trip revisions. This patch just backports then so they won't be forgotten. Change-Id: I6142c5fa9d06462c1cda863b0d32ced6f06ac66a
* | | | Merge "Generalize exception handling in Nova driver"Jenkins2014-07-242-11/+41
|\ \ \ \ | |/ / / |/| | |
| * | | Generalize exception handling in Nova driverAdam Gandelman2014-07-242-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to ensure nodes get unprovisioned and disassociated from instances upon all failure cases, not only the specific exceptions being caught now. This removes the catching of those specific exceptions during instance spawn and performs required cleanup and re-raising. Change-Id: I9461139400d7aa0a339550cf89f3d49e3a8cb2c0
* | | | Merge "Add drivers.base.BaseDriver.get_properties()"Jenkins2014-07-2318-32/+294
|\ \ \ \ | | |/ / | |/| |
| * | | Add drivers.base.BaseDriver.get_properties()Ruby Loo2014-07-2318-32/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds ironic.drivers.base.BaseDriver.get_properties() which returns a dictionary of <property>:<description> entries. The driver interfaces (DeployInterface, PowerInterface, ...) have a new get_properties() method that returns a dictionary of <property>:<description>. These changes are needed in order to provide an API to get driver_info properties. Change-Id: I5994e990deb26841633ca26de1a5fb63b743271a Blueprint: get-required-driver-info Partial-Bug: #1261915
* | | | Merge "Implement retry on NodeLocked exceptions"Jenkins2014-07-235-2/+51
|\ \ \ \ | |_|_|/ |/| | |
| * | | Implement retry on NodeLocked exceptionsDavid Shrewsbury2014-07-225-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the capability to retry node locking when a node is already locked. Two conductor configuration variables are added to control this behavior, which can be totally disabled by setting the value for the node_locked_retry_attempts variable to zero. A new unit test is added to check that the retry will work after first getting a NodeLocked exception, then succeeding getting the lock on the next lock attempt. Change-Id: I60b099beea1bc3a954a5ab4699e623aaa71ba6c5 Blueprint: add-nodelocked-retry
* | | | remove ironic-manage-ipmi.filtersDongdong Zhou2014-07-231-9/+0
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | the two commands in this file doesn't need to be executed as root, so this file can be removed Closes-Bug: #1248422 Change-Id: I8a3b8b221a260a3a04ba8bbea59c60ed2fc1c8f8
* | | Merge "SeaMicro to use the new ManagementInterface"Jenkins2014-07-224-35/+109
|\ \ \
| * | | SeaMicro to use the new ManagementInterfaceLucas Alvares Gomes2014-07-224-35/+109
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the new ManagementInterface to the SeaMicro driver promoting the set_boot_device() method from the VendorPassthru to the new interface. The test_set_boot_device_no_input() test was removed because now inputting a device is part of the function declaration. Implements: blueprint new-management-interface Change-Id: I2c5d0bba9045ce27c6b81ddefb6ca6bb019f2991
* | | Merge "Imported Translations from Transifex"Jenkins2014-07-2220-783/+1181
|\ \ \
| * | | Imported Translations from TransifexOpenStack Proposal Bot2014-07-2220-783/+1181
| | | | | | | | | | | | | | | | Change-Id: Ie6300fae8c84bd25684a34001082423bef9c655a
* | | | Merge "Rename/update common/tftp.py to common/pxe_utils.py"Jenkins2014-07-228-225/+261
|\ \ \ \
| * | | | Rename/update common/tftp.py to common/pxe_utils.pyLucas Alvares Gomes2014-07-228-225/+261
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions in the common/tftp.py are not related to TFTP, the functions are PXE related and most of them are used to generate the PXE configuration file. Moving it from tftp.py to pxe_utils.py will make it less confusing and is also needed by the iPXE work since iPXE doesn't generate any configuration file under the TFTP folder. The dhcp_options_for_instance() method was updated to not receive the PXE boot file image from the parameters and just get it from the configuration because we were always using the value from the configuration anyway. Implements: blueprint ipxe-boot Change-Id: Icfbaa4d6cdb9cbe0c392bf3dbd50ad980c70560c
* | | | Merge "Import fixes from Nova scheduler reviews"Jenkins2014-07-226-47/+136
|\ \ \ \ | |/ / / |/| | |
| * | | Import fixes from Nova scheduler reviewsMichael Davies2014-07-226-47/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import fixes from the Nova scheduler driver review, based upon revision 4 of https://review.openstack.org/#/c/103165 - create BaseBaremetalHostManager class - import and refactor the BaremetalHostManager - refactor IronicHostManager - minor updates to ExactMatch filters Note that this change also adds back in copyright notices from baremetal_host_manager to the ironic_host_manager to reflect the common heritage of the code. Change-Id: Iab0d0f1c05474bf341828a2e5aba95715bf71d82
* | | | Merge "IPMITool to use the new ManagementInterface"Jenkins2014-07-226-99/+247
|\ \ \ \ | |/ / / |/| | |
| * | | IPMITool to use the new ManagementInterfaceLucas Alvares Gomes2014-07-216-99/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the new ManagementInterface to the IPMITool driver. The method set_boot_device was removed from the VendorPassthru interface because this method was promoved to the ManagementInterface. Implements: blueprint new-management-interface Change-Id: I7bd9cb0a5d38f1044ae3e74dd08564e20828933b
* | | | Merge "Use opportunistic approach for migration testing"Jenkins2014-07-223-240/+23
|\ \ \ \ | |_|/ / |/| | |
| * | | Use opportunistic approach for migration testingVictor Sergeyev2014-07-173-240/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored migration tests due to use OpportunisticTestCase, removed unused code and ``test_migrations.conf`` file. This change allows tests use database ``openstack_citest`` only for connection to the database backend. The main feature of this approach is - for each migration test will be created new database with random name. This will avoid migration tests of race conditions and reduce tests intersection. ``test_migrations.conf`` file was removed, because we create test database for migration test, so we no longer need test database credentials. Closes-Bug: #1327397 Closes-Bug: #1328997 Change-Id: I95ad140ba5f483cd3dc36e2b78f140826d57624f
* | | | Merge "Use oslo.db library"Jenkins2014-07-2131-3251/+67
|\ \ \ \ | |/ / /
| * | | Use oslo.db libraryVictor Sergeyev2014-07-1731-3251/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oslo.db library has been graduated from oslo-incubator, so now we can use it instead of ironic.openstack.common.db.* code. Co-Authored-By: Ghe Rivero <ghe.rivero@hp.com> Implements: blueprint oslo.db Change-Id: I250050a7dbd8735ba3af954223b54eabae793f59
* | | | Merge "Factor out deploy info from PXE driver"Jenkins2014-07-213-5/+43
|\ \ \ \
| * | | | Factor out deploy info from PXE driverJim Rollenhagen2014-07-213-5/+43
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This factors the code to get the deploy kernel and ramdisk info out of the PXE driver, as this can be shared between the PXE and agent drivers. Change-Id: I2c3722d091f02259aa9e6cabebaabf25eead8bc2 (cherry picked from commit 8368bf9c66eea3a5f4706c867e266e00a5886213)
* | | | Use mock.assert_called_once_with()Ruby Loo2014-07-211-1/+1
|/ / / | | | | | | | | | | | | | | | | | | One of the ilo unit tests makes a call to Mock.assert_once_called_with(). That doesn't exist. It should be Mock.assert_called_once_with(). Change-Id: I7b57483479ddcd5ae00122064f8d4a133e922ae7
* | | Merge "Add missing docstrings"Jenkins2014-07-181-0/+31
|\ \ \
| * | | Add missing docstringsJim Rollenhagen2014-07-181-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The ipmitool.VendorPassthru class was missing docstrings for the methods validate and vendor_passthru. This adds them. Change-Id: I06d6f32a156da625ec5c47a39f2506d129e1a7b1
* | | | Merge "Raise appropriate errors on duplicate Node, Port and Chassis creation"Jenkins2014-07-185-6/+85
|\ \ \ \ | |/ / / |/| | |
| * | | Raise appropriate errors on duplicate Node, Port and Chassis creationDmitry Tantsur2014-07-175-6/+85
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces NodeAlreadyExists, ChassisAlreadyExists, PortAlreadyExists and InstanceAssociated exceptions for appropriate cases. Partial-Bug: #1277555 Change-Id: Iec2a7cd09022b6a12afacec9b9b51f8197817ded
* | | Merge "Add IloDriver and its IloPower module"Jenkins2014-07-1812-0/+783
|\ \ \
| * | | Add IloDriver and its IloPower moduleRamakrishnan G2014-07-1712-0/+783
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Add a new ironic driver for managing HP Proliant Gen8 servers using iLO4. This commit introduces the power module for IloDriver. Implements: blueprint ironic-ilo-power-driver Change-Id: I8d521f67fb14a6132626782b05cd490cd42ba476 Co-Authors: Anusha Ramineni<anusha.iiitm@gmail.com>
* | | Merge "Add methods to ipmitool driver"Jenkins2014-07-182-0/+185
|\ \ \
| * | | Add methods to ipmitool driverJim Rollenhagen2014-07-172-0/+185
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds two methods to the vendor interface for the ipmitool driver: * send_raw: this is used to send arbitrary bytes to a BMC. One example of a use case for this is: many BMCs fail in strange ways when 'chassis bootdev disk' is sent without first sending a certain sequence of bytes. This is common enough that pyghmi even does this by default. Takes one parameter, 'raw_bytes', which is the string representation of which bytes should be sent. For example: '0x00 0x01'. * bmc_reset: used to reset a BMC. A cold or warm reset can be selected by setting the warm parameter to False (cold) or True (warm). Defaults to warm. Closes-Bug: 1340199 Change-Id: I508eabae7428daea29d749bb2aa9fc9c5a357e8c
* | | Merge "oslo.i18n migration"Jenkins2014-07-177-7/+41
|\ \ \
| * | | oslo.i18n migrationGhe Rivero2014-07-167-7/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch ironic to use oslo.i18n. A new i18n module has been added under ironic with translation globals and imports the necessary functions from oslo.i18n. gettextutils module is still needed in the nova ironic driver. Change-Id: I682228e158132c628166e4d1e334c4003249d112
* | | | Merge "ManagementInterface {set, get}_boot_device() to support 'persistent'"Jenkins2014-07-173-7/+14
|\ \ \ \ | |_|_|/ |/| | |
| * | | ManagementInterface {set, get}_boot_device() to support 'persistent'Lucas Alvares Gomes2014-07-093-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's common for drivers to be able to set the boot device only for the next boot (that's the default behavior for the IPMITool for example) but it's also possible to set a boot device as persistent so that the configuration will persist across multiple boots. This patch is making the 'persistent' parameter to be part of the method signature of the set_boot_device() method and also making the get_boot_device() method to return whether the device is set as persistent or not as part of the response. Implements: blueprint new-management-interface Change-Id: Ia1f9c5449612871a379377d11fb0fe91b0958026
* | | | Import a few more fixes from the Nova driverDevananda van der Veen2014-07-151-26/+2
| |_|/ |/| | | | | | | | | | | | | | | | | Import a few fixes based on comments on rev 4 of https://review.openstack.org/#/c/103167/ Change-Id: Ic7f6b54e9b4b94b4cb3108dd7d4ea808a99fa382
* | | Merge "Fix wrong test fixture for Node.properties"Jenkins2014-07-151-3/+3
|\ \ \