* 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
Added support for Vagrant VirtualBox provider to
provision an Ubuntu VM to run kolla. A new
bootstrap-ubuntu.sh script has been created which
provisions the Ubuntu VM with all kolla depdencies
including docker 1.8.2, ansible 1.9.6 and python-tools
Also created vars in the Vagrantfile to define the cpu and memory settings of the
VM nodes used to run kolla
DocImpact
Change-Id: I4609d7f577e948b04663901afd0c5d1d154c8ac4
Implements: blueprint vagrant-ubuntu-support
Latest centos/7 image from atlas now comes with 40 GB disk size which
is equal to the virtual_size we specify in the Vagrantfile. Libvirt
provider doesn't like it and produces an ugly stacktrace.
The new default value now sufficient run kolla properly and we can
remove the code that artificially increased the disk size.
Change-Id: I7a645543cfcc027b4a3e0d02d8e7f436d8410ec5
Backport: Liberty
Closes-Bug: #1511265
Currently Ansible have issues with Docker 1.8.3. We have to pin
version to 1.8.2 before including fix [1] in tagged Ansible
version.
[1] https://github.com/ansible/ansible-modules-core/pull/2258
Change-Id: If802ff118782ec521acfff00e286cde703bf37b3
Vagrantfile is in dev/vagrant directory on repository,
so to reach the main directory, it should sync "../.."
path instead of "..".
Change-Id: I7d142c8239423f5de52de5602a732770bb1d7c6c
Closes-Bug: #1504426
THe top level dev directory is now used to store the heat and
vagrant development environments.
backport: liberty
TrivialFix
Change-Id: Ib0922b90eacaa8518aee09cdeb46f4ac0437e015