- Adds support for validating that all required Vagrant plugins have
been installed.
Closes-Bug: 1606575
Change-Id: I06002ef9d43d081b5ae9f326377e5009b4e62e36
There was an unwanted line break in the systemd file preventing the proxy from
being configured correctly.
TrivialFix
Change-Id: I3e6413d4f2d373951cb558e0af1b8bc92d4cbb91
Since this is the user for which we setup the SSH key.
This commit allows to run kolla-ansible as vagrant user without using
sudo.
This only applies to multinode.
TrivialFix
Change-Id: Ie5231085a66511a520d4dbe5e9f35414acf1900b
The regex used previously would keep the short hostname (hostname -s)
on the 127.0.0.1 line.
Reset the 127.0.0.1 line to keep only localhost.
TrivialFix
Change-Id: I90bdec6793ac5b2d304e178e5114369b7b3b9626
The SUPPORT_NODE variable was missed during a refactoring of
bootstrap.sh and is now unused. Remove it.
TrivialFix
Change-Id: I10ab4368b383dbb620916f70c368153403944001
In vagrant environments, the kolla_internal_vip_address didn't belong
to the private network provisioned on the machine and was failing the
prechecks.
TrivialFix
Change-Id: I0e7e4d134e350c49ef7510c7262677754a83bcbf
This allows us to execute vagrant commands by default on the 'operator'
VM and eliminate one of the difference between AIO and multinode.
TrivialFix
Change-Id: Ia14aa026d1146ec4b1e006c72a2460edfc0cf6eb
* sudo is not needed as script already runs as root, using sudo would
require http_* env vars to be carried through.
* Add a systemd unit file to configure docker proxy support
* Update /etc/bashrc if available proxy
TrivialFix
Change-Id: If2571389ec3dc5bce9e819acf962d202b3166b97
As with all tools, this is a first pass at the generation. Perhaps we
even want to move this into kolla/kolla/cmd and be generated with tox
itself in the future.
This tool, when run, will only populate empty fields that have no
values meaning that it is safe to run repeatedly on the same file.
Of note, there is no way to preserve comments in the file after it has
been processed by the yaml parser in python. Comments and sections
will remain in the passwords.yml template for additional documentation
if the user wishes to populate the file themselves.
Use SystemRandom and clean up the docs a bit to not use pronouns.
Co-Authored-By: Steven Dake <stdake@cisco.com>
Closes-Bug: #1559266
Change-Id: I2932d592df8871f1b7811059206d0b4d0553a687
On computers with wi-fi adapters, promiscuous mode on the VirtualBox (or
maybe other hypervisors as well) NICs does not work, which means the
default way of connecting the Neutron external interface to a bridged
adapter, will not allow communication to and from the Nova VMs over
floating IPs with any computer on the external network (except the host
computer) or with the wi-fi router. This means no ability to connect to
the Nova VMs and no internet access inside the Nova VMs.
According to VirtualBox documentation (excerpt): "Bridging to a wireless
interface is done differently from bridging to a wired interface,
because most wireless adapters do not support promiscuous mode. All
traffic has to use the MAC address of the host’s wireless adapter, and
therefore VirtualBox needs to replace the source MAC address in the
Ethernet header of an outgoing packet to make sure the reply will be
sent to the host interface. When VirtualBox sees an incoming packet with
a destination IP address that belongs to one of the virtual machine
adapters it replaces the destination MAC address in the Ethernet header
with the VM adapter’s MAC address and passes it on. VirtualBox examines
ARP and DHCP packets in order to learn the IP addresses of virtual
machines."
To fix this issue, a new flag has been introduced: WIFI. If true, the
default Vagrant public network is not created anymore. Instead, the 3rd
NIC will be connected to a NAT-Network named OSNetwork. The NAT-Network
has a virtual gateway, which will be used to communicate with the
external physical wi-fi router. Since Vagrant does not have a high-level
mechanism to attach an adapter to a NAT-Network, the code uses the
low-level Vagrant construct vm.customize which makes it provider
specific.
Promiscuous mode is now activated by default on the 3rd NIC.
The WIFI flag is false by default.
This commit only addresses VirtualBox, and it is currently unknown if
the problem described and fixed in this commit is present in other
hypervisors.
DocImpact
Closes-Bug: #1558766
Change-Id: I0b4dbbc562d87191b2179f47b634cdd6f6361a5e
Signed-off-by: Andrei-Lucian Șerb <lucian.serb@icloud.com>
We run tox at the root of the home directory, so we need to pass it the
path to the tox.ini file.
TrivialFix
Change-Id: Ieb52d845b77f556aee5cd194a8ef86561b7849b2
There is no such thing as virtualbox_{ubuntu,centos} but only
a virtualbox provider. The code to retrieve the VM's IP address was
never executed and broke host_manager plugin.
TrivialFix
Change-Id: I0ffacf0bd5d2856264247b23e3b3e918836988e3
Instead, rely on kolla-ansible post-deploy to generate a configuration
file with valid environment variables.
Change-Id: Ie62932afc96e2486410a1d4e14162a88b1733c22
Closes-Bug: #1555972
This fixes a bug in newest_dhcp_lease.py where the get_mac_address
function currently searches for a "bridge" interface instead of
searching for the interface whose source network is
"vagrant-private-dhcp".
Change-Id: Iea0b25f893b959b5e319b117e7a1c4c63a00dd23
Closes-Bug: #1548742
The ubuntu-bootstrap.sh script used by vagrant to provision ubuntu
boxes was lacking many of the features of centos-bootstrap.sh. For
instance, ubuntu-bootstrap.sh did not install kolla, so the kolla-build
executable was not available after initial provisioning.
This patch adapts the bootstrap script to match the centos bootstrap
script as closely as possible.
Change-Id: I6cdacb993a9b6856912ea7cfb73a28f3867f472a
Closes-Bug: #1547114
Ensure that provider defaults of libvirt and virtualbox use the same
paths and provisioning scripts.
Change-Id: Ie968b118aa0540204751c348ef3408a6fe24d32a
Partial-Bug: #1547114
The ubuntu-bootstrap.sh script tries to install the packet
linux-image-generic-ls-wily when the kernel version is older than 4.2.
This fails when using the default base image ubuntu/vivid64. Therefore
this patch updates the base_image to ubuntu/wily64.
Change-Id: Ieaf2d35a9a4304de2d1d78d8245d115dcb32bb0e
Partial-Bug: #1547114
Additionally, install python-neutronclient that is needed for
tools/init-runonce.
Change-Id: I416afc0299c8e6a8e603eca2334ea3a9836707fe
Partial-Bug: #1542933
To allow for TLS to protect the service endpoints, the protocol
in the URLs for the endpoints will be either http or https.
This patch removes the hardcoded values of http and replaces them
with variables that can be adjusted accordingly in future patches.
Change-Id: Ibca6f8aac09c65115d1ac9957410e7f81ac7671e
Partially-implements: blueprint ssl-kolla
To fetch the IP address from the interface other than eth0 for
vagrant-hostmanager plugin, it must be fetched from the DHCP
leases from libvirt network. The previously used one-liner,
which was using virsh with awk, returns multiple addresses
when VM was destroyed before expiration of its DHCP lease.
This script solved this problem by getting only the newest
DHCP lease and gives a possibility to destroy Vagrant
environment and set up again without worrying about hosts
resolving.
Co-Authored-By: Michal Rostecki <mrostecki@mirantis.com>
Partially-Implements: blueprint vagrant
Related-Id: Ic469b46f4d02d873c27114cbd268b86521eef32b
Related-Id: I81f07b7e4a202af68fd3cf9fdb308c3734c40a83
Change-Id: I408415e95483c1b8988d0f67c654212de63bece2
docker 1.10 removed the -d flag in favor of "daemon". Also adjust
docker config to enable shared mount namespace.
Closes-Bug: #1543201
Change-Id: I14cb497e0e02d90cdf74de8a09cca346f68254ab
Ubuntu-bootstrap.sh script rebooted my server
with message of re-run the script and at re-run
it again do the same thing.
I find this behavior is due to the below check
if [[ $(uname -r) != *"3.19"* ]]
As latest ubuntu kernel version is 4.2.0-27-generic,
so we should update the script for kernel version
4.2.0-27-generic.
This patch fixes the issue.
Closes-Bug: #1541797
Change-Id: I01e98d80df60fe8c5f6ac6e644d42261fdd2921c
Ansible adminrc file already uses v3 as default. So let's
to that in vagrant too.
See file:
ansible/roles/common/templates/admin-openrc.sh.j2
TrivialFix
Change-Id: I23b7ff81808ddc718ae1186887e9764ebc5ab6ef
Since Ubuntu and Centos are both valid options it's better
to list their names in both bootstrap files
Trivial-fix
Change-Id: Ie8179403ba550ff61a45aa936fb87e02b9f74861
Selinux is preventing to write on mounted volumes. Let's set it to
permissive in Vagrant box provisioning.
Change-Id: If8ea57f242166eb6f4ef618639d4ab672e5098d3
Closes-Bug: #1530766
Kolla now has its own docker ansible module which doesn't require
specific docker version.
Also, add requirement for ansible <2, and stop using NL mirror for
epel.
Change-Id: I743c51c2d6b7f6af0aa4038e1081066b36e36fa1
Partially-Implements: blueprint kolla-docker-module
Starting from Vivid Ubuntu uses systemd as the
default boot manager instead of upstart. Updating
the way the docker daemon is configured to follow
the systemd way.
Setting env variable GUNICORN_OPTS=[--preload]
to fix race condition and avoid IntegrityError
when pushing images to local registry
Change-Id: I841f85015c2c3683ef7e1e454ec1369263063c45
Related-bug: https://github.com/docker/docker-registry/issues/518
Closes-Bug: #1523336
Extract the Vagrantfile configuration to a Vagrantfile.custom file, to
permit easy customization of the Vagrant deployment without the need to
modify a file under version control.
Closes-Bug: #1517475
Change-Id: I03e3ef373ec47e3d622b77fa9cf88748db99adaa
All the nodes, with the exception of the operator, are build the same
with maybe different specs. We can remove the duplication with a bit of
metaprogramming.
Also pass all expected arguments to the provisionning script,and get
rid of hardcoded path to it.
Closes-Bug: #1517476
Change-Id: I515ef1d529d7ec49038662001a3e5345a941fea7
That sync broke copying configuration files in Ansible playbooks
and made all changes of configuration inside VM as a change in
kolla git repo on host.
Change-Id: I21ecd9a48c0c3263c05f5dbefea7bbc78a919f0a
Closes-Bug: #1515901
The path for the kolla source dir was being
hardcoded on the ubuntu-bootstrap provision script
instead of utilizing the path defined in the
PROVIDER_DEFAULTS settings in the Vagrantfile
Change-Id: I0eb752ecf4db580838687c290ccf36810e8a4ff3