summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Updated from global requirementsjuno-eolstable/junoOpenStack Proposal Bot2015-09-251-1/+1
| | | | Change-Id: Ib9f8ba721f43a68da83bb1d8b79fdf71daf04cb9
* Updated from global requirementsOpenStack Proposal Bot2015-08-223-46/+45
| | | | Change-Id: I122ad1e9028d8a195988591b4403646dda700448
* Updated from global requirementsOpenStack Proposal Bot2015-04-092-5/+5
| | | | Change-Id: I2152b16fc80099873d2d7709b68d2b738d424892
* Updated from global requirementsOpenStack Proposal Bot2015-03-091-1/+1
| | | | Change-Id: I3ac9cc32f47d901cbc6dd4f16f95ad9bc954a679
* Create new config for pecan debug modeJim Rollenhagen2015-02-262-6/+8
| | | | | | | | | | | | | | Pecan's debug mode can be terribly insecure; 500 errors return a Python traceback, the full list of environment variables, and a button to replay the request with a breakpoint. Deployers often run OpenStack services in debug mode; doing so should not open the service up to these flaws. However, it may be useful to use Pecan's debug mode in development, so create a config option to enable it, rather than disable it altogether. Change-Id: I5bc76b4101c563cdc168d2e55db060c1bdd0b5fe Closes-Bug: #1425206
* Merge "Updated from global requirements" into stable/junoJenkins2015-02-242-38/+38
|\
| * Updated from global requirementsOpenStack Proposal Bot2015-02-162-38/+38
| | | | | | | | Change-Id: Ia955cd94f790e3f51e07736d621f7eb205792bc9
* | Bump stable/juno next version to 2014.2.2Adam Gandelman2015-02-191-1/+1
|/ | | | | | Bump stable/juno next version to 2014.2.2 Change-Id: Ib5caf1310c4e270f35a4d67e6d7701ec4f07d662
* Merge "Allow associate an instance independent of the node power state" into ↵2014.2.1Jenkins2015-02-062-47/+16
|\ | | | | | | stable/juno
| * Allow associate an instance independent of the node power stateLucas Alvares Gomes2015-01-262-47/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When updating the instance_uuid field of a node Ironic would check the power state to see if the node was powered off, otherwise the update would fail. This patch is removing that check and leaving it to the drivers to ensure that the node is in whatever power state it needs to be as part of the deployment. Closes-Bug: #1413296 (cherry picked from commit 7da9dd7f303660babc4f3a89a30321b94937c3cf) Conflicts: ironic/conductor/manager.py Change-Id: Ic18f49a89f18ddfa3006ba3f2ee4a22ad69c4d4d
* | Merge "Fix RPCService and Ironic Conductor so they shut down gracefully" ↵Jenkins2015-02-023-1/+12
|\ \ | | | | | | | | | into stable/juno
| * | Fix RPCService and Ironic Conductor so they shut down gracefullyClif Houck2015-01-293-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironic Conductor Manager now waits on its greenpool workers to finish before del_host completes. This will ensure more-correct behavior, as well as giving workers the opportunity to release locks before the RPCService stops. Added a manager test to confirm del_host waits on the manager's greenpool. This modifies RPCService in two important ways: 1) The order of shutdown operations in RPCService.stop is changed to be more correct. First, the server is stopped to prevent new requests from arriving. Second, the manager is instructed to inform the cluster that this conductor is shutting down. Finally, the conductor service stop() method is called with graceful set to True to allow any tasks the service currently has running to finish normally. This is in contrast to the previous order of operations where the service was told to immediately stop before stopping the server. This could allow requests to arrive while the service has already stopped, which is not ideal. Additionally, Service.stop was called in a way which caused existing/running service tasks to immediately exit, which could result in bad node or database state, necessitating manual operator intervention. 2) The underlying Service object is told to shutdown gracefully, which will allow tasks to complete before RPCService completely shuts down. Change-Id: I639f2fa7b9349822fca9180966e0932224fa70a2 Closes-Bug: #1382698 (cherry picked from commit e9d1274c77cd919822d3f1af7c83e0ad0210f2a1)
* | | Clear locks on conductor startupJim Rollenhagen2015-01-294-0/+37
|/ / | | | | | | | | | | | | | | | | | | | | | | This causes all node reservations being held by a given conductor hostname to be cleared when that conductor initializes, just before registration. This ensures that any locks that are stuck when a conductor shuts down are cleared when the conductor starts again. Partial-Bug: #1382698 Change-Id: I0c3c2a9c94b6a85a1cbbcc570f57c3c34c256092 (cherry picked from commit 2a4a9d7fdac3642724c2f1a358bb9eb01b63a888)
* | Stop conductor if no drivers were loadedRamakrishnan G2015-01-293-0/+21
| | | | | | | | | | | | | | | | | | This change stops ironic-conductor from starting if no drivers were loaded. Change-Id: I815a43e999095cdea07c1cd642ddeeb919a2aa00 Closes-Bug: 1404994 (cherry picked from commit fcc1a328dfe937984a449ae4fe5a4c412466a00d)
* | Updated from global requirementsOpenStack Proposal Bot2015-01-281-1/+1
| | | | | | | | Change-Id: I0f60e6b1f5ca79580f52a3d97085c9a314467d94
* | Merge "Update service.py to support graceful Service shutdown" into stable/junoJenkins2015-01-271-2/+2
|\ \ | |/ |/|
| * Update service.py to support graceful Service shutdownThom Leggett2015-01-261-2/+2
| | | | | | | | | | | | | | | | | | This change backports the latest version of service.py from oslo-incubator. The latest version supports graceful shutdown for the Service class, which is needed to enable graceful shutdown for the Ironic Conductor. Change-Id: Ide6b549aa64333b7781f3525c6d2ccb8762402bf Partial-Bug: #1382698 (cherry picked from commit dd542195750a19b16a6b1a7cf89d45c70ef2ae61)
* | Merge "Force glance recheck for kernel/ramdisk on rebuild" into stable/junoJenkins2015-01-262-1/+14
|\ \ | |/ |/|
| * Force glance recheck for kernel/ramdisk on rebuildMatthew Gilliard2015-01-222-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing a rebuild, clear the instance_info's kernel and ramdisk values, to force the deploy driver to check glance. This is necessary as those values may have changed without us knowing. closes-bug: #1401501 (cherry picked from commit 2e06859425ca79fac054b577b54906e4f0f39b12) (includes bugfix and test for that commit, added in 0556b5852c0a685e47862d945e35a4772c8ed267) Conflicts: ironic/conductor/manager.py Change-Id: I8d7831789d21d3a2dcafd614989cf1e53dbedd70
* | Merge "Ensure that image link points to the correct image" into stable/junoJenkins2015-01-232-8/+48
|\ \ | |/ |/|
| * Ensure that image link points to the correct imageJim Rollenhagen2015-01-192-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an image is cached for a node, and the image changes, Ironic won't notice because we only check if the link exists. In this change it's proposed to check in the image_cache if the image is up to date. Closes-bug: #1405448 Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com> (cherry picked from commit 2f0c8cd8d8d8b2846b641b518b742ca051425028) Conflicts: ironic/drivers/modules/image_cache.py ironic/tests/drivers/test_image_cache.py Change-Id: If67c7e60eb6d048fa3aa03469d7904c6c233ff89
* | Updated from global requirementsOpenStack Proposal Bot2015-01-141-2/+2
|/ | | | Change-Id: I46df2053c7236389d2a02cda7b4b1ebea642ea08
* Updated from global requirementsOpenStack Proposal Bot2014-12-161-2/+2
| | | | Change-Id: I809780fd6ba6cbe647656b4c6d1f9a1cdac596bd
* Updated from global requirementsOpenStack Proposal Bot2014-12-051-1/+1
| | | | Change-Id: I12aab306a45c0356df50bbed9e2fb9b7319eb39b
* Updated from global requirementsOpenStack Proposal Bot2014-12-031-1/+1
| | | | Change-Id: Ifa8e1b2b46d970f045d3597b19c10e4105b79c52
* Opening stable/junoThierry Carrez2014-10-162-1/+2
| | | | | | | Bump version to next stable release on juno branch, and set defaultbranch in .gitreview for convenience. Change-Id: If630ee6db112eef46987bf6aae9eead6a44c11ad
* Add the PXE VendorPassthru interface to PXEDracDriver2014.2.rc32014.2proposed/junoLucas Alvares Gomes2014-10-141-0/+1
| | | | | | | | | | Without the PXE VendorPassthru interface to expose the "pass_deploy_info" method in the vendor_passthru endpoint of the API the DRAC it can't continue the deployment after the ramdisk is booted. Closes-Bug: #1379705 Change-Id: I21042cbb95a486742abfcb430471d01cd73b3a4a (cherry picked from commit 78ec7d5336eb65ff845da7ea9f93d34b402f5a0f)
* Clear hash ring cache in get_topic_for*2014.2.rc2Jim Rollenhagen2014-10-082-0/+35
| | | | | | | | | | This causes the hash ring to be reset on each API request, avoiding an issue where a new conductor never joins the ring until the API service is restarted. Closes-Bug: 1378570 Change-Id: Ic57370163f2f833efab662837036298f29f4ca90
* Merge "ilo* drivers to use only ilo credentials"2014.2.rc1Jenkins2014-10-035-16/+107
|\
| * ilo* drivers to use only ilo credentialsAnusha Ramineni2014-10-025-16/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently IloVirtualMediaIscsiDriver and IloVirtualMediaAgentDriver and pxe_ilo driver uses ipmitool for console and management interfaces. This imposes user/operator to specify ipmi credentials along with ilo credentials (which are same) during creation of node. This fix proposes to update the ipmi credentials on the fly by inheriting IPMI console and Management Interface. Change-Id: I81c1311b05bd00bb8245ceb71a140f6bdd2e7daa Closes-bug:#1367182
* | Make hash ring mapping be more consistentRobert Collins2014-10-024-51/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nejc Saje reported on the openstack-dev list that our hash ring was not stable as hosts were added or removed. This is a significant issue since the hash ring is meant to minimize the impact of adding or removing conductors to only approximately the change in capacity. IMPORTANT: When this patch is added to a running Ironic environment it will cause ring calculations to change. This will cause most existing node -> conductor mappings to be invalid, which will cause existing deployed nodes to be unable to reboot (if using a netbooting driver like pxe_ipmi). The cluster will self-correct over time as the periodic task _sync_hash_ring() rebuilds PXE environments. NOTE: The meaning of the hash_partition_exponent configuration setting had to be changed - if we define the total number of partitions of the ring via it then adding a host simultaneously removes some partitions of each existing host as well as adding new partitions from the new host - this results in more perturbation. Instead we use it to define the number of partitions per host. Existing deployments will continue to work, but may be able to reduce some CPU overhead by shrinking their setting. Change-Id: Iad3c9f6b460e9162ca91d5719e42f7950f2f18df Closes-Bug: #1365334 DocImpact: See above. UpgradeImpact: See above.
* | Add periodic task to rebuild conductor local stateDevananda van der Veen2014-10-025-32/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a periodic task which can rebuild the conductor's local state (PXE config files, etc) when conductors join or leave the cluster. For any node which is newly mapped to the conductor, this will trigger calling prepare() and take_over() on that node's deploy interface. This uses the periodic_max_worker setting like other periodic jobs, starting the take over process in separate threads. Thus, in a large cluster, it may take some time for all nodes to settle down. It also adds a new CONF option to control the timing of this job. There is a lot of room for improvement and optimization in this, however getting a fix in place is critical to the Juno release. NOTE: This does not re-establish any console sessions. Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com> Change-Id: I0dbe9a5a98ec5fd0c69f32d7590d8141da5a23c2 Closes-bug: #1279331
* | Merge "Add a call to management.validate(task)"Jenkins2014-10-022-18/+25
|\ \
| * | Add a call to management.validate(task)Sam Betts2014-10-012-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | Makes sure _send_sensor_data calls the driver validate method before calling get_sensor_data. Change-Id: I859ff3d315765f463a433fe3c02cb975f98972d2 Closes-Bug: 1375103
* | | Merge "Add "affinity" tracking to nodes and conductors"Jenkins2014-10-0211-40/+168
|\ \ \
| * | | Add "affinity" tracking to nodes and conductorsDevananda van der Veen2014-10-0111-40/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "conductor_affinity" column to nodes table, containing a reference to the `id` of the conductor service (not its hostname) that has most recently performed some action which could require local state to be maintained (eg, built a PXE config, or started a SOL session). Using the `id` as a foreign key necessitates not deleting conductors when unregistering them, but instead marking them offline. This also helps in determining if a conductor service was only restarted (though this patch does not implement graceful shutdown). Thus, this patch also adds an "online" boolean column to the conductors table to track whether a conductor is on- or offline, and updates the register and unregister methods to use that field transparently. It may be noted that this does not change the behavior of register_conductor or unregister_conductor, though an optional "update_existing" parameter has been added to register_conductor. This replaces a DELETE query with an UPDATE query instead. Co-Authored-By: David Shrewsbury <shrewsbury.dave@gmail.com> Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com> Related-bug: #1279331 Change-Id: I8e8b5cc00fc9f565ad2fb442e9a26077342e0a25
* | | | Update hacking version in test requirementsGhe Rivero2014-10-011-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | The current version >=0.8.0,<0.9 is not compatible with the one from global requirements project >=0.9.2,<0.10 Change-Id: I24dac763e744653bfc890feacd5d360c4838f715
* | | Merge "Replace custom lazy loading by stevedore"Jenkins2014-10-013-46/+21
|\ \ \
| * | | Replace custom lazy loading by stevedoreJulien Danjou2014-10-013-46/+21
| | | | | | | | | | | | | | | | Change-Id: I0b09e8822af6e8c3ce7299d31eb53f30a50262bc
* | | | Merge "Use DbTestCase as test base when context needed"Jenkins2014-10-0122-132/+49
|\ \ \ \ | |/ / / |/| | |
| * | | Use DbTestCase as test base when context neededVladyslav Drok2014-09-3022-132/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is tests.db.base.DbTestCase class which inherits from tests.base.TestCase and adds context to test case object. Some test cases initialize context in their setUp method, so to avoid this initialization and unnecessary imports tests.db.base.DbTestCase can be used as their base class. Change-Id: I46cf7d1a33f8fbaa7d720bcfc574c9640ef83c06
* | | | Updated from global requirementsOpenStack Proposal Bot2014-10-011-1/+1
| | | | | | | | | | | | | | | | Change-Id: I05b251ce54af888229910eefb39db582c60c6d84
* | | | Merge "Remove useless variable in migration"Jenkins2014-09-301-2/+0
|\ \ \ \
| * | | | Remove useless variable in migrationJulien Danjou2014-09-301-2/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Id328df393c7f741b9e0b7f0cf2c43ca6eaa4470b
* | | | | Merge "Imported Translations from Transifex"Jenkins2014-09-303-125/+159
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Imported Translations from TransifexOpenStack Proposal Bot2014-09-303-125/+159
| | | | | | | | | | | | | | | | | | | | Change-Id: I5b9e2147daaeff1860917fb77c2708b55efb2f9f
* | | | | Merge "Refactor PXE clean up tests"Jenkins2014-09-302-88/+122
|\ \ \ \ \
| * | | | | Refactor PXE clean up testsDmitry Tantsur2014-09-252-88/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make this tests really unit test, leave a separate "full flow" test for checking the most common case without mocks. Also add missing test for iscsi_deploy. Change-Id: Idc85efce2d58e41642a4a72c612df4a5f9f12082 Closes-Bug: #1370487
* | | | | | Merge "Force the SSH commands to use their default language"Jenkins2014-09-302-14/+15
|\ \ \ \ \ \
| * | | | | | Force the SSH commands to use their default languageLucas Alvares Gomes2014-09-252-14/+15
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SSH commands often have to parse an output and do some pattern matchings (e.g using grep) that makes those commands dependent on the system language and causing it to fail on systems with a non-english locale setting. This patch forces the SSH commands to use their default language (whatever language the strings in the application was written in) for output by passing LC_ALL=C as part of the command. For virsh, vmware, vbox and prlctl the default language is english making the commands from the SSH driver to work independent of the system language. Closes-Bug: #1373671 Change-Id: I175d84fca4e10b8c9468bc4fe54ecd865725e39c