| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|\ \ \ \ \ \ |
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a follow-up patch on 9de2d21a96f440807b9822173de3fd3b6119fbe8
Change-Id: I043cc279dce7e2dbf9511a2f23c443c438affb51
|
|\ \ \ \ \ \ |
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Currently under some conditions target_power_state can be left
on the node, making it impossible to operate on via API.
Change-Id: Iba92c9bfae3616661cadf602618a66d2664264ee
Closes-Bug: #1375641
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As per this discussion on the mailing list:
http://lists.openstack.org/pipermail/openstack-dev/2014-September/047160.html
We are going to stop enforcing the correctness of the sample config
file, and move to a separate non-voting check test that notifies us when
it is no longer accurate, thus prompting a human to correct it.
This addresses the issue where config options in dependent libraries
(eg. keystone) repeatedly break our gate, without removing the sample
config file that deployers benefit from.
Change-Id: Ief88a693e4967b32f5f2f71b9a683599527a5129
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, the API service creates a new hash ring on every request.
Instead of that, we should cache the hash ring object -- but we should
also expose a way to refresh it when necessary. This method will also
be used by the ConductorManager to cache and refresh the hash ring
when conductors join / leave the cluster.
This patch preserves the existing API behavior by resetting the hash
ring on every request. This should be addressed in a subsequent patch.
Co-Authored-By: Devananda van der Veen <devananda.vdv@gmail.com>
Change-Id: Ib7ab55452499d1e1c362e4cd127f1e6e38106d6c
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A race was discovered between when Nova requests a power state change
and when that request is visible in Ironic's API, which could lead to
Nova believing the request was completely satisfied before it
actually started.
A partial fix has been proposed to Nova:
https://review.openstack.org/124162
This also requires that Ironic change the node's target_power_state from
within ConductorManager *prior* to spawning the background thread which
performs the actual work.
Looking into this exposed another potential race in Ironic whereby
a power state change request could be responded with 202-Accepted,
but the background thread might fail to be started, and no error would
be reported. The new behavior is to set node.last_error in the same
way that this is handled for provision state changes that fail in the
same way.
Change-Id: I4d85c9230bcd9b6e36ffa9a326fda9908fee7e76
Closes-bug: #1310135
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I3309af3627700e3d051042049b8eacac1c632bd4
Closes-Bug: #1375042
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Change-Id: Ie0388faf64e2d2d76713bfb6fec096e1d3027b1b
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Support for openSUSE documentation is updated in this patch.
Change-Id: I3606c999fd1a17df975d9dd734c2582841ecc152
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some test case classes that inherit from
ironic.tests.db.base.DbTestCase set context in their setUp method,
while it is already initialized in DbTestCase's setUp method. This
change removes such unneeded initializations.
Closes-bug: #1373979
Change-Id: I7ab07168f1f30b4544801a1798cbda191c8d15c7
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The proposal bot only imports file that are at least 75 % translated.
Remove any PO file that is untranslated or has less than 75 % of
translations.
This actually removed *all* files.
Checked number of translated entries with:
cd ironic/locale
for i in `find . -name *.po `; do echo $i;msgfmt --statistics $i; done
See also https://www.transifex.com/projects/p/ironic/ for current
translation state.
Whenever a file is again translated sufficiently, the proposal bot will
propose a new patch - thus we do not lose any translations.
Change-Id: I9319c37d8af11a2163528c60e3a2bb0a84db4f21
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In common.utils.mkfs and in common.disk_partitioner.list_partitions
functions standard locale is required in order to get correct console
output. In this change use_standard_locale flag is added to
common.utils.execute function to avoid code duplication when copying
environment variables and setting correct loacale.
Change-Id: Icd0ceb7b588d435eba9eb30846a9c66565e98a5e
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Update ironic.conf.sample due to changes in keystoneclient
Change-Id: I8f73b53f5a5714158aeffa41cd0891a5c3092128
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I68341cf5814c4d312535efe679143a14a3391215
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since we only want drivers to raise IronicExceptions, this raises a
VendorPassthruException instead of any non-IronicException in the agent's
AgentVendorInterface.vendor_passthru() method.
Change-Id: I6a0b55e3b825ce08c1d217da287ee127989741c6
Partial-Bug: #1267693
|