7933 Commits

Author SHA1 Message Date
Dmitry Tantsur
5233ef0f96 Clean up CI playbooks
The job scripts are purged of shell conditions that are never true
and variables that no longer have effect.

The resourceclasses job is removed completely, as all jobs now run
with resource classes.

Change-Id: I66a5e4f5f7214bcf9aeab8ee8d46a323610ff333
2018-02-12 14:07:00 +01:00
John L. Villalovos
2d0dab2bab Fix broken log message.
The log message had the wrong variable name. Update the variable name
to match the dictionary supplied.

This was detected with my patch which detects mis-formatted log
messages.

Change-Id: Ic352ce13550f811f7d6e2f3dddd54714ea8b2d9b
2018-02-09 06:53:25 -08:00
Ruby Loo
9a2ebde83f Remove validate_boot_option_for_trusted_boot metric
This removes the timing metric "validate_boot_option_for_trusted_boot"
because the validate_boot_parameters_for_trusted_boot() function is
an internal function that is called by PXEBoot.validate() -- which
is handled by the "PXEBoot.validate" metric. We shouldn't be emitting
metrics for such short-lived, internal functions.

Change-Id: Iaaa573fc4f128d6c3e20faf9c94259b352874eb8
2018-02-08 18:04:43 -05:00
Zhenguo Niu
a0e08d026b Add some missed test cases in node object tests
Change-Id: Ib025178359a0ed5445b7ef495f004bdbc92fbd15
Co-Authored-By: Ruby Loo <ruby.loo@intel.com>
2018-02-08 10:27:17 +00:00
Zuul
c752f4928e Merge "correct grammar, duplicate the found" 2018-02-08 08:41:04 +00:00
Ruby Loo
b631c0f4ee [reno] timeout parameter worked
We thought that the 'timeout' parameter that was specified for a
node's power state transition wasn't working for ipmitool, irmc,
and oneview power interfaces, but it turns out that it was working.
This updates the release note to reflect that.

Change-Id: Icc439179a3790f109d42c5014b11defbfd6c2127
Related-Bug: #1746849
2018-02-07 20:09:17 -05:00
Zuul
9ab04d0962 Merge "Stop guessing mime types based on URLs" 2018-02-08 01:04:02 +00:00
Zuul
39431a6ccf Merge "Remove unnecessary lines from sample local.conf" 2018-02-08 01:03:58 +00:00
Zuul
b73b8bc8fb Merge "Don't try to lock for vif detach" 2018-02-08 01:03:56 +00:00
Zuul
f37c8dd535 Merge "Clean up release notes before a release" 2018-02-07 23:09:08 +00:00
Vladyslav Drok
3363fce3be Remove unnecessary lines from sample local.conf
Nova network service does not exist anymore, so no need to disable
it, as well as enable neutron as it is enabled by default. Heat is
not enabled by default, so there is no need to disable it.

Change-Id: I6dea2ec9bde717462b6974c001bc23b2ad8c6d94
2018-02-07 21:14:11 +00:00
Dmitry Tantsur
cfc167eadf Stop guessing mime types based on URLs
Currently we have a pecan feature enabled that strips extensions
from the end of the URL and treat it like requested content type.
E.g. /v1/nodes.json is treated as /v1/nodes with requested content
type Application/Json. However, this prevents certain node names:
e.g. /v1/nodes/small.1 is treated like /v1/nodes/small with content
type of a man page. It does not make any sense for ironic API,
as we only support Application/Json content type (and .json suffix).

This change disabled this pecan feature. To keep backward compability
a new middleware stips the .json prefix and saves a flag in the
environment about its presence. API accepting names try to find
their resource first without, then with .json suffix.

The following endpoints are special-cased to support names with .json:
* Node GET, PATCH and DELETE
* Ramdisk heartbeat
* Port group GET, PATCH and DELETE

VIF API is not updated, so VIF IDs still cannot have .json suffix.

Change-Id: I789ecfeac9b64a9c4105a20619f7bf5dfc133189
Closes-Bug: #1643995
2018-02-07 20:58:35 +00:00
Zuul
de12b88e02 Merge "Revert grenade jobs to classic drivers" 2018-02-07 20:58:04 +00:00
Dmitry Tantsur
3aaf4922f1 Clean up release notes before a release
Also add a prelude for the whole Queens release.

Change-Id: I689e9f4f8d6a7c1877cf39ba0e6e232a20930e90
2018-02-07 20:19:02 +00:00
Zuul
6b7318b335 Merge "Update iRMC document for classic driver deprecation" 2018-02-07 19:40:22 +00:00
Zuul
f582f51686 Merge "Handle case when a glance image contains no data" 2018-02-07 19:40:20 +00:00
Julia Kreger
4f79cb3932 Don't try to lock for vif detach
Historically, we did not have a prohibition upon removing
a VIF entry stored in the extra field, however the VIF
attachment/detachment feature resulted in a task being
created which by default attempts to pull a reservation
lock unless explicitly shared.

This is problematic as part of the process of undeploying
a node as exclusive locks are generated.

Presently, if any of those locked tasks run long, such as
a new image being required or for some crazy reason,
the BMC power request hangs for a few minutes, the VIF
record may be orphaned and never removed, as the
expectation is that nova deletes the VIF record from ironic.

This allows the VIF record to be removed when a node is
no longer in active use and possibly subject to a lock being
held for a long period of time, such as when setting up
for CLEANING.

Additionally, this patch moves the actual VIF record
deletion until after the detachment action in the
event that it fails. This allows for the state in
ironic to be consistent instead of the record
being removed before the detachment occurs.

Change-Id: Ib7544e43a2b26441d4f562b584bbc7fee6a11fea
Closes-Bug: #1743652
2018-02-07 10:23:47 -08:00
Zuul
9a8eef1279 Merge "Add 10.1 and queens to the release mapping" 2018-02-07 17:52:05 +00:00
Sam Betts
3625bda6f8 Revert grenade jobs to classic drivers
This reverts the grenade job driver changes from commit
fa850c80cbc701f1252dabcd3f514bca0148f54d. Local config settings in the
grenade jobs are used for the previous version (old) devstack plugin in
the grenade run. So the local config defined here must match how we want
the old devstack setup, not the current (new) devstack.

Change-Id: I3d5aa1da6879a0c624b5196632886da32e12d7d7
2018-02-07 16:26:41 +00:00
Zuul
4ef2c08090 Merge "Use zuul.override_checkout instead of custom branch_override var" 2018-02-07 16:14:21 +00:00
Zuul
765a6ef4c4 Merge "Fix handling of 'timeout' parameter to power methods" 2018-02-07 16:14:19 +00:00
Zuul
273e2c2c74 Merge "Do not pass credentials to the ramdisk on cleaning" 2018-02-07 15:55:00 +00:00
Dmitry Tantsur
70039cbe60 Handle case when a glance image contains no data
In my experience, it happens when Swift storage backing Glance was
purged, but it can probably also happen if an image never had data
at all. This patch raises a correct exception instead of TypeError.

Switch relevant unit tests to Glance V2, as V1 is long deprecated.

Change-Id: I75e5ae7f46ce3a1506ed6108ff05df3083fd5084
Closes-Bug: #1741223
2018-02-07 13:45:55 +01:00
Dmitry Tantsur
534f7bd077 Add 10.1 and queens to the release mapping
Also remove mentioning of the example configuration file from the
releasing docs, as we've removed it.

Change-Id: I8e2a2adcac7de69c3a03ddd560de96b0972b99e1
2018-02-07 13:22:16 +01:00
Zuul
abb14290fb Merge "Only set default network interface flat if enabled in config" 2018-02-07 11:45:04 +00:00
Dmitry Tantsur
c2185469c4 Do not pass credentials to the ramdisk on cleaning
Currently the driver_info is passed as is to the ramdisk when calling
get_clean_steps or execute_clean_step. This may lead to their exposure,
as ironic<->ramdisk communication is currently not secure.

This change applies the same logic we use in the API to filter
the fields.

Change-Id: I4fd44786fea6c7092d2b0029cea6d680d31babde
Closes-Bug: #1744836
2018-02-07 12:22:26 +01:00
Zuul
ccf5e16773 Merge "correct grammar, duplicate the found" 2018-02-07 09:45:36 +00:00
wangdequn
e06e0c59b1 correct grammar, duplicate the found
Change-Id: Ie827e14ae25c7a211061444a81c00757d7cc4ac7
2018-02-07 17:42:40 +08:00
Hironori Shiina
ffdfa5eb53 Update iRMC document for classic driver deprecation
As a part of deprecating classic drivers, this patch updates the
documentation of iRMC driver. We still mention the classic drivers with
warning. The description for the classic drivers will be removed in
Rocky.

Change-Id: I6331072b44bf33c6bfa75703bf2ab46dac96a5e7
Related-Bug: #1690185
2018-02-07 18:20:13 +09:00
Zuul
56fbe03edb Merge "Correct grammar, duplicate the found" 2018-02-07 05:07:43 +00:00
Zuul
0abfc78707 Merge "Modify error quotation marks" 2018-02-07 05:07:40 +00:00
wangdequn
e62a94ef47 correct grammar, duplicate the found
Change-Id: If785e0e643263c7cbcf76a15f6f778013af42812
2018-02-07 11:21:19 +08:00
wangdequn
e852803662 Correct grammar, duplicate the found
Change-Id: Ie7adda8e9ab36bc74481624b96340753bdb1b70a
2018-02-07 11:06:29 +08:00
Zuul
fbf9e62a5a Merge "Zuul: Remove project name" 2018-02-07 01:52:31 +00:00
Zuul
44ae1e9ea9 Merge "Rework exception handling on deploy failures in conductor" 2018-02-07 00:44:34 +00:00
Sam Betts
aed4834121 Only set default network interface flat if enabled in config
This patch updates the driver factory logic which sets a default for the
network interface when there is not one set in the config file. Before
this patch the logic forces "flat" as the default network interface for
all hardware types and classic drivers even if flat isn't enabled in the
config file, resulting in a misleading error.

This patch changes the code to only set "flat" as the default for
classic drivers if its enabled in the enabled_network_interfaces
configuration option in the config file, and to not override a default
for hardware types at all because the default for hardware types should
either come from the config file or from the hardware type's
supported_network_interfaces list.

Change-Id: Ia8676d3483ddc78df8766dc1baaf2db6b5686050
Closes-Bug: #1744332
2018-02-06 18:21:00 +00:00
Ruby Loo
9e87cebc12 Fix handling of 'timeout' parameter to power methods
The PowerInterface methods set_power_state() and reboot() were enhanced
to take a 'timeout' parameter [1]. To handle Interfaces that didn't
support timeout, conductor.utils.node_power_action() used
reflection.get_signature() to determine whether or not the node's
PowerInterface's methods could handle a timeout parameter.

It turns out that there was a bug with the
ironic_lib.metrics.timer decorator [2], such that
reflection.get_signature() did not return the method parameters. This
means that for PowerInterfaces that had this decorator, the conductor
would incorrectly think that 'timeout' was not supported, even if it
were supported.

Instead of trying to decide whether a PowerInterface supports 'timeout',
the conductor now assumes that it does. This patch changes all in-tree
PowerInterfaces so that they accept a 'timeout' parameter for reboot()
and set_power_state().

For any out-of-tree implementations that don't accept a 'timeout'
parameter, a TypeError exception will be raised.

[1] f15d5b9a37260b3876f9dadeb030412e6e1053b2
[2] https://bugs.launchpad.net/ironic/+bug/1746730

Closes-Bug: #1746849
Change-Id: Iae28e94c34d4d69593644d0e5f4542558db9bb79
2018-02-06 08:33:45 -05:00
MaoyangLiu
a0e1131b0c Replace chinese quotes to English quotes
Change-Id: Ica91e88cbb4e51ef591bf748273a2ca3334aa071
2018-02-06 17:43:45 +08:00
James E. Blair
dec0a09f9c Zuul: Remove project name
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.

Change-Id: Ie564f1e1246624ad48a6e745e47afcc58059a10d
2018-02-06 01:04:01 -08:00
wudong
0dedf5a9a1 Modify error quotation marks
modify Chinese quotation marks to English
Change-Id: I60b038f997f0e84e75a2902bf0e8c0606312ea71
2018-02-06 07:25:47 +00:00
Zuul
12d3157a96 Merge "Add validate_rescue() method to network interface" 2018-02-05 17:11:45 +00:00
Zuul
b61ab3b7a1 Merge "Remove unused code in unittest" 2018-02-05 14:14:09 +00:00
Sam Betts
dcc5546b49 Use zuul.override_checkout instead of custom branch_override var
To override the branch correctly in both zuulv3's playbook loading we
have to use override_checkout in the job. This variable already gives us
the information we need to set the override branch, so use that instead
of the custom branch_override variable so we don't have to define it
twice in the job.

Change-Id: Iec7be918f75e3400197748385b287fb945d761ac
2018-02-05 11:07:55 +00:00
Zuul
214b694f05 Merge "correct referenced url in comments" 2018-02-05 08:49:46 +00:00
Shivanand Tendulker
9a110e01bd Add validate_rescue() method to network interface
Adds validate_rescue() method to network interface to validate
rescuing network. This method is called by rescue.validate().

Change-Id: Iccac602047eec10f03ef6eaf2dbe716efd6e7f9a
Closes-Bug: #1747100
2018-02-05 03:00:12 -05:00
Zuul
70a86cd8b5 Merge "Add option to specify mac adress in devstack/.../create-node.sh" 2018-02-05 05:25:03 +00:00
Zuul
653d267de6 Merge "Correct link address" 2018-02-05 01:03:53 +00:00
Zuul
3d38fd2bbd Merge "Follow-up patch for api-ref documentation for rescue" 2018-02-03 16:35:40 +00:00
Zuul
e8cf57fa6a Merge "Remove sample policy and config files" 2018-02-03 16:35:38 +00:00
Zuul
822aeebbc2 Merge "[docs] Firmware based boot from volume for iLO drivers" 2018-02-03 01:24:30 +00:00