1524 Commits

Author SHA1 Message Date
ShangXiao
e581bf7a3f Add release notes link to README
Add release notes url doc link to README.rst.

Change-Id: I12652da892ccb6b43d7686db522b972c4bdc3df7
2018-05-29 01:18:45 -07:00
Zuul
ce576ea2d9 Merge "Add min/max values to integer config options" 2018-05-28 07:02:41 +00:00
Will Szumski
faa898db09 Add a release note for secure erase changes
Change-Id: I6eaa8d8657f153c81ccc7cc2b49cb63a8c1637b3
2018-05-25 05:29:47 +00:00
Bill Dodd
3c30088c1e Add min/max values to integer config options
None of the existing ironic-python-agent integer config options included
min or max values. Added appropriate min/max values for the integer
config options.

Two of the integer options are for ports (listen_port and
advertise_port). These were changed to use the more appropriate
oslo_config cfg.PortOpt instead of cfg.IntOpt. PortOpt has the proper
min and max values built in.

Change-Id: I98709a45d099aea62c9973beb6817591cb445a9c
Story: 1731950
2018-05-23 12:08:42 -05:00
Zuul
cd96627760 Merge "write byte objects when using os.write" 2018-05-18 14:30:31 +00:00
Zuul
bcb4f3652d Merge "Fix for fatal error when GPT was used and only MBR was cleaned" 2018-05-18 14:30:29 +00:00
Zuul
696d1cf421 Merge "rework ATA secure erase" 2018-05-17 19:39:54 +00:00
Matthew Thode
a03661c4a8
write byte objects when using os.write
Change-Id: I184a9d0bf4a0ba0776d519b3a3b9ccd39151b4ae
Story: 2002052
Task: 19713
2018-05-17 11:11:55 -05:00
Olivier Bourdon
5fcf3f066c Fix for fatal error when GPT was used and only MBR was cleaned
You can generate this error if after having provisioned a node
using GPT partitioning, you clean its MBR using say
dd if=/dev/zero bs=1024 count=1 of=/dev/sda
and then cleanup all Ironic/Bifrost informations to get it
reprovisioned.
In this case sgdisk -Z returns an error and last_error field
in Ironic contains:
Error writing image to device: Writing image to device
        /dev/sda failed with exit code 2
Caution: invalid main GPT header, but valid backup;
        regenerating main header\nfrom backup!\n
        \nInvalid partition data!\

Change-Id: Ib617737fff5e40cb376edda0232e0726d9c71231
2018-05-17 12:51:55 +02:00
Will Szumski
aaf76e2cfb rework ATA secure erase
hdparm versions prior to 9.51 interpret the value, NULL, as a
password with string value: "NULL".

Example output of hdparm with NULL password:

    [root@localhost ~]# hdparm --user-master u --security-unlock NULL /dev/sda
    security_password="NULL"

    /dev/sda:
    Issuing SECURITY_UNLOCK command, password="NULL", user=user
    SECURITY_UNLOCK: Input/output error

Example output of hdparm with "" as password:

    [root@localhost ~]# hdparm --user-master u --security-unlock "" /dev/sda
    security_password=""

    /dev/sda:
     Issuing SECURITY_UNLOCK command, password="", user=user

Note the values of security_password in the output above. The output
was observed on a CentOS 7 system, which ships hdparm 9.43 in the
offical repositories.

This change attempts to unlock the drive with the empty string if an
unlock with NULL was unsucessful.

Issuing a security-unlock will cause a state transition from SEC4
(security enabled, locked, not frozen) to SEC5 (security enabled,
unlocked, not frozen). In order to check that a password unlock attempt
was successful it makes sense to check that the drive is in the unlocked
state (a necessary condition for SEC5). Only after all unlock attempts
fail, do we consider the drive out of our control.

The conditions to check the drive is in the right state have been
adjusted to ensure that the drive is in the SEC5 state prior to issuing
a secure erase. Previously, on the "recovery from previous fail" path,
the security state was asserted to be "not enabled" after an unlock -
this could never have been the case.

A good overview of the ATA security states can be found here:

  http://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs

Change-Id: Ic24b706a04ff6c08d750b9e3d79eb79eab2952ad
Story: 2001762
Task: 12161
Story: 2001763
Task: 12162
2018-05-16 13:18:15 +00:00
Dao Cong Tien
0889051159 Rescue bug: tinyipa fails to acquire IP in multitenant env
It seems the udhcpc script is not executable and no sleeping
cause tinyipa fails to acquire IP in multi-tenant env.

Story: #2002024
Change-Id: I3a693d75bfa54fe905bd3cd0587bb139934c087c
2018-05-15 14:33:36 +07:00
Zuul
7dbcaa69e5 Merge "Do not run functional (API) tests in the CI" 2018-05-13 15:11:27 +00:00
Zuul
0912a24b38 Merge "Fix gate and bump CoreOS version to latest stable." 2018-05-11 14:34:13 +00:00
Dmitry Tantsur
cc40eb9acd Do not run functional (API) tests in the CI
These tests exercise Ironic API with the fake driver, thus they provide
no coverage for IPA and can be excluded.

Change-Id: I02eb41b112f1da413178cbdc5834d2904e9d26e9
2018-05-11 10:25:41 +00:00
Julia Kreger
3164053f08 Fix gate and bump CoreOS version to latest stable.
Increases the amount of ram for CoreOS IPA to 2GB
as the base CoreOS image is now 310MB.

Bumped CPU count for CoreOS runs to 2 CPUs as the
concurrency helps boot times for the CoreOS ramdisk.

Adds netbase, udev, and open-iscsi to debian jessie container
as they are no longer present in the default container.

Explicitly set path variable for execution in the debian
container as udevadm is in /sbin, and we may not have
/sbin on the path that is passed through to the
chroot.

Also fixed new pep8 test failures.

Story: #1600228
Task: #16287
Change-Id: I488445dfd261b7bca322a0be7b4d8ca6105750a3
2018-05-10 15:50:05 -07:00
ghanshyam
a69ccee287 Gate fix: Cap hacking to avoid gate failure
hacking is not capped in g-r and it is in
blacklist for requirement as hacking new version
can break the gate jobs.

Hacking can break gate jobs because of various
reasons:
- There might be new rule addition in hacking
- Some rules becomes default from non-default
- Updates in pycodestyle etc

That was the main reason it was not added in g-r
auto sync also. Most of the project maintained the
compatible and cap the hacking version in
test-requirements.txt and update to new version when
project is ready. Bumping new version might need code
fix also on project side depends on what new in that
version.

If project does not have cap the hacking version then,
there is possibility of gate failure whenever new hacking
version is released by QA team.

Example of such failure in recent release of hacking 1.1.0
- http://lists.openstack.org/pipermail/openstack-dev/2018-May/130282.html

Change-Id: I2c84d3368bd6675c28ebba695e0c1afdd2867588
2018-05-09 02:38:35 +00:00
Zuul
2df41a80e3 Merge "Stop using slave_scripts/install-distro-packages.sh" 2018-04-23 19:21:01 +00:00
Zuul
5ef97ab743 Merge "fix lower constraints and uncap eventlet" 2018-04-23 17:11:48 +00:00
Paul Belanger
ec9369b167
Stop using slave_scripts/install-distro-packages.sh
Migrate the legacy job to start using our bindep role from zuul-jobs.
This will allow openstack-infra to delete
slave_scripts/install-distro-packages.sh in the future.

Change-Id: If4a5b5c1d85e1491c1544378479c0fc82ad2af03
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-04-20 15:20:22 -04:00
Doug Hellmann
8748293674 fix lower constraints and uncap eventlet
Fix the lower constraints settings to match the expected values.

We will manage the eventlet version using constraints now. See the
thread starting at
http://lists.openstack.org/pipermail/openstack-dev/2018-April/129096.html
for more details.

Change-Id: I66b4e20bb565ac7fa9ca5cf48410f29161ef7b3a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-04-19 20:19:42 +09:00
John L. Villalovos
c09634ad80 flake8: Add W503 to ignore list as invalid
W503 according to the [1] pycodestyle docs is not supposed to be
enabled. But it is.

W503 is something we will likely never enable as it is a personal
style decision and can change depending on the code. There is no one
right answer. Interestingly there is also a W504 which is the opposite
check.

[1] http://pycodestyle.pycqa.org/en/latest/intro.html#error-codes

Change-Id: I1025f21a57837e97280f82baba50fdd823a190cc
2018-04-11 09:33:45 -07:00
Zuul
ae0544cc1a Merge "GenericHardwareManager: get mac address using netifaces" 2018-04-01 14:32:09 +00:00
Zuul
40c88cb40a Merge "Change launchpad to StoryBoard" 2018-03-28 16:09:10 +00:00
Zuul
b71c070c9a Merge "Updated from global requirements" 2018-03-28 16:09:02 +00:00
Julia Kreger
75e8085e1f Change launchpad to StoryBoard
We're using StoryBoard to track features and bugs, instead
of Launchpad [1].

[1] http://eavesdrop.openstack.org/meetings/ironic/2018/ironic.2018-03-26-15.00.html

Change-Id: I0af1c937da64c271de80939b5359db86b837b607
2018-03-28 14:15:29 +00:00
OpenStack Proposal Bot
d90a53515f Updated from global requirements
Change-Id: Ia3aa6302d24606c4b13fcd91604869ac00acecd0
2018-03-26 08:04:56 +00:00
Doug Hellmann
dc5d6590e2 add lower-constraints job
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.

Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.

Add openstack-tox-lower-constraints job to the zuul configuration.

See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.

Change-Id: I8d773d4ee3d0835fb2a9183fe2154e82db085bd5
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-22 13:45:58 -04:00
Zuul
4810656ba3 Merge "Switch the CI to hardware types and clean up playbooks" 2018-03-22 13:22:28 +00:00
Dmitry Tantsur
e08726142e Switch the CI to hardware types and clean up playbooks
This change modifies the playbooks to use the 'ipmi' hardware type.
It also removes redundant conditions. The job names are not changed
to simplify the patch.

Change-Id: Ie7609ab4cceb5c01806a7a0728a4087f790a590e
2018-03-15 16:15:50 +01:00
OpenStack Proposal Bot
5600437d3e Updated from global requirements
Change-Id: I6dbe9201912d5b385be3d426ed5e6a0546746c9e
2018-03-15 07:01:01 +00:00
Zuul
64c6a0db41 Merge "Updated from global requirements" 2018-03-14 17:01:37 +00:00
Zuul
c4e9f99d77 Merge "change python-libguestfs to python-guestfs for ubuntu" 2018-03-14 07:08:42 +00:00
OpenStack Proposal Bot
c0790bb105 Updated from global requirements
Change-Id: Ief83d9d150c7aad73c04d40579f003ff150cff7c
2018-03-14 05:31:23 +00:00
Zuul
9f7a5c1ee1 Merge "mlnx hardware_manager: get mac address using netifaces" 2018-03-13 17:24:05 +00:00
Hamdy Khader
4f9ee6ae5e GenericHardwareManager: get mac address using netifaces
Change-Id: Ie052c596b536325cbd3d26fe27e476a4b0b1981d
2018-03-13 16:12:03 +02:00
OpenStack Proposal Bot
5c605699a2 Updated from global requirements
Change-Id: I3036d2371698090f47830070b281b0f55137e4dd
2018-03-13 06:55:11 +00:00
wangqi
aa3b920df7 change python-libguestfs to python-guestfs for ubuntu
Change-Id: I660b815764e8b657fcbd1fb564b27a5f31edeea6
2018-03-12 03:24:20 +00:00
Moshe Levi
7631902ec7 mlnx hardware_manager: get mac address using netifaces
Change-Id: I62e4ca6afb0f8a256ddf9bbc48225fbb96f9e817
2018-03-11 12:50:08 +02:00
OpenStack Proposal Bot
c34fe0bf2a Updated from global requirements
Change-Id: I377eac62494b118231ebbad2ae5e29dcbb2dd2ae
2018-03-10 13:15:37 +00:00
Zuul
cfbc3a5527 Merge "Follow-up patch for documentation of rescue mode" 2018-02-15 12:02:11 +00:00
Shivanand Tendulker
a1d2b2ad0f Follow-up patch for documentation of rescue mode
This is the follow-up patch addresses outstanding comments for
commit 689dbf6b5c6ec1dcaf1fa37d288518c91eedf4ec.

Change-Id: I72c189988c5c274c32d61a2b9aea5a84da2b2c6e
Related-Bug: #1526449
2018-02-12 14:05:14 -05:00
ea242a30cb Update reno for stable/queens
Change-Id: Ia0c677a57c0fbee7b97b83bdf274ee8b3fa9a195
2018-02-08 09:26:07 -05:00
Zuul
de32d66ce3 Merge "When ouputting to /dev/null should open in write mode" 2018-02-07 21:45:49 +00:00
Zuul
e8bdfeed32 Merge "Replace curly quotes with straight quotes" 2018-02-07 19:34:27 +00:00
Zuul
cd13cb1c1b Merge "Add documentation for rescue mode" 2018-02-07 16:14:23 +00:00
Mario Villaplana
689dbf6b5c Add documentation for rescue mode
This adds documentation for rescue mode, including the finalize_rescue
command as well as upstream support in agent images.

Change-Id: Id0834941ee4dacf2e7c0feaa65126d63e8a97c39
Partial-Bug: 1526449
2018-02-07 11:08:15 -05:00
John L. Villalovos
944a77c9c6 When ouputting to /dev/null should open in write mode
Even though it was working opening the file in 'read' mode, it really
should be opened in 'write' mode, since we are redirecting the output
to the file.

Interestingly it does fail in 'read' mode if the command is:
    echo something

But passes in 'write' mode.

Change-Id: Ic67091881e0be377e527b78d270ab48962881ae0
2018-02-06 23:01:53 -08:00
Zuul
ca710ca692 Merge "Replace use of functools.wraps() with six.wraps()" 2018-02-06 01:27:41 +00:00
John L. Villalovos
8873f5eb91 Replace use of functools.wraps() with six.wraps()
In Python 2.7, functools.wraps() does not provide the '__wrapped__'
attribute. This attribute is used by
oslo_utils.reflection.get_signature() when getting the signature of a
function. If a function is decorated without the '__wrapped__'
attribute then the signature will be of the decorator rather than the
underlying function.

From the six documentation for six.wraps():
    This is exactly the functools.wraps() decorator, but it sets the
    __wrapped__ attribute on what it decorates as functools.wraps()
    does on Python versions after 3.2.

Change-Id: Ic0f7a6be9bc3e474a0229b264d1bfe6c8f7e6d85
2018-02-01 15:15:00 -08:00
Zuul
56c33deb88 Merge "Adds a releasenote for DHCP support for TinyIPA" 2018-02-01 22:44:38 +00:00