summaryrefslogtreecommitdiffstats
path: root/deploy/environments
AgeCommit message (Collapse)AuthorFilesLines
2016-10-10deploy: Fix: remove storage files explicitlyAlexandru Avadanii1-0/+2
Previous change [1] tried to move the responsibility of removing storage files (raw, iso) from our python scripts to libvirt. Although this works as expected for non-root invocations, like Armband deploys, it fails to remove raw files in Fuel@OPNFV deploys. Work around this by keeping both mechanisms (libvirt managed + python explicit handling). Related-bug: ARMBAND-128 [1] https://gerrit.opnfv.org/gerrit/#/c/22447 Change-Id: Ib846cd6071705b71d98824385835d724c729fd78 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-09-26deploy: fix: remove storage files during cleanupStefan Sicleru1-3/+1
Remove old disks through virsh instead of calling os.delete() methods so that the cleanup phase would succeed within a non-root setup. [1] Related-bug: ARMBAND-128 [1] https://gerrit.opnfv.org/gerrit/#/c/19491/ Change-Id: I90007edf014c7e15a68b9a334fcaffaa127ee4ab Signed-off-by: Stefan Sicleru <stefan.sicleru@enea.com>
2016-06-17deploy: add support for multiple bridgesJosep Puigdemont1-1/+2
deploy.py: Some Fuel VMs may need more than one network interface. To be able to provide that, we now allow the user to specify the "-b" paramter (bridge) multiple times, creating a new NIC for each one of them. The NICs are created in the same order as they are given in the command line. There is no change in behavior from earlier versions, pxebr will still be the default bridge if none is specified in the command line. deploy.sh: To reflect the new capabilities of deploy.py, we introduce the possibility to specify -B more than once in deploy.sh, and honor that when calling deploy.py. We also make it possible to specify a comma separated list of bridges, as in: -B br1,br2. Change-Id: I1a0100f2cfe755ec6adfeedafb391c2357f46f51 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-17virtual_fuel: prepare class to allow multiple bridgesJosep Puigdemont1-8/+13
The VirtualFuel class has now two new methods: del_vm_nics: Deletes all interfaces from the VM. add_vm_nic: Adds a NIC to the VM, attached to the specified bridge. The following method has been deleted: set_vm_nic: implemented with the two new methods Apart from the deleted method, no functionality has been changed. This is just a small but necessary step towards adding support for configuring more than one NIC in the fuel VM. Change-Id: I9f02c8163dfb9768510e78d5d5e77a0bb43306fb Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-17vitual_fuel: set_vm_nic() takes no parametersJosep Puigdemont1-1/+1
Fixes: https://jira.opnfv.org/browse/FUEL-148 Change-Id: Id5a1d710abf425e75b6ff9eaa7b372285e200702 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-16virtual_fuel: add XML tree as attribute of VirtualFuelJosep Puigdemont1-7/+14
With this patch, the VM XML definition tree is an attribute of the object, this way it can be used by all methods without having to re-read the file. Methods added: update_vm_template_file: Flushes the contents of the in-memory XML representation of the VM to the backing file. Change-Id: I18d3f606b0c02cd589cb0f657599e8b03b0e817e Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-15virtual_fuel: initial support for remote libvirtJosep Puigdemont1-3/+53
With this patch it should be possible to create a fuel VM on a remote libvirt server by properly defining the LIBVIRT_DEFAULT_URI [1] environment variable. If the variable is not defined, then there should be no percievable change in behaviour for the script. This patch introduces the ability to create volumes (images) on a remote libvirt host where the Fuel VM is to be deployed. For now the volumes are created by default in a pool named jenkins, but the idea is to allow this to be configured, probably in the POD's DHA file. Since all virsh commands honor LIBVIRT_DEFAULT_URI, we use this environment variable to detect wheter we should create a volume or not. The rationale being that the variable will only be set if the user wants to to do the VM deployment on a remote libvirt host. We need to create a volume because we can not rely on being able to access the remote server's file system directly. The images are then transferred to the libvirt host using virsh commands. All this could also be done using scp and a user directory on the host machine, but using pools allows us to take advantage of libvirt's policies and file permissions. CHANGE: when LIBVIRT_DEFAULT_URI is defined, the script will not check for the presence of the required PXE bridge. This will still be checked when the Fuel VM is started and the bridge not found, but this happens at a later point than it does today. CHANGE: before this patch, the file system image was named like the VM: vm_name.raw. This patch introduces a change and adds a timestamp suffix to the image: vm_name-timestamp.raw. This is so to avoid collisions with an image with the same name on the remote pool (two PODs may be using the same pool). It may also be useful to keep around old file system images. FIXME: This patch requires a pool named "jenkins" in the remote libvirt server, and it will fail if it is not present. This should be configurable. Notice though that we can still define LIBVIRT_DEFAULT_URI as "qemu:///system" to create the Fuel VM on the local host. [1] https://libvirt.org/remote.html#Remote_URI_reference Change-Id: I40925ed31337d3ad9cf505f284f5c3d14e9129a0 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-15virtual_fuel: make vm_template an attributeJosep Puigdemont1-6/+5
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-15virtual_fuel: factor out image creation into a methodJosep Puigdemont1-1/+6
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-06-15VirtualFuel: Add temp_dir and vm_name attributesJosep Puigdemont1-6/+9
These two variables are defined in one of the methods right now. They will be useful to other methods too, so we add them as attributes to the object here. Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
2016-04-06Fix for breaking deployment.Nikolas Hermanns1-0/+2
If no vm definition is give, nothing should happen. Change-Id: I1fd01ef43fa3e5eab4a794c63254eaf6d80fc951
2016-03-18Configure the infra VMs over DHANikolas Hermanns3-10/+33
This commit enables the full configuration of the VM(fuel/controller/compute) defintion through the dha file. Change-Id: I4e78334d1e5aec1e98667343390283587f0b3ea5
2016-03-09Make number of cpus configurable in dha fileNikolas Hermanns3-10/+13
Some compones of openstack produce a lot of CPU load. With this commit it is possible to make more use of the Hypervisor where the virtual nodes runs on. Change-Id: Ide567dd0823c5526171c29073f2a36aa5f27d4b6
2016-03-01Changing raw to qcow2 for vFuel/Controller/ComputeNikolas Hermanns2-2/+2
A lot of diskspace is allocated although never used this commit changes to thin provisioning for the virtual enviroment. Change-Id: Ia128143a3bae9f3d85a9e749319c2f5343c1df4e
2015-12-08Refactor temporary directory creationPeter Barabas2-2/+4
Use Python's tempfile instead of forking a shell for mktemp. Change-Id: Icba442ea08d4098d67fb51575da16e85d4363beb Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
2015-11-27Restructcture of the directory layoutJonas Bjurel4-0/+260
Restructure of the directory layout due to move of Fuel into it's own repo JIRA: FUEL-85 Change-Id: I3647e1992a508f29dce06a5d6c790725c527f6f5 Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>