Commit Graph

61 Commits

Author SHA1 Message Date
Andreas Jaeger e61cc055ab Retire repository
Fuel (from openstack namespace) and fuel-ccp (in x namespace)
repositories are unused and ready to retire.

This change removes all content from the repository and adds the usual
README file to point out that the repository is retired following the
process from
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project

See also
http://lists.openstack.org/pipermail/openstack-discuss/2019-December/011647.html

Depends-On: https://review.opendev.org/699362
Change-Id: I10917e42829b459c41ca46514faa72fc46abf7be
2019-12-18 09:52:23 +01:00
Alexander Kislitsky 4fa861fa8a Distributed serialization implementation
Distributed serialization is implemented with python distributed
library. We have scheduler for jobs management and workers for
jobs processing. Scheduler is started on the master node as well
as set of workers on it. Also workers are started on all nodes.
In the cluster settings we can select the type of serialization
and nodes statuses that allows serialization on it. By default
nodes with status 'ready' are excluded from the workers list.

For data serialization we are using only nodes from the cluster
where serialization is performing.

Before the computation fresh nailgun code is sent to the workers
as zip file and it will be imported for job execution. So we always
have fresh nailgun code on the workers.

In one job we are processing chunks of tasks on the workers. This
approach significantly boosts performance. The tasks chunk size
is defined as settings.LCM_DS_TASKS_PER_JOB parameter.

For limiting memory consumption on the master node we use parameter
settings.LCM_DS_NODE_LOAD_COEFF for calculation max number of jobs
in the processing queue.

Synthetic tests of distributed serialization for 500 nodes with
nubmer of ifaces >= 5 performed on 40 cores (4 different machines)
took 6-7 minutes on average.

Change-Id: Id8ff8fada2f1ab036775fc01c78d91befdda9ea2
Implements: blueprint distributed-serialization
2017-03-24 15:15:30 +00:00
Vladimir Kozhukalov b232c9f9e7 Fix requests requirements
Change-Id: Ib694ea4eb0fd08b2b8532ebe00b36b49155e91a1
Closes-Bug: #1672658
(cherry picked from commit ed41575d09)
2017-03-15 07:58:22 +00:00
Georgy Kibardin 5eb41d7bc1 Stick to jsonschema prior 2.6.0
Since they have broken compatibility in error messages.

Closes-Bug: #1662529

Change-Id: I8c7449297a488ea3fe90cda58e5dba0d8d4d68ff
2017-02-07 14:13:55 +00:00
Ilya Kutukov 3b4d3ca59f Babel version 2.3.x excluded in requirements
Change-Id: I14f13ac3aac90b4e304e51a512c9f99a85d7a918
Closes-Bug: #1572286
2016-04-19 22:09:43 +03:00
Bulat Gaifullin 055359b58f Introduced YAQL helpers
Added syntax sugar to simplify YAQL expressins.

Change-Id: Ifb5ace0302dcf4e041d3962271faec669d494252
Implements: blueprint computable-task-fields-yaql
2016-03-24 19:39:26 +03:00
Evgeniy L 73a318f656 Remove pinning of pip package
It has been fixed in pip upstream
https://github.com/pypa/pip/blob/8.0.2/CHANGES.txt#L11-L13

Change-Id: If2cb933e0e000c776b4d4612ec559ab7185489d4
Related-bug: #1536188
2016-01-22 12:33:54 +03:00
Aleksandra Fedorova 767b44a0ef Limit pip version for argparse
pip 8.0 can not overinstall new argparse modules.

Change-Id: I0240ec979a2de4d0e148919b36fece63dd22528a
Related-Bug: #1536188
2016-01-21 18:10:30 +03:00
Tatyana Leontovich b21785e3b2 Set lowest version for SQLAlchemy to 0.9.9
Change-Id: I33aa2e15484e795f379f1590fb62bd8e5ba05b50
Closes-Bug: #1534302
2016-01-14 23:36:43 +02:00
Alexander Kislitsky 5ece9e7c5d SQLAlchemy requirements fixed
SQLAlchemy version requirements changed accordingly to OpenStack
requirements.

Change-Id: Ibbf61e95ab5d7b3ab0316c53fd8b007c78a8da47
Closes-Bug: #1534093
2016-01-14 14:03:54 +03:00
Valentin Kaplov 4aaa691d7c Changed JSON fields on mutable objects in Release object
Changed all JSON types fields of Release object on corresponding
Mutable(Dict/List) types.
Changed default value of 'vmware_attributes_metadata' field.

Change-Id: I024e199518526c1e60058c0ad25150ed4a543d26
Partial-Bug: 1482658
2015-12-31 14:21:46 +03:00
Artem Roma e7fa62d6a2 Update Nailgun python requirements
Synchronize 'requests' requirement with OpenStack global requirements.

Change-Id: Ie556a2ed224963a3e99ce1c54455c1f8921d5909
Closes-Bug: #1528149
2015-12-21 12:06:08 +02:00
Dmitry Teselkin 0e09dce510 Update requirements to stable/liberty
Update requirements in requirements.txt file.

Require the following modules only if python2.6:
* argparse
* ordereddict

Is NOT compatible with CentOS6 master node.

Use new oslo import notation.

Change-Id: Ib6a5be6ad784339ba4ee2f69a94a400ab8d79dfe
Blueprint: master-on-centos7
2015-12-04 16:59:03 +02:00
Dmitry Teselkin 7d4a5e8e62 CentOS7 Compatibility
python2.7, which is default in CentOS7, provides
the following modules out of box:
* argparse
* orderecdict

There is no such packages on CentOS7 so we don't need to
declare them as requirements.

Blueprint: master-on-centos7

Compatible with CentOS6 master node

Change-Id: Ia1659a5c423698747929465f6f85074c5894bcf5
2015-11-30 13:38:09 +00:00
Vladimir Kozhukalov 31fd638659 Change setuptools requirement to <=18.5
The thing is that this requirement setuptools==18.5
becomes a part of fuel-nailgun RPM package.
The highest available version in mirror.fuel-infra.org
at the moment is python-setuptools-0.7.2 which
leads to the error pkg_resources.VersionConflict when
trying to load nailgun entry points using for example

load_entry_point('nailgun==8.0.0', 'console_scripts', 'nailgun_syncdb')

Console script entry points are used during the Fuel
master node deployment.

Change-Id: I1e9b326912ef2e60da87f89af89d3a7968818276
Related-Bug: #1519727
Closes-Bug: #1519990
2015-11-26 01:59:05 +03:00
Ilya Kharin 0f4dfa4c5d Pin setuptools == 18.5
Yesterday the new versions of setuptools (18.6 and 18.6.1) were released
where some functionality such as installation in the editable mode was
broken. It will be fixed in the 18.6.2 release.

Change-Id: Id19879c788efbba6c6e72fe6a4a97418df124525
Partial-Bug: #1519727
2015-11-25 13:30:05 +03:00
Alexey Shtokolov dd155ad347 Limited 'requests' version in requirements
Due https://review.openstack.org/#/c/246651/
Closes-Bug:#1519318

Change-Id: Ib5fe44ae34c330ee1da1686f32b7c903b783d630
2015-11-24 11:39:00 +00:00
Igor Kalnitsky 6bad1cb427 Drop openstack.common, use oslo.db instead
The libraries we use from oslo-incubator project has been evolved into
separate libraries long time ago. Let's drop incubator, and use oslo.*
projects instead. It reduces our tech-debt, and introduce possibility
to fit upstream criteria.

Change-Id: Ib0bffc1d3e7c46f1028e06cda9bc0900acc26ee4
Closes-Bug: #1511427
2015-11-03 16:11:08 +02:00
Igor Kalnitsky 7fdd1d3e59 Pin oslo.utils < 1.4.1
Few hours ago the new version of oslo.utils (1.4.1) has been released [1].
It has incompatible requirements for oslo.i18n, so we have to pin it
temporary until we up oslo.i18n version.

[1]: http://git.openstack.org/cgit/openstack/oslo.utils/commit/?id=1.4.1

Closes-Bug: #1496751

Change-Id: Ic2f13d0aa4a8e3c9d1744401113db8238c9d01a2
Signed-off-by: Igor Kalnitsky <igor@kalnitsky.org>
2015-09-17 11:47:40 +03:00
Sebastian Kalinowski 44d0639af4 Pin requirements to versions from Kilo
Updated version of upper packages bounds to be more in line
with those from Kilo's global requirements.
This solved some of the problems with constantly breaking
releases of new OSt & oslo packages.
Unfortunately not all of them are in line still so we need pinning
for example inc ase of stevedore.

Change-Id: Iefa3628af5ae86414082b7100a671544b354e355
Partial-Bug: #1481212
2015-08-05 05:06:54 +00:00
Ilya Kharin e93635c89e Pin version of stevedore and oslo.context
Released a newest version of stevedore 1.7.0 (used by oslo.config)
requires pbr<2.0,>=1.3 that break requirements of pinned oslo.config.

The same thing happened with oslo.context.

Change-Id: I2113d929bd5556b13cf77cdc89976ad703977ac5
Closes-Bug: #1481212
2015-08-04 10:13:46 +00:00
Sebastian Kalinowski c0bd5b4ccb Pin networkx version below 1.10
networkx is not compatible with Python 2.6 starting with version 1.10

Change-Id: Icd41b40b453079d8cbed427df449dd0226426f2b
Closes-Bug: #1480793
2015-08-03 09:44:30 +02:00
Ivan Kliuk 154436e977 Swap deprecated oslo namespaces
Since 'oslo.config' and 'oslo.serialization' namespaces are deprecated, they
are swapped with 'oslo_config' and 'oslo_serialization' correspondingly.
Lower bounds of supported versions are updated as well.

Change-Id: I133c7676da504933d03e147af3a239d6559d5aac
Closes-Bug: #1478900
2015-07-23 23:33:58 +03:00
Vladimir Kozhukalov 5417cf78a4 Fix CI
* pin oslo.serialization<1.5.0
* pin oslo.config<=1.11.0
* pin oslo.utils<1.5.0

Closes-Bug: #1476399
Change-Id: I71f94f031ed2e23d1dc5f958da6340f0cc4d3b39
2015-07-21 10:32:07 +03:00
Evgeniy L d6df05bee5 Pin oslo.i18n version for nailgun
Change-Id: I6622713c422063e3e22dca010a448872980cb0cb
Closes-bug: #1468053
2015-06-23 21:22:01 +03:00
Sebastian Kalinowski 1ca432833e Pin keystonemiddleware max version
To resolve requirements conflicts in most painless way before 6.1 GA
let's ping keystonemiddleware to max version 2.0.0 and in 7.0 we
can remove upper bounds as well update packages in our mirros.

Change-Id: I98055060480a2ef80b9d56a211812e98e27fa2e1
Closes-Bug: #1466733
2015-06-19 10:07:52 +02:00
Sebastian Kalinowski 9f6004fac8 Pin upper bound of python-cinderclient version
python-cinderclient > 1.2.1 require python-keystoneclinet 1.6 when we install
1.4 due to fix problem with pbr version caused by keystonemiddleware
We could require higher versiona of keystonemiddleware (>=1.5) but it
would be much higher than the version we have in repos (1.2) for 6.1

Change-Id: I449d23cf5e563b9de386beb249437bbf98db47f3
Closes-Bug: #1464132
2015-06-11 10:16:49 +02:00
Sebastian Kalinowski ed0540a369 Set upper bounds of packages using old pbr
Because some of the packages (python-cinderclient, keystonemiddleware)
do not release new versions with pbr requirements aligned with
OpenStack global requirements, we have a conflict in requirements
since new packages install pbr 1.0.1 (newest one) and "old" packages
want pbr<=1.0.
Because of that we limit higher version of explicitly installed packages
so we avoid this issue.

Change-Id: If90e0795cf8cebdeb381b17ad0a694b7b35f3d88
Closes-Bug: #1461980
2015-06-05 10:00:08 +02:00
Dmitry Shulyak 7dc2b8bb3d Use OrderedDict as data structure for networkx graph
OrderedDict will preserve order in which tasks are inserted
and given that fact that json array is structured, and
tasks found always in same order from directory -
we will guarantee that order of execution will not be changed,
even for tasks with same requirements

Change-Id: I5bc60b9754bb6a8e0d1318848d810603ec7b201e
Closes-Bug: 1434132
2015-03-20 10:41:50 +02:00
Sebastian Kalinowski 0038afa326 Add graph visualization handler
* added handler which allow to get a DOT representation of
  deployment graph (full or selected tasks):
  /api/v1/clusters/<id>/deploy_tasks/graph.gv
  Colors for nodes in graph:
  - groups - blue
  - stages - red
  - task that will not be executed - gray
  - normal task - green
  Available params:
  - tasks - list of tasks that will be selected to make a deployment
  - parents_for - show only predecessors/parents for given task
* added pydot-ng as a requirement
* in tox env always install newest package

Depends on: I706e18815f35904bf1f148edba818d281f2005b0

Change-Id: Id6fe85efe2549a63737ad50e5e55a70a480c83ab
Implements: blueprint granular-deployment-based-on-tasks
2015-03-09 15:08:39 +01:00
Maciej Kwiek 1523c0701a Replace jsonutils with oslo.serialization version
jsonutils is now in separate library, and the oslo.serialization will be
used from now on.

Change-Id: I28b6b70e437f154cf1b9ce0b15b0c3e716d170ee
Depends-On: https://review.openstack.org/#/c/158674/
Closes-Bug: #1400661
2015-03-02 10:35:31 +01:00
Artem Roma f34c22ff04 Volumes info collecting added
OSWL utilities updated. Code that supports collecting volumes info
added. This patch is dependent on [1].

[1]: https://review.openstack.org/#/c/156643/

Change-Id: Ifcb44bf990d46ce79cdcc67d533f598146710ec2
Implements: blueprint openstack-workload-statistics
2015-02-24 23:13:27 +00:00
Igor Kalnitsky a87dc20ae5 Change Nailgun urllib3 requirement to fit its spec
The requirements list should be the same in both requirements.txt and
nailgun.spec. So change urllib3==1.7 to urllib3>=1.7.

Change-Id: I9e2da92c08f138da5ce9fcda362b2e2bfbe34fb9
Closes-Bug: #1412711
2015-01-20 11:47:43 +02:00
Dima Shulyak 3a95f2d702 Graph based task serializer for deployment
Historically dependencies between roles was hardcoded in nailgun
orchestration logic. To support granular roles and plugins
we need to be able to define it with configuration.

The easiest and most essential way to resolve dependencies
between roles, tasks and stages is to use graph model, which is
added in this patch.

RFC of API:
  https://etherpad.openstack.org/p/rfc_granular_api

Required change in astute:
  Change-Id: I28928e86ea4017288478703c6075b315b120349a

implements blueprint granular-deployment-based-on-tasks
Change-Id: Ie627cbe54cd88627ece3d5b559daf0475f460abb
2014-12-24 13:25:25 +00:00
Igor Kalnitsky 4a276068b9 Use build_app from app.py, not from wsgi.py
For tests it's important to use `build_app` from app.py because it doesn't
use the `HTTPLoggerMiddleware`. This makes us possible to run tests without
write permissions in `/var/log/nailgun`.

The commit also removes the obsolete `paste` package from dependencies.

Change-Id: I401ef74abc95961d5687d12835752b881ef0e7ef
Closes-Bug: #1396685
2014-12-05 18:27:46 +02:00
Igor Kalnitsky 8f97d34cba
Increase Fuel-Web projects' versions
Should be merged at once with relevant patches to:

* fuel-ostf
* fuel-astute
* fuel-main

Change-Id: Ic68983a8fb91c32d73408cd1f54439062175ee75
Closes-Bug: #1395279
2014-11-29 10:44:42 +02:00
Jenkins 58e5f47457 Merge "Revert "Increase Fuel-Web projects' versions"" 2014-11-28 21:58:58 +00:00
Dmitry Pyzhov 42c9e24340 Revert "Increase Fuel-Web projects' versions"
This reverts commit f60f39c7b9.

Change-Id: I77370f00f31ed50efea3bc51503e150736a572d6
2014-11-28 21:53:03 +00:00
Jenkins 8a03f0252b Merge "Increase Fuel-Web projects' versions" 2014-11-28 17:30:00 +00:00
Igor Kalnitsky f60f39c7b9
Increase Fuel-Web projects' versions
We need to increase Fuel projects' versions at least once per release,
because that will help us to track problems in multi-releases
environments and prevent us from some bugs (like the nailgun of same
version are available in few repos).

The patch should be merged at once with next one:

    https://review.openstack.org/#/c/137555/
    https://review.openstack.org/#/c/137566/
    https://review.openstack.org/#/c/137563/

Change-Id: I7ba73ce63a9fb228ef8c8b40f5feda5a32150a3c
Closes-Bug: #1395279
2014-11-27 18:22:15 +02:00
Aleksey Kasatkin 4a0b9998b8 urllib3 exceptions are logged without trace
urllib3.exceptions.ProxyError and urllib3.exceptions.DecodeError are
the urllib3 exceptions which are not handled by requests (old version)
so it is required to catch urllib3 exceptions separately.
This can be removed when requests==2.4.3 will be included to Fuel
(see https://bugs.launchpad.net/fuel/+bug/1394182).

This patch requires changes to fuel-main:
https://review.openstack.org/137343

Closes-Bug: #1390457

Change-Id: I30891796ea85289f81231c4cad3c802e33d21b03
2014-11-26 17:13:25 +02:00
Artem Roma dc7356b5f9 Collector of OpenStack info added
POC for logic that implements collector of OpenStack installalation parameters
added. Now only number of instances inside of installation is gathered.
Collected information extends installation structure.

Is dependent on change in fuel-main repo [1].

[1]: https://review.openstack.org/#/c/135653/

Change-Id: I42f7021ccf8ef9fa22b9d5fdedf0445a26a7cfbe
Implements: blueprint send-anon-usage
2014-11-25 17:38:44 +02:00
Vladimir Kozhukalov 8b237d0c96 Added requests into nailgun/requirements.txt
There is also a patch to fuel-main which adds
python-requests to nailgun package spec.

fuel-main patch: I280de416af0079da1976ab37112dbf8764ef2839

Change-Id: I73db9cd7724291dc57904834d38dbe9afb371462
Closes-Bug: 1393859
2014-11-19 15:38:31 +03:00
Sebastian Kalinowski 3f8e0b3576 Use keystonemiddleware package
keystonemiddleware package will be used instead of deprecated
keystoneclient.middleware module to authorize requests with
keystone auth_token
python-keystoneclient was left as a requirement to allow
usage of 'keystone' command and updated to new version

Change-Id: I525a4914dba31f7f0309900936ace01f9752866d
Implements: blueprint access-control-master-node-improvments
Related-Bug: #1383616
Depends: I90005ac4054cc585fd23c0e91cfcd51ef1ce6a9d
2014-10-29 12:38:47 +00:00
Evgeniy L 7bf81cef44 Configuration file plugins support for nailgun
- Task serialization logic for pre/post hooks
    - PluginSerializer object added
    - API for interaction with Plugins db schema
    General API requests supported
    GET/POST /plugins
    GET/PUT/DELETE /plugins/<plugin_id>
    - Plugins and ClustersPlugins db models added
    ClusterPlugins used to identify enabled plugins for a
    given cluster
    - Configuration uploading logic stored in Plugin wrapper

Co-authored-by: Dima Shulyak <dshulyak@mirantis.com>
Co-authored-by: Evgeniy L <eli@mirantis.com>

implements: blueprint cinder-neutron-plugins-in-fuel
Change-Id: I986f5be9ed3c3adaf7583d1bfc546cbe705db9ec
2014-10-24 16:42:12 +04:00
Sebastian Kalinowski 242453f99f Add missing 'six' dependency to nailgun
Due to the missing entry for 'six' in requirements.txt for nailgun
in some cases old version of six was used (from other packages) which
was causes issues with missing features in older version of six.

Now this dependency has been added.

Change-Id: Ib44dbd02e6d775ca269460d836d9a2c354513e3b
Closes-Bug: #1366728
2014-09-30 10:41:00 +02:00
Matthew Mosesohn dc8576a00b Remove max version for some nailgun packages
Removed max for:
keystoneclient
netaddr
oslo.config
alembic
SQLalchemy
simplejson

Change-Id: Ia8398df2ffaf508bc1ff39363bb0c94154475da3
Related-Bug: #1361279
blueprint fuel-deploy-juno
2014-09-29 16:08:54 +04:00
Dima Shulyak 9612a2d29b Set top version for python-keystoneclient
Required to ensure that no system level dependencies will be
added to keystoneclient, which can break our ci

Related-Bug: #1347583
Change-Id: I1baed0598ae730f5a2a14b8dc9cd331aea37d34c
2014-07-23 11:03:09 +00:00
Łukasz Oleś 8ffe730af6 Access control support
Change-Id: Ic842885c7bcef0e9dc7728837b6cd396ccf52fbe
Implements: blueprint access-control-master-node
2014-07-04 15:45:37 +02:00
Jenkins bc614a0122 Merge "Parser for expressions for config (python part)" 2014-06-17 15:12:55 +00:00