337 Commits

Author SHA1 Message Date
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
Jeffrey Zhang
5937724503 Add ipc_mode=host for nova-compute conainer
ipc_mode=host is required after enabled multipath in nova.

Closes-Bug: #1713639
Depends-On: I0a1d85597999415cab11feb71a7fdfd7af3f7148
Change-Id: Ib0b8961a47b686b6c35456768bbbccc741cb7adf
2017-08-29 15:27:34 +08:00
Jenkins
3393054f9b Merge "Add vSphere support to nova_compute" 2017-08-15 14:44:06 +00:00
Christian Berendt
7f4742ff4b Unify external_ceph.yml filename
It is external_ceph.yml for cinder/glance/gnocchi.

Change-Id: I534bffe5fc914e2850fb5cb5719fd99afa06c6c4
2017-08-07 10:44:54 +02:00
guochao
c9eaf9158b Add vSphere support to nova_compute
Implements compute part of the blueprint.
Make virt_type of nova_compute configerable.

Change-Id: I0f37e49e09c4f14a64797506007bb55a6f534f0f
Partially-implements: blueprint kolla-ansible-support-vsphere
Co-Authored-By: shaofeng cheng <chengsf@winhong.com>
2017-08-04 17:15:57 +08:00
Jenkins
00e3d2f805 Merge "Pull cinder cephx keyring only when enable_cinder is true in nova" 2017-07-14 13:11:10 +00:00
Jeffrey Zhang
6a12fd8a85 Pull cinder cephx keyring only when enable_cinder is true in nova
cinder_backup_ceph is true in default when enable_ceph is true.

Change-Id: Ic3cbd041a784610323cda4419acb6702f2aa35c1
Closes-Bug: #1699658
2017-07-14 10:05:32 +08:00
Jenkins
c88b9eb40e Merge "Clean some Boolean condition checks" 2017-07-13 08:48:44 +00:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Bertrand Lallau
8b5b3cef4e Clean some Boolean condition checks
* "bool" filter is removed when not required
* 'not' is used instead of '== False' check

Change-Id: I85a5bb9a5ea874ac1c397cbf8de416147d2424c3
2017-07-10 15:00:28 +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
19c1bc7f88 Merge "Remove symlink in reconfigure tasks" 2017-07-04 03:11:37 +00:00
Eduardo Gonzalez
8d5526c070 Remove symlink in reconfigure tasks
Some roles have a symlink to deploy.yml file
for reconfigure. This is causing some issues.
"included task files must contain a list of tasks"

Change-Id: Ie7ade52900a61bc1c5b867fa7a8f75fc541a6426
Closes-Bug: #1694251
2017-07-03 09:34:21 +00:00
Jenkins
f2f3104e9f Merge "Fix the database user name for all roles" 2017-07-01 00:41:49 +00:00
Jeffrey Zhang
a1f42ad38a Pull cinder cephx keyring only when cinder_backup_ceph is true in nova
Change-Id: Ia766c1aa60d51fbff2c620394474597a7146b9cc
Closes-Bug: #1699658
2017-06-22 12:39:36 +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
Jenkins
b62e1d9574 Merge "Add the ceph keyring files related task condition" 2017-06-12 09:32:10 +00:00
Jenkins
3a68aee3ad Merge "Use auth vars for admin user" 2017-06-04 15:05:29 +00: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
Eduardo Gonzalez
e9bde0dcb9 Use auth vars for admin user
In someplace in the code admin user, project and domain name
are hardcoded.

This change use the correct variable defined at:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L278

Change-Id: I3a4c78d81733bf7a2f3c67d259ec5c5f5bb38d3f
2017-05-16 08:54:37 +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
Jenkins
defc49448b Merge "Add compute inventory precheck" 2017-05-02 08:05:17 +00:00
Eduardo Gonzalez
fee4eee0be Add compute inventory precheck
With nova cells_v2 at least one compute node is required in
inventory to deploy nova.

This change add prechecks to ensure at least 1 compute is present.

Change-Id: I242518ad3bd149ad245515299301777f6b3bdd08
Closes-Bug: #1686410
2017-04-26 16:18:15 +02:00
shaofeng_cheng
12621ef8f1 Add the ceph keyring files related task condition
If used external ceph for nova,the ceph storage not enable cephx.
So ceph keyring file not does not exist.
Task throw error of check ceph keyring files.

Change-Id: I6257c107b94abf4d363e854229aaab8301d1d694
Closes-Bug: #1684522
2017-04-21 10:06:04 +08:00
Eduardo Gonzalez
5dfb81efc8 Update simple_cell_setup to manual creation
Simple_cell_setup is not recomended to use.
Is better create map_cell0 manually, create base
cell for non cell deployments and run discover_hosts.

This PS migrate actual config to make use of described
workflow at [1]. We our actual workflow we're running
into the issue that services are not mapped until cells
are present, breaking deployment waiting for compute
services to appear.

[1] https://docs.openstack.org/developer/nova/cells.html#fresh-install

Change-Id: Id061e8039e72de77a04c51657705457193da2d0f
Closes-Bug: #1682060
2017-04-18 12:09:13 +01:00
Bertrand Lallau
3170b6c2a7 Fix 'node_config_directory' variable bad usage
Some roles made a bad usage of the 'node_config_directory' variable.

As described here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L16

'node_config_directory' is the directory to store the config files on
the destination node.

This variable MUST be changed to 'node_custom_config'.
Futhermore this will unified all roles.

Closes-Bug: #1682445
Change-Id: Id8d8a1268c79befac8938c1e0396267314b40301
2017-04-13 17:15:24 +02:00
Eduardo Gonzalez
de4747afae Temporaly fix deploy gate
Nova service-list is returning empty registered service
when in database they are. Because of this, simple_cell_setup
is not executed and deploy stucks waiting for nova-compute.

This change temporaly checks the database for existing nova services
instead of openstack compute service list.

This change will need to be reverted once the command is fixed.

Change-Id: Ic508eb3ff03b5f233186353fc7697305cc792d14
2017-04-11 18:10:06 +01:00
caoyuan
312c3fe56f Fix the Nova SSH port prechecks missing
Change-Id: Ide78ed1de89a9904db48f08fcff3c247ee650317
2017-03-19 16:55:58 +08:00
Jenkins
9e804f4286 Merge "Multi-regions Support" 2017-03-16 17:42:07 +00:00
Nathan Harper
586e81f39e Nova external-ceph.yml writes keyname into libvirt.base64
Closes-Bug: #1671862
Change-Id: I6b77773238cd65a3cc009d8d9a38bdbea0035212
2017-03-14 08:53:28 +00:00
rcherrueau
dcdbe44190
Multi-regions Support
Add support for basic multiple regions, that is to say, many OpenStack
with a shared Keystone (same users) and Horizon. The shared Keystone
and Horizon are deployed into one region, for instance RegionOne.
Services of other regions have an access to this Keystone. This
support assumes that the operator knows the name of all OpenStack
regions in advance, and considers as many Kolla runs as there are
regions.

The new variable, multiple_regions_names, contains the name of
regions. It is needed by the region that includes Keystone and
Horizon. In register.yml, it specifies to create as many Keystone
endpoints as there are regiones, so that services of other regions can
connect to Keystone. In local_settings.j2, it changes the render to
support multiple regions in Horizon. The multi-regions.rst explains
how to perform a multiple regions deployment.

Implements: blueprint multi-kolla-config
Change-Id: Icab2aebfc4de0e3bc609950956e0af397705f403
2017-03-10 14:24:42 +01:00
Jenkins
0160521337 Merge "Fix typo in nova external ceph" 2017-03-10 02:09:58 +00:00
Jenkins
5ce03840d1 Merge "Remove cell setup and db creation nova upgrade" 2017-03-09 17:45:36 +00:00
Jenkins
9d0daa015a Merge "Enable sanity checks from kolla-ansible" 2017-03-09 17:31:51 +00:00
Eduardo Gonzalez
07a8c47f33 Fix typo in nova external ceph
Nova external ceph task have a type which break deployment.
State module not present, the module used should be stat.

Change-Id: Ie8a0b30f44fc35a597334383a85353d324e765cd
Closes-Bug: #1671526
2017-03-09 16:54:30 +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
Eduardo Gonzalez
58195bd264 Remove cell setup and db creation nova upgrade
cell0 is already setup in Ocata, when upgrading to Pike
is not anymore necessary to create.
All nova DBs (nova_api, nova and nova_cell0) are already
created in Ocata too. Only bootstrap_service is needed
while upgrading.

Change-Id: Idc4941334faf91feee868472155a8c8ea0eba436
2017-03-08 18:53:55 +00:00
Jenkins
a6da1bda59 Merge "Fix booting from volume failure" 2017-03-08 15:28:27 +00:00
Jeffrey Zhang
d06efcecc5 Fix booting from volume failure
Booting from volume require cinder's ceph client secret now. Move cinder
before nova in site.yml, because nova depends on cinder ceph client key
now.

Change-Id: I01c9ed80843d98305b8963894c4917c21a35d3ac
Closes-Bug: #1670676
2017-03-08 21:16:06 +08:00
Jenkins
37958ae0f7 Merge "Fix the failure when running precheck after deploy" 2017-03-07 14:05:57 +00:00
Jeffrey Zhang
47762d4850 Fix the failure when running precheck after deploy
* Move the tasks to the role
* Skip the task when container is already running

Change-Id: I1990d4dd2a02efa2b3766329000aa23419e0ff17
Closes-Bug: #1670286
2017-03-07 06:57:16 +00:00
Jeffrey Zhang
57dc5b3e36 Use internal interface instead of public interface
In some case, public interface may not reachable in internal.

Change-Id: Ibcdef571a6814e6626216fe33028e5e69889b4f2
Closes-Bug: #1670259
2017-03-06 14:08:35 +08:00
caoyuan
82b5dc643d Add the missing prechecks for placement_api
Change-Id: Ic3cbf89b135a1902fa57a8d1df8c858cd6398097
2017-02-24 22:17:31 +08:00
Jenkins
d9740e9c40 Merge "Remove unnecessary until in register.yml file" 2017-02-22 12:28:06 +00:00
Jeffrey Zhang
af2acb25e5 Do not failed when there is no nova-compute is running
In ironic environment deployment, the compute nodes info will be empty
until ironic node is created. There are also some case that user just
want deploy without any nova-compute.

Also enable auto discover hosts feature. This is useful for small
environment.

Closes-Bug: #1666031
Change-Id: I6f3d1c3668452a404875aa5621ee99b2b41e28f0
2017-02-20 01:11:03 +08:00
Eduardo Gonzalez
b402dd16ed Recover nova reload task to upgrade
Sighup signal is neccessary to reload upgrade levels
on all services communicating with rpc.
If not rpc version will remain in Newton.

Change-Id: I4b02d933699aa9b013dfbc65d1e57d53db49bcee
2017-02-08 10:45:41 +00:00
Jeffrey Zhang
38ad05a872 Remove unnecessary until in register.yml file
Change-Id: I1577cc3afef4dadd3a188c8ba749c9cdfad313ae
2017-02-04 14:38:54 +08:00
Eduardo Gonzalez
4e0fa6a334 Remove hardcoded usernames in register.yml
Usernames can be configured with variables in
configuration files, but user creation is hardcoded.

Change-Id: I057cfb921d776217db66f59226dcfa79f3eb7368
Closes-Bug: #1661587
2017-02-03 12:17:54 +00:00
Jeffrey Zhang
facfabf3bb Implement nova placement service
Closes-Bug: #1660987
Depends-On: I30efc20e6d918e08860584c017455e6d5fa91a35
Change-Id: If0a79b6013f28871dc9f13c510c919078f3304d5
2017-02-02 05:18:13 +00:00