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
Check enable_* variables first, then check inventory_host in
group, will help to avoid configuration errors.
Change-Id: Icdb1f50e5c911203b92ac431723620756b15f3c6
Closes-Bug: #1648376
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
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
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
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
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
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
* 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
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
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
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
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
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>
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
* 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
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
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
VM instance state (e.g., instance.xml) should be persistent
regardless of nova-libvirt container.
Change-Id: I4463d0634db2aaefde7dc2c45a144e920d9cb1ac
Closes-Bug: #1569828
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
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
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
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
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
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