Commit graph

540 commits

Author SHA1 Message Date
Riccardo Pittau
6f22c00149 Workaround for uefi job with ubuntu bionic
In ubuntu bionic, the UEFI provided in the ovmf package version
0~20180205.c0d9813c-2, EFI v2.70 by EDK II, seems broken and
causes kernel panic.
To be able to boot using uefi, we download and install the old
working version 2.60 from the multiverse repository.

Story: 2004604
Task: 28500

Change-Id: I1a5b4a6544621316f71203282f7418d2001ad357
2019-03-26 15:08:39 +01:00
Zuul
6518705276 Merge "Respect $USE_PYTHON3 settings for gunicorn" 2019-03-21 20:04:36 +00:00
Zuul
d4d1a0132a Merge "Add systemd unit for vbmcd in devstack" 2019-03-21 15:39:12 +00:00
Zuul
3052d9a14c Merge "Workaround for postgres job with ubuntu bionic" 2019-03-21 13:19:10 +00:00
Zuul
7c0083ba7c Merge "Update dist filter for devstack ubuntu" 2019-03-20 19:58:22 +00:00
Ilya Etingof
f25a83b575 Respect $USE_PYTHON3 settings for gunicorn
When devstack is configured to use Py3, install and run gunicorn3
to make sure sushy-tools emulator is running under Py3.

Change-Id: If38ef523a8616084f8f715fe247d8a3c8142bf62
2019-03-20 18:53:43 +01:00
Ilya Etingof
62d40c17e5 Add systemd unit for vbmcd in devstack
Besides managing vbmcd from systemd, this patch fixes a bug
in vbmcd handling.

The bug was that devstack runs ironic plugin under user `stack`, but
preserving superuser environment by means of `su -p`. That makes
`vbmcd` expanding tilda into `/root`, attempting to write into that
directory and failing miserably.

On top of that, all this happens when `vbmc` tries to invoke `vbmcd`
under the hood to preserve backward compatibility of the `vbmc`
behaviour before `vbmcd` was introduced.

This patch:

* adds systemd unit file for vbmcd
* invokes `vbmcd` explicitly before everything else and
* does that before becoming root and `stack` again

The `vbmc` tool can still run in a broken environment
for as long as it does not depend on the config file.

Change-Id: I6670ea50d126065d0472e558943890d4f9313083
2019-03-20 18:49:17 +01:00
Riccardo Pittau
da966c9873 Workaround for postgres job with ubuntu bionic
Adding a firewall rule as workaround to help TFTP traffic
necessary for Ironic to work with PXE on Ubuntu Bionic.
Inspired by https://review.openstack.org/643570
Thanks Harald!

Depends-On: https://review.openstack.org/642507

Change-Id: I314f7b436827c318c3ccec22eb85cf4d4ac695df
2019-03-20 16:38:35 +01:00
Julia Kreger
3f734c8728 fast tracked deployment support
Provides a facility to minimize the power state changes of
a baremetal node to save critical time during deployment
operations.

Story: #2004965
Task: #29408
Depends-On: https://review.openstack.org/636778
Change-Id: I7ebbaddb33b38c87246c10165339ac4bac0ac6fc
2019-03-14 10:34:31 -07:00
Riccardo Pittau
fac7384b48 Fixing a bash test in devstack ironic lib
This patch corrects the syntax of a test inside the devstack
ironic lib.

Change-Id: Id3e6b005a99235589cea4db4cc96c23fd8fe703a
2019-03-12 17:11:48 +01:00
Riccardo Pittau
ab33772600 Update dist filter for devstack ubuntu
Updating filter for supported ubuntu distributions in the
list of packages that need to be installed.

Change-Id: I92110a6185f2401e97b6376c50afdfe479cb5def
2019-03-11 17:11:09 +01:00
Riccardo Pittau
c8ece0c625 Add option to set python interpreter for ansible
This patch adds the option to configure the python interpreter
that is used when deploying machines using the ansible deploy
interface.

Also set the default interpreter for tinyipa image with
ansible deploy interface to /usr/bin/python3 on devstack
and marks ironic-standalone job as voting again.

Change-Id: I8eb58fb00980c9e8946e3b3ef77611a9f5212668
Story: #2005159
Task: #29877
2019-03-07 18:40:06 +01:00
Jens Harbott
296480961d Drop installing python-libvirt system package
Pip will install libvirt-python later in the process and with pip >= 10
it will fail to remove the system version.

Change-Id: I33be5426ce8ff2301d28096af11a1023b8048a15
Needed-By: https://review.openstack.org/#/c/561597
2019-03-01 17:40:51 +00:00
Zuul
1e4a1cb7cb Merge "Add check for object versions" 2019-02-27 19:15:09 +00:00
Zuul
fc9a989c28 Merge "Set available_nodes in tempest conf" 2019-02-25 18:54:29 +00:00
Jakub Libosvar
a9d7d8fd99 Set available_nodes in tempest conf
The patch sets the available_nodes config option in tempest.conf
that is consumed by the ironic multitenancy tests.

Needed-By: https://review.openstack.org/639098
Change-Id: Id8087375088180174247370d129f78cc06b1d49e
2019-02-25 15:10:21 +01:00
Ruby Loo
33383c9c73 Add check for object versions
Adds a check for compatibility of the object versions (in the DB)
with the release of ironic. This check is used by the
'ironic-status upgrade check' command.

The ironic-status command is added to devstack and grenade (when
upgrading).

Change-Id: I2043dc01856106d50356637db327a2817db90366
Story: 2004990
Task: 29459
2019-02-20 17:24:42 +00:00
Harald Jensås
e240dd501e Devstack - run vbmc as sudo
On CentOS 7 following the documentatition to set up ironic
in devstack I keep getting permission error because for some
reason the $HOME is root's home.

[Errno 13] Permission denied: '/root/.vbmc'

The permission issue causes various error's when trying to
re-stack and unstack.

Also, kill all vbmc processes after cleanup-nodes.

Change-Id: I92683dc9345825671310e199d0a6e36bdc462ed0
2019-02-19 10:21:58 +00:00
Dmitry Tantsur
7efbbcc2d9 Support using JSON-RPC instead of oslo.messaging
Using AMQP-based RPC can be an overkill in case of ironic, especially
when used standalone. This change allows using a built-in JSON RPC
implementation instead.

This implementation does not currently support the object indirection
API, which does not seem to be used anywhere anyway.

The standalone and API test jobs are changed to use JSON RPC.

Story: #2004874
Task: #29141
Change-Id: I7cc95935d6bdae43fab5dfbd544c8e6d65fcc38d
2019-02-14 12:56:20 +01:00
Riccardo Pittau
972747671c Removing deprecated drac_host property
Removes deprecated ``driver_info["drac_host"]`` property
for ``idrac`` hardware type.

Change-Id: I851f3a231246552a59e8c122c090489459220c74
2019-01-31 08:14:30 +01:00
Derek Higgins
d6c9d6caed Replace use of Q_USE_PROVIDERNET_FOR_PUBLIC
This is being removed from devstack in
I23e1b98bd2839b79226b55700ee404a8fda83f83

Change-Id: I81b8cc348900837b876216065d7a2bf4a3665b8b
2019-01-18 13:26:03 +00:00
Derek Higgins
1effd562ed Switch to cirros 0.4.0
This supports ext4 partitions with metadata_csum(as created
by ubuntu bionic by default).

Also Using it with the e1000 virt driver cirros sees the nics.

This allows us to remove 2 of the special cases we had inserted
when the CI jobs were switched to bionic.

Change-Id: I68165110dd57ed314cbc29430f84ff5092065d38
Story: #2004604
Task: #28570
Task: #28499
2018-12-18 16:52:44 +00:00
Derek Higgins
71f0256b1d Disable metadata_csum when creating ext4 filesystems
Cirros can't mount a ephemeral partition if its enabled.

Change-Id: I7b56fcd0be1cd48a6b72a0c156d37b3f279a8da9
Story: #2004604
Task: #28499
2018-12-14 14:34:38 +00:00
Derek Higgins
053965c6db Switch the default NIC driver to e1000
The version if qemu-ipxe on bionic doesn't attempt
to network boot when using virtio-net.

Change-Id: I335a2a0a8a82bb43a06202f96e629aa72d10cfac
Story: #2004604
Task: #28498
2018-12-14 14:34:33 +00:00
jiapei
b686182ad5 Enroll XClarity machines in Ironic's devstack setting
In the current XClarity CI environment, we have to manually
add XClarity machines. This patch is going to update Ironic's
devstack setting to enroll XClarity machines automatically.

Change-Id: I5f664706439c9c10311749b6a9b5520e2c1dc6db
Story: 2004577
Task: 28353
2018-12-10 07:06:05 +00:00
Derek Higgins
c67b46e350 Switch ironic-tempest-...-tinyipa-multinode to zuulv3
And rename to ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode

Change-Id: I6ab7bfa0343e0c8df5814d26e62864f3c66cf7b1
2018-11-19 16:30:45 +00:00
Sam Betts
55ac08ab85 [devstack] Allow setting TFTP max blocksize
Configuring the block size correctly for TFTPd prevents fragmentation of
the TFTP UDP packets, which can significantly slow down or even prevent
servers from booting correctly with PXE.

Change-Id: Ic00bbcfb3137edb58479c019edb3fcdc4ef55d69
2018-10-30 10:36:26 +00:00
Julia Kreger
abb0865771 Remove oneview drivers
In accordance with the deprecation of oneview,
It is time to remove the oneview drivers.

This patch oneview interfaces and documentation.

Change-Id: Ided79fa788411f839614813ff033c42a13b88c75
Story: #2001924
Task: #24943
2018-10-15 16:32:15 -07:00
Derek Higgins
e6a15bdc89 Remove token expiration
I doesn't look like this was needed at all.

Change-Id: I415bcd75d4b61bc8348c6934a5a860bcaabc1f31
2018-10-01 15:42:14 +01:00
Derek Higgins
eabc48a901 Switch grenade nic driver to e1000
As of 988243c93fb87190e1867ef913136ecf139e7cb8 in ipxe
"[virtio] Add virtio-net 1.0 support", VMs don't attempt
to boot over the network when using the virtio-net rom.
The ipxe-qemu package used in the grenade jobs contains
this problem. Switch to e1000 to avoid baremetal VMs
working on some hosts and not others.

Change-Id: I4ec297281380896ffe9004c4de7117586ded7149
Story: #2003808
Task: #26603
2018-09-24 15:50:19 +01:00
Derek Higgins
1ba142a05f Restore the nova-api redirect
This was disabled when grenade switched to using rocky
as its base install as it didn't work with wsgi. Restore it
using a version that compatable with WSGI.

Task: #26604
Story: 2003808
Change-Id: I968339b48191df46a44f45c1794478aa0d1039f6
2018-09-24 10:08:29 +01:00
Derek Higgins
9b9f31cc69 Fix grenade tests
Downgrade ipxe-qemu during grenade job
Temporary workaround while we find the problem with the
newer ipxe-qemu package.
Task: #26553

Switch grenade job to wsgi
Now that grenade is using Rocky as its base we
can switch to WSGI for ir-api. Also now required
for CI as IRONIC_USE_WSGI was getting flipflopped
from False -> True -> False during the grenade job.
Task: #26594

Disable the ironic-api redirect as it doesn't work with wsgi
Task: #26595

Increase the keystone token timeout, for grenade jobs only
Task: #26596

Story: #2003808
Change-Id: Icc380e6e5128f15f90b3a86cb773e7bb8d60d076
Depends-On: Ib7d68d1360e3cdbfdc2ff185a9760461e75ac8c4
2018-09-21 13:41:49 +00:00
Sam Betts
bd82ead580 Direct deploy serve HTTP images from conductor
Currently direct deploy only works if temp urls are enabled or if a
HTTP image URL is given. This patch enables Ironic to serve images
directly from the conductor's HTTP server to the agent so that we can
enable agent deploy with out temp urls.

This also has the added benefit for standalone that the conductors will
cache the HTTP URL images and serve them into the provisioning network
meaning the provisioning network has no need for connectivity to the
outside world.

Story: #1598852
Task: #24639
Co-Authored-By: Kaifeng Wang <kaifeng.w@gmail.com>
Change-Id: Iae6798616f29d876b274d9e0b44a1eb0f24e1747
2018-09-07 17:06:35 +08:00
Dmitry Tantsur
7893262d62 Switch the "snmp" hardware type to "noop" management
Support for "fake" is kept for backward compatibility and is deprecated.

Change-Id: Ibee573e660e2ba4204ecb68c8d80ad8d1e0b9a74
Story: #2003203
Task: #23361
2018-08-07 15:40:29 +00:00
Dmitry Tantsur
d42bd9a77b Add "noop" management and use it in the "ipmi" hardware type
The new management interface targets hardware that does not correctly
support changing the boot device via IPMI. For example, some hardware
was reported to break the configured boot order in this case. Using
the "noop" management will allow operators to pre-define the boot order
as PXE -> DISK.

Change-Id: Iae2837b100905e9e06cc2cd2614f0af81bf13752
Story: #2003203
Task: #23359
2018-08-07 13:25:50 +00:00
Dao Cong Tien
dd4a4d4111 Update CI jobs for rescue mode
Sets rescue interface to 'agent' for testing rescue mode in most jobs.
The rescue mode is tested in test_baremetal_server_ops.

Also adds support for the new config option in ironic tempest plugin
default_rescue_interface.

Story: #1526449
Depends-On: I6b62724711ddbe17b59dad30283e544272d9c1f3
Change-Id: Ica26aa96978d22a681d69e7e1e4acd72182a4981
2018-07-12 16:13:02 -07:00
Zuul
6b6277d836 Merge "Switch ironic-dsvm-standalone to zuulv3 native" 2018-07-12 19:19:10 +00:00
Zuul
beefb770e7 Merge "Ensure we allow Ironic API traffic from baremetal network" 2018-07-04 16:43:38 +00:00
Zuul
eede3bf6ce Merge "Remove support for creating and loading classic drivers" 2018-07-03 19:01:59 +00:00
Dmitry Tantsur
53e7baef42 Remove support for creating and loading classic drivers
* removes any bits related to loading classic drivers from
  the drivers factory code
* removes exceptions that only happen when classic drivers
  can be loaded
* removes the BaseDriver, moves the useful functionality to
  the BareDriver class
* /v1/drivers/?type=classic now always returns an empty list
* removes the migration updating classic drivers to hardware
  types

The documentation will be updated separately.

Change-Id: I8ee58dfade87ae2a2544c5dcc27702c069f5089d
2018-07-02 17:37:28 +02:00
Sam Betts
2bb87c1b69 Ensure we allow Ironic API traffic from baremetal network
In deployments with a separate baremetal network we need to ensure we
apply an iptables rule to allow traffic on port 80 to the Ironic API.

Change-Id: I468f511dd8ad9a25c17f2a2754f7a45f7147c483
Story: 2002788
Task: 22673
2018-07-02 16:32:34 +01:00
ankit
194d042068 Modifying 'whole_disk_image_url' and 'whole_disk_image_checksum' variable
Need to set variable whole_disk_image_url and
whole_disk_image_checksum in tempest.conf
irrespective of IPXE is enabled or disabled.

Also setting the ping_timeout for standalone ironic
like we are setting ssh_timeout in case node is
taking more time for becoming active.

This change is required for iLO-CI as iLO-CI is
running tests as standalone ironic.

Change-Id: Idef1bc876fe440824894332a211af9a10401e49c
Closes-Bug: #1748849
2018-07-02 07:45:59 +00:00
Derek Higgins
f8163fab38 Switch ironic-dsvm-standalone to zuulv3 native
Move ironic-dsvm-standalone away from using the legacy
format converted fromt the project-config repository.

Also enables 3 more tempest jobs(BaremetalAgentIpmitool*)
that were being skipped as agent_ipmitool wasn't configured.

Change-Id: Ic01bf1849620c6d095f130e445c92888548d00c5
2018-06-29 15:56:35 +01:00
Hironori Shiina
bd003c69be DevStack: Tiny changes following iRMC classic driver removal
This patch includes small changes to complement the removal of iRMC
classic drivers for consistency between irmc hardware type and other
hardware types.

Change-Id: I84dac94f1340e239796ea3da7a5fbd9154813795
2018-06-28 10:26:16 +09:00
Dmitry Tantsur
1a07137118 Remove the ipmitool classic drivers
This change removes pxe_ipmitool and agent_ipmitool. Some tests
and documentation bits are removed, since we no longer have any
classic drivers to provide examples.

The Inspector.create_if_enabled method is no longer used and was
removed. The [inspector]enabled option will be deprecated in
a follow-up.

IRONIC_ENABLED_DRIVERS is removed from devstack to prevent
devstack-gate from injecting the removed drivers into it.
A temporary migration from queens is updated to disable all
classic drivers. It will be removed when the enabled_drivers
option is completely removed.

Change-Id: Iab247e3b3336f90446ef0687edb340cf8282a925
2018-06-27 13:08:42 +02:00
Dmitry Tantsur
384f966003 Remove the OneView classic drivers
This change removes iscsi_pxe_oneview and agent_pxe_oneview.

Change-Id: I4301e35f321bd041441dcfce494393fb90e293f3
2018-06-26 14:30:27 +02:00
Dmitry Tantsur
6deb0c3b0b Remove the deprecated pxe_snmp driver
Change-Id: I3e9d102698cb09171c3ca3031098bc9f1d829a72
2018-06-26 14:30:11 +02:00
Dmitry Tantsur
575640cfac Remove the deprecated classic drivers for Cisco UCS hardware
This change removes pxe_ucs, agent_ucs, pxe_iscsi_cimc and
pxe_agent_cimc. Best effort clean up was done to the documentation.

Change-Id: I4fe75e0d4a36228f2f6be6bf6ced6d37424b6fd3
2018-06-26 14:29:56 +02:00
Dmitry Tantsur
09e89c09d1 Remove the iDRAC classic drivers
This removes the pxe_drac and pxe_drac_inspector classic drivers.

Change-Id: I2837bc626425869008d9222523b05e2ce5175c19
2018-06-26 14:29:37 +02:00
Dmitry Tantsur
9c7729d6b7 Remove the ilo classic drivers
This removes pxe_ilo, iscsi_ilo and agent_ilo. Also removed is
the whole documentation section dedicated to them.

Change-Id: Ie6f8a65d68ce4eb9c8467c416df5f3a35f0abe98
2018-06-22 16:55:20 +02:00