- Adds support for validating that all required Vagrant plugins have
been installed.
Closes-Bug: 1606575
Change-Id: I06002ef9d43d081b5ae9f326377e5009b4e62e36
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
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>
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
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
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
Since Ubuntu and Centos are both valid options it's better
to list their names in both bootstrap files
Trivial-fix
Change-Id: Ie8179403ba550ff61a45aa936fb87e02b9f74861
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
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