69 Commits

Author SHA1 Message Date
Paul Bourke
2b3de16f81 Ironic dnsmasq should not use VIP for TFTP server
The ironic_dnsmasq config for ironic inspector uses the internal VIP for
the TFTP server address DHCP option. This is not going to work,
since HAProxy is not configured to forward TFTP, and does not support
UDP forwarding anyway. The config should use the api_interface IP for
the host running ironic_dnsmasq.

Change-Id: I56a0d46e9b528041cacea7196a525891ed5922f0
Closes-Bug: #1761815
2018-04-30 13:00:38 +01:00
Kevin TIBI
a81a5d5d5d Fix SSL api for multiple services
If SSL is enabled, api of multiple services returns
wrong external URL without https prefix.

Removal of condition for deletion of http  header.

Change-Id: I4264e04d0d6b9a3e11ef7dd7add6c5e166cf9fb4
Closes-Bug: #1749155
Closes-Bug: #1717491
2018-04-18 17:20:27 +02:00
Zuul
02fa35dc8e Merge "Use bool filter with enable_ironic_pxe_uefi" 2018-01-26 05:03:59 +00:00
Dai Dang Van
35b165c5f1 Support policy.yaml file [part 3]
- Heat
- Ironic
- Magum
- Manila
- Mistral

This will copy only yaml or json policy file if they exist.

Change-Id: I1ab71e2758dc99dd6654d433ece79600f0c44ce8
Implements: blueprint support-custom-policy-yaml
Co-authored-By: Duong Ha-Quang <duonghq@vn.fujitsu.com>
2018-01-22 08:50:54 +07:00
Mark Goddard
98a4b44822 Use bool filter with enable_ironic_pxe_uefi
Without the bool filter, "no" is interpreted as True.

Change-Id: I8812b72102199f533730cbde85b8ffe61cf81218
Closes-Bug: #1742969
2018-01-13 08:39:23 +00:00
Zuul
b052e60e4f Merge "ironic-pxe: support pxe uefi mode" 2018-01-09 08:14:26 +00:00
Zuul
6f50a7f6d8 Merge "Ensure inspector uses internal ironic interface" 2018-01-08 08:52:02 +00:00
Mark Goddard
dda24c47bc Fix ironic inspector public endpoint
Fixes a bug where the Baremetal Introspection service's public endpoint
registered in the Identity service referenced the internal API endpoint.

Also updates keystone endpoints for the Baremetal and Baremetal
Introspection services during reconfigure and upgrade operations.
Previously this was only done during deploy.

Change-Id: I32d475f288bb4a3834c13cc86f0c53b5437c3d25
Closes-Bug: #1738418
2018-01-04 20:47:17 +00:00
Mark Goddard
5f2429b51a Ensure inspector uses internal ironic interface
Kolla-ansible typically configures services to access the internal API
endpoint of other services, rather than the default public endpoint.

This change ensures that this is the case for ironic inspector.

Change-Id: I998f12435fc1bd306444f9a68bd7f99f5b78f6f8
Closes-Bug: #1740591
2017-12-30 11:51:21 +00:00
Zhangfei Gao
e539dac7c9 ironic-pxe: support pxe uefi mode
Support pxe uefi mode following guide
https://docs.openstack.org/ironic/latest/install/configure-pxe.html

In the meantime, ironic-agent kernel and initramfs does not have to
be provided as precondition under /etc/kolla/config in such mode.
Add condition check as well.

Change-Id: Ieefcf5f9fe839eab63f3fe4a1c5cf845f4fd4eb5
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
2017-12-08 16:11:45 +08:00
Andrew Smith
fd1d3af0df Add support for hybrid messaging backends
This commit separates the messaging rpc and notify transports in order
to support separate and different oslo.messaging backends

This patch:
* add rpc and notify variables
* update service role conf templates
* add example to globals.yaml
* add release note

Implements: blueprint hybrid-messaging
Change-Id: I34691c2895c8563f1f322f0850ecff98d11b5185
2017-11-22 14:09:40 -05:00
jinxingfang
f73af4395c Remove discard configuration
The admin_password and admin_user in default section is discarded
in code, no longer be used anymore.

Change-Id: I1d31faf0781cb61d13aa6a76534e38783e4f920f
2017-10-09 10:04:46 +08:00
jiangpch
cbf2b30940 Ironic: disable pxe_ssh driver in the ironic.conf
*_ssh driver is not supported by ironic now,
see: https://review.openstack.org/#/c/481688

Closes-Bug: #1713624

Change-Id: I49c6975c79e172e7c85560e597fee6cfa6372328
2017-08-29 06:09:54 +00:00
Yotaro Konishi
133423a3fc Remove an unnecessary endif
This patch fixes Jinja2 syntax error in ironic.conf.j2.

All kolla-kubernetes configurations was recently removed by [1], but the
commit overlooked to remove a '{% endif %}' statement in ironic.conf.j2.

[1] cacf08f0a6d009301f28c6723f399fb8c1daf267

Change-Id: I115fedfd026f14409b62f9552ff401956909f8a8
Closes-Bug: #1706230
2017-07-25 09:59:10 +09:00
Jenkins
ffc4fb3793 Merge "Make Ironic inspector honour inventory" 2017-07-20 13:44:50 +00:00
Flavio Percoco
bbe9d418ba Allow for running standalone Ironic w/o keystone
The Ironic templates and roles assume Keystone is enabled and they don't
make use of the `enable_keystone var. This patch changes the behavior so
that `noauth` is used as auth method for Ironic if keystone is not
enabled, the Ironic endpoint is not registered if keystone is not
enabled and the keystone section is not created in the config file.

Change-Id: I813de42d10ac264eec81076cb107b58af09ff686
2017-07-19 13:32:11 +02:00
Jenkins
f28863d547 Merge "Revert "Add default_boot_option configuration"" 2017-07-19 08:02:19 +00:00
Mark Goddard
922eb494e6 Make Ironic inspector honour inventory
Ironic inspector should honour the Ansible inventory group
ironic-inspector. Ironic inspector may not be required at all. If
Ironic inspector is required then it should only run on a single
node, and this should be reflected by the inventory.

This change makes a number of Ironic inspector-related tasks dependent
upon the host's membership of the ironic-inspector group. Also, we
couple the ironic-dnsmasq container with the ironic-inspector group
rather than ironic-conductor, as the service is for inspector rather
than Ironic.

Change-Id: Ifd90753b0fe1a55c11b7723c28e1d14ab3d32737
Closes-Bug: #1665257
2017-07-19 08:24:21 +01:00
Mark Goddard
1ab0b7adf1 Revert "Add default_boot_option configuration"
This reverts commit 898155dfd294371f361f0563a2c4ee1325487507.

The default value of the ironic configuration option default_boot_option
will eventually change from netboot to local. The netboot option is
incompatible with multitenancy in ironic, as it requires a PXE
environment in the tenant network, so it was no longer deemed a suitable
default value.

Ironic added a warning message when this option is not explicitly set,
presumably to alert operators to the change. The commit being reverted
set the option to 'netboot'. This will cause operators to continue to
use the netboot option even after the default value changes, which was
presumably not the intention of the ironic team in changing the default
value. It also hides the warning message from the operator that could
alert them to the fact that this default is changing.

Change-Id: I0ebb1d5ffbead50b034488337e6c93a2f48aaf69
Related-Bug: #1696636
2017-07-18 16:40:16 +01:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Bertrand Lallau
372e991bec Standardize Keystone domain variables
As described here:
https://github.com/openstack/keystone/blob/master/keystone/resource/core.py#L841
https://github.com/openstack/keystone/blob/master/keystone/conf/identity.py#L21

* default project domain name MUST be named 'Default'
* default project domain id MUST be named 'default'
* default project user name MUST be named 'Default'
* default project user id MUST be named 'default'

Change-Id: I610a0416647fdea31bb04889364da5395d8c8d74
2017-07-06 14:34:11 +00:00
Mark Goddard
f0062331f5 Fix ironic authentication configuration
As of [1], the ironic configuration for neutron, glance, swift,
inspector and service_catalog requires explicit configuration of
authentication parameters for communication with these services.

This change adds the required parameters to [neutron], [glance] and
[inspector] sections of ironic.conf. Kolla-ansible does not configure
the [swift] or [service_discovery] sections currently.

We also replace option [glance] glance_hosts with [glance]
glance_api_servers as the former is deprecated.

Since we no longer need to support generating configuration for
kolla-kubernetes[2], some related options have been cleaned.

[1]
4f9035c24f
[2]
https://blueprints.launchpad.net/kolla-ansible/+spec/clean-k8s-config

Change-Id: Ifc239af5f3e44a508fedc9dea08cb06160c4f7f3
Closes-Bug: #1701713
2017-07-04 14:52:33 +01:00
Mark Goddard
e50f19522a Set TFTP file permissions to 0644
The TFTP server used by ironic and ironic inspector (in.tftpd) requires
files to be world readable in order for them to be accessible via
TFTP[1].

The permissions of these files were recently changed to 0600 along with
a number of other files[2].

This change reverts the permissions to 0644 for the ironic inspector PXE
configuration files.

[1] https://linux.die.net/man/8/in.tftpd (security section)
[2]
274291463e

Change-Id: Ibc281949ebf5bab1e1d2e450ec943728aa00943b
Closes-Bug: #1701695
2017-06-30 18:24:22 +01:00
shaofeng_cheng
7f7b6a08ed Add webconsole support in ironic
Add webconsole support in ironic by pxe_ipmitool driver.
Serial speed must be the same as the serial configuration in
the BIOS settings, so that the operating system boot process
can be seen in the web console.

see:
https://docs.openstack.org/project-install-guide/baremetal/draft/advanced.html#appending-kernel-parameters-to-boot-instances

Change-Id: I967ed2f63a50d024c54e0762ec6c0ae09b66d6bd
2017-06-21 17:20:03 +08:00
shaofeng_cheng
898155dfd2 Add default_boot_option configuration
The default value of default_boot_option configuration will
change eventually from "netboot" to "local".
It is recommended to set an explicit value for it during the
transition period

Change-Id: Ic42b84e82d4ad27e371536ad9915b5a32118012d
Closes-Bug: #1696636
2017-06-08 14:56:14 +08:00
Jenkins
c93a63195d Merge "Change default permissions in jinja templates." 2017-05-29 10:17:40 +00:00
shaofeng_cheng
0002de6909 Enabled pxe_ssh driver in ironic
XenServer drivers can be used to deploy hosts with Ironic by
using XenServer VMs to simulate bare metal nodes.

Ironic provides support via the pxe_ssh and agent_ssh drivers
for using a XenServer VM as a bare metal target and do provisioning on it.

Change-Id: Icd39f9f4573cf7c8c654591256f0228ef21d6117
2017-05-27 11:41:32 +08:00
James McCarthy
274291463e Change default permissions in jinja templates.
Many of the templates use 600, remove unnecessary permission
on these templates to bring them in line with the others.

Change-Id: I30fe1b3822b9c7bb6ab98729fc519dc1d603db27
2017-05-26 12:29:02 +01:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Sam Betts
9ba235f0ce Ensure that /tftpboot/pxelinux.cfg is owned by Ironic
The pxelinux.cfg directory gets created but isn't owned by the correct
user. This patch ensures that the permissions are correctly updated.

Change-Id: Ifcb80018b72d40c5d4eccf059d1c3442b71be6f8
2017-04-25 14:00:51 +01:00
Mark Goddard
07453f3460 Use ironic-inspector user for ironic inspector
This change updates the ironic_inspector container deployment tasks
to use the new kolla ironic-inspector image (see kolla change
Ibdc5ba35db61f4974d4282aff34bcb5ccd952d45). The new image uses the
ironic-inspector user rather than the ironic user to execute the
ironic inspector service as this more closely aligns with what is
typically done by downstream packagers (specifically, Ubuntu and
RDO).

This change sets the owner and group to ironic-inspector when
copying configuration files into place, and uses the log directory
/var/log/kolla/ironic-inspector.

Change-Id: I8579d5c2d741636406ff60bececc74b50743b83e
Depends-On: Ibdc5ba35db61f4974d4282aff34bcb5ccd952d45
Closes-Bug: #1624457
2017-04-17 09:00:00 +01:00
Jeffrey Zhang
d038f7f750 Access glance through vip rather than multi glance ips in ironic
* Ironic do not support multi glance ips.
* Write the nova-compute-ironic binary log to nova-compute-ironic.log
file

Change-Id: I87359c47a5845c4d7a6ab9daaefcc94a51c92eb0
Closes-Bug: #1671989
2017-03-12 15:18:21 +08:00
Serguei Bezverkhi
0cd872c9e5 Fix genconfig for ironic-dnsmasq for kolla-kubernetes
Fix genconfig for ironic-dnsmasq for kolla-kubernetes

Change-Id: Icdf6f0aabb2b587437238e52305b06f424044546
Closes-Bug: #1665343
2017-02-16 22:33:05 -05:00
Serguei Bezverkhi
35fee342f0 Changing ironic-inspector configuration for kolla-kubernetes
Changing ironic-inspector configuration for kolla-kubernetes

Change-Id: Ib1ff99d2d58ca9f910b8e68e6076359e2e7ec5a0
Closes-Bug: #1664726
2017-02-14 16:50:51 -05:00
Serguei Bezverkhi
d4af2e27d2 Fixing ironic configs for kolla-kubernetes
Fixing ironic configs for kolla-kubernetes

Change-Id: Id1b1cc3bb3c1790a77f9449ec5b0b5d1c67f91e4
Closes-Bug: #1664269
2017-02-13 10:11:53 -05:00
jangpro2
de3ea9c78b This feature is supporting for collecting log from IPA.
Ironic supports collecting log from IPA for debugging,
But it's not defined in kolla.

This is default settings about collecting log from IPA.

Closes-Bug: #1661468

Change-Id: Iccb47a70b12effb5a704435f334faee29538f9d2
Signed-off-by: jangpro2 <jangseon.ryu@gmail.com>
2017-02-03 08:21:54 +00:00
jangpro2
d4c8e2d01f This feature is supporting for workers config in ironic-api.
Currently it's not working in ironic-api, in spite of
setting openstack_service_workers config in globals.yml.

Because it's not implement about workers in ironic.

Closes-Bug: #1661173

Change-Id: I89de95fe03813ae44bcdbf9aac22b7337ffe4968
Signed-off-by: jangpro2 <jangseon.ryu@gmail.com>
2017-02-02 08:06:28 +00:00
Mauricio Lima
57365f16e3 Fix ironic inspector
Co-Authored-By: Jeffrey Zhang <zhang.lei.fly@gmail.com>
Depends-On: Id03619b4e26a0a77c2a39e2de21efd13be0e9200
Change-Id: I723345c1b23cb92ad94cefd965f07b94095ebb41
Closes-Bug: #1650345
2017-01-20 07:01:52 +00:00
Eduardo Gonzalez
775d8019b6 Add custom policies in service.json
Include custom policy.json files in service-api.json.j2 files

Change-Id: Ic55bfc6f61131aa72c3497ce8b2282056bcc7f92
Partially-Implements: blueprint custom-policies
2016-12-02 16:22:17 +00:00
Jeffrey Zhang
b11504d4e1 Fix invalid json in ironic service
Change-Id: Idbf10404606dd17be334056c95b6e5f9ae800495
Partial-Bug: #1631503
2016-10-20 13:11:50 +08:00
Jeffrey Zhang
1a57ab0343 Fix ironic upgrade permission issue
Change-Id: I8af7c842e9b0afdc035bb64d3350f6ad65682377
Partial-Bug: #1631503
2016-10-17 14:28:06 +08:00
Jeffrey Zhang
903b0ff211 Fix ironic failed
* Mount system folder in ironic-conductor
* Add package need in ironic-conductor
* Fix the log path issue
* Add ironic sudoer in ironic-base
* Fix credential issue
* Do not start nova-compute when enable ironic

Closes-Bug: #1629334
Change-Id: If9d478c6513de37465403d458a88cf0da7ebd8a6
2016-10-03 07:53:21 +00:00
Waldemar Znoinski
326327acba fix ironic-inspector setup
* add ironic-inspector(-archive) source to docker image
* pip install from above source code
* move in-container config files to /etc/ironic-inspector
* add sudoers file to allow ironic-rootwrap
* copy rootwrap conf and filters from source repo

Change-Id: Ie3cce19810b9940d06bb636b28015160fea6ddfb
Closes-bug: #1624457
Closes-bug: #1624833
Closes-bug: #1624845
2016-09-25 22:15:04 +00:00
Jenkins
fc97971f40 Merge "fix config file permission to ironic instead of root" 2016-09-19 14:36:14 +00:00
Waldemar Znoinski
734f881c75 fix config file permission to ironic instead of root
Change-Id: I1ce97d18e45de19f88874894bdac588874aa6320
Closes-bug: #1613292
2016-09-18 09:25:15 +00:00
MD NADEEM
92eb565c33 Correct Ironic keystone_authtoken option name
Change below parameters name
right <-- wrong
admin_tenant_name <-- project_name
admin_user <-- username
admin_password <-- passowrd

Change-Id: Iac6a9e949df2ae952abd7a2a3a571e569db7c0ab
Closes-Bug: #1621432
2016-09-08 16:50:49 +05:30
Jeffrey Zhang
d255743601
Move to transport_url for rabbitmq configuration
rabbit_hosts, rabbit_userid and rabbit_password are deprecated for
removal.[0]

rpc_backend is deprecated for removal.[1]

rabbit_ha_queues is deprecated. it is useless when using RabbitMQ >= 3.0
[2]

[0] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L112,#L134
[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/transport.py#L46
[2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L163,L174

Closes-Bug: #1614082
Change-Id: I05d318ba6c11c5dbfa9fbf67d088a43ab465be30
2016-08-25 16:07:42 +08:00
ZhongShengping
7b63d46f97 ironic.conf file missing enabled_drivers info
When ironic is deployed using kolla, in ironic.conf file
there is no configuration option of enabled_drivers present.

Change-Id: I5c9e7533e8ca139addee8cf4cc4084e856ae0306
Closes-Bug: 1610272
2016-08-17 15:40:30 +08:00
Ryan Hallisey
67333e4dd1 Set db connection retry to infinity
Make sure that all the sevices will attempt to
connect to the database an infinite about of times.
If the database ever disappears for some reason we
want the services to try and reconnect more than just
10 times.

Closes-bug: #1505636
Change-Id: I77abbf72ce5bfd68faa451bb9a72bd2544963f4b
2016-04-11 07:22:09 -04:00
SamYaple
d4535b6dc3 Add memcached_servers to keystone_auth section
The in-process cache for keystone tokens has been deprecated due to
"incosistent results and high memory usage" with the expectation we
switch to memcached_servers if we want to stay performant.

Add memcache_servers [cache] section to the appropriate servers as the
[DEFAULT]\memcache_servers options was deprecated.

TrivialFix
Related-Id: Ied2b88c8cefe5655a88d0c2f334de04e588fa75a

Change-Id: Ic971bdddc0be3338b15924f7cc0f97d4a3ad2440
2016-03-19 21:53:03 +00:00