Each project was configuring the auth_token middleware using several
lines of inisets. Since all the projects should configure the
auth_token middleware in the same way create a function and call it.
Change-Id: I3b6727d5a3bdc0ca600d8faa23bc6db32bb32260
run_process will use screen if USE_SCREEN=True (the default),
otherwise it will simply start the requested service. Therefore
wherever screen_it used, run_process can be instead.
Where stop_screen was found it has been replaced with stop_process.
A tail_log function has been added which will tail a logfile in a
screen if USE_SCREEN is True.
lib/template has been updated to reflect the use of the new
functions.
When using sg the quoting in run_process gets very complicated.
To get around this run_process and the functions it calls accepts
an optional third argument. If set it is a group to be used with sg.
Change-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca
The kernel and ramdisk for IPA are now uploaded separately, this
commit simplifies the download by downloading them separately.
Change-Id: I630b0a9c3d1179a6b97754f1474f62ae7da068a5
An existing trove bug prevents it from functioning when Nova flavors exist
with an id that is a UUID instead of an integer, causing Tempest failures.
This sets an integer ID when creating the baremetal flavor for Ironic's use.
Change-Id: Ic090f61a9a47421117dc86b640422f00f468112c
Related-bug: #1333852
Setup the enviroment and configure Ironic to use iPXE for deployments. If
IRONIC_IPXE_ENABLED enviroment variable is True, DevStack will now start
and configure an Apache HTTP server to serve the images, will copy the
undionly.kpxe boot file in place of the standard pxelinux.0 and will set
the right configuration to Ironic to deploy the images using iPXE+HTTP.
Implements: blueprint ipxe-boot
Change-Id: I0ea40cb8bbf9236c634f803c2bde1081634679ff
This change installs diskimage-builder with pip instead
of from git, and only if the executable ramdisk-image-create
isn't already installed.
This allows the ironic and baremetal to consume the latest
release of diskimage-builder by default, and gives the option of
defining version constraints for which version to install.
If the dib service is enabled (which it isn't by default) then
diskimage-builder will already be installed from git and will
not be re-installed for ironic and diskimage-builder.
Change-Id: Ic6613a11e2c4fb7a1261b81cdc2cf958515e60cd
When using Ironic, ensure the private Neutron network is shared across
all tenants. This allows connectivity to the host's TFTP server from
nodes booted accross multiple tenants and more closely resembles the current
real world Ironic PXE+IPMI use cases.
Change-Id: I5d293493bafa37b1796f47aa738cfff2e3be9f59
This fixes an issue where --container-format was not passed to
'openstack image create'.
Change-Id: If1431c8dc8ff8e940f99e984939f5b2732bb0ee0
Closes-Bug: 1357495
This moves around a bunch of functionality and attempts to isolate setup
steps into discrete functions (new or existing), making them easier to
consume from outside of Devstack (ie, Grenade).
Change-Id: I480167dcc008506ec2fe8c412db4114b74496e60
Change `glance image-create` commands to use `openstack image create`,
in an effort to unify the CLI.
Change-Id: I96cef118daf931b648c0483525ac7d2287fec2e0
This commit adds statement to copy the file /ironic.bash_completion
file to the default bash completion directory.
Change-Id: I436d46dbac0895a8ca14d085fec041981435936c
Revert the default required RAM for Ironic nodes from 1024MB to 512MB.
Ironic now passes a kernel parameter to deploy ramdisks that avoids use
of tmpfs and lowers minimum memory requirements.
Change-Id: I20226c496fdd06ecfc6769a60b6d6f82887130a8
auth_token middleware now accepts a standard URL string as the parameter
identity_uri instead of specifying protocol etc individually. Change the
services over to use this.
Also changes over some other places in which the auth fragments are used
individually to the new variables and fixes up some misconfigurations of
auth_token.
identity_uri option was release in keystoneclient 0.8.0
Change-Id: Iac13bc3d08c524a6a0f39cdfbc1009e2f5c45c2a
Pass deploy kernel and deploy ramdisk as parameters to the driver
to enable Ironic to support different deploy provisioning
methods using the same flavor. This patch is part of the
https://blueprints.launchpad.net/ironic/+spec/add-node-instance-info
work which is separating the instance-level data from the driver-leval
data in the Node's resource of Ironic, once it's finished another patch
will be submitted to DevStack to remove the part of the code which is
adding the deploy kernel and deploy ramdisk parameters to the flavor,
for now a TODO was left inline as a reminder.
Change-Id: Id7cfb17cc6f6133964be139bfedbca1dc644b9cd
Implements: blueprint add-node-instance-info
Without --config-file option ironic-dbsync creates SQLite database
in the current directory, instead of migrating MySQL database.
Change-Id: Ib733dbf9198a037114f6221e974acb29d109ff22
Add a new variable, IRONIC_VM_EPHEMERAL_DISK, to specify the size
of the ephemeral disk. Default will be zero to match the current
behavior.
Change-Id: Ia8a8ef364a85fc803b93fb936212de0894a19bd8
Devstack gate slaves have locked down local iptables firewalls.
Ironic nodes boot on an 'external' network and require TFTP
and Ironic API access back to the node via its HOST_IP. This inserts
the required rules to the top of the INPUT chain.
Change-Id: I2e5dfa2346d45fdd549a3a3fbc255f190195cdd6
Set the default RAM for Ironic BM VMs to 1GB to ensure DIB produced deployment
ramdisks function correctly across older and newer kernels, regardless of
rootfstype.
Change-Id: Ifc15a4430aa63c3599e7fd76f5116dc7b728ead0
Closes-bug: #1311987
There were competing patches to implement this feature in Ironic.
Patch I2da37409cea98731a2ca18dfe7298861fde37783 calls the option
'enabled_drivers', which is more consistent with other option names.
Change-Id: Ifa7eae594c6d9ea743a17b4c31e407501bba8467
The sshd reconfiguration to listen on port 2222 provides no
benefit and complicates deployment on some systems. This removes
the reconfiguration and instead just confirms SSH connectivity.
Default SSH host and ports are left configurable, but the port now
reflects the default 22.
Change-Id: Iaf7c71854c3741a505a79037ffb8c86ace74fc27
Logs console output of VMs created for use by Ironic to
$DATA_DIR/ironic/logs. This gives Jenkins something to archive
that will be useful for debugging any deployment ramdisk issue
blocking provisioning.
Change-Id: I7d234a6a13dbe8579f685e46d7712dae497272a5
lib/ironic redundantly restarts *all* Nova services as part of its bootstrap.
Only nova-compute should be restarted to ensure its resource tracker has picked
up newly enlisted Ironic nodes. This change limits the restart to only
nova-compute and triggers it after nodes have been enlisted in Ironic.
Change-Id: I87a508d6611a16fa6b966ab18e15aa9fbcc5e8c7
Ironic recently introduced a feature called Drivers
whitelist. It allows to specify the drivers that are
enabled.
The default list is not appropriate for functional and
integration testing so devstack needs to be updated.
Change-Id: Iccc81343f4d5a7dec8b371934a8c9849d9ffac23
For purpose of creating fake baremetal nodes environment for ironic
functional/integration testing the unused neutron port to be created.
Adding the removal part and helpful comments.
Change-Id: I855ba1dbbf13f343d513ba387716996d6e4c20a6
Ironic virtual machines boot on a different network and are expected
to fetch via tftp from the conductor and callback to the API. We
need to ensure both endpoints are accessible, even when SERVICE_HOST
is 127.0.0.1 (eg, devstack-gate).
Change-Id: I96aee75b76ad11d83143736da00ea304db971c9c