314 Commits

Author SHA1 Message Date
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
Vasyl Saienko
be6f34c338 Disable placement-api by default
With placement-api enablement Ironic jobs got into regression due to
[0]. The fix in Nova stuck at the decision phase [1]. Until Nova fix
issue permanently disable it in ironic to unblock CI.

[0] https://bugs.launchpad.net/ironic/+bug/1651678
[1] https://review.openstack.org/#/c/414214/

Change-Id: I658ec963761dd4c5111a98e77298a8974553e857
Related-Bug: #1651678
2016-12-28 09:48:58 +00:00
Pavlo Shchelokovskyy
fd3c5e9e14 Fix bashate warning in devstack plugin
currently running bashate as part of pep8 check produces a warning

E043 - Arithmetic compound has inconsistent return semantics

This patch fixes that place.

Change-Id: Iae010d22740498ae78d45fcaa4e541c68b0a8b76
2016-12-20 14:42:11 +02:00
John L. Villalovos
88171fcebd Configure tempest for multitenancy/flat network
Configure some tempest settings depending on if running multitenant vs
flat-network.

Add setting of [compute]/fixed_network_name for the flat-network case,
as this is required to run tempest "smoke" test.

Starting with the Newton release, multitenancy is available with
Ironic. This patch sets tempest auth.create_isolated_networks=False and
network.shared_physical_network=True only when Ironic is deployed for
a flat-network.

Partial-Bug: #1646640
Change-Id: I9807014b739b7364502d403e7ce72763f5ea698a
2016-12-19 11:46:43 -08:00
Jenkins
840fde15d3 Merge "Remove grenade config workaround" 2016-12-19 13:33:16 +00:00
Jenkins
d0e1d5e1f8 Merge "Move CONF.service_available.ironic to our plugin" 2016-12-16 13:41:09 +00:00
Jenkins
d2a02881a7 Merge "DevStack: Make $IRONIC_IMAGE_NAME less dependent of the name in DevStack" 2016-12-16 13:40:58 +00:00
Jenkins
4c0653a98d Merge "Make CONF.debug also reflect on IPA" 2016-12-16 12:53:44 +00:00
Vasyl Saienko
318b7638d9 Remove grenade config workaround
Starting with Idede322190d57491d4f7e18090aa8c29b5b87353 base and target
releases has the same tempest config file. This patch drops setting
fixed_network_name in target tempest.conf workaround.

Change-Id: I661ace60bf9b4817f73aaccda9c18e24adfc4e56
2016-12-16 14:25:55 +02:00
Lucas Alvares Gomes
e6349f278c DevStack: Make $IRONIC_IMAGE_NAME less dependent of the name in DevStack
This patch is making the $IRONIC_IMAGE_NAME less dependent on the full
name of the image in DevStack. We will need different images for the
UEFI work and this would break it so, let's make it a bit more smart.

Change-Id: Iac8668e9470bc151c10ea145d4394ba7ff7041d8
2016-12-14 14:29:04 +00:00
zhangyanying
0f37379525 Fix error when system uses /usr/bin/qemu-kvm, as in CentOS 7.2.
Got "libvirt.libvirtError" error when using "/usr/bin/qemu-kvm" on CentOS7.2.
CentOS 7.2 uses "/usr/libexec/qemu-kvm", this patch fixes it.

Change-Id: Icf2951701fddfac8e2f0641f6f555adb8a3c185b
Closes-Bug: #1649449
2016-12-14 17:54:59 +08:00
Lucas Alvares Gomes
f13f1ed654 Make CONF.debug also reflect on IPA
Prior to this patch, setting the CONF.debug to True in the ironic.conf
doesn't enable the debug logs in IPA. The user had to also append
"ipa-debug=1" to the CONF.pxe.pxe_append_params configuration option.

This patch is changing this behavior by making the CONF.debug option
reflect on the IPA logs as well. As I understand, IPA is just an
extension of the Ironic code that runs in-band on the node allowing
Ironic to access the local hardware. This way, in order to enable debug
as a whole the user only needs to set one configuration option.

The code in this patch checks if CONF.debug is set to True and also
check if "ipa-debug" is not explicit set in CONF.pxe.pxe_append_params
configuration - to not overwrite the user configuration - and only then
will append "ipa-debug=1" to it.

The "ipa-debug=1" kernel parameter was also removed from the devstack
lib because CONF.debug is always set to True there.

Change-Id: I675fb11248d3789d45cf5905b7c15368f026b345
Closes-Bug: #1649561
2016-12-13 14:53:08 +00:00
Jim Rollenhagen
8ad0a424b3 Move CONF.service_available.ironic to our plugin
This is unwanted in tempest's plugin, bring it here instead.

Also add skip checks for our tests to skip the tests if ironic is not
enabled. This allows the plugin to be installed in a tempest
environment, without breaking if ironic isn't present.

Last, drop 'baremetal' from the test.services decorators used, as it is
no longer in tempest's service list, and we use the skip check mentioned
above instead.

Change-Id: I0b7e32dfad2ed63f9dd4d7cad130da39bc869a8a
Depends-On: Idede322190d57491d4f7e18090aa8c29b5b87353
2016-12-12 14:39:32 -08:00
Jenkins
51402bcaae Merge "devstack: add vnc listen address" 2016-12-12 10:51:10 +00:00
Eli Qiao
95da9dc0d2 devstack: add vnc listen address
Make virtual machine graphical console listen on 0.0.0.0.
This allows to access to VM VNC console from remote ('desktop' PC)
on devstack's HOST_IP.
VNC port may be found by using: virsh vncdisplay {vm_name}

Change-Id: I253899393c98c24d46710aa4ab78f1090bae00f4
2016-12-12 01:39:16 +00:00
Jim Rollenhagen
82d7c8c588 Allow setting dhcp_provider in devstack
Provide a variable IRONIC_DHCP_PROVIDER to set CONF.dhcp.dhcp_provider.
This is needed to properly configure ironicclient functional tests,
which don't deploy neutron.

Change-Id: If601934d0c59b5dd5556336e5644832dc7564548
Partial-Bug: #1648179
2016-12-09 09:50:46 -05:00
Jenkins
a14dcc56de Merge "Add virtualpdu to ironic devstack plugin" 2016-12-06 11:16:08 +00:00
Jenkins
2100aff478 Merge "Auto enable the deploy driver" 2016-12-05 11:20:30 +00:00