381 Commits

Author SHA1 Message Date
Jenkins
b15a16950a Merge "devstack: When Python 3 enabled, use Python 3" 2017-03-20 21:49:34 +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
ad5840313b Merge "devstack: Don't modprobe inside containers" 2017-03-20 11:33:46 +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
23a61f2d7b Merge "Add Ironic standalone tests" 2017-03-16 00:06:25 +00: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
bec748f437 Merge "Address a shell syntax mistake" 2017-03-14 00:05:03 +00:00
Tao Li
aec3663604 Address a shell syntax mistake
Missing space before ']' in addressed line and change it to
another better format.

Change-Id: Ib7cfe5990db180dbc347315759fffad002dfa550
2017-03-13 09:54:11 +08:00
John L. Villalovos
0be91665b4 grenade: Only 'enable_plugin ironic' if not already in conf
To support multi-node grenade jobs we need to move enabling of the
ironic devstack plugin out of the ironic grenade settings file
devstack/upgrade/settings. But if we add enabling of the ironic devstack
plugin to project-config it will cause the gate to break as the plugin
will be enabled twice.

This checks to see if the ironic devstack plugin has already been
enabled:
  * If it has already been enabled it will not enable it again.
  * If it has not yet been enabled it will enable it.

This will allow us to update project-config to enable the ironic
devstack plugin and not break the gate.

After all the changes have landed we will propose a follow-up patch to
remove all this additonal logic and the enabling of the ironic devstack
plugin.

Change-Id: I09ed78ef918eb0359045350e89d42c6df9f3e490
2017-03-10 13:22:33 -08:00
Jenkins
8ba5203731 Merge "Add wsgi handling to ironic-api in devstack" 2017-03-10 12:33:02 +00:00
anascko
5d22cfe1a8 Add wsgi handling to ironic-api in devstack
Adds handling of running ironic API under Apache as WSGI app to
devstack plugin.

New variable IRONIC_USE_MOD_WSGI (False by default) is added.
Another new variable IRONIC_WSGI_DIR (default is distro specific) is
also added, which specifies location for WSGI scripts.

Change-Id: I9c5ad56e1acd292ff0f9cc9b460125fc420abda5
Closes-Bug: #1513005
2017-03-09 16:55:34 +02:00
John L. Villalovos
1e560b182f devstack: Make sentry _IRONIC_DEVSTACK_LIB a global variable
Make the sentry variable _IRONIC_DEVSTACK_LIB a global variable so
that it will work as expected.

When variables use the 'declare' directive, it is by default a local
variable. While other variables have global scope.

For example:
   declare -A AN_ARRAY   # local in scope
   foo=1                 # global in scope
   declare -A -g SPAM    # global in scope because of -g

This causes errors to occur as some of the variables will be local only
and others will be global.

The issue that can occur is that when sourcing devstack/lib/ironic a
second time the sentry _IRONIC_DEVSTACK_LIB will not be set but all
the other variables from devstack/lib/ironic will already have been
set as they are by default global variables. And the purpose of
_IRONIC_DEVSTACK_LIB is to prevent the file from being sourced twice.

Change-Id: I24b6ebb89f3d950d39b0665346b4c17bf05d0a0b
2017-03-08 08:19:40 -08:00
Jenkins
50682f8ad9 Merge "devstack: Adding a README for ironic-bm-logs directory" 2017-02-27 22:53:14 +00:00
Jenkins
cdd7f5ae6a Merge "Adds network check in upgrade phase in devstack" 2017-02-10 16:33:18 +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
anascko
ef4bd99c2f Adds network check in upgrade phase in devstack
When running grenade with multitenancy, we are able to boot instances
in the network neutron has created in its upgrade phase, and we don't
have to change that setup.

Change-Id: I1038548ad4f93788fca3e2b7dd8ed93da0ce7702
2017-02-07 11:28:46 +02:00
John L. Villalovos
c0830f4466 devstack: Adding a README for ironic-bm-logs directory
Adding a README file to be put into the ironic-bm-logs/ directory that
explains the virtual bare-metal log files.

Change-Id: If4fc6b53273d39c65db0251957795d214440118d
2017-02-06 09:32:24 -08: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
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
Ruby Loo
c56375df24 [devstack] remove deprecated IRONIC_IPMIINFO_FILE
IRONIC_IPMIINFO_FILE was replaced by IRONIC_HWINFO_FILE in the
Newton release [1].

This removes support for IRONIC_IPMIINFO_FILE.

[1] Commit b61d9c076b4ce69312bc5e5303d58522e40352fe

Change-Id: I2770d1f594449466738a670e28ddedbcc7ba2eb0
2017-02-01 23:03:39 +00:00
Jenkins
c590b4e6f3 Merge "Allow using resource classes" 2017-02-01 22:47:10 +00:00
Jenkins
e4edc3f19e Merge "DevStack: Only install edk2-ovmf on Fedora" 2017-02-01 12:46:02 +00:00
Jim Rollenhagen
ee390e036f Allow using resource classes
Adds a variable IRONIC_USE_RESOURCE_CLASSES, which defaults to False. If
true, it will set a resource_class for each node. This enables the
code path in nova that registers the resource class with the placement
engine and uses it in inventory.

Change-Id: I785264eae0dc8ebe29f58a9e73f33000ae70ebb1
Partial-Bug: #1647813
2017-01-31 09:39:10 -05:00
Lucas Alvares Gomes
7e7ef60763 DevStack: Only install edk2-ovmf on Fedora
Other RPM based distros such as CentOS doesn't have this package
included.

Change-Id: I3adb867855f71e815d6c2e4c72025ae8c1420ae7
Closes-Bug: #1660610
2017-01-31 14:26:18 +00:00
Vasyl Saienko
d602bb53b0 [Devstack] Add stack user to libvirt group
Ironic is needed to have libvirtd perms to manage VMs. When nova is
enabled all needed perms are granted in nova devstack plugin.
This patch ensures that stack user is added to libvirt group when nova
is not enabled.

Change-Id: If65002d775c9ff001f5a8e27ed1f6af1f8b4cf40
2017-01-31 06:21:41 +00:00
Jenkins
7dff244a3b Merge "[Devstack] Download both disk and uec images" 2017-01-30 22:35:05 +00:00
Vasyl Saienko
0ed2de579c [Devstack] Download both disk and uec images
We are going to test both wholedisk and partition cases in single setup.
Download both partition and wholedisk images.

Change-Id: Ib6ee953e1a5f35ca80ed2b8196cfe668f413bf29
2017-01-30 18:04:01 +00:00
Jenkins
6eee291521 Merge "[Devstack] Set DEFAULT_IMAGE_NAME variable" 2017-01-30 13:28:19 +00:00
Vasyl Saienko
4ac18ded05 [Devstack] Set DEFAULT_IMAGE_NAME variable
The logic of setting DEFAULT_IMAGE_NAME was moved to ironic
devstack plugin but original variable DEFAULT_IMAGE_NAME is
not set, while it is used by grenade.
This patch fixes setting DEFAULT_IMAGE_NAME in ironic devstack
plugin.

Change-Id: I245ca8acba14b550efe355e8a3afc8c81cdc4a23
2017-01-30 09:13:18 +02:00
Jenkins
bb16a65473 Merge "Devstack: Create a "no ansi" logfile for the baremetal console logs" 2017-01-27 16:44:09 +00:00
Jenkins
fd89aa60b7 Merge "DevStack: Fix cleaning up nodes with NVRAM (UEFI)" 2017-01-27 10:15:07 +00:00
John L. Villalovos
b1b86b6417 Devstack: Create a "no ansi" logfile for the baremetal console logs
In addition to the normal bare-metal console logs that devstack
generates, create a "no ansi" version of the log that will be easier to
view/parse when viewing the logfiles.

Change-Id: Ic321db38f694d82362a6b1be91f891a06fb18c11
2017-01-26 13:15:33 -08:00
Dmitry Tantsur
797544316e Add hardware type for IPMI using ipmitool
Created a new Python module ironic.drivers.ipmi to contain all
supported IPMI-related drivers (both new and old).
Backward compatible aliases are left at old locations.

Change-Id: I526b8505d08b25b668af76d3fcd8f2feab31e420
Partial-Bug: #1524745
2017-01-26 14:22:23 +01:00
Vasyl Saienko
919e12d62b [Devstack] enable only pxe|agent_ipmitool by default
*_SSH driver is going to be deprecated, this patch change default
enabled driver list to fake,pxe_ipmool,agent_ipmitool

Change-Id: I5508ab8c11b3bbcee543f4e4d3587f5dd5ae430a
2017-01-26 09:59:53 +02:00
Lucas Alvares Gomes
6eab33788a DevStack: Fix cleaning up nodes with NVRAM (UEFI)
This patch is fixing the cleanup_nodes.sh script to take in account
undefining nodes with NVRAM set (UEFI mode). The --nvram option is now
being passed to the "virsh undefine" command, this will undefine nodes
with (and without) NVRAM set.

Change-Id: Idbc2d0d1765cad969e68544109bd44963cadc06c
Closes-Bug: #1659335
2017-01-25 15:39:30 +00:00
Jenkins
045c5179f0 Merge "Use global vars for storing image deploy path's" 2017-01-25 12:01:07 +00:00
Vasyl Saienko
3f7d48298b Allow to use no nova installation
This patch allows to use devstack to install ironic without
nova.

 * Skip flavor getting phase

Change-Id: Iea867646243ad6e40a0e1044206ab32b371e387a
2017-01-21 01:49:18 +02:00
Jenkins
078e813f50 Merge "DevStack: Configure nodes/environment to boot in UEFI mode" 2017-01-20 16:38:19 +00:00
Anton Arefiev
638d8dd230 Use global vars for storing image deploy path's
Inspector relying on this variables for devstack deploy
optimization, it uses same Ironic images for introspection,
as result there is no need to download images twice.

Change-Id: Idf5f61eb922480af2220d6e12c7668b0c756d813
2017-01-20 10:30:14 +00:00
Jay Faulkner
078fb81c13 Default ironic to not use nested KVM
Nested KVM has many benefits, but when it doesn't work it fails jobs.
This change defaults Ironic to using QEMU emulation, if someone wants
their local devstack to autodetect, they should set
IRONIC_VM_ENGINE="auto", or force KVM by setting
IRONIC_KVM_ENGINE="kvm".

Change-Id: I0367561ead972679250fc48d0f21b2c208e77e60
2017-01-19 12:08:10 -08:00
Jim Rollenhagen
3d22fa4270 Enable manual-management hardware type in devstack
This should prove that the loading and registration of hardware types
works properly in CI.

Change-Id: I6cd50fd94fe1a6ca5304f907a662fcc7c52d8fd8
Partial-Bug: #1524745
2017-01-19 11:28:35 +00:00
Lucas Alvares Gomes
07686f475d DevStack: Configure nodes/environment to boot in UEFI mode
This patch is adding support for DevStack to configure nodes and
environment (Ubuntu and Fedora) to deploy nodes in UEFI mode.

A new configuration called IRONIC_BOOT_MODE was added to DevStack and
supports two values: "bios" and "uefi". Defaults to "bios".

Partial-Bug: #1625616
Change-Id: I4e9247c6a91c707db08247a8ac04b1f146cd3714
2017-01-18 10:16:14 +00:00
Noam Angel
70504de1e3 make sure OVS_PHYSICAL_BRIDGE is up before bring up vlan interface
we need to make sure before we bring up vlan interface on
"configure_ironic_provision_network:723" that OVS_PHYSICAL_BRIDGE is up.
otherwise we can fail (RTNETLINK answers: Network is down)

This issue discover on a unique configurations I run different biridges
for external network (PUBLIC_BRIDGE) and internal bridge
(OVS_PHYSICAL_BRIDGE) so devstack don't seem to bring up ovs bridge.

Change-Id: I80f29075cff47c96ac70c13717dcf13475065f83
2017-01-17 19:05:31 +00:00
Jenkins
b71f9a9cdf Merge "Move baremetal tempest config setting from devstack" 2017-01-16 13:24:35 +00:00
Vasyl Saienko
76b91709ae Allow to set min,max API microversion in tempest
This patch introduce new devstack variables to set min and max Ironic
API version to allow skip tempest tests.

 TEMPEST_BAREMETAL_MIN_MICROVERSION
 TEMPEST_BAREMETAL_MAX_MICROVERSION

Update release documentation.

Related-Bug: #1655888
Change-Id: Id6d36280f622549a2877aab99c11e4008af67fe7
2017-01-12 09:12:04 -08:00
Jenkins
469e4cae31 Merge "Move default image logic from DevStack to Ironic" 2017-01-12 11:51:40 +00:00
Lucas Alvares Gomes
39fe7c7a2f Move default image logic from DevStack to Ironic
This patch is moving the logic setting the default images from DevStack
into the Ironic tree. A TODO was left inline pointing out we can
refactor the logic there after we get this merged and the devstack code
removed.

Change-Id: Id828b41dc44113ce1cd094ce5fc245989699d4ff
2017-01-11 17:41:37 +00:00
Jenkins
c7781fccd5 Merge "Fix bashate warning in devstack plugin" 2017-01-11 16:04:34 +00:00
ghanshyam
5130a3c2c0 Move baremetal tempest config setting from devstack
Now all configuration are present in Ironic tempest plugin
and those are going to be removed from tempest in
Id518a6d87d0949737cd1c50cb6a83149b85e5f85

Currently devstack set those in tempest configuration, but it
will be good to move those to ironic devstack plugin.

If826321ebc0c20ea372d206d49383f3826c9b547 removes the same from
devstack.
Few are not moved as nobody use those or already deleted-
driver_enabled
deploy_img_dir
node_uuid

Change-Id: I73c649625d106fc7f068e12e21eaacba8f43cbbb
2017-01-10 00:47:26 +00:00
Matt Riedemann
dc673e34b4 Revert "Disable placement-api by default"
This reverts commit be6f34c3388365f93c84671f07af7a1cffb6efd8

Now that the openstack/nova commit
3c217acb9c55d647ca362320d697e80d7cfa5ceb has landed. The issue is now
fixed and we can revert this change.

Change-Id: I6729706b13d49a277a2f037ea7ef00211d4a4ca9
Related-Bug: #1651678
2017-01-06 06:28:05 -08:00