6656 Commits

Author SHA1 Message Date
John L. Villalovos
200ed9244d Convert BaseDriver.*_interfaces to tuples
Use tuples instead of lists as it will be more difficult for developers
to accidentally overwrite/modify the variables.

This was inspired by commit 338651eae5b7c416f04970b9d60f09dc2dab8adb
which was fixing an issue where the base class variables were being
modified accidentally.

Change-Id: Ib7d67580ca377fabeb958c68a4d0d9bd2e2fd33a
2017-03-28 21:21:19 -07:00
Derek Higgins
338651eae5 Copy and append to static lists
core_interfaces and standard_interfaces are both static members of BaseDriver
we need to take a copy of them before appending to them.

Change-Id: Ic6edc5e49a25849c7871dbc9e6e1d5a5eb229e57
Closes-Bug: #1672457
2017-03-27 16:50:28 +00:00
Jenkins
8aec5fb6a5 Merge "Fix docstrings for creating methods in baremetal api tests" 2017-03-24 15:13:46 +00:00
Vasyl Saienko
beb186721f Define minimum required API ver for portgroups
This patch defines min_microversion for API portgroup tests to
skip them when this API version is not supported/available.
For example on stable/mitaka branches.

Change-Id: I8895e1e6a819b5b3821fdfc10e1cff8626c9eb29
2017-03-24 10:41:47 +00:00
Jenkins
4278269b71 Merge "Updated from global requirements" 2017-03-24 03:42:14 +00:00
Jenkins
d10b102ba7 Merge "Remove log translation function calls from ironic.db" 2017-03-23 23:46:27 +00:00
OpenStack Proposal Bot
b613a3ccce Updated from global requirements
Change-Id: I244a1d6f66d61a8185ff930f0ccf73fdcaaf105a
2017-03-23 22:49:30 +00:00
Jenkins
491fb3374d Merge "Updates documentation to install PySqlite3" 2017-03-23 21:55:36 +00:00
Jenkins
604a6fe3e9 Merge "Add standalone tests using direct HTTP links" 2017-03-23 17:55:06 +00:00
Kyrylo Romanenko
cc5fc354ce Fix docstrings for creating methods in baremetal api tests
Change-Id: Iec39fbf4ceac9e7b697ddacc3eb9a4f1defb699e
2017-03-23 11:20:09 +00:00
Kyrylo Romanenko
7359c360e5 Extend tests and checks for node VIFs
Add more checks to the test_vifs test:
  - check that attached VIF appears in port internal_info;
  - check that VIF was detached and does not appear in
    node's VIF list anymore.
Add test for VIF attachement to node with portgroup.

Partial-Bug: #1666534
Change-Id: I755df18e03d01fe93f85df114b979ea7ea70ca53
2017-03-23 10:10:58 +00:00
Jenkins
e6850f780f Merge "Add functional API tests for portgroups" 2017-03-22 22:57:09 +00:00
Jenkins
96afb2a90b Merge "Fix local copy of scenario manager" 2017-03-22 19:57:43 +00:00
Jenkins
abffba8eb9 Merge "Revert the move of the logger setup" 2017-03-22 14:58:10 +00:00
Jenkins
e7535cf0b5 Merge "[devstack] Use global requirements for virtualbmc" 2017-03-22 14:50:57 +00:00
Kyrylo Romanenko
af1759da01 Add functional API tests for portgroups
Extend baremetal json client with portgroups.
Add basic positive tests for portgroups baremetal api resources:
  test_create_portgroup_with_address,
  test_create_portgroup_no_address,
  test_delete_portgroup,
  test_show_portgroup,
  test_list_portgroups.

Closes-Bug: #1666858
Change-Id: Ifb17a43fa61d0ffb22b7af25174206cf798ca0ee
2017-03-22 12:37:05 +00:00
Vladyslav Drok
b91651151b Revert the move of the logger setup
As part of the commit 7fd26bf8031041a0e6df261c71101e29e8bf9610,
logging was moved to ironic.conf.__init__.py. This seems to be
the reason of the config options not being logged anymore.

Closes-Bug: #1674707

Change-Id: I566c9383a3979ad8f6373fb5ef918d0e06e3a53f
2017-03-22 12:06:28 +02:00
Pavlo Shchelokovskyy
f8e6adea83 [devstack] Use global requirements for virtualbmc
When installing virtualbmc, take into account the requirements and
constraints from openstack/requirements.

Change-Id: I61a9279ae5ab12fd0415fdfbc5a696250c0bd09d
2017-03-22 08:20:02 +00:00
Anup Navare
e33afd23d1 Updates documentation to install PySqlite3
Updates ``dev-quickstart.rst`` by adding instructions required
to install sqlite development headers while building python3.5
on Ubuntu

Change-Id: I2bb9bc2a62947d2cf1d6287e66fc973afab4d1f7
2017-03-22 02:07:59 +00:00
Adam Kimball
b6dcd7635d Remove log translation function calls from ironic.db
Remove all calls to logging functions from the db directory of ironic.
In this instance, there were very few, and all were to _LW.

Change-Id: I474f2d51bf7cb9d6082d963de182d4a1fed142b3
Partial-bug: #1674374
2017-03-21 17:11:49 -04:00
Pavlo Shchelokovskyy
c5eaafdf9f Fix local copy of scenario manager
add back some methods that were pruned. They are used in tests running
on stable branches.

Change-Id: I2e0c979f870777d3f643ab8b87c5b1f0b9601c34
Closes-Bug: #1674597
2017-03-21 08:00:17 +00:00
Vasyl Saienko
f7d0fbd830 Add standalone tests using direct HTTP links
Adds two tests that uses direct HTTP link instead of glance:
  * pxe_ipmitool + wholedisk on HTTP server
  * agent_ipmitool + wholedisk on HTTP server

Change-Id: I8f1a5b0ecb3d53ffdefd7018c1b9700210572ffc
2017-03-21 09:46:17 +02:00
Jenkins
26bba448a6 Merge "Update test requirement" 2017-03-21 06:31:43 +00:00
Jenkins
b15a16950a Merge "devstack: When Python 3 enabled, use Python 3" 2017-03-20 21:49:34 +00:00
Jenkins
612e2051ed Merge "Validation before perform node deallocation" 2017-03-20 20:05:27 +00:00
Jenkins
762fac0033 Merge "Fix usage of various deprecated methods" 2017-03-20 18:18:21 +00:00
John L. Villalovos
6c1fd8f475 devstack: When Python 3 enabled, use Python 3
In order to have Ironic installed using Python 3 when running under a
Python 3 test job, we need to enable it as a Python 3 package.

The Python 3 job still doesn't pass. But this is needed as part of the
work.

Change-Id: I6a766bbb4250d76d458db8783631e4bd834859f3
2017-03-20 09:45:22 -07:00
Jenkins
6426a51b79 Merge "flake8: Specify 'ironic' as name of app" 2017-03-20 15:44:51 +00:00
Jenkins
ad5840313b Merge "devstack: Don't modprobe inside containers" 2017-03-20 11:33:46 +00:00
ChangBo Guo(gcb)
330ba8c502 Remove old oslo.messaging transport aliases
Those are remnants from the oslo-incubator times. Also, oslo.messaging
deprecated [1] transport aliases since 5.2.0+ that is the minimal
version supported for stable/newton. The patch that bumped the minimal
version for Ironic landed 3 months+ ago, so we can proceed ripping
those aliases from the code base.

[1] I314cefa5fb1803fa7e21e3e34300e5ced31bba89

Change-Id: I42dcc4b64f0b8e667abad68f7a5ed1ba004ec329
Closes-Bug: #1424728
2017-03-19 21:16:53 +08:00
Jenkins
f65067fe81 Merge "Fix file_has_content function for Py3" 2017-03-18 06:08:37 +00:00
Pavlo Shchelokovskyy
20ad1e1aa8 Fix file_has_content function for Py3
the reference file must be opened in binary mode,
otherwise under Py3 it fails to update checksum with exception
`Unicode must be encoded before hashing`.

Change-Id: I3162fe9951750f5a41ef403b9a10ed68c0ba958a
2017-03-17 20:29:51 +00:00
Vladyslav Drok
7fd26bf803 Fix usage of various deprecated methods
Our unittest output complains about some of the codebase,
described in more detail in the referred bug. This change
fixes all of those places.

static_root is now set only if debug=True is set in pecan
configuration.

Logging is now setup as part of the conf module import,
so that unittests can use it.

Closes-Bug: #1668240
Change-Id: I2536bd2b174e0d224ddf6806f1be37bd29017669
2017-03-17 18:45:26 +02:00
Jenkins
71df54395a Merge "Prune local copy of tempest.scenario.manager.py" 2017-03-17 15:26:22 +00:00
Solio Sarabia
352aacfd45 Prune local copy of tempest.scenario.manager.py
Remove unused code from manager.py to better identify ironic
dependencies on this tempest interface. This is a follow-up
patch to https://review.openstack.org/#/c/439252/.

Change-Id: I3ca7cf3af42e0e55431d5affa36e567f147aa850
2017-03-16 23:45:16 -05:00
Jenkins
6c2a52bda9 Merge "Update new proliantutils version to 2.2.1" 2017-03-17 02:44:48 +00:00
Julian Edwards
1de3681b13 devstack: Don't modprobe inside containers
When running in a container, the host must already have the modules
inserted in its kernel.

Change-Id: Ic61ad57557be5dd1319db70bfb50c23836874028
2017-03-17 08:47:38 +10:00
Jenkins
8d85ca0e02 Merge "Include a copy of tempest.scenario.manager module" 2017-03-16 20:05:37 +00:00
Solio Sarabia
881e5ad9db Include a copy of tempest.scenario.manager module
Add tempest/scenario/manager.py from openstack/tempest [1], and update
imports in ironic. As announced in [2], the interface in manager.py is
not stable, and should not be consumed outside tempest. With this
temporary change, QA will have time to improve the tempest.scenario
interface for other projects to consume, without breaking gate jobs.

An alternative to copying the local file was proposed in [3], which
suggested creating a new interface class, living along with the old
interface. Through a tempest config option projects would choose which
scenario interface class to use. QA reasoned that this would increase
the number of jobs, and slow their work. Thus the option was rejected.

[1] http://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/manager.py?id=82a278e88c9e9f9ba49f81c1f8dba0bca7943daf
[2] http://lists.openstack.org/pipermail/openstack-dev/2017-February/112938.html
[3] http://lists.openstack.org/pipermail/openstack-dev/2017-March/113496.html

Closes-Bug: #1668807
Change-Id: Iaa06df6ab75fb8f79cbcd3f6b21e68622e7799c1
2017-03-16 10:17:14 -05:00
John L. Villalovos
0363e15b7c flake8: Specify 'ironic' as name of app
Specify 'ironic' as the name of the application for the flake8-import-order
plugin. That way it knows that imports of ironic should come after external
libraries.

Change-Id: I3e6fb237b9846e8de1a071f3a659c23c44bc7f75
2017-03-16 07:20:35 -07:00
OpenStack Proposal Bot
bb8994bae1 Updated from global requirements
Change-Id: I7ee580df47a16c2c1715800bfc2a0c567ae2f6fb
2017-03-16 12:27:16 +00:00
Jenkins
8d7b4319e9 Merge "Fix API doc URL in GET / response" 2017-03-16 11:34:36 +00:00
Jenkins
34bfba5209 Merge "Add ironic standlaone test with ipmi dynamic driver" 2017-03-16 11:12:47 +00:00
Jenkins
23a61f2d7b Merge "Add Ironic standalone tests" 2017-03-16 00:06:25 +00:00
Jim Rollenhagen
73328060cc Fix API doc URL in GET / response
The existing URL has a redirect to another URL[0], which has a message
that it has been moved to yet another URL[1]. Fix it so it's just one link.
Also use https while we're in here.

[0] https://docs.openstack.org/developer/ironic/webapi/v1.html
[1] https://docs.openstack.org/developer/ironic/dev/webapi.html

Change-Id: I900e0a7ad84dfcfeb551d4836bf156790706803c
2017-03-15 19:05:54 -04:00
Vasyl Saienko
3648f060ed Add ironic standlaone test with ipmi dynamic driver
This patch adds the following ironic standalone tests:
  * ipmi + wholedisk_image + bios
  * ipmi + partitioned_image + bios

Change-Id: I99b7dd23eab7e7c0a6c621c800e98c7c786e1244
Depends-On: I348a27a13d3025fe7e8ddfa31992b895a3809730
2017-03-15 16:49:08 +00:00
Jenkins
82a4b288ba Merge "Move heartbeat processing to separate mixin class" 2017-03-15 16:43:21 +00:00
Debayan Ray
677b48cb65 Update new proliantutils version to 2.2.1
This commit updates the proliantutils version required in Ironic
to 2.2.1. This version of proliantutils includes HPSUM firmware
update support and updation of requirements to match
global-requirements (required to fix third party CI gate jobs)

Change-Id: Ife96638b6262d22b3aa82155df3d7e4f525bd22b
2017-03-15 11:43:28 -04:00
Vasyl Saienko
e48375538c Add Ironic standalone tests
This patch adds the following standalone tests:

  * agent_ipmitool + wholedisk image + bios
  * agent_ipmitool + partitioned image + bios
  * pxe_ipmitool + wholedisk image + bios
  * pxe_ipmitool + partitioned image + bios

Partial-Bug: #1660606

Change-Id: Ic04b0f134e20d9937a610a14d7c4128f45738eeb
2017-03-15 16:54:45 +02:00
Jenkins
a2cea8f2dc Merge "Fix typos of filename in api-ref" 2017-03-14 19:15:40 +00:00