Libvirt shuts down existing virtual machines. To solve this problem,
the /var/lib/libvirt directory needs to be persisted. By persisting
this directory in the nova data container, libvirt can communicate
with the sockets setup by the previous data container.
Change-Id: I362c533f8493984123686fe6e3f8e43d97434ca6
Closes-Bug: #1494060
Make nova-libvirt and nova-compute use a data container called
nova_data. This data container contains /var/lib/nova/instances
data so upgrades to nova-compute work properly.
Change-Id: I89362eb0857f7b07503c35178475bc91d0d19ca8
Closes-Bug: #1486333
Currently bootstrap containers are waited to exit but are not
checked for exit status and ansible runs further tasks. If
bootstrapping fails we notice it at much later time.
Change-Id: I137fc11b0f9d1f03d2ded08a213e8dbd62741f92
Closes-Bug: #1492337
Nova-compute is curerntly generating a backtrace when trying to nova
boot a VM. The backtrace is described in the bug log. Bind-mounting
/sys/fs/cgroup:/sys/fs/cgroup in the libvirt container resolves the
problem.
Change-Id: I5a56b61fd260728fb76e19bcbdf403b80a4ec5a6
Closes-Bug: #1490326
nova.conf was not using the proper port value for glance and would
only work with the default port in that situation.
Additionally, the state_path defaults to the python directory rather
that the expected /var/lib/nova/ directory.
Paritially-Implements: blueprint update-configs
Change-Id: I9cc2117c1d786fc1b81c53848e543d27afaf8979
The register operation was registering user_database which is a global
variable in group_vars/all.yml. This results in glance not being deployable
because user_database is overwrriten at keystone task registration time.
The result of this is the playbooks fail to deploy.
Change-Id: Ic69725fb09aa0a368ec5b0d8f47bfc768c29c70c
Closes-Bug: #1486876
Cleanup all options in the minimal nova.conf. Remove options where
the default value was specified explicitly. Updated ports and bindings
to be configurable.
Partially-Implements: blueprint update-configs
Change-Id: I0bca7a8f9c4c6fa40145d66a95de7e98edc0edce
Currently we require a slew of deps on each destination node, this
includes a gcc compiler and installing things via pip. We can remove
these dependencies by containerizing them and running and Ansible
inside the container itself. The container would then report back
facts about idempotency.
DocImpact
Closes-Bug: #1481495
Implements: blueprint containerize-dependencies
Change-Id: I3dfccbf9fafc06ffc36e78f3006fe5d3367891df
Allows the user to configure neutron_plugin_agent value for Ansible.
Current allowed values are openvswitch and linuxbridge.
Implements: blueprint ansible-neutron-linuxbridge
Change-Id: I0572464a5459d2f9da09b6da22db16e240511f99
If user specifies registry a full image name is constructed by
concatenation of the registry, namespace and image. Currently
concatenation does not include '/' if registry is non-empty but
it should. If registry is empty '/' is not required.
This fix covers both use cases with help of Ansible filter.
Change-Id: I0588dd0da55d777e6caa7eb47d51b2435d38d5e0
Closes-Bug: #1479013
neutron-server was not properly using ml2_conf.ini
nova did not have ovs utils, and it had incorrect libvirt permissions
Change-Id: I43d2110d0b5fc1940d887dace95787e1ebbe142d
Partitially-Implements: blueprint ansible-service
Libvirt requires pid_mode to Host to operate on Fedora Hosts. Further
we will need this for libvirt upgrade. I am not entirely sure why
libvirt running with pid=host gets things working, but it definately
has something to do with CentOS's libvirt's integration with systemd.
Nailing down the problem, the interface to the Docker module accepts only
None or "host". There is no way to generate a None type except with !!null
in yml, but this does not work in the jinja2 parser. As a result, one
solution is this conditional. A better long term solution would be for
the Docker module to take some other argument to indicate None that can
be expressed in a string.
Change-Id: I54eb87e8ce8679bbf12f671527280c73e195b2e4
Closes-Bug: #1473270