569 Commits

Author SHA1 Message Date
Dmitry Tantsur
809653e126 devstack: add missing variables for ironic-python-agent-builder
The ones for ironic-python-agent itself are defined in devstack.
This changes adds similar variables for ironic-python-agent-builder
and migrates the ironic-python-agent ones here to avoid confusion.

Change-Id: Ic7eef9c8741ec2900401556f4053a4749b652d7c
2019-06-17 12:03:58 +02:00
Zuul
21f8bef807 Merge "Updates ironic for using ironic-python-agent-builder" 2019-06-17 05:59:35 +00:00
Julia Kreger
c59dc1386f Update qemu hook to facilitate Multicast
mdns AND IPv6 Neighbour Discovery Protocol use multicast packets
and the macvtap interface drops these packets by default.

Since there is no way to tell libvirt to make this better,
lets at least use the hook to make the macvtap interface
change such that multicast packets will pass.

With this, iPXE should work... and mdns should be testable in CI.

Change-Id: I397d211675fd7668b8fd19e989d740d6bad2c70e
2019-06-14 14:19:40 -07:00
Nisha Brahmankar
df5ac6d5bc Updates ironic for using ironic-python-agent-builder
Change-Id: Ic7a515eeda59b6611049c39978fda3ccbb162a45
Task: 33746
Story: 2005114
2019-06-13 03:54:43 +05:30
Julia Kreger
55e8d3fde1 Add a pxe/uefi/grub2 CI job
Fixes the grub2 based devstack logic and adds a grub2 CI job
such that the ironic team can safely clean-up some of the PXE
code without fear of breaking the grub2 scenario.

Story: 2003936
Task: 27724
Change-Id: Ieb395bf35e2689741a243c11b56d08a237b200bc
2019-06-05 14:21:13 -07:00
Dmitry Tantsur
6849a43cf6 devstack: configure rabbit outside of API configuration
If enabled, rabbit is required for all ironic services, so it makes
no sense to only configure it when API is enabled. This seems to
break multinode grenade, since `is_service_enabled ir-api` returns
false on the subnode. Try to configure the RPC backend in all cases
when IRONIC_RPC_TRANSPORT is "oslo" (not JSON RPC).

Also move the automated_clean option to the conductor where it belongs.

Change-Id: I6e046c6b6e1e4c0ca7bfd5fb9ce5892c0298fb78
2019-05-27 13:00:25 +02:00
Zuul
ed5c3d940d Merge "Move devstack emulators configs under /etc/ironic" 2019-05-21 23:25:09 +00:00
Zuul
0a3b1968aa Merge "Replace hardcoded "stack" user to $STACK_USER" 2019-05-09 14:53:57 +00:00
Kaifeng Wang
a89e903f7c Replace hardcoded "stack" user to $STACK_USER
Follow up to https://review.opendev.org/#/c/657606 which
fixed vbmcd service.

Change-Id: I7d37cd6191770c7efa6a034e18619f744d9c35e8
2019-05-08 09:27:21 +08:00
michaeltchapman
bace52165f Run vbmcd as stack user in devstack
devstack may be run as some other non-root user, and the service
will fail to start if there is no stack user available.

Change-Id: Ib1cfa6a1b0859a1e2680055ce0394053db1c307e
Signed-off-by: michaeltchapman <woppin@gmail.com>
2019-05-07 23:58:03 +10:00
Zuul
afecd4e710 Merge "Adding enabled_boot_interface attribute in tempest config" 2019-05-06 17:50:30 +00:00
Zuul
00622ae23f Merge "Improve VirtualBMC use in Devstack" 2019-05-06 16:33:25 +00:00
ankit
9d5461506e Adding enabled_boot_interface attribute in tempest config
This patch will adds enabled_boot_interfaces in tempest
config file.

Change-Id: Ib4f767818532c100826fb3562d02e7c100902411
Story: 2005549
Task: 30697
2019-05-02 06:43:04 +00:00
Zuul
191667078d Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-04-25 09:35:22 +00:00
ZhongShengping
a280696a03 Replace git.openstack.org URLs with opendev.org URLs
Thorough replacement of git.openstack.org URLs with their opendev.org
counterparts.

Change-Id: Ic19e45986e9f650c1deb297f463e679fd268ad97
2019-04-24 16:13:58 +08:00
Julia Kreger
bb8101ca95 Fix pyghmi path
Pyghmi was moved from openstack namespace to the x
namespace. As such the devstack plugin needs to match
up otherwise devstack fails in CI to clone as cloning
is blocked if not in the projects list... Which it is,
as x/pyghmi.

Change-Id: I87bdf65dd2dac189642d0af6def2d0ed155f3c00
2019-04-23 16:46:06 +00:00
Zuul
b0f0483818 Merge "Run IPMI, SNMP and Redfish BMC emulators as stack" 2019-04-17 23:16:56 +00:00
Zuul
6bc98c6061 Merge "Add UEFI firmware to Redfish emulator config" 2019-04-17 23:16:54 +00:00
Zuul
cd27c7af05 Merge "devstack: Remove syslinux dependency" 2019-04-16 15:15:03 +00:00
Michael Turek
c2588c4de4 devstack: Remove syslinux dependency
syslinux should no longer be required by any arch. This patch removes
the dependency.

Change-Id: Id4aea9acb9bf4ac34c0d5e9bca27fb48ea1b009a
2019-04-15 14:28:48 +00:00
Zuul
5fe272f4f8 Merge "Use the PUBLIC_BRIDGE for vxlan" 2019-04-12 15:03:05 +00:00
Julia Kreger
1d0accbbe1 Use the PUBLIC_BRIDGE for vxlan
The PUBLIC_BRIDGE parameter, for most multinode zuul jobs
defaults to br-infra in cases where native zuul configuration
is used.

However, this is not true for legacy jobs still using devstack-gate.

When jobs are invoked with devstack-gate, the bridge must be set
to match the devstack-gate scripting as zuul *does not* setup the
vxlan bridge for us. Devstack-gate does so.

Change-Id: I37bff3c4d930ada483690d0dea17cb9a64d51fd2
2019-04-10 07:10:49 -07:00
Ilya Etingof
edd78ce095 Move devstack emulators configs under /etc/ironic
Moves the config files of virtualpdu, virtualbmc and sushy-tools
emulators under $IRONIC_CONF_DIR (defaulting to /etc/ironic)
to have the configs in post-mortem dumps.

Depends-On: https://review.openstack.org/#/c/651202/
Change-Id: Iea895c157a199d257b751b41a127849d43ad139f
2019-04-10 15:03:17 +02:00
Ilya Etingof
01b0be9db2 Improve VirtualBMC use in Devstack
This patch brings two somewhat related changes:

1. Older versions of VirtualBMC worked without any server keeping
   state on the filesystem. The contemporary version is build around
   client-server model. To preserve backward compatibility, the
   `vbmc` client would invoke `vbmcd` behind the scenes if the daemon
   is not running.

   This change inhibits this automatic `vbmcd` start behaviour because
   devstack invokes `vbmcd` explicitly through systemd.

2. This patch makes Devstack messing with VirtualBMC only if it is
   determined that IPMI deployment is required. Otherwise (e.g.
   Redfish deployment is planned) Devstack will not attempt to
   start/stop IPMI emulation.

Change-Id: Id9a2ed71a997fb13523a77563d6e941904675f97
2019-04-09 14:06:20 +02:00
Ilya Etingof
380519c07f Run IPMI, SNMP and Redfish BMC emulators as stack
Run IPMI, SNMP and Redfish emulators in devstack as user
`stack` as opposed to `root`. The intention is to
avoid accidental privilege escalation.

By way of this change, emulators management harness
reworked and unified.

Change-Id: I1fa2bb39e5fbedefb828fba72ef00f534db78076
2019-04-09 14:05:37 +02:00
Ilya Etingof
9d9e7df879 Add UEFI firmware to Redfish emulator config
To be able to UEFI boot via Redfish emulator, the latter
needs to be aware of the libvirt UEFI firmware blobs.

Change-Id: I3978c73564e2e955f390815ce5a20b58862cc495
2019-04-09 14:04:45 +02:00
Ilya Etingof
4964d17716 Add systemd unit for sushy emulator in devstack
Change-Id: I6d463dace526a514dcba1bf6a4b24d82b115fda4
2019-04-09 14:03:02 +02:00
Zuul
de390cc585 Merge "Remove vbmc log file in devstack" 2019-04-02 12:59:50 +00:00
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
Ilya Etingof
37c4437002 Remove vbmc log file in devstack
Because vbmcd is now managed by systemd, making vbmcd logging
to its standard streams makes all logs in one place.

Change-Id: I1f7e5665816bd3045aa1b4760a28e610ebbb5766
2019-03-22 16:06:29 +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