335 Commits

Author SHA1 Message Date
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
Jeffrey Zhang
35f9335572 Optimize reconfigure action for nova
Change-Id: Ida7c955d9ddf7b7dc3289001958326c38c62d0c9
Partially-implements: blueprint better-reconfigure
2017-01-25 13:20:06 +08:00
Jenkins
f2f30b4a5e Merge "Ansible config for nova-serialproxy console" 2017-01-24 16:40:40 +00:00
Jenkins
3f8cb8adda Merge "Refactor bootstrap.yml file" 2017-01-18 10:17:50 +00:00
Jenkins
016d79f009 Merge "Render ceph.conf using merge_configs" 2017-01-17 16:40:04 +00:00
jackning
b25c6b15fe Render ceph.conf using merge_configs
At present, cinder/nova/glance/gnocchi relative containers's
ceph.conf aren't be merge from user custom's config.
In some condition, we should add extra parameter to custom's
ceph.conf, for example:rbd_default_features = 1.

So, it is necessary to use merge_configs instead of template.
Closes-Bug: #1656162

Change-Id: I824e0c68af270b85c52382ae35987213266fc6f6
2017-01-17 09:32:44 +08:00
Jeffrey Zhang
7233b45d29 Refactor bootstrap.yml file
Change-Id: I00d2dcb0895548ba169ab85764cf546c2214cbf5
2017-01-12 23:37:50 +08:00
Eduardo Gonzalez
a18174b3b4 Unify jinja syntax
Change-Id: I63197f8c5646e44a9a7287e644c904a1e227af23
2017-01-12 10:52:44 +00:00
Eduardo Gonzalez
3d03a50864 Ansible config for nova-serialproxy console
Change-Id: Ifd40ca95c82fafacaf91291511f7048351d1bf42
Partially-Implements: blueprint nova-proxies
2017-01-12 10:27:47 +00:00
caoyuan
029c5ae4af Move nova precheck into its own role
Change-Id: I1d9a0f0ed3d50acb1828d0894413a9adc7f21b2a
Partially-implements: blueprint condition-pre-check
2017-01-11 16:33:47 +08:00
Eduardo Gonzalez
d7a3cbdc67 Fix code style in start_compute.yml
Add space in jinja definition and specify nova-compute
in set volume fact task name.

TrivialFix

Change-Id: I94a3bb2415f1f8d60c646b488be4acc09c489a0a
2017-01-04 15:17:46 +00:00
Jenkins
1c6a696c17 Merge "Do not mount /var/lib/nova/mnt unless nfs cinder backend is enabled" 2016-12-23 05:04:57 +00:00
Ethan Lynn
e237319965 Always check enable_* variables first
Check enable_* variables first, then check inventory_host in
group, will help to avoid configuration errors.

Change-Id: Icdb1f50e5c911203b92ac431723620756b15f3c6
Closes-Bug: #1648376
2016-12-08 17:59:48 +08:00
Jeffrey Zhang
5bd67a706b Do not mount /var/lib/nova/mnt unless nfs cinder backend is enabled
When enable_cinder_backend_nfs is only used, /var/lib/nova/mnt is no
need to mount. Then we do not need care whether this folder is sharable.

Change-Id: I53f4c2c9ec25775cdb02a3256fd3a878723d15f6
Closes-Bug: #1644602
2016-12-03 21:33:21 +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
xionglingfeng
17e6e629f5 Allow cinder-volume to be configured to use NFS
Allow cinder-volume, nova-compute and nova-libvirtd to be configured to
use NFS. In order to mount and work with NFS shares, several containers
needed the NFS packages installed during build time.

One somewhat significant change is the addition of an explicit bind
volume for nova-compute that has shared mounts enabled.

According to docker-run(1), the shared mount propagation flag can only
be specified for bind mounted Docker volumes and not named volumes.

In an NFS setup, cinder-volume mounts the NFS shares so that it can
create and manage the Cinder volumes. When a new instance is created
with a Cinder volume or a Cinder volume is attached to an existing
instance, nova-compute mounts the Cinder volume from the NFS share for
nova-libvirtd. In order for nova-libvirtd to then see those Cinder
volumes the shared mounts flag must be enabled for the Docker volume.

Remove the rpcbind container as it is only necessary for operators who
are using NFSv3 or lower. There is no known need for this currently
however, this container can be added in the future should an operator
require it.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Co-authored-by: Andrew Widdersheim <amwiddersheim@gmail.com>
Change-Id: Iad77c05bce8876bdcc69b7ec22edd50e3bf48b9f
Closes-Bug: #1530515
Partially implements: blueprint  nfs-support-in-cinder
2016-11-07 12:57:54 -05: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
Eduardo Gonzalez
ef1fd6b8c0 Custom policy files
Allow operators to use their custom policy files.
Avoid maintain policy files in kolla repos, only copying
the files when an operator add their custom config.

Implements: blueprint custom-policies
Change-Id: Icf3c961b87cbc7a1f1dd2ffbfffcf271d151d862
2016-10-28 10:47:05 +01:00
Jeffrey Zhang
88e9323792 Bump retries in starting nova-libvirt to 5
retries: 1 won't really retry in part of ansible release. Bumping the
number to 5 ensure it works as expected

Change-Id: I9f131001bd96ed33832b42cc8143327f249e916a
Closes-Bug: #1634401
2016-10-18 13:05:34 +00:00
Jeffrey Zhang
ce5a11a374 Fix stale namespace removal issue
When using both /run and /run/netns in docker container, mount
propagation won't work when delete namespace after the containers are
restarted. This PS makes /run mount as shared.

Closes-Bug: #1616268
Change-Id: Ie16699e1b193b2bf1263d89ea634e89ea69add9e
2016-10-15 01:49:13 +08:00
Jenkins
45b0f2cf63 Merge "Remove do_reconfigure.yml file for all roles" 2016-10-13 16:20:30 +00: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
Jeffrey Zhang
fa856556d5 Remove do_reconfigure.yml file for all roles
do_reconfigure.yml is introduced to use serial directive. But we use
it in wrong. Now serial has moved to playbook file. So it is time to
remove the do_reconfigure.yml file

Closes-Bug: #1628152
Change-Id: I8d42d27e6bc302a0e575b0353956eaef9b2ca9fd
2016-09-27 15:04:00 +00:00
Vladislav Belogrudov
b1f986c349 Cinder cannot use external non-LVM iSCSI storage
Currently Cinder enables iscsid service only when LVM is choosen as
backend. This fix will allow to specify external iSCSI storage via
configuration add-on and to run iscsid independently of LVM settings.

Change-Id: Iaae0f8025534e5ab1c5f9d5e812a7d41129915ef
Closes-Bug: 1614125
2016-09-21 12:28:07 +00:00
Mick Thompson
4c1482b999 Added serial option to site.yml.
Useful for upgrade etc., which is preferablly done serially.

Example usage: tools/kolla-ansible deploy OR tools/kolla-ansible upgrade

Closes-Bug: #1576708

DocImpact

Change-Id: I34b2e16f8ce53e472a4682a4738c4ac0f5abf00c
2016-09-13 09:26:51 +00:00
Michal (inc0) Jastrzebski
8cd59db6f6 Remove novncproxy and spice from reload
Since these services don't use RPC, we don't need to reload them. And
these caused problems in gates.

Change-Id: I6967bdc7da0d0c3c06873e3d554124ca995f4c13
Closes-Bug: #1622117
2016-09-10 16:14:18 +00:00
Jenkins
b6c40d9deb Merge "Create the nova instances directory when need during starting" 2016-09-01 16:45:57 +00:00
Jenkins
e2a55c3a02 Merge "Enable the nova microversion api" 2016-08-30 03:19:07 +00:00
Jeffrey Zhang
9092f4a104 Fix removing nova_libvirt container issue
Retry once when removing or upgrading nova_libvirt to ensure it is
removed

Closes-Bug: #1617741
Change-Id: I8b5046a438c0ef3599a4333bbe77333f0af323ff
Signed-off-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2016-08-29 08:37:58 +00:00
Jeffrey Zhang
2b741eb870 Create the nova instances directory when need during starting
The /var/lib/nova/instances should be create if it do not exist
during starting nova-compute container. Rather than create it
at the bootstrap service stage.

Change-Id: Ibcc5fb8eec0b38cf2b4313f48d1beb3ba83b1e85
Closes-Bug: #1614970
2016-08-20 17:30:13 +00:00
Duong Ha-Quang
34975e291e Port with_ loop variable syntax to Ansbile 2
Migrate to full variable syntax in with_ loop
instead of bare variables for:
- ceph
- ceilometer
- glance
- heat
- horizon
- keystone
- mariadb
- memcached
- neutron
- nova
- rabbitmq

Change-Id: Ib925b4ecea47ac758a77739c9c7e140f06933b08
Partial-Implements: blueprint ansible2
2016-08-09 23:23:21 +07:00
Jeffrey Zhang
1ce1cd10fe Enable the nova microversion api
* Use the nova microversion api for compute service
* Use the legacy nova api for compute_legacy service
* Update the nova service and endpoint during the upgrade stage

This is what the devstack used now[0]

[0]
e777bbce3b/lib/nova (L408),L422

TrivialFix

Change-Id: I0574a3116b1dd1702b4eccb2394538866675c4c1
2016-08-07 18:06:02 +08:00
Jenkins
06c93471ae Merge "Simplify the Cinder LVM backend" 2016-08-06 18:18:19 +00:00
Mathias Ewald
ffafebf87c External Ceph - Implementation Nova
Introduced nova backend selection flag for Ceph and priority if
multiple backends are configured

Add mechanism to deploy arbitrary ceph.conf and keyring files into
nova-compute and nova-libvirt containers

Added documentation

Change-Id: Id010ca9cc2d914e5358ef79edeb600a28220dd4b
Implements: blueprint external-ceph
2016-07-27 20:25:00 +00:00
Jeffrey Zhang
1b0e701402 Simplify the Cinder LVM backend
Remove the unnecessary option in the  group_vars/all.yml file.

* removed some cinder.conf options like volume_backend_name,
  iscsi_helper, iscsi_protocol etc. these value can be configured by
  custom cinder.conf file, no need export as global variables.
* remove meaningless iscsi_ip_addess, which is not used in LVM driver
* force start iscsi relate when enable_cinder_backend_lvm is yes

TrivialFix
Change-Id: Ifcbfdad15e4d68bc5f20fc77e0315a09983ef022
2016-07-25 09:50:12 +08:00
Jenkins
438dd53bf7 Merge "Add named volume for nova-libvirt" 2016-06-21 05:50:48 +00:00
Hui Kang
a01355029f Add named volume for nova-libvirt
VM instance state (e.g., instance.xml) should be persistent
regardless of nova-libvirt container.

Change-Id: I4463d0634db2aaefde7dc2c45a144e920d9cb1ac
Closes-Bug: #1569828
2016-06-20 10:14:53 -04:00
Jenkins
6f17a71d7f Merge "add support for non-default database_port in kolla/ansible" 2016-05-26 09:24:56 +00:00
Ryan Hallisey
2da010a7b9 Make configurable the location where config files are merged
An operator may want to specify the location of custom config
files so that kolla can detect their location and merge
them with the default configs generated.

Partially implements: blueprint multi-project-config

Change-Id: Ibfb38d07a36dfa7fe25381adc34cc1d3cbe7d1e1
2016-05-23 03:23:06 -04:00
Waldemar Znoinski
a2c2eba34f add support for non-default database_port in kolla/ansible
This change makes each step of the kolla deployment aware
of the port database was configured to listen on.
It defaults mariadb_port to database_port.

Change-Id: I8e85d5732015afc0a5481cb33e0b629fdfa84a1b
Closes-Bug: #1576151
DocImpact
2016-05-13 12:12:25 +00:00
Jenkins
1011b7cd24 Merge "map the host localtime to the container" 2016-05-03 19:12:15 +00:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08:00
Mauricio Lima
2c34214388 Remove unecessary blank lines
TrivialFix

Change-Id: I1f03d428c380dfdbde5ef33e7ea43cbf5e9154ce
2016-05-02 07:44:29 -04:00
Jenkins
908a74d670 Merge "Adds ansible code for iscsid and tgtd containers" 2016-04-15 12:04:57 +00:00
Steven Dake
e37fa65f4f Use proper CentOS repositories for ceph and qemu
CentOS has a virtualization sig and storage sig which produces
udpated ceph and qemu images.  These images are then reused within
the rest of Red Hat packaging.  Install these repositories for
CentOS and make use of them.

This should work for OracleLinux as well.
Still testing centos.

Co-Authored-By: Vikram Hosakote <vhosakot@cisco.com>
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>

Change-Id: Iea21fc4f33bbfdb973cf354d492c372bd3360acb
Closes-Bug: #1566588
2016-04-14 10:50:38 +01:00
Serguei Bezverkhi
6c2d7c7944 Adds ansible code for iscsid and tgtd containers
This partially implements iscsi and lvm2 support for cinder
in Kolla. Adds ansible code for iscsid and tgtd containers.

Change-Id: I2a4cfcf104397396ea61a09637d9ef3fc77b515f
Partially-Implements: blueprint iscsi-lvm2-docker
2016-04-12 14:58:15 -04:00
Swapnil Kulkarni (coolsvap)
2a182ac741 Correct typo
The typo was missed and the code got
merged. Added commit to correct it

TrivialFix

Change-Id: Ice33bcb5fb2f8826054feeae41370038f86bcf6b
2016-04-04 15:39:16 +05:30
Jeffrey Zhang
42420830f6 Implement nova-ssh container
Add a nova-ssh container to handle the `nova migrate` and
`nova resize` case, in which the nova will use ssh to copy
files between machines.

Change-Id: Ie6675943f3aeabfbba8589d308d55b9c89d732db
Closes-Bug: #1562141
2016-04-03 07:21:17 +00:00
Jeffrey Zhang
792e2c1f26 Fix the nova reconfigure in the multinode env
Checking the fix condition first in the when clause rather than the
dynamic condition. Otherwise it will raise issue, especially in
multinode env.

For example use

  when:
    - nova_console == 'novnc'
    - inventory_hostname in groups['nova-novncproxy']

rather than

  when:
    - inventory_hostname in groups['nova-novncproxy']
    - nova_console == 'novnc'

Because the nova-novncproxy groups may do not exist.

Change-Id: I1e76ee239908a17a4c2ffd9a18c570fbc485172e
Closes-Bug: #1563643
2016-03-30 16:57:42 +08:00