96 Commits

Author SHA1 Message Date
Zuul
02fa35dc8e Merge "Use bool filter with enable_ironic_pxe_uefi" 2018-01-26 05:03:59 +00:00
Alexandru Bogdan Pica
8e3b79440c Implement external MariaDB and pre-configured Databases support
This change allows the following use cases:

1. Using an already-configured MariaDB / MySQL server / Cluster
2. Using already-created DB users, without requiring root DB access.

Update: added external mariadb precheck

Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824
Implements: blueprint external-mariadb-support.
Closes-Bug: #1603121
2018-01-23 13:07:40 +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
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
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
Jeffrey Zhang
175c65e490 Remove check flat network type task in ironic pre-check.yml
flat network type is not mandatory. There are two cases,

1. ironic with flat network: we can use neutron vlan network to
   provision baremetal nodes, as long as the interface of the baremetal
   nodes are configured to use the same vlan.

2. ironic with neutron network: all provision and cleaning_network can
   be vlan type and no flat is needed at all.

So we should remove the task.

Change-Id: I176ded6d2a8b14e350f665f63bc37eb488d32679
Closes-Bug: #1725170
2017-10-20 16:13:21 +08:00
Eduardo Gonzalez
56374206be Fix deployment with public TLS enabled
When deploying with tls enabled in public
endpoints, ansible modules fails due SSL certificates
are self-signed.

This change adds a new variable to allow customization
on which endpoints ansible should connect.
Defaults to admin because admin auth parameters defaults
to admin endpoint.

Change-Id: Ic3ed58cf9c9579cae08a11bbfe6fce983b5a9cbc
Closes-Bug: #1720995
2017-10-05 08:36:34 +00:00
Bertrand Lallau
a3dfdfc085 Simplify Openstack services configuration possibilities
Actually Openstack services configuration can be overriden using many
files:
- /etc/kolla/config/<< service name >>/<< config file >>
- /etc/kolla/config/<< service name >>/<<host>>/<< config file >>
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

Only per-service configuration is actually documented here:
https://github.com/openstack/kolla-ansible/blob/master/doc/advanced-configuration.rst#L164

Allowing to globally modify service configuration can be perform too,
but it can be done in 3 different manners, all not documented:
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

database.conf and messaging.conf seems redundant with global.conf.
In order to simplify codebase it seems logical to remove them.

Documentation has been added for overriding configuration globally and
release note has been added too.

Closes-Bug: #1682479
Change-Id: I5d922dfc0d938173bad34ac64e490b78db1b7e31
2017-09-13 17:47:36 +02:00
John Garbutt
d9a11a3a07 Fix typo in ironic prechecks
Before this change ironic prechecks failed with the error:
'tenant_network_types' is undefined

This problem appears to have been introduced in:
296ddbeb035c6f582b316f066fe2ddffece07aca

Closes-Bug: #1714946

Change-Id: I609ae20c4558370a0a8c4c316cd47cbd1d086331
2017-09-04 13:45:12 +01: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
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
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
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
Jenkins
f2f3104e9f Merge "Fix the database user name for all roles" 2017-07-01 00:41:49 +00: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
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
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
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
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
caoyuan
e58a2d85ca Add the missing pull image for ironic-dnsmasq
Change-Id: I7c5188c8b13b4dc728b201a29b6d304a7d396201
2017-02-06 22:35:37 +08:00
Jeffrey Zhang
38ad05a872 Remove unnecessary until in register.yml file
Change-Id: I1577cc3afef4dadd3a188c8ba749c9cdfad313ae
2017-02-04 14:38:54 +08:00
Jeffrey Zhang
8155d74d8d Refactor register.yml files
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: I9a4a6b6523dee4b388513386b7d85d421f2b7b89
2017-01-26 17:10:27 +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
Jenkins
3f8cb8adda Merge "Refactor bootstrap.yml file" 2017-01-18 10:17:50 +00:00
Jeffrey Zhang
7233b45d29 Refactor bootstrap.yml file
Change-Id: I00d2dcb0895548ba169ab85764cf546c2214cbf5
2017-01-12 23:37:50 +08:00
caoyuan
efb0561930 Move ironic precheck into its own role
Change-Id: Iba8a87757ac9ead27c90c9d426977077d442a04e
Partially-implements: blueprint condition-pre-check
2017-01-04 09:50:18 +08:00
Duong Ha-Quang
b5d1e4b457 Fix placement of policy.json
Currently, policy.json is put in
"{{ node_config_directory }}/{{ service_name }}"
in target nodes.

Relocation policy.json to "{{ node_config_directory }}/{{ item }}"
with item is corresponding service compoment config directory.

Currently, the policy.json is copied to all services, but it
should be reviewed and left only in neccesary service
(at many cases, only API service needs that).

Redundant files will be removed in follow up patchset.

Change-Id: I0e997dccf4ec438c9c0436db71ec2fd06650f50d
Closes-Bug: #1639686
2016-11-29 16:00:09 +07:00
Jenkins
dbc881456b Merge "Custom policy files" 2016-11-04 13:42:55 +00:00
Jeffrey Zhang
fa45801946 Move precheck into its own role
* Merge prechecks.yml and site.yml playbook
* Create empty precheck.yml into all roles.

Change-Id: I8a138558a26c0a2a66c5fd48ed37be657c99c1dd
Implements: blueprint condition-pre-check
2016-11-03 14:48:58 +08:00