6486 Commits

Author SHA1 Message Date
Jim Rollenhagen
03cd4c4291 Add a tox target for unit tests with driver libraries
We mock out driver libraries in unit tests if they are not installed,
which leads to a periodic break in unit tests when they are actually
installed in the environment. This is sometimes a real break and
sometimes just a bad test, but at any rate it slows down packagers
and actual users.

Add a new tox target that runs unit tests with these installed,
so that we can put something in CI and stop breaking this.

Partial-Bug: #1626106
Change-Id: I81ce147c8958bb89b316c3c28fc9bce172f93873
2017-02-10 14:06:38 +00:00
Jenkins
2b10dd8bfc Merge "Update api-ref for dynamic drivers" 2017-02-10 13:01:20 +00:00
Jenkins
dc3a341adb Merge "Add port groups configuration documentation" 2017-02-10 13:01:07 +00:00
Jenkins
744303d50a Merge "SNMP agent support for OOB inspection for iLO Drivers" 2017-02-10 12:59:10 +00:00
Jenkins
ea1e2b82b1 Merge "Fix object save after refresh failure" 2017-02-10 09:41:52 +00:00
Jenkins
c1cc08702c Merge "Remove most unsupported drivers" 2017-02-10 09:41:41 +00:00
Jenkins
350dec88f7 Merge "No node interface settings for classic drivers" 2017-02-10 08:13:45 +00:00
Jenkins
dff498f034 Merge "Source lib/ironic in grenade settings" 2017-02-10 02:02:47 +00:00
Vasyl Saienko
5efde6a7a3 Source lib/ironic in grenade settings
We set global variables in Ironic devstack plugin like
DEFAULT_IMAGE_NAME. Ensure that grenade uses them by
sourcing lib/ironic from upgrade/settings.

Set IRONIC_DEPLOY_DRIVER by default to pxe_ipmitool. As we no longer
add IRONIC_DEPLOY_DRIVER to IRONIC_ENABLED_DRIVERS and defaults are
conflicting.

Closes-Bug: #1663371

Change-Id: I462ac792ad7920beff64c15a7c005406fcfa5cce
2017-02-09 20:35:02 +00:00
Mario Villaplana
d33faedbac Update api-ref for dynamic drivers
Updates reference for drivers API as well as nodes API to match the
merged driver composition reform work.

Change-Id: I89a7b1998a858d5c39f21c6653893aa8d7ad15bd
Partial-Bug: 1524745
2017-02-09 19:51:03 +00:00
Vladyslav Drok
d3e13f6f0b Add port groups configuration documentation
Closes-Bug: #1640592
Related-Bug: #1618754
Change-Id: Ib4b670e031402acc151e650e48924129d90595e9
2017-02-09 15:31:42 +02:00
Pavlo Shchelokovskyy
02ce7246ec Remove most unsupported drivers
In accordance with ironic CI policies, this patch removesi some drivers
that are not tested on upstream or third-party CI
and for which maintainers have not communicated any plans
to have such testing.

This includes:
- virtualbox drivers
- seamicro drivers
- msftocs drivers

Change-Id: Ia3a7d798c877f4628946ee6c56d850b9847e6c3e
Closes-Bug: #1663018
2017-02-09 08:09:03 +00:00
Nisha Agarwal
8de1f6870c SNMP agent support for OOB inspection for iLO Drivers
This patch allows to get the disk size by OOB Inspection
using snmpv3 if RIBCL/RIS is unable to get it.

Closes-bug: 1609622

Change-Id: Ib315dabc50b1f0b627b69781ef1c14de0d5d972c
2017-02-08 08:41:54 -08:00
Ruby Loo
d8bdbda030 No node interface settings for classic drivers
Classic drivers have their interfaces (except for
network and storage) pre-determined. Unlike dynamic
drivers, it is not possible to change these interfaces
for nodes with a classic driver. If that is attempted
(when creating or updating a node), an exception
MustBeNone is raised (and HTTP status 400 is returned).

So that we don't break existing ironic clusters that
have nodes with classic drivers and interfaces specified,
a warning is logged (instead of raising an exception)
when a TaskManager is created.

Change-Id: I290b10f735d0da9710d1ee3b50c3252f73956428
Partial-Bug: #1524745
2017-02-08 14:50:03 +00:00
Jenkins
d601a11e91 Merge "Unbind tenant ports before rebuild" 2017-02-08 14:22:35 +00:00
Jenkins
8b1b44f20b Merge "Remove a py34 environment from tox" 2017-02-08 12:16:52 +00:00
Jenkins
1dc1d7995c Merge "Pass session directly to swiftclient" 2017-02-08 12:14:06 +00:00
Vladyslav Drok
c6abd51159 Unbind tenant ports before rebuild
Currently, during rebuild, tenant ports are bound to tenant network
when we call add_provisioning_network. We need to unbind them first.

Closes-Bug: #1657083
Change-Id: I475a089ee646872f7874c3d257c1dc571ea94f4d
2017-02-08 11:47:27 +02:00
Cao Xuan Hoang
eaf4622886 Remove a py34 environment from tox
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. So we can drop py34 environment from tox.

Change-Id: I5e4ed5b4e8e90266813c047d6502d2e7f9b7eb59
2017-02-08 16:09:54 +07:00
Jenkins
2b6ff862c1 Merge "Remove trailing slash from base_url in tempest plugin" 2017-02-07 22:32:29 +00:00
Jenkins
c9397e1699 Merge "Fix log formating in ironic/common/neutron" 2017-02-07 22:31:13 +00:00
Jenkins
72516959f3 Merge "Validate the network interface before cleaning" 2017-02-07 21:17:36 +00:00
Jenkins
9da91aaaf5 Merge "log if 'flat' interface and no cleaning network" 2017-02-07 20:46:14 +00:00
Jenkins
70a6301115 Merge "exception from driver_factory.default_interface()" 2017-02-07 20:43:25 +00:00
Jenkins
ee1cde68a7 Merge "Use https instead of http for git.openstack.org" 2017-02-07 19:36:04 +00:00
Vasyl Saienko
64e098367f Fix object save after refresh failure
When we try to save() object after its refresh(), it leads to a
TypeError. Let's not keep track of changed fields in refresh(),
all fields are reloaded from database.

Closes-Bug: #1612666
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Change-Id: I0f47552c424973af3704903a52f98db819b18c3f
2017-02-07 13:07:10 +02:00
Pavlo Shchelokovskyy
5b10a82bf6 Pass session directly to swiftclient
since v3.2.0 swiftclient supports instantiating the API client from
keystonauth session, and we already require this version as minimal in
ironic.

This patch removes existing workarounds in SwiftAPI code which were there
only to accomodate for absence of session handling in swiftclient,
and now the keystoneauth session built from the [swift] config section
is used directly to instantiate the swift API client.

Change-Id: I52f1386df45ebe0a43b11fe1583e012dfa3af532
Related-Bug: #1518938
2017-02-07 10:49:22 +00:00
Vasyl Saienko
696e9baa09 Fix log formating in ironic/common/neutron
This patch adds missed space in the log.warning message from
ironic/common/neutron

follow-up to: Icb8298b9be0d8ba62192580263feafa0e1708129

Change-Id: I5ab976d734c538d4027c0cdf53cf5861e62ab04d
2017-02-07 09:57:20 +02:00
gengchc2
06c4c00688 Use https instead of http for git.openstack.org
Trivialfix

Change-Id: Ie1dbfa3c89dd10d65f69a948ae1158cf6b864c45
2017-02-07 11:53:15 +08:00
Ruby Loo
f192abb9ed Validate the network interface before cleaning
In addition to validating the power interface before cleaning
is started, the conductor will also validate the network
interface.

Change-Id: Id8938c4e426243de721ce781f28fd1dbeff6b8ab
Fixes-Bug: #1662372
2017-02-07 01:19:30 +00:00
Ruby Loo
e3bd99f93a log if 'flat' interface and no cleaning network
Commit cde11611d93946a1c79e406dc429aa5e742da729 added a TODO (in
Ocata) to raise DriverLoadError if using 'flat' network interface
and cleaning_network config option is not set.

After discussions, we decided to keep the logging behaviour,
because one could use a flat network and not do any cleaning.
The logging message is updated to reflect this.

Change-Id: Ida3f3a349655bffc3ed0a307a3c18fbd69b42271
Fixes-Bug: 1661082
2017-02-07 00:20:05 +00:00
Ruby Loo
0a7fc6059a exception from driver_factory.default_interface()
This changes driver_factory.default_interface() so that instead
of returning None if there is no calculated default interface,
it raises exception.NoValidDefaultForInterface.

This is a follow up to 6206c47720eb16719088540a48b53fb22a4eb999.

Change-Id: I0c3d5d75b5a37af02f3660968cf3f2c669e52019
Partial-Bug: #1524745
2017-02-06 20:48:56 +00:00
Dmitry Tantsur
e98b028a65 [devstack] Allow using "ipmi" hardware type
Currently only the default interfaces are supported.

Also fail devstack if the deploy driver is neither in enabled_drivers
not in enabled_hardware_types, as we no longer can easily detect which
list to append it to automagically.

Change-Id: I055497963f05833bf065ab396fff9b628357fc08
Partial-Bug: #1524745
2017-02-06 18:02:01 +01:00
Andrey Shestakov
5d5edde8a8 Remove trailing slash from base_url in tempest plugin
When service endpoint url has trailing slash, tempest plugin constructs
wrong url with two slashes.
Added rstrip('/') for base_url for ensure trailing slash is absent.

Change-Id: Id9455779156147e9d3001985d8ab9a367095bcce
2017-02-06 14:44:23 +02:00
Jenkins
77bcccf98c Merge "Fix setting persistent boot device does not work" 2017-02-06 11:48:06 +00:00
Jenkins
c439caf0f9 Merge "Improve enabled_*_interfaces config help and validation" 2017-02-04 16:05:43 +00:00
Jenkins
b7f87cd177 Merge "Removes unnecessary utf-8 encoding" 2017-02-04 01:01:13 +00:00
Jenkins
46e065df98 Merge "[Devstack] fix waiting resources on subnode" 2017-02-03 23:29:58 +00:00
Jim Rollenhagen
1f25244bf6 Improve enabled_*_interfaces config help and validation
This adds additional constraints to the help messages for the
enabled_*_interfaces config options. It also checks if they are
empty at conductor startup, and if any are empty, errors out
with a better error message than previously provided.

Change-Id: I97fc318ce00291d5e43b70423930981c2f5a2de0
Partial-Bug: #1524745
2017-02-03 21:26:41 +00:00
Jenkins
a1fe857c51 Merge "Prepare for using standard python tests" 2017-02-03 20:48:55 +00:00
Jenkins
2fbc101fc1 Merge "Allow duplicate execution of update node DB api method" 2017-02-03 20:24:18 +00:00
Jenkins
42da97575d Merge "Log an actual error message when failed to load new style credentials" 2017-02-03 19:57:14 +00:00
Andreas Jaeger
dfc272c43d Prepare for using standard python tests
Add simple script to setup mysql and postgresql databases, this script
can be run by users during testing and will be run by CI systems for
specific setup before running unit tests. This is exactly what is
currently done by OpenStack CI in project-config.

This allows to change in project-config the python-db jobs to
python-jobs since python-jobs will call this script initially.

See also
http://lists.openstack.org/pipermail/openstack-dev/2016-November/107784.html

Update devref for this.

Needed-By: I58c1d37d620ca058a4c2127e329d8d21b391965f
Change-Id: Id21d3481f7b4929c40c7351e6321d9ba5ad078b8
2017-02-03 14:30:41 -05:00
Vasyl Saienko
d9f03f92eb [Devstack] fix waiting resources on subnode
For multinode setup we enroll IRONIC_VM_COUNT VMs on each of nodes.
As result on subnode we expecting to have 2 * IRONIC_VM_COUNT resources.

Change-Id: I5f939b0e4a8169e27c3b338ed2857efbe7263ecd
2017-02-03 15:52:18 +02:00
Jenkins
1b81e4ed02 Merge "Speed up irmc power unit tests" 2017-02-03 12:39:48 +00:00
Jenkins
b9a792af9f Merge "Validate port info before assume we may use it" 2017-02-03 12:37:24 +00:00
Dmitry Tantsur
04d8552721 Log an actual error message when failed to load new style credentials
It's hard to switch one's configuration to new options without knowing
what exactly goes wrong.

Change-Id: I302c596c9e27265b77b6ea41aaee4b4f9e884cfd
Related-Bug: #1661250
2017-02-03 11:46:42 +01:00
Ruby Loo
fa4a5a59b2 Speed up irmc power unit tests
Some iRMC unit tests were mocking the wrong sleep() method, resulting
in the tests each taking over 2 seconds to complete. This fixes it by
mocking eventlet.greenthread.sleep instead, which is what is actually
being called. With these changes, the unit tests take under 0.5
seconds (your mileage may vary).

Change-Id: Ia1227751f6c3ecf906ec078d1dd07a3adba1d044
2017-02-02 23:49:38 +00:00
Jenkins
ac2b1a48ef Merge "Remove iSCSI deploy support for IPA Mitaka" 2017-02-02 20:10:51 +00:00
Jenkins
63e8f8c3ab Merge "Add bumping sem-ver to the releasing docs" 2017-02-02 18:45:45 +00:00