| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Ib9f8ba721f43a68da83bb1d8b79fdf71daf04cb9
|
|
|
|
| |
Change-Id: I122ad1e9028d8a195988591b4403646dda700448
|
|
|
|
| |
Change-Id: I2152b16fc80099873d2d7709b68d2b738d424892
|
|
|
|
| |
Change-Id: I3ac9cc32f47d901cbc6dd4f16f95ad9bc954a679
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ia955cd94f790e3f51e07736d621f7eb205792bc9
|
|/
|
|
|
|
| |
Bump stable/juno next version to 2014.2.2
Change-Id: Ib5caf1310c4e270f35a4d67e6d7701ec4f07d662
|
|\
| |
| |
| | |
stable/juno
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | | |
into stable/juno
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change stops ironic-conductor from starting if
no drivers were loaded.
Change-Id: I815a43e999095cdea07c1cd642ddeeb919a2aa00
Closes-Bug: 1404994
(cherry picked from commit fcc1a328dfe937984a449ae4fe5a4c412466a00d)
|
| |
| |
| |
| | |
Change-Id: I0f60e6b1f5ca79580f52a3d97085c9a314467d94
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
Change-Id: I46df2053c7236389d2a02cda7b4b1ebea642ea08
|
|
|
|
| |
Change-Id: I809780fd6ba6cbe647656b4c6d1f9a1cdac596bd
|
|
|
|
| |
Change-Id: I12aab306a45c0356df50bbed9e2fb9b7319eb39b
|
|
|
|
| |
Change-Id: Ifa8e1b2b46d970f045d3597b19c10e4105b79c52
|
|
|
|
|
|
|
| |
Bump version to next stable release on juno branch, and set
defaultbranch in .gitreview for convenience.
Change-Id: If630ee6db112eef46987bf6aae9eead6a44c11ad
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Makes sure _send_sensor_data calls the driver validate method before
calling get_sensor_data.
Change-Id: I859ff3d315765f463a433fe3c02cb975f98972d2
Closes-Bug: 1375103
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I0b09e8822af6e8c3ce7299d31eb53f30a50262bc
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I05b251ce54af888229910eefb39db582c60c6d84
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Id328df393c7f741b9e0b7f0cf2c43ca6eaa4470b
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I5b9e2147daaeff1860917fb77c2708b55efb2f9f
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\ \ \ \ \ \ |
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|