20 Commits

Author SHA1 Message Date
Vasyl Saienko
fdf6f89a23 [Grenade]: Do not run ir-api on primary node after upgrade
Ironic upgrade process has pre-requirement that ironic-conductors
should be upgraded before ironic-api. Grenade is launched on primary
node, where we have ir-api and ir-cond runnning. Do not start ir-api
on primary node after upgrade to avoid situation when we have new ir-api
(primary) and old ir-cond (subnode) as it is not allowed by upgrade
procedure. Instead redirect all requests destinied to ir-api on primary
node to subnode.

Depends-On: I026121121059768aa74389add7eee6e63fdb214d

Change-Id: I9e496353a1d3d6547e4881f96fb187e488cff83f
2017-04-28 13:59:07 +03:00
Vasyl Saienko
ab3982eb27 Ensure we install latest libivrt
Recently infra team added UCA repositories and start installing libvirt
from it Ia4434541c71f050fe1ffb54f4c4c1e302391d00b
This patch ensures that libvirt-bin is installed later during stack.sh
phase when new repos are added.

Change-Id: Iab7bb24d0aa89cdbef40b2e60331976325a31cab
2017-04-21 08:53:39 +00:00
Jenkins
5ebc60de42 Merge "Add /baremetal path instead of port 6385" 2017-04-20 21:13:47 +00:00
anascko
c971ceef5a Add /baremetal path instead of port 6385
The long-standing goal in OpenStack is to stop using custom ports for
services and only use subpaths like /identity or /compute. This change
enables the /baremetal subpath in our devstack plugin.

Closes-Bug: #1513005

Change-Id: Iaac8764394a13c4851d2ebbf3b91a380ba2aa49f
2017-04-18 11:03:22 +03: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
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
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
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
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
Mauro S. M. Rodrigues
6aea2126d4 Install syslinux package only for Wheezy / Trusty
Syslinux package is not available on Ubuntu Xenial ppc64el (Power). And
as of Jessie/Xenial, syslinux package only provides DOS and NTFS
loaders, which are not required. Keep installing the package for
previous releases Wheezy and Trusty to provide some compatibility
instead of removing the dependency completely.

Change-Id: I899e77423ba86cb4de2a949a29b8573d2465b76a
2016-11-25 13:04:31 -06:00
Pavlo Shchelokovskyy
d21564eaba Fix PXE setup for fresh Ubuntu Xenial
Since Ubuntu 15.04 the file 'pxelinux.0' is provided by different
package ('pxelinux') which is not being installed by DevStack.
Extra problem is that this package does not exsit for earlier Ubuntu
versions at all.

More over, while in Trusty 'syslinux' package depends on
'syslinux-common', it only recommends it in Xenial, but we need it
installed as it provides *.c32 modules required for syslinux.

This patch adds 'syslinux-common' and 'pxelinux' to required deb packages
list when distro is 'xenial' or 'jessie' (as this packaging change has
its origin in Debian) by using the distro pinning in the package lists
as supported by DevStack.

Change-Id: I473fc4eb52f28a456c3f6888d5c7b25e8e08be26
Closes-Bug: #1638940
2016-11-21 16:18:14 +02:00
Dao Cong Tien
22a80f77c5 Nova-compatible serial console: socat console_utils
This adds console_utils functions for 'socat' console.
Implements:
- get_socat_console_url(): returns url for socat console
- start_socat_console(): uses (socat + console_cmd execution)
- stop_socat_console(): stops socat/console_cmd subprocess

Change-Id: I79ddd83d12cc8111e05b5107359d6db8a8881d61
Spec: https://review.openstack.org/#/c/319505/
Related-Bug: #1553083
2016-07-14 01:09:19 +00:00
dparalen
033dbb2d10 remove neutron stuff from devstack deb packages
It seems we are enforcing certain dependencies to be always installed on
behalf of other projects.  The issue I'm facing is we unconditionally
install openvswitch-datapath-dkms which isn't necessary for Ubuntu kernels
>= 3.13.  Even worse, this package isn't available on Ubuntu 16.4 LTS thus
breaking devstack setup.sh on that platform.

This patch removes Neutron dependencies as those are handled by devstack[1]
and devstack neutron plugin[2]

[1] https://github.com/openstack-dev/devstack/blob/master/files/debs/openvswitch#L3
[2] https://github.com/openstack-dev/devstack/blob/master/lib/neutron_plugins/ovs_base#L58

Closes-bug: #1580101

Change-Id: Iff0cf13499d9cb05f241f23759d5faec9a9c4a98
2016-06-06 15:49:59 +00:00
Jay Faulkner
3a6a8ec98e Install apparmor b/c Docker.io has undeclared dep
Docker has an undeclared dependency on apparmor for Ubuntu Trusty,
preventing the daemon from running and causing any -src jobs for IPA to
fail when using docker to build the package.

This should unbreak the IPA gate.

Change-Id: I98540286000d0cb1fe7649db5278c0a959ba8ad1
Closes-bug: 1558680
2016-03-17 17:31:32 -07:00
Dmitry Tantsur
f3167750d9 [devstack] Fix IPA source build on Fedora
* gnupg is not installed by default
* docker is not started by default

Change-Id: Iecf0aad71fd7487d4e161b51a3928b9915ee1468
2016-03-07 15:17:11 +01:00
Lucas Alvares Gomes
7ffa1d58ce DevStack: Add support for deploying nodes with pxe_ipmitool
This patch is adding support for deploying nodes with the pxe_ipmitool
driver and VMs.

The patch adds a dependency on the "virtualbmc" utility which is
responsible for creating a virtual/fake BMC that handles the IPMI
commands (using pyghmi.bmc) and convert it to calls to the
python-libvirt library.

The function "is_ironic_hardware" was converted into a variable called
"IRONIC_IS_HARDWARE" which can be set to True/False to indicate whether
DevStack is being setup for baremetal or VMs.

Partial-Bug: #1544642
Change-Id: I5edc51c7fc8b6f0bb7fe4ca129596709a32eb93e
2016-02-18 19:27:04 +00:00
Lucas Alvares Gomes
24ff5378be DevStack: Install squashfs-tools
When building the TinyIPA ramdisk we need squashfs-tools to be installed.

Change-Id: I4690514803dd91d4bda0d38df4fd792f31a51421
2016-02-16 17:08:44 +00:00
Zhenguo Niu
181e3de147 Install 'shellinabox' package for Ironic
As we already added console feature support for ssh driver,
devstack should install it.

Change-Id: I8946aca2eceb6c8440af44e45e9ce56637a1da63
2015-12-25 17:13:58 +08:00
Lucas Alvares Gomes
2f6dce9738 Keep the console logs for all boots
This patch adds a libvirt hook that saves the VM console log everytime
it shutdown. This is great for troubleshooting because it allow us to
see what happened with the VM on every boot instead of only the last one.

Closes-Bug: #1506829
Related-Bug: #1393099
Change-Id: I4881dfc816a05c0fd2610b0b977e41c44a7e9517
2015-12-16 15:58:17 +00:00
Jim Rollenhagen
b21873588a Copy devstack code to ironic tree
This begins work toward moving our devstack code to a devstack plugin
within our tree. This allows us to experiment with the devstack code
more easily, as well as take some load off of the devstack team.

Note that the plugin is not enabled until we enable it in
project-config, so this doesn't actually affect devstack runs yet.

The files that exist for us in devstack are listed below.

$ find . -name *ironic*
./lib/ironic
./lib/nova_plugins/hypervisor-ironic
./files/rpms/ironic
./files/apache-ironic.template
./files/debs/ironic
./extras.d/50-ironic.sh
./tools/ironic

$ tree tools/ironic
tools/ironic
├── scripts
│   ├── cleanup-node
│   ├── configure-vm
│   ├── create-node
│   └── setup-network
└── templates
    ├── brbm.xml
    ├── tftpd-xinetd.template
    └── vm.xml

All of these files are copied here, except:
lib/nova_plugins/hypervisor-ironic: this is nova code and will not move.
extras.d/50-ironic.sh: this will become the base for plugin.sh.

Change-Id: I3fabefa686cad4bc50f6a5603fd95c96d1a21e68
Depends-On: Id01d97fd13fa9f866d645ec5077834ddb78b2b89
2015-12-10 15:32:01 +00:00