If multiple processes are creating/erasing different fuel-devops
environments at the same time, there can be race condition during
libvirt object creation/deletion like:
'bridge virbr3 already exists' and others.
This patch allows to use a lock file to avoid such situation:
export DEVOPS_LOCK_FILE=/run/lock/devops_lock
If the environment variable DEVOPS_LOCK_FILE is not set, then
the lock file is not used (backward compatibility to avoid any
errors caused by using the lock file by default).
Change-Id: Id28f442959594aa5d6bb5c1d15e4f0880653070d
Bump fuel-devops master branch to version 3.0.3
There is a lot of changes from the fuel-devops 3.0.2.
Change-Id: Iea58e088fe17fdd0d5f43e9c812edc0c2d1729ca
rework imports: import module instead of object
http://docs.openstack.org/developer/hacking/#imports
Move retry to decorators and warn, if called from old place
Fix __deepcopy__ special method
Change-Id: Ib958ea40cffbc508e3ab179bce9b300423b2fac1
We have much more, than 2 possible exit codes ant
it's difficult to remember all of it's, so switch to IntEnum (int compatible operations)
Change-Id: I3f3732ba407f20d8397dc385e53519d868afb82f
Example of usage:
$ virtualenv venv-devops
$ . venv-devops
$ pip install /path/to/fuel-devops
$ dos_check_env.sh -I
- dos_check_env.sh - Wrapper which run all checks with/without options.
- dos_check_system.sh - System requirements check
(kvm module/hardware virtualization etc).
- dos_check_packages.sh - Check if all necessary packages are installed.
- dos_check_db.sh - Check DB USER and user GRANTs on DB
in case of PostgreSQL: Check if all necessary packages are installed
in case of SQLite : Check if database exists.
- dos_functions.sh - Set of functions that are used inside of scripts above.
blueprint fuel-devops-installer
Change-Id: Ifa3f0adc3deee85d084ca84fc224a5a8df713838
- Added helper to convert utc datetime to local
- Django's TIME_ZONE set to None, to allow detection of system
timezone
- logging time stays in UTC
Change-Id: I436fbae196c86f1a8d7555ebe3e0f405a53b0d3e
Closes-Bug: #1586212
Usage with PostgreSQL:
In requirements: fuel-devops[postgre]
In pip: pip install fuel-devops[postgre]
Change-Id: I0cedc5ac6b73a12b6311404a64208e1e93643580
1. install.rst
2. README.md
3. Minor fixed for network and environment models docstrings
4. Already not used helpers (
_underscored - was implemented in early devops 3,
KeyPolicy) has been dropped completely.
Change-Id: I36b537915e019193f28b452dbac13ee1c9ab289e
- Log.yaml has been removed.
- All settings for logger have been moved into scripts.
- Changed log.levels for some events to debug in libvirt_driver.py.
- Added variables LOGS_DIR and LOGS_SIZE.
- LOGS_DIR - EnvVar with path to the directory where devops logs are stored.
Default path is ~/.devops
- LOGS_SIZE - EnvVar with Size of devops log file(in bytes).
Default size 10485760(10MB).
Closes-Bug: #1546629
Change-Id: Ia84841bce0deae419d5a0df3051a0339ce4b82b4
* Replace manual implementation of keystone connection
by standard keystoneauth.session
* Remove sphinx dependency: it's not used inside package
PROS: easier to maintain, less code.
Related-Bug: 1542275
Related-Bug: 1558527
Related-Bug: 1564913
Change-Id: I0564fa103c79d6dc36cbfde526876cd32d6a0a01
Split requirements for test and main for setup
(Do not install requirements, thisch is not needed for work)
Remove tests code, which is not used.
Remove unused IPMI driver
Change-Id: I936b96e5bb1178266d3ec8446e307daee8e6d5cd
Migrate from 1.6 to community selected:
1.8<= vesion < 1.9
Version 1.8 is LTS
On driver load:
'devops.driver.libvirt.libvirt_driver' has been marked as
deprecated and renamed to 'devops.driver.libvirt'
Closes-bug: #1373381
blueprint fuel-qa-python3-compatibility
Change-Id: I38c99db5f4dc53c56c4dd22ed679ca1f01979848
This patch adds a class which allows all derived classes to be
polymorphically extended by extra fields. All additional fields
will be saved as a json in a special db field called 'params'.
It also allows:
- to save/load derived classes to the same parent table.
- filter by new fields.
- to store nested fields.
Change-Id: I2b2024eec126fd9c05a36247c87592d481530104
blueprint: template-based-virtual-devops-environments
We need to publish fuel-devops on pypi,
this is why we need to properly configure name of
the package and remove "mirantis" from keywords
Change-Id: Ide53ae2771c2697ede6e1cca79c07192d66f0b49
Closes-Bug: #1527530
* Added wrapper around snapshots returned by libvirt to make whole code
more pythonic
* Snapshots are sorted by creation date by default
* Added lxml as runtime dependency
* Added tabulate as runtime dependency and used to print snapshot
tabular data
DocImpact
Closes-Bug: #1463361
Change-Id: Ia2c2fab4ac763865ab3f837c63a87101e567d6e8
* added py27 tox env to default env list
* added pytest and pytest-django as test requirements
* tests with database marked as expected to fail until DB will
be configured correctly on CI
* fixed issues and fails in tests
Partial-Bug: #1462906
Change-Id: I4e37ca12c645950eedc9ced5b59daf1fd22005ee