Commit Graph

389 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
Dmitry Guryanov 392f3859ff Calculation of interface types from templates fixed
In case of adding port on bond 'ether' type was set
for interface. This was root cause of the issue -
bond was processed as nic.

Closes-Bug: #1602817
Change-Id: I6a5136ce9ce5398aa6d55c795857769a7a41f7b0
2017-05-10 09:09:45 +03:00
Igor Gajsin 634b66df45 remove vmware
VMware not supported since Fuel 10.

Implements: blueprint remove-vmware

Change-Id: Ia26a97d13bb9c3d2e838d639efdababbb15f86da
2017-02-14 15:52:27 +00:00
Vladimir Kuklin cd2ee13830 Set nodes' statuses to 'error' when their nodegroup is deleted
According to the bug below and the spec, we did not implement
one multirack feature aspect.

https://specs.openstack.org/openstack/fuel-specs/specs/8.0/multi-rack-static.html#notifications-impact

Now we add resetting node to error to node group deletion callback and
send a notification.

Change-Id: I6b2bae5601ba7dbca620bb3861e95b0e554f8699
Closes-bug: #1644630
2017-02-07 17:44:06 +00:00
Jenkins ead3c8e52a Merge "Conform tests to the 11/ocata release" 2017-01-12 11:59:22 +00:00
Michael Polenchuk 16b9f6d8f2 Conform tests to the 11/ocata release
Serialization related tests have been conformed
to the 11/ocata release.

Change-Id: I249b15b799da3b649c5843f71d8eabf8b460f510
Related-Bug: #1638036
2016-12-16 16:06:40 +04:00
Andriy Popovych 220f8b4b77 Use dict_merge instead of update
During fetching NIC and Bonds attributes
attributes have been rewritten insted of
extending.

Change-Id: I542b601fc1cc154eccaa6fba1a0442a19b7b3353
Closes-Bug: #1644563
2016-12-14 15:02:02 +02:00
Mikhail 70aafb4aa8 Introduce new validation rules for tags and roles
Change-Id: Ia45c81a46e9323faa6471438acbfa6d65d01b7f4
Implements: blueprint role-decomposition
2016-11-30 19:56:52 +00:00
Andriy Popovych 0fac7bdba5 Bond attributes in interface API
Remove restrictions on set of BOND properties. Now BOND can have
any attributes.
Remove redundant `bond_properties`.

Change-Id: I60d1a0628d84c5ba49bb5b45824d660297dacccc
Implements: blueprint nics-and-nodes-attributes-via-plugin
2016-11-30 11:39:35 +02:00
Andriy Popovych 703290986f Support for plugin NIC attributes
Refactor interface logic:
  * remove interface_properties
  * CRUD operations for NIC attributes
  * default values for NIC meta and attributes

Change-Id: I26106f1b55c704a9e79d01fadc48c88a92ccc414
Implements: blueprint nics-and-nodes-attributes-via-plugin
2016-11-29 10:37:57 +02:00
Mikhail da99f08f74 Add default tags
Tags for rabbitmq, database, keystone and neutron.

Change-Id: I13861e55bcdfded55597e8c696ac05c1c5892f00
Implements: blueprint role-decomposition
2016-11-23 23:59:41 +03:00
Jenkins 35fc7381e5 Merge "Introduce tags_metadata file for plugins" 2016-11-23 16:07:57 +00:00
Viacheslav Valyavskiy e8ed5cba83 Introduce tags_metadata file for plugins
'tags_metadata.yaml' file contains set of tags for tasks
serialization. These tags can be used in roles introduced
by the plugin.

Change-Id: I1e68a240b2fe535188404eb47c23b875a4616f2a
Implements: blueprint role-decomposition
2016-11-22 22:58:55 +03:00
Viacheslav Valyavskiy 520e230690 Add tag API
Change-Id: I4e8325866ef63e424d5c6a93138e731001731568
Implements: blueprint role-decomposition
2016-11-22 19:12:22 +00:00
Jenkins 39ce86f674 Merge "Avoid creating tasks with empty nodes list" 2016-11-17 16:39:25 +00:00
Viacheslav Valyavskiy f1550ad2a2 Add ability to create role for cluster
Change-Id: Idcde0a582507293490379d146c4e24e5e58790d8
Implements: blueprint role-decomposition
2016-11-13 15:34:53 +03:00
Georgy Kibardin 70ebe00539 Avoid creating tasks with empty nodes list
For a granular deploy when a node is deleted and deployment is
triggered the list of nodes for deploy is empty and all remaining nodes
are in the list of affected nodes. This causes nonreexecutable tasks to
appear in the list of tasks with empty uids array.
This patch fixes the problem.

Change-Id: I7377c50df87d1f2448ac2bc775840738d535d7fd
Closes-Bug: #1628500
2016-11-09 12:37:19 +03:00
Mikhail Zhnichkov 1b75fdda21 Revert "Fix minor issues in tag API"
This reverts commit 319cb284c5.

Change-Id: I564c9c0adda3509a20e85fa9a0d2f0620447ec23
2016-11-08 16:56:06 +00:00
Viacheslav Valyavskiy 319cb284c5 Fix minor issues in tag API
Change-Id: I33277e04159b1c07c7d508611eea689fd6935393
Implements: blueprint role-decomposition
2016-10-25 23:20:58 +00:00
Andriy Popovych c311746282 Implement mechanism for plugin node attributes
Provide ability for plugins to add additional attributes for nodes.
* Added new NodeAttributesDefaultsHandler handler for getting
  default node attributes.
* Added code stuff for getting and updating additional plugin
  node attributes.
* Added code stuff to serialize plugin node attributes for orchestrator.

Change-Id: I5c6d6f3c815a034683e624b98fa1f360ab4b491c
Implements: blueprint nics-and-nodes-attributes-via-plugin
2016-10-21 19:47:14 +03:00
Georgy Kibardin f1000e0e76 Forbid legacy tasks only in LCM enabled clusters
In case we inherit old clusters, without LCM, we must not check their
plugins for legacy tasks to prohibit them.

Change-Id: I23dcc48cc1321d38666b8bcf7d435abd70ac9b61
Closes-Bug: #1620321
2016-09-06 09:34:02 +03:00
Bulat Gaifullin 03acc6603f Do not allow to run 2 or more tasks simultaneously
Simultaneous run of 2 or tasks may cause
side-effects and the simplest way is prevent this action.
Also fixed all places where rpc.cast called without commit

Change-Id: I029768900d345540c3b501f1fa3649b063d3a55d
Partial-Bug: 1615557
2016-08-30 14:45:56 +03:00
Ilya Kutukov 84c438604d Plugins v 5.0.0 support in plugins adapters
Now it is possible:
* To bring release as plugin
* To define multiple graphs types for the plugin

Change-Id: Idcac14e6f4055ca0e488efc2cc23945036a493d9
Implements-Blueprint: release-as-a-plugin
2016-08-25 04:57:44 +03:00
Bulat Gaifullin 3aec598e13 Enable logging in tests
The alembic_migration disables logger,
this patch re-enables it after calling the migration
Also removed direct using traceback from task_manager
Set 'ERROR' level for logger in tests

Change-Id: I1d5efcda820f7cc789ce04662a1a8e3c6f8d138d
2016-06-07 15:50:07 +03:00
Jenkins 8a6a0dcb61 Merge "Allow a user to run dry-run deployment" 2016-05-31 10:28:18 +00:00
Vladimir Kuklin e4fbfe80ed Allow a user to run dry-run deployment
Now following handlers:

     /clusters/:cluster_id/changes/
     /clusters/:cluster_id/changes/redeploy/
     /clusters/:cluster_id/deploy/
     /clusters/:cluster_id/deploy_tasks/

?dry_run=1 that is telling Astute not to run cluster executionat all.

Dry run assumes that it does not actually affect
cluster status regardless of their result.

Also, remove redundant update of nodes statuses to 'deploying'
within OpenStackConfigManager and DeploymentTaskManager as it should be
done by receiever.

Do not set cluster status to 'deployment' for these nodes in order to
retain its real status

Modify stop deployment tests to move failing stop deployment for already
deployed clusters to another test class. Since 9.0 we can run stop
deployment for new clusters.

Change-Id: I374fc86b63af64411d4a5ca45ff6c3680cb44897
Partial-bug: #1569839
2016-05-30 15:46:31 +00:00
Andriy Popovych 9d86b078cf Data model changes for Plugin NIC, BOND and Node attributes
This patch:
  * extends current DB model with new entities and provides
    related migrations.
  * extends plugin sync method to support storing new plugins
    attributes.
  * provides cosmetic fix for ClusterPlugin model. Lets write table
    names in the plural but model names in the singular.

Change-Id: I3edbde1d48461ce3fab7c93f17e2db5332b1f7fb
Implements: blueprint nics-and-nodes-attributes-via-plugin
2016-05-30 13:16:45 +03:00
Nikita Zubkov 73032343bb Get rid of fake tasks where they are not required
Replace fake_tasks with rpc mock for some tests. This patch covers not
all files with tests, the fix will be done in series of few patches.

Change-Id: I6d316a45974ea5518c32a78f069e3e88b167d1a4
Partial-Bug: #1440671
2016-05-11 16:35:53 +03:00
Jenkins 86363e69b3 Merge "Do not allow to update network group when deploy is in progress" 2016-04-22 13:19:13 +00:00
slava 6ba4c90f41 Do not allow to update network group when deploy is in progress
Change-Id: Ia49e2524613171e14d69d8038db439f1f87bdf13
Closes-Bug: #1559170
2016-04-21 23:43:46 +00:00
Dmitry Guryanov 665eed4e56 Fix syntax for python3
This patch fixes the code to make latest flake8 happy.
Changes:

1. There is no xrange in python3. Import range from
   six.moves or simply use range from builtins, where
   number of iterations is fixed and small.
2. Don't use unicode and long. There are six.text_type,
   six.string_types and six.integer_types to avoid it.
3. Replace 'file' with 'open'.
4. You can't put function argument into tuple directly
   (f = lambda (x, y): x += y; f((1,2))).

Change-Id: I2995ca71c94a2cbb8fe43dfeaf20f88b0b5bfa9c
2016-04-20 17:06:28 +00:00
Ryan Moe 297652e562 Move remaining nailgun.network files to extension
Network checker, connectivity check, network template,
and utils files were moved into the network manager extension.

Change-Id: I2f7f192ebbc6e9b1902e03c2a65ffaf46df5348e
Blueprint: network-manager-extension
2016-04-20 16:12:17 +03:00
Nikita Zubkov 6efdebe18c Add support of selected_task_ids to ClusterTransaction
Now when you run only one task from CLI or API this not starts the whole
deployment

Change-Id: Ibf339eaacee4f5596d3c5338323f79605604ffc1
Related-Bug: #1567112
2016-04-20 03:51:22 +00:00
Bulat Gaifullin f08e90e7bf Make task version check in lcm serializer optional
The option LCM_CHECK_TASK_VERSION will control
task serializer allows to start deploy with tasks
that have version less than 2.0.0 or not.

Change-Id: I452c91b8343bf2a77b037920d924238c0a851ba1
Closes-Bug: 1570973
2016-04-18 10:48:29 +00:00
Nikita Zubkov d5a790caab Add exceptions hierarchy
nailgun.errors have a huge set of exceptions but without hierarchy. This
patch remove exception generation from dict and make it explicitly with
python classes and add some exceptions hierarchy. Now all network errors
inherit from NetworkException and same for other exceptions.

Change-Id: I9a2c6b358ea02a16711da74562308664ad7aed97
Closes-bug: #1566195
2016-04-14 17:41:25 +03:00
Jenkins 4922a9820f Merge "Reworked ApplyChanges for LCM" 2016-04-14 12:06:56 +00:00
Bulat Gaifullin fe73beacc6 Reworked ApplyChanges for LCM
The following legacy tasks were reworked to use ClusterTransaction:
 - OpenstackConfigTaskManager
 - SpawnVMsTaskManager

Change-Id: I4a6f5f37161e4290050ec4926cf029cd7af566e4
Closes-Bug: 1565885
Closes-Bug: 1561994
Closes-Bug: 1565760
2016-04-14 13:03:07 +03:00
Dmitry Guryanov 739db1a555 Fix return value of EnvironmentManager.create_cluster
Always return sqlalchemy object from
EnvironmentManager.create_cluster, because it would
be easier to use return value from EnvironmentManager.create.

It's just a refactoring, so no bug or bluprint is tied with
this patch.

Change-Id: I9317a321b833b2eb6d6e745afc0e5251741792ec
2016-04-13 18:12:22 +03:00
Ryan Moe 1dda6ae043 Move network manager to extension
This moves the files for NetworkManager and its sub-classes into
a new extension. All import paths have been updated.

Blueprint: network-manager-extension
Change-Id: Icc2410fd9c411a47a3dee4573d4ef6f1a039c303
2016-04-11 05:33:29 -07:00
Jenkins acbb737005 Merge "Py3 support: Replace .iteritems() with six.iteritems()" 2016-04-11 10:08:42 +00:00
Alexander Saprykin 94524207a8 Py3 support: Replace .iteritems() with six.iteritems()
Change-Id: Ia37f12aa5b7f5b52c0a469df035a135927b3af8f
2016-04-07 15:40:56 +02:00
Vladimir Kuklin 051baaa8a5 Remove legacy graph checker
Earlier, we had only one deployment engine called
granular_deployment or role-based deployment.
It constructed a deployment graph in Nailgun and
did its sanity checking twice - before
deployment task starts and when the graph is contsructed.
Now, when we have task-based deployment by default with which
Astute does graph sanity checking, this check cannot be done
before task starts as engine choice is made now within the deployment
serializer. So, now we have 2 ways of doing this - call an engine, RBD
will call corresponding tasks serializer which will do graph acyclic check.

Change-Id: If081ce7a462bc5ced9459ba619d26aecf22f4916
Closes-bug: #1560555
2016-04-07 10:47:39 +00:00
Andriy Popovych f300d2f338 Avoid reading from tasks YAML file every time
Avoid reading `tasks.yaml` every time
Fix missing of `environment.yaml` file sync for plugins V(1,2)

Change-Id: Id3aed7b943b6942c223797a40d3d0214834ba31f
Closes-bug: #1527320
2016-04-05 21:07:23 +03:00
Ilya Kutukov 88fe73e91a Merged plugins tasks and release tasks are added to the cluster handlers
Following handlers are implemented with graph_type support:

* Get merged plugins tasks for plugins enabled for the environment
  `GET /clusters/<cluster_id>/deployment_tasks/plugins/`

* Get cluster release deployment tasks
  `GET /clusters/<cluster_id>/deployment_tasks/release/`

Change-Id: I3411860990728a43641c7685b1e6ee736aab5c23
Closes-Bug: #1563848
Partial-Bug: #1563851
2016-04-05 13:52:22 +03:00
Jenkins 1435f0d878 Merge "Don't use threads when running integration tests" 2016-03-30 12:27:35 +00:00
Nikita Zubkov 433eb9fdc6 Add API validator for DPDK
NetAssignmentValidator checks that DPDK enabled only for supported
interfaces, hugepages are configured and hypervisor type is kvm

Change-Id: I50a22cd837e0765f9b21da1973f2407660f62cd2
Partial-Bug: #1559224
Related to blueprint support-dpdk
2016-03-28 17:01:42 +00:00
Bulat Gaifullin 6d6bb7f169 Introduced LCM serializers
We need separate task serializers for LCM,
because LCM uses context per node for serialize tasks.
It also allows to isolate LCM related code for backward
compatibility with existing environments, that is not ready for LCM.

Change-Id: Ie95a58c8cf86eac1a5c3dbd956fafc401e40fed6
Implements: blueprint computable-task-fields-yaql
2016-03-28 11:48:06 +00:00
Mike Scherbakov 8f4a99c13f Don't use threads when running integration tests
Nailgun integration tests use fake tasks, which run in threads.
This has been causing random failures. Although those failures could
of been fixed by different sorts of improvements, increasing timeouts,
etc. - this is still not an ideal solution.
Proposed patch removes use of threads in tests. All fake tasks code
which used to be running in threads only is ran synchronously for tests.
Threads are still used for fakeUI as before.
More details about random test failures can be found in mailing list:
http://lists.openstack.org/pipermail/openstack-dev/2016-March/089514.html

Change-Id: Iaa5b245680e7257ff46b5ddc1b7aa9400284e705
2016-03-24 16:10:25 -07:00
Aleksey Kasatkin 4440ba8f26 Remove assert with task.progress comparison
Task progress calculation is not strictly tied to completion of task
in fake tasks. So, it does not make sense in tests to compare task.progress
against 100% when task is completed.

Change-Id: I0cb5217f4fe4df4981d5a9b69fe353ba2641d5a9
Closes-Bug: #1558634
2016-03-18 09:16:59 +00:00
Aleksey Kasatkin 3e4da833e5 Accept both 200 and 202 if no particular result is awaited
When deferred task is started successfully API can return either 200
or 202 depending on task status. So, we should not rely on particular value
if caller did not set it (comparand) explcitly.

Change-Id: I4c596cd0b591ef5985e2727fe204518d74a61332
Closes-Bug: #1558173
2016-03-16 20:36:51 +02:00