396 Commits

Author SHA1 Message Date
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
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Jenkins
0572a394be Merge "Avoid launching "local" actions too many times" 2017-07-10 13:40:49 +00: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
Bertrand Lallau
a9113fc466 Avoid launching "local" actions too many times
In order to speed up deployment time some "local" actions should be run
only once using 'run_once: True'.
This will decrease deployment time in case of multihost configuration.

Change-Id: I6015d772d35c15e96c52f577013b6e41197cb41a
2017-07-05 15:55:39 +02: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
Jenkins
cc57dc500d Merge "Set TFTP file permissions to 0644" 2017-07-04 10:50:27 +00:00
Jenkins
f2f3104e9f Merge "Fix the database user name for all roles" 2017-07-01 00:41:49 +00: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
Vladislav Belogrudov
296ddbeb03 Add possibility to configure tenant network types and type drivers
This patch add configuration options for tenant network types and type
drivers. Both lists are checked so that tenant types are listed in
drivers. For ironic 'flat' driver is mandatory and is added explicitly
into ironic prechecks.

Change-Id: Ie5775001165412910a258cbed2d2ebbb8ebbd879
Closes-Bug: #1694725
2017-06-21 17:14:25 +03: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
caoyuan
36c530f9ed Fix the database user name for all roles
when create database user, it should use
database_user, not database_name.

Change-Id: I4dfa01d1a5a46c5c58f1fc47b0be71b186462764
Closes-Bug: #1698762
2017-06-20 21:19:31 +08:00
Jeffrey Zhang
03e1b05f99 Use unified vars in task
Ansible task support vars directive, no need implement another one in
merge_config. This patch remove the vars directive in merge_config
action plugin.

Change-Id: I33648a2b6e39b4d49ce76eb66fbf2522721f8c68
2017-06-15 22:37:28 +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
Dai Dang Van
bf0bf04392 Mixing binary and source images for I* and K* projects
In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Ironic, Kabor,
Keystone project and iscsi as well.

Change-Id: I134d840b1c0e24171a32dec0c7daa6dc2e9ecd87
Implements: blueprint mixing-binary-and-source-image
2017-06-03 15:03:30 +07: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
Jeffrey Zhang
b1f015616c Add timeout parameter for precheck tasks
wait_for module waits 300 seconds for the port started or stopped.  This
is meaningless and useless in precheck. This patch change timeout to 1
seconds.

Change-Id: I9b251ec4ba17ce446655917e8ef5e152ef947298
Closes-Bug: #1688152
2017-05-04 09:02:25 +08: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
Jenkins
483f1c36fe Merge "Mount /lib/modules folder in ironic-conductor container" 2017-03-19 14:30:42 +00:00
Jeffrey Zhang
411fdb90d1 Mount /lib/modules folder in ironic-conductor container
/lib/modules is required for load kernel module. ironic-conductor
will load iscsi_tcp kernel module during starting.

Change-Id: Id953638f68e0fa1c268f173e3dd9b3390598bd93
Closes-Bug: #1672245
Depends-On: I1dd7d1a8cd67bbdfc1262b39aa96997c12681900
2017-03-13 12:21:19 +08: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
Jenkins
9d0daa015a Merge "Enable sanity checks from kolla-ansible" 2017-03-09 17:31:51 +00:00
Jenkins
bf12ad23a7 Merge "ironic_pxe bootstrap should run on all hosts" 2017-03-09 14:25:28 +00:00
Paul Bourke
5418ada148 Enable sanity checks from kolla-ansible
Add a new subcommand 'check' to kolla-ansible, used to run the
smoke/sanity checks.

Add stub files to all services that don't currently have checks.

Change-Id: I9f661c5fc51fd5b9b266f23f6c524884613dee48
Partially-implements: blueprint sanity-check-container
2017-03-09 10:37:06 +00:00
caoyuan
93a5a5c322 Fix the ironic tasks name
- add the missing "API"

Change-Id: I06ccf48047d1b4ea493d169f78d95c09b7945a27
2017-03-01 09:38:41 +08:00
Jenkins
f0811d96e3 Merge "Add the missing "ironic_inspector" into precheks" 2017-02-28 16:20:51 +00:00
caoyuan
a82aadd982 Add the missing "ironic_inspector" into precheks
- remove the unnecessary blank
- add "ironic_inspector" into its own prechecks and haproxy prechecks

Change-Id: Id542971057a9116eef679f1eb0827266eb18ba30
Closes-bug: #1668178
2017-02-27 07:57:30 +00:00
Jenkins
66e6f443d9 Merge "Fix typo in ironic task name" 2017-02-26 01:40:19 +00:00
Eduardo Gonzalez
fc387c9d62 Fix typo in ironic task name
Change-Id: Ica18edd8024b5e33d30a5196ef6698c85f02f9c0
2017-02-24 09:29:34 +00:00
caoyuan
8fd18abf9c Checking kernel and initramfs files for Ironic
There is not prechecks for Ironic kernel and initramfs files, this
patch add it.

Change-Id: I7e576eeff02310170d51a4585cbda6c465a29e0d
Closes-bug: #1667544
2017-02-24 10:31:35 +08:00
Jenkins
8fbc0df4c9 Merge "ironic-dnsmasq should use ironic-inspector group" 2017-02-23 10:59:30 +00:00
Jenkins
d734f162b0 Merge "ironic_dnsmasq doesn't support reconfiguration" 2017-02-23 09:26:16 +00:00
Jenkins
d9740e9c40 Merge "Remove unnecessary until in register.yml file" 2017-02-22 12:28:06 +00:00
Mark Goddard
aa8215c5ee ironic_pxe bootstrap should run on all hosts
Most bootstrap actions use the run_once flag to run on a single host
as they typically involve service-global operations such as database
syncs. The ironic_pxe container bootstrap is different, as it copies
pxelinux files into the ironic_pxe Docker volume. This should be done
on all hosts but currently is only done on one host.

This change performs the ironic_pxe bootstrap on all hosts in the
ironic-pxe group.

Change-Id: Iffd34e6ff26a0ba5140e5d477418cc8aebcdac62
Closes-Bug: #1667153
2017-02-22 11:02:18 +00:00
Mark Goddard
c37c1a5879 ironic-dnsmasq should use ironic-inspector group
The ironic_dnsmasq container is currently tied to the ironic-conductor
Ansible group. It is required only for Ironic inspector and should
really either be tied to the ironic-inspector group or have a new
ironic-dnsmasq group defined for it. This problem means that if all
hosts are removed from the ironic-inspector group I will still have an
ironic_dnsmasq container deployed.

This change uses the ironic-inspector group to determine where to place
the ironic_dnsmasq container.

Change-Id: I6af3f402795107b8b9d7a1619722f12cbf496257
Closes-Bug: #1666982
2017-02-22 10:29:30 +00:00
Mark Goddard
156b317c5f ironic_dnsmasq doesn't support reconfiguration
Currently the ironic_dnsmasq container does not support
reconfiguration. This change adds support for reconfiguration of
ironic_dnsmasq.

Change-Id: I7f121dca7d32e0b28c7531378dd0eef03ae4f1ce
Closes-Bug: #1667090
2017-02-22 10:17:35 +00: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