238 Commits

Author SHA1 Message Date
Jenkins
d489d28d87 Merge "Refactor disk partitioner code from ironic and use ironic-lib." 2015-12-16 16:26:44 +00:00
Jenkins
e668b5e85b Merge "Update ironic.conf.sample by applying the bug fix #1522841" 2015-12-13 15:29:01 +00:00
Naohiro Tamura
a2df90bde1 Update ironic.conf.sample by applying the bug fix #1522841
This patch updates and removes obsoleted config parameters in
ironic.conf.sample with updates of keystonemiddleware is 4.0.0 and
oslo.messaging 3.1.0.

Related-bug: #1522841
Change-Id: I1c24c49f6a07fc4289d8732b0ab4e6ced179e47e
2015-12-11 14:53:55 +09:00
Lin Tan
3daef88bcb Remove extra space in 'host' config comment
Change-Id: I9e3ba346950baf0c1d9c7a4a8d5a29b43bc4b038
2015-12-10 16:38:32 +08:00
Faizan Barmawer
7c138f01a0 Refactor disk partitioner code from ironic and use ironic-lib.
The disk partitioner related code from ironic/common/disk_partitioner.py
and ironic/drivers/modules/deploy_utils.py is being moved to ironic-lib.
The code in ironic needs to be removed and use ironic-lib to perform
disk related activities.

Change-Id: I7b1b1d8b45b947a7b5715f3c6ab49d84e84b6b90
2015-12-09 22:03:35 -08:00
Vladyslav Drok
c5a8008b4d Handle deprecated opts' group correctly
Config generator is changed to use the option's group instead of just
'DEFAULT' if deprecated_group is not specified but deprecated_name is.

Change-Id: Icdf00ed70dd6133cb76d31f6f26a8f3d9a3874b4
Closes-bug: #1523958
2015-12-08 20:16:47 +02:00
Jenkins
1f97a7d67e Merge "Sync ironic.conf sample" 2015-12-02 20:45:18 +00:00
Jenkins
25e8ef33fe Merge "Wake up AMT interface before send request" 2015-12-02 09:14:54 +00:00
Lin Tan
1ab3c9217e Wake up AMT interface before send request
AMT interface goes to sleep after a period of time if the host
is off. Add a new method 'awake_amt_interface' for amt driver
to awake nodes' AMT interface.
This method will ping AMT interface to to wake it up before sending
request. Also set 60s by default as cache time.

Change-Id: I4d81001c01e7908100a6571b366cb296253f2fc1
Close-bug: #1504023
2015-12-01 18:30:27 +08:00
Pavlo Shchelokovskyy
37f20be9c9 Improve options help for image caching
Point how to turn image caching off.

Change-Id: I75e7aac5ca5120839ed7ca2ba43d40c981790f40
2015-12-01 11:06:56 +02:00
Vladyslav Drok
de99ad1335 Sync ironic.conf sample
Change-Id: Icd2447c558e8014f2361b23193a821d6e2196859
2015-11-30 14:02:48 +02:00
zouyee
30c1f61122 Comment spelling error in ironic-images.filters file
change maniputalte to manipulate

Change-Id: I0f5281a9837fcdad12aa41ff46f3ebe52c87be78
2015-11-28 13:36:45 +08:00
Bertrand Lallau
37816a0e63 Move iso8601 as a test dependency only
Ironic does not import and use this module directly, no need to list
it in the requirements and no need to set log level.
Instead it was moved to test-requirements.txt file because
it is explicitly imported for unit tests.

Change-Id: I791be24289f620a4227ec6514d77c37a5f8d920e
2015-11-26 22:42:01 +01:00
Jenkins
f0156debb4 Merge "Add deprecated config info in ironic.conf.sample" 2015-11-26 10:33:21 +00:00
Ruby Loo
9433f6f3b7 Add deprecated config info in ironic.conf.sample
ironic.conf.sample shows deprecated configs that have been
moved to different groups and renamed. Deprecated configs are
not being indicated if they moved to a different group but
did not get renamed.

This fixes it to show all deprecated configs.

ironic.conf.sample was also updated to reflect other changes
that have occurred since the last update.

Change-Id: I608892a9735ecffc2c374330a4f0ee4e12ab6011
Fixes-Bug: #1519886
2015-11-25 16:54:49 +00:00
Lucas Alvares Gomes
878e6f8e0a Add switch to enable/disable streaming raw images for IPA
This patch is adding a configuration option called "stream_raw_images"
under the "agent" group. By default this option is set to True, meaning
that the IPA ramdisk will be instructed to stream raw images directly
onto the disk instead of copying it to a tmpfs partition prior of
writing it to the disk. By streaming raw images IPA will consume less
memory to run and the deployment will be faster (unless the disk being
deployed is really slow).

Depends-On: Iddf67907bc9b54bbd3065a97064cb5a3602cfe18
Related-Bug: #1505685
Change-Id: I7e7ed7e7aeebbf7c936605a72aa974db2123a43e
2015-11-25 13:02:56 +00:00
Anton Arefiev
564f5f7cd7 Add SSL support to the Ironic API
Add posibility to configure the API to service requests via HTTPS instead
of HTTP using native ssl from oslo.service wsgi.

New options was added:
 * enable_ssl_api - turn on ssl support;
Options defined in oslo.service for configure certs:
 * ca_file - ca certificate file to use to verify connecting clients;
 * cert_file - certificate file to use when starting the server securely;
 * key_file - private key file to use when starting the server securely;

Closes-bug: #1430213
Change-Id: Id4b84d83f9aa6c7f898b3b9b59158d5b1a00e159
2015-11-18 12:04:18 +00:00
Anton Arefiev
c4bd20ebd4 Use wsgi from oslo.service for Ironic API
oslo.service provides a wsgi functionality for defining new long-running
services using by OpenStack applications. It might usefull for working with SSL for example.

Ironic has started migrate to oslo.service, this change continue this work, and consumes wsgi from it.

Change-Id: Ic7865709cd87c45e6b7d49f15ce73354aa15401e
Closes-Bug: #1484044
2015-11-17 19:32:49 +00:00
Vladyslav Drok
4d7340b0ab Add choices to temp_url_endpoint_type config option
The value of this option is not validated now, this change fixes it.
Also resolve final comments from
I79cfe92aa19a2a0520fee2455f094d728c748d5c

Change-Id: Ida3cb28dd4ea938eb96eb01bbce6ca189a2def11
2015-11-13 12:26:00 +02:00
Ruby Loo
524c41309b Update etc/ironic/ironic.conf.sample
This updates etc/ironic/ironic.conf.sample to include the config
'graceful_shutdown_timeout' and to indicate that the port-related
configs expect port values instead of integer values.

The .sample file is updated via running 'tox -egenconfig'.

Change-Id: Id297ee0b095c69491d31fd66261423f0f739fe11
2015-11-12 21:14:00 +00:00
Zhenguo Niu
fb1a67fe6b Move hash_ring refresh logic out of sync_local_state
As sync_local_state periodic task can be disabled, which will lose
out on hash ring refresh, so the refresh logic should be independent
of it. this patch adds a updated_at to HashRingManager to track of
when the ring was last refreshed, and when checks the ring is set,
also check the age and rebuild if older than the new config option
hash_ring_reset_interval which is default to 180s.

Change-Id: Ie46dbf93b920543f99e11774a29878aaf27c3400
Closes-Bug: #1506657
2015-10-23 10:18:02 +08:00
Dan Prince
735b58f2c3 Add an iboot reboot_delay setting
This patch adds a new reboot_delay setting to the iboot
power driver. This setting is important when using IPA
which can cause a power manager REBOOT which if there
is no sleep can occur so quickly the machine doesn't properly
power cycle.

The patch also updates the ironic.conf.sample file.

Closes-bug: #1504258

Change-Id: I70ec7151d0154bd6f6445bcc0e90de2dc5b380e5
2015-10-22 05:05:38 -04:00
Yuriy Zveryanskyy
bdcf98a3d9 Add reboot_delay option to snmp driver
When node is powered off via "soft off" (during deploy with agent for
example) a off/on cycle is required on external power controller.
If pause between off and on is too short node's hardware unable
to detect external power loss.
This patch adds new 'reboot_delay' config option. Some of
SNMP-enabled power controller have own value for this pause
(configurable or hardcoded). So default value of Ironic option
is "0" for keeping of current behavior.

Closes-Bug: #1506860
Change-Id: I91617f1a296ad38ff4c31872e6e3ac20f8619a38
2015-10-16 16:10:56 +03:00
Jenkins
5ca6e64e33 Merge "Enable radosgw support in ironic" 2015-10-16 10:16:34 +00:00
Vladyslav Drok
7d6eb16237 Enable radosgw support in ironic
Ceph has a swift compatible API called radosgw. Although it is
compatible, there are some differences with swift in how temp URLs
are generated. This change adds a new config option called
temp_url_endpoint_type, which allows generation of temp URL depending
on the underlying object storage API.

Implements: blueprint radosgw-temp-url

Change-Id: I79cfe92aa19a2a0520fee2455f094d728c748d5c
2015-10-15 18:57:44 +03:00
Jenkins
56ef2a001c Merge "OneView Driver for Ironic" 2015-10-13 03:05:14 +00:00
Thiago Paiva
460b9f1f5f OneView Driver for Ironic
This driver that will promote integration between Ironic and the HP OneView
Management System. The driver will allow Ironic to borrow non-dedicated servers
from OneViews's inventory to provision baremetal instances with minimal common
pre-configuration, set through OneView's *Server Profile Templates*.

Co-Authored-By: Alberto Barros <albertoffb@lsd.ufcg.edu.br>
Co-Authored-By: André Aranha <afaranha@lsd.ufcg.edu.br>
Co-Authored-By: Caio Oliveira <caiobo@lsd.ufcg.edu.br>
Co-Authored-By: Diego Pereira <diegolp@lsd.ufcg.edu.br>
Co-Authored-By: Gabriel Bezerra <gabrielb@lsd.ufcg.edu.br>
Co-Authored-By: Lilia Sampaio <liliars@lsd.ufcg.edu.br>
Co-Authored-By: Sinval Vieira <sinval@lsd.ufcg.edu.br>

Change-Id: Ic2fb7860e6b4f5183b6525ff7709c7616350a96a
Implements: blueprint new-ironic-driver-for-oneview
Depends-on: I914596e592477e148e642f93cfbe114464c3fe38
2015-10-09 15:14:32 -03:00
Jenkins
9fbee5eba7 Merge "PXE: Support Extra DHCP Options for IPv6" 2015-10-09 12:16:07 +00:00
Jenkins
28f9f1275a Merge "Add retries to ssh._get_hosts_name_for_node" 2015-10-08 11:17:23 +00:00
Vladyslav Drok
3ddf003ad6 Add retries to ssh._get_hosts_name_for_node
It is possible for ssh._get_hosts_name_for_node to return None when
the driver is not able to find a VM corresponding to given MAC
addresses or when incorrect information about nodes is returned by
SSH call to VM manager. In the latter case _get_hosts_name_for_node
should be retried.

This adds two new configs to the [ssh] group:
 - 'get_vm_name_attempts': number of attempts to try to get VM name
   corresponding to a node's MAC address
 - 'get_vm_name_retry_interval': time (secs) to wait between
   attempts to get VM name

Closes-bug: #1493748

Change-Id: I0457113d57f82cccc5cb353123fb087f6ba63aa2
2015-10-07 14:50:08 +00:00
Lucas Alvares Gomes
8cfaf82a9f PXE: Support Extra DHCP Options for IPv6
This patch is adding a new configuration option called "ip_version" in
the "pxe" group which allow passing the IP version to the DHCP
server/Neutron port when updating the extra DHCP options for PXE
booting.

Change-Id: Ib27d977161a5278ffe4be841411404b2326401ed
2015-10-07 09:48:00 +01:00
John L. Villalovos
a457557dbe Update help string on tftp_root option
Update the help string on the tftp_root option to indicate that the
ironic-conductor must have read/write access to the path.

Also did a 'tox -egenconfig' run to update ironic.conf.sample

Change-Id: Ibd724ff5d3f25aa1d13c0c29e18fcb466aa77c95
2015-10-02 13:56:11 -07:00
Ruby Loo
122d0823a0 Update help strings for DRAC configs
Update the help strings for DRAC configs so that they use the
present tense.

This was pointed out in I4329fe706e8fdc3c492b50e511295cf2313cca94.

Change-Id: I6642fbb8fde71e0057b8faea7822156ec1384831
2015-09-29 14:32:18 +00:00
KATO Tomoyuki
b2a2990575 Fix typo: add a missing white space
Change-Id: I10397282c17c9ea2487984448fcec1aa33319356
2015-09-29 10:52:28 +09:00
Ramakrishnan G
1c8b85ccc8 Make generation of ironic.conf.sample deterministic
This commit makes the generation of ironic.conf.sample
more deterministic by sorting the options belonging
to the same group based on module in which they are
defined before printing them.

It also fixes a small bug which caused options to
appears in different group in sample file generated
when they are the same (like [cisco_ucs]max_retry and
[cimc]max_retry which are of same type, have same default
value and same description).

Change-Id: Ifd336e2ec680a286e8789c2046bda2cb9ddbaf08
Closes-Bug: 1498113
2015-09-25 09:09:05 +00:00
Sam Betts
363c9c38df Add Cisco IMC PXE Driver
Current drivers only allow for control of UCS servers via either IPMI or
UCSM, the Cisco UCS C-Series operating in standalone mode can also be
controlled via CIMC using its http/s XML API. This provides finer
control over the server than IPMI can, and doesn't require the extra
infrastructure that UCSM needs.

Change-Id: Ibd39040e3d7e82a87960d33150750433beb2453b
Implements: blueprint cisco-imc-pxe-driver
2015-09-21 18:29:43 +01:00
Ramakrishnan G
9a35ca19b4 Refactor agent {prepare,tear_down}_cleaning into deploy_utils
This commit refactors code from AgentDeploy.prepare_cleaning and
AgentDeploy.tear_down_cleaning into a common place so that it
can be reused for ISCSIDeploy. It also moves the method
agent.build_agent_options to deploy_utils module.

The following CONF options have been deprecated and renamed:
[agent]agent_erase_devices_priority => [deploy]erase_devices_priority
[agent]agent_erase_devices_iterations => [deploy]erase_devices_iterations

The old CONF options will be removed in the Mitaka release.

Change-Id: I818c9f81f5469bf5029495dc9b65259718c41cd5
Implements: blueprint iscsi-deploy-in-band-cleaning
2015-09-21 08:50:58 +00:00
Jenkins
83506795b8 Merge "Check image size before provisioning for agent driver" 2015-09-18 17:07:46 +00:00
Zhenguo Niu
a715e3dcf9 Check image size before provisioning for agent driver
agent will download the image from glance into in-memory-folder first
then run 'qemu-img' to 'copy' image to local harddisk, but if the RAM
size is less than the (image size + reserved RAM size), will break the
IPA deployments.

Change-Id: I5ed62a8936e996ffed60c811bd01d3be97f95547
Closes-Bug: #1471081
2015-09-18 17:47:42 +08:00
Lucas Alvares Gomes
eec96136be Add config option to override url for links
The versions url returns the wrong data when Ironic API is behind a
proxy. This adds a new config option called "public_endpoint" so it can
be set properly.

Closes-Bug: #1384379
Change-Id: I6d1b59db3ce09aba7bca5a71edcf97eb79f0b17b
2015-09-15 18:53:10 +01:00
Jenkins
ed8db121d7 Merge "Remove the hard dependency of swift from ilo drivers" 2015-09-10 09:38:21 +00:00
Nisha Agarwal
061278675b Remove the hard dependency of swift from ilo drivers
It enables the ilo drivers to work without swift
for the boot iso and floppy images.

Implements : blueprint remove-swift-dependency-for-ilo-drivers

Change-Id: I190acc733f8b63ae2acde8cfb0f12d14611de466
2015-09-09 20:47:06 -07:00
Jenkins
fcef218289 Merge "Add retry options to iBoot power driver" 2015-09-09 19:56:47 +00:00
Michael Krotscheck
05f4a64aed Added CORS support middleware to Ironic
This adds the CORS support middleware to Ironic, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly.

OpenStack Spec:
   https://review.openstack.org/#/c/179866/
Oslo_Middleware Docs:
   http://docs.openstack.org/developer/oslo.middleware/cors.html
OpenStack Cloud Admin Guide Documentation:
   http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html

Co-Authored-By: Devananda van der Veen <devananda.vdv@gmail.com>
Depends-on: I2deed897f8f9ef87e4a74227c4fcea9afdb151e8
Change-Id: Ic55305607e44069d893baf2a261d5fe7da777303
2015-09-01 19:45:01 +00:00
Dan Prince
3436c193c5 Add retry options to iBoot power driver
This patch adds two new iBoot specific options to
facilitate a max_retry and retry_interval around
the internal conn.switch() and conn.get_relays()
functions. This should help avoid provisioning
failures if there is any sort of network blip
or failure that may occasionally cause an iboot
command to fail.

Change-Id: I3b7813ae56dd3b18008f814cd6272d801dd6f274
Closes-bug: #1490760
2015-09-01 09:51:49 +01:00
Jenkins
a9ce9d7d5f Merge "Refactor agent driver with pxe boot interface" 2015-08-29 03:20:22 +00:00
Lucas Alvares Gomes
ea1b012e93 Periodically checks for nodes being cleaned
This patch is adding a periodic task to check for nodes waiting for the
ramdisk callback when cleaning is being executed.

A new configuration option called "clean_callback_timeout" was added,
its value is the number of seconds that the Ironic conductor will wait
for the ramdisk to doing the cleaning to contact Ironic back. Defaults
to 1800.

Closes-Bug: #1483120
Change-Id: Id7f9e9018b5cb2389bbe556171e7a9d46425afba
2015-08-26 15:10:23 +01:00
Ramakrishnan G
72b20fec75 Refactor agent driver with pxe boot interface
This commit refactors agent.AgentDeploy to use
the new PXEBoot interface.
prepare_cleaning will write the Neutron port IDs of the
ports created on extra field for each port. This is
for generalizing it into a single place from which
boot interfaces like pxe.PXEBoot can pick up Neutron
VIFS port IDs for preparing boot (for both deploy and
cleaning).

It deprecates the CONF options
CONF.agent.agent_pxe_config_template and
CONF.agent.agent_pxe_append_params, so that it can be
merged with their counter-parts in CONF.pxe.  These agent
CONF opts will be deprecated in Mitaka release.

The CONF option CONF.agent.manage_tftp is deprecated and
is renamed to CONF.agent.manage_agent_boot.

Implements: blueprint new-boot-interface
Change-Id: Ia424db63547e91e44fe18a9044b6a490e641e887
2015-08-26 05:47:39 +00:00
Ramakrishnan G
4f0fc674b2 Remove CONF.agent.agent_pxe_bootfile_name
This commit removes CONF.agent.agent_pxe_bootfile_name as
it is not used anywhere. The usage of this CONF option was
removed in Id68d3a89cb72e11e8a52ea69e84816aea2cbf2b1. Even
before that, it wasn't used in the proper way during
deployment of nodes.  It was only used in take_over() for
AgentDeploy, for instances that always booted from disk.

Change-Id: Ib25ec6ec7cd900ee637bba035e0aeab90e9309c5
2015-08-14 01:42:24 +00:00
Devananda van der Veen
26f4ad4c48 Update ironic.conf.sample
The placement of the oslo.log config options in the generated sample
config file changed recently; this commit merely moves them in
accordance with the tools/config/generate_sample.sh script

Change-Id: Ia8ab3fb1c38e63d1bc50aae44fd21f475057c51e
2015-08-01 09:11:45 -07:00