The python-nova package now pulls the required dependency on
python-oslo-policy:
036149e93f/openstack-nova.spec (L389)
TrivialFix
Change-Id: I472f600710cb743ef6ede01e722a79b1451cf295
Because we use rootwrap in a venv we need to update the exec_dirs.
Without doing this *some* commands will break for various reasons that
I won't get into in this review in detail. But this is required for
neutron-l3-agent in a container + drop-root.
Change-Id: I1a09f7188fdd501b7ce251d9f2fb0e5b10222142
Partially-Implements: blueprint drop-root
Due to changes with the drop-root work, we lost the ability to write
to /var/lib/nova/*. This fixes those permissions and ensures cross
container talk works properly between nova_libvirt and nova_compute
Additionally, this fixes another issue introduced which saw that
nova-compute could not run sudo commands as it did not have a proper
sudoers entry
Testing from previous deploys means you need a fresh environment. You
have to remove all of the named volumes that kolla created in docker.
Check these with `docker volume ls`
Signed-off-by: Hui Kang <kangh@us.ibm.com>
Signed-off-by: Artur Zarzycki <azarzycki@mirantis.com>
Co-Authored-By: Sam Yaple <sam@yaple.net>
Co-Authored-By: Hui Kang <kangh@us.ibm.com>
Closes-Bug: #1533350
Change-Id: I7f864c448a2414e0b5d89f48337be411b891df35
Add `nova` user to nova-libvirt container.
And change libvirt-socket group to nova.
Change-Id: I183c83f4be8b1d7c75d4ac204df7b7e059626aa2
Closes-Bug: #1525583
There were some inconsistencies with pip install instructions
thoughout Kolla. We fix those here.
Additionally, we fix the virtualenv to properly use the site-packages
on the host if a library is not available in the venv.
Change-Id: Ib84d48e8826bb96060338b3fa0782620c98794a8
Related-Bug: #1524684
Closes-Bug: #1529434
The RDO nova package is missing a dependency on oslo-policy and this is
breaking our centos-binary-deploy gate. Install the missing package in
nova-base until the issue is fixed upstream.
Change-Id: Iece7edd754c6f173635b0e0c437a998f3b9492d3
Closes-Bug: #1525502
Without root privileges, nova process can't create and access the path,
`/var/lib/nova`.
Create the path and change the permission.
Change-Id: I6e5650298041b672bf386c50ccb68a6a80f9de43
Closes-Bug: #1523753
Currently we are not creating any non-root user for running
libvirt daemon. That should be done in the future, but currently
when we don't have such a user, libvirtd should be runned by
root.
Change-Id: Ieb0d8bd068b591f522548628b0bfffbe206b749e
Related-Bug: #1523630
Updates to ensure commands run in the nova containers
are done as the 'nova' user rather than root.
Change-Id: I0dd0276c2848ad77d92d350dfa0f20161329ed55
Partially-Implements: blueprint drop-root
Use virtualenv for installation of OpenStack projects and
dependencies to avoid conflicts with Python libraries installed
by non-OpenStack binary packages.
Change-Id: I21ecd673b2e93335b1d3dd4e279e940c9d694c3c
Implements: blueprint virtualenv
Small change to remove the default network since neutron handles all
of the bridge and veth creation. virbr0 becomes clutter.
CentOS doesn't seem to come with this default.xml network, so no
change there.
Note: This doesn't remove virbr0 from a running system, it only
prevents its creation.
Change-Id: I8e118ea285c674a47884bbe864df134133406bbc
Closes-Bug: #1512060
Potential-Backport: Liberty
Ceph doesnt install from source on RPM because Ceph pulls in
python-requests. This causes a cpio error during unpacking
because requests is installed in the base image. A simple
workaround is to remove in the nova-compute container which
is the only container this conflict occurs within.
backport: liberty
Change-Id: I493900854a53c98f1a5cb6478675a18feceefea5
Closes-Bug: #1508236
Ceph packages need to be installed in nova, glance, and cinder.
Once that is done, Ceph works like a champ!
Change-Id: I296da1d04d0c1bcb729f22e65e432d53d561b49c
backport: liberty
Closes-Bug: #1505549
Long story short, some kernels before 3.15 had an issue with using su
in a container when the network namespace was --net=host. The gate
has a 3.10 and a 3.13 kernel and has a problem with this. This changes
everything to use sudo
backport: liberty
Partially-Implements: blueprint functional-testing-gate
Change-Id: I4d79ccaa1cddffcc8393f64e7e1be2538efe33e5
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.
The start.sh is moved into /usr/local/bin/kolla_start in the container
The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.
Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.
Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.
Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
Recent regressions in the code base removed permission setting of
/dev/kvm to root:kvm 660 permissions which are default for CentOS's
version of libvirt.
Also Libvirt must be able to read its cnofiguration file, which was
previously 600 root:root. Now its 644 root:root so its always readable.
This is fine, since this file doesn't contain any secret information.
Change-Id: Id87cf5da8e37bc5bb613ce919d0293803d0fe5ed
Closes-Bug: #1500733
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.
Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
Ubuntu binary is not supported and may never be. Installing from
cloud-archive packaging is only for the current stable distros, Ubuntu
does not have a Delorean type repo. We place a fail message in the
base image to catch this and remove the messages throughout the
project.
An additional fail message is placed to catch all other things.
Change-Id: Id2953f503ebd42226f6a08e75979ae56511c40f7
Implements: blueprint install-from-ubuntu
This implements all the openstack pieces needed to make ceph work.
DocImpact
Change-Id: I1d24476a966602cf955e5ef872b0efb01319894a
Partially-Implements: blueprint ceph-container
Implements: blueprint kolla-live-migration
I removed the files but not the COPY commands thus breaking all of
Kolla
Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c
Partially-Implements: blueprint replace-config-external
Removes config-external for all services that have been replaced in
Ansible
Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea
Partially-Implements: blueprint replace-config-external
When booting a vm with centos-source nova-compute and
some of neutron-agents fails to find ovs-vsctl binary
Change-Id: If1e7b6513babd5623666f01c68815ea8d0a05428
Closes-Bug: #1495470
Add 'rhel' to list for RPM based distros. Also sort the distro
list for rpm packages for affected lines.
Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed
Partially-Implements: blueprint rhel-based-image-support
Currently we cannot import source archives with names different
than expected by hardcoded line in Dockerfiles. This worked well
for Openstack services' tarballs where we expected SERVICE-* root
folder after extraction or kanaka-noVNC for nova-novncproxy docker.
The latter fails if one tries to clone or get tarball under other
names. This fix allows any archive (tar,tgz,zip) or repo name to be
imported into dockerfile.
Change-Id: I869a6a19afaf0e93925572746c22b7589b6600c9
Closes-Bug: #1491415
This creates and moves the dependencies for Ubuntu into a common
openstack-base container. This commit shows dramatically smaller
sizes for all non-openstack containers. The Openstack container remain
the same size.
Change-Id: I2f46420d4b9edcfddda374caddcce906fc708f6c
Partially-Implements: blueprint openstack-common-container
Source based centos, fedora and oraclelinux install novnc via
rdo repository while ubuntu and debian get novnc from github.
oraclelinux source build cannot use rdo, also using novnc tarballs
can be expanded to all distros.
Change-Id: I236dd5c36380e0592fceae4f4e1c28fe97dec1e7
Closes-Bug: #1490893