summaryrefslogtreecommitdiffstats
path: root/deploy/dha_adapters/libvirt_adapter.py
AgeCommit message (Collapse)AuthorFilesLines
2016-06-15virtual_fuel: initial support for remote libvirtJosep Puigdemont1-0/+31
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-03-01Changing raw to qcow2 for vFuel/Controller/ComputeNikolas Hermanns1-2/+5
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 Barabas1-1/+2
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 Bjurel1-0/+138
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>
194' href='#n194'>194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0


This document provides the release notes for <RELEASE> of <COMPONENT>.

.. contents::
   :depth: 3
   :local:


Version history
---------------

+--------------------+--------------------+--------------------+--------------------+
| **Date**           | **Ver.**           | **Author**         | **Comment**        |
|                    |                    |                    |                    |
+--------------------+--------------------+--------------------+--------------------+
| 2015-04-14         | 0.1.0              | Jonas Bjurel       | First draft        |
|                    |                    |                    |                    |
+--------------------+--------------------+--------------------+--------------------+
|                    | 0.1.1              |                    |                    |
|                    |                    |                    |                    |
+--------------------+--------------------+--------------------+--------------------+
|                    | 1.0                |                    |                    |
|                    |                    |                    |                    |
+--------------------+--------------------+--------------------+--------------------+

Important notes
===============

<STATE IMPORTANT NOTES/DEVIATIONS SINCE PREVIOUS ITERATIVE RELEASE AND OTHER IMPORTANT NOTES FOR THIS RELEASE>

<EXAMPLE>:

**Attention:** Please be aware that since LSV3 a pre-deploy script must be ran on the Fuel master -
see the OPNFV@Fuel SW installation instructions


Summary
=======

<SUMMARIZE THE RELEASE - THE CONTENT - AND OTHER IMPORTANT HIGH LEVEL PROPERTIES>

<EXAMPLE>:

Arno Fuel@OPNFV is based the OpenStack Fuel upstream project version 6.0.1,
but adds OPNFV unique components such as OpenDaylight version: Helium as well as other OPNFV unique configurations......


Release Data
============
<STATE RELEVANT RELEASE DATA/RECORDS>

<EXAMPLE>:

+--------------------------------------+--------------------------------------+
| **Project**                          | E.g. Arno/genesis/fuel@opnfv         |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Repo/commit-ID**                   | E.g. genesis/adf634a0d4.....         |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release designation**              | E.g. Arno RC2                        |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release date**                     | E.g. 2015-04-16                      |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Purpose of the delivery**          | E.g. OPNFV Internal quality assurance|
|                                      |                                      |
+--------------------------------------+--------------------------------------+

Version change
^^^^^^^^^^^^^^^^

Module version changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<STATE WHAT UPSTREAM, - AS WELL AS OPNFV MODULE VERSIONS HAVE CHANGED>

<EXAMPLE>:

- Fuel have changed from 5.1 to 6.0.1

- OpenDaylight has changed from Helium-SR1 to Helium-SR2

Document version changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<STATE WHAT RELATED DOCUMENTS THAT CHANGES WITH THIS RELEASE>

<EXAMPLE>:

- The Fuel@OPNFV installation guide version has changed from version 0.1 to to 0.2

Reason for version
^^^^^^^^^^^^^^^^^^^^
Feature additions
~~~~~~~~~~~~~~~~~~~~~~~
<STATE ADDED FEATURES BY REFERENCE TO JIRA>

<EXAMPLE>:

**JIRA BACK-LOG:**

+--------------------------------------+--------------------------------------+
| **JIRA REFERENCE**                   | **SLOGAN**                           |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-123                              | ADD OpenDaylight ml2 integration     |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-456                              | Add auto-deployment of Fuel@OPNFV    |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

Bug corrections
~~~~~~~~~~~~~~~~~~~~~

**JIRA TICKETS:**

+--------------------------------------+--------------------------------------+
| **JIRA REFERENCE**                   | **SLOGAN**                           |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-888                              | Fuel doesn't deploy                  |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-999                              | Floating IP doesn't work             |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

Deliverables
----------------

Software deliverables
^^^^^^^^^^^^^^^^^^^^^^^

<STATE WHAT SOFTWARE DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>

<EXAMPLE>:

Documentation deliverables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

<STATE WHAT DOCUMENTATION DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>

<EXAMPLE>:


Known Limitations, Issues and Workarounds
=========================================

System Limitations
^^^^^^^^^^^^^^^^^^^^
<STATE ALL RELEVANT SYSTEM LIMITATIONS>

<EXAMPLE>:

**Max number of blades:**   1 Fuel master, 3 Controllers, 20 Compute blades

**Min number of blades:**   1 Fuel master, 1 Controller, 1 Compute blade

**Storage:**    Ceph is the only supported storage configuration.

**Max number of networks:**   3800 (Needs special switch config.)

**L3Agent:**   L3 agent and floating IPs is not supported.

Known issues
^^^^^^^^^^^^^^^
<STATE ALL KNOWN ISSUES WITH JIRA REFERENCE>

<EXAMPLE>:

**JIRA TICKETS:**

+--------------------------------------+--------------------------------------+
| **JIRA REFERENCE**                   | **SLOGAN**                           |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-987                              | Nova-compute process does            |
|                                      | not re-spawn when killed             |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| BGS-654                              | MOS 5.1 : neutron net-list returns   |
|                                      | "400 Bad request"                    |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

Workarounds
^^^^^^^^^^^^^^^^^

<STATE ALL KNOWN WORKAROUNDS TO THE ISSUES STATED ABOVE>

<EXAMPLE>:

- In case the contact with a compute is lost - restart the compute host
- In case the disk is full on a controller - delete all files in /tmp

Test Result
===========
<STATE THE QA COVERAGE AND RESULTS>

<EXAMPLE>:

Fuel@OPNFV Arno RC2 has undergone QA test runs with the following results:

+--------------------------------------+--------------------------------------+
| **TEST-SUITE**                       | **Results:**                         |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| Tempest test suite 123               | Following tests failed:              |
|                                      |                                      |
|                                      | 1. Image resizing....                |
|                                      |                                      |
|                                      | 2. Heat deploy....                   |
+--------------------------------------+--------------------------------------+
| Robot test suite 456                 | Following tests failed:              |
|                                      |                                      |
|                                      | 1.......                             |
|                                      |                                      |
|                                      | 2.......                             |
+--------------------------------------+--------------------------------------+

References
==========
<STATE RELEVANT REFERENCES FOR THIS RELEASE/VERSION>

<EXAMPLE>:

For more information on the OPNFV Danube release, please see:

http://opnfv.org/danube