78 Commits

Author SHA1 Message Date
Brant Knudson
0595237e8a Function for auth_token middleware config
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
2014-09-21 11:18:01 -05:00
Jenkins
0a49fa517b Merge "Fix Ironic agent ramdisk URL" 2014-09-13 18:40:08 +00:00
Jim Rollenhagen
4cb0d8c8bb Fix Ironic agent ramdisk URL
This URL was wrong in the first place, not sure how that happened.

Change-Id: I8a9a19c9776c06d062751becf8382b9a014e45eb
2014-09-11 16:45:58 -07:00
Chris Dent
2f27a0ed3c Replace screen_it() with run_process() throughout
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
2014-09-11 18:59:39 +01:00
Jenkins
6eaaa780bd Merge "Set flavor id for Ironic's baremetal flavor" 2014-09-10 13:31:40 +00:00
Jenkins
4bd4264960 Merge "Allow devstack to build ironic agent ramdisk" 2014-09-09 03:04:49 +00:00
Jim Rollenhagen
792dc5f8cf Simplify ironic-python-agent download
The kernel and ramdisk for IPA are now uploaded separately, this
commit simplifies the download by downloading them separately.

Change-Id: I630b0a9c3d1179a6b97754f1474f62ae7da068a5
2014-09-04 16:57:46 -07:00
Jim Rollenhagen
f00766b8bb Allow devstack to build ironic agent ramdisk
This provides a way to test Ironic-python-agent code that is
not yet merged.

Change-Id: I85084c383263173a33250592a95a17f46827b347
2014-09-04 16:31:02 -07:00
Adam Gandelman
29c3d63b28 Set flavor id for Ironic's baremetal flavor
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
2014-09-02 11:49:28 -07:00
Jenkins
15370b84e2 Merge "Share the fixed network for Ironic" 2014-08-23 07:39:37 +00:00
Jenkins
53cfcc1c2b Merge "Ironic: Setup/Configure iPXE" 2014-08-22 07:16:04 +00:00
Lucas Alvares Gomes
5851e5f698 Ironic: Setup/Configure iPXE
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
2014-08-20 17:32:32 +01:00
Steve Baker
cbfb3ae1c8 Ironic and baremetal install diskimage-builder with pip
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
2014-08-20 09:06:31 +12:00
Adam Gandelman
cec9792f7f Share the fixed network for Ironic
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
2014-08-19 11:09:07 -07:00
Jim Rollenhagen
a6a45467c4 Add ironic-python-agent support to devstack
This adds support for using ironic-python-agent with Ironic.

Change-Id: I8f1e93e09ddde447996ecbedceb091f51d60040e
2014-08-15 18:09:14 +00:00
Jim Rollenhagen
722284f24b Fix image create functions for Ironic
This fixes an issue where --container-format was not passed to
'openstack image create'.

Change-Id: If1431c8dc8ff8e940f99e984939f5b2732bb0ee0
Closes-Bug: 1357495
2014-08-15 18:04:58 +00:00
Jenkins
a3ecab6618 Merge "Modify glance image-create commands to use openstackclient" 2014-08-15 00:50:41 +00:00
Adam Gandelman
6d27148eb6 Cleanup lib/ironic
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
2014-08-06 16:48:35 -07:00
Jenkins
75ee80cfef Merge "Clean up local variable usage - Ironic" 2014-08-06 00:49:31 +00:00
Steve Martinelli
8d3ac2df58 Modify glance image-create commands to use openstackclient
Change `glance image-create` commands to use `openstack image create`,
in an effort to unify the CLI.

Change-Id: I96cef118daf931b648c0483525ac7d2287fec2e0
2014-08-02 23:47:15 -04:00
Jenkins
f2572e7fcc Merge "Add support for ironicclient bash completion" 2014-07-31 00:14:33 +00:00
Dean Troyer
b52caa386c Clean up local variable usage - Ironic
Change-Id: I7a455299c6aa079de02b75d4d53df43074880ff7
2014-07-25 14:12:19 -05:00
Ramakrishnan G
c294c503e1 Add support for ironicclient bash completion
This commit adds statement to copy the file /ironic.bash_completion
file to the default bash completion directory.

Change-Id: I436d46dbac0895a8ca14d085fec041981435936c
2014-07-24 16:05:18 +05:30
Gael Chamoulaud
6dd8a8bee4 Users in service group should not have email addresses
Change-Id: Ieed9dffce5cf1e735e482dd3494ac1e103b50955
Closes-Bug: 1185201
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2014-07-22 17:29:04 +02:00
Jenkins
24729ab388 Merge "Lower default IRONIC_VM_SPECS_RAM" 2014-07-19 01:43:03 +00:00
Adam Gandelman
ea335f4e06 Lower default IRONIC_VM_SPECS_RAM
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
2014-07-03 17:57:49 -07:00
Bartosz Górski
0abde393c5 Adds support for multi-region
Change-Id: Ib85fe7cb375692b04aca4c46f61ba7e1fbfa501b
Implements: blueprint multi-region
2014-07-01 14:58:35 +00:00
Jenkins
fcebd2b5e6 Merge "Call ironic-dbsync with proper --config-file option" 2014-06-19 16:57:32 +00:00
Jamie Lennox
3561d7f9ed Use identity_uri instead of auth fragments
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
2014-06-16 15:16:48 +10:00
Lucas Alvares Gomes
cd7cfef429 Ironic: Add deploy kernel and deploy ramdisk to driver_info
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
2014-06-11 15:40:48 +01:00
Adam Gandelman
ab592931e2 Setup color logging for Ironic
If enabled, setup colorized logging for Ironic API and Conductor.

Change-Id: I8c6d60185dd7907a0f9aa46fd1ae7a92f53406d0
2014-06-06 15:12:32 -07:00
Dmitry Tantsur
0c6a6545b2 Call ironic-dbsync with proper --config-file option
Without --config-file option ironic-dbsync creates SQLite database
in the current directory, instead of migrating MySQL database.

Change-Id: Ib733dbf9198a037114f6221e974acb29d109ff22
2014-06-02 20:21:03 +02:00
Jenkins
03c01a3bef Merge "Add support for ephemeral disk to ironic" 2014-05-04 16:05:12 +00:00
Jenkins
64162aaace Merge "Insert required iptables rules for Ironic" 2014-05-02 21:28:24 +00:00
Jenkins
a6c21928d2 Merge "Enable console logging for Ironic baremetal VMs" 2014-05-02 10:08:08 +00:00
David Shrewsbury
3e4612b2f7 Add support for ephemeral disk to ironic
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
2014-05-01 11:40:46 -04:00
Adam Gandelman
c1f0db2b1d Insert required iptables rules for Ironic
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
2014-04-30 11:21:47 -07:00
Adam Gandelman
74eafa4b49 Bump minimum default RAM for Ironic nodes to 1GB
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
2014-04-28 14:06:42 -07:00
Devananda van der Veen
83eeed0ebc Rename ironic option drivers_whitelist -> enabled_drivers
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
2014-04-18 23:31:08 +00:00
Jenkins
279d2bef69 Merge "Remove sshd reconfig from lib/ironic" 2014-04-17 21:07:50 +00:00
Adam Gandelman
3f2a7b75bb Add sudoers.d entry for Ironic conductor
Ironic conductor requires sudo access for ironic-rootwrap.

Change-Id: Ic6f24a864ca0255e2a8e69969f347bcaf8493e1f
2014-04-14 17:16:23 -07:00
Adam Gandelman
867651049a Remove sshd reconfig from lib/ironic
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
2014-04-14 11:57:13 -07:00
Jenkins
1844e9f900 Merge "Delete unused neutron port" 2014-04-14 12:04:12 +00:00
Adam Gandelman
8af6faed81 Enable console logging for Ironic baremetal VMs
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
2014-04-11 18:14:16 -07:00
Jenkins
3cb5bd8947 Merge "Set a correct whitelist for drivers in Ironic" 2014-04-11 00:23:01 +00:00
Adam Gandelman
5f060e62f7 Restart only nova-compute when deploying Ironic
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
2014-04-08 11:52:05 -07:00
Roman Prykhodchenko
dc97a0ec6a Set a correct whitelist for drivers in Ironic
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
2014-04-08 14:19:58 +03:00
Alexander Gordeev
1ab92d9f22 Delete unused neutron port
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
2014-04-03 16:17:58 +04:00
Jenkins
b65dc0afee Merge "Ironic: Use HOST_IP instead of SERVICE_HOST" 2014-03-25 17:37:48 +00:00
Adam Gandelman
d301198907 Ironic: Use HOST_IP instead of SERVICE_HOST
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
2014-03-24 13:55:34 -07:00