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
During fetching NIC and Bonds attributes
attributes have been rewritten insted of
extending.
Change-Id: I542b601fc1cc154eccaa6fba1a0442a19b7b3353
Closes-Bug: #1644563
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
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
'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
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
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
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
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
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
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
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
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
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
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
Network checker, connectivity check, network template,
and utils files were moved into the network manager extension.
Change-Id: I2f7f192ebbc6e9b1902e03c2a65ffaf46df5348e
Blueprint: network-manager-extension
Now when you run only one task from CLI or API this not starts the whole
deployment
Change-Id: Ibf339eaacee4f5596d3c5338323f79605604ffc1
Related-Bug: #1567112
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
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
The following legacy tasks were reworked to use ClusterTransaction:
- OpenstackConfigTaskManager
- SpawnVMsTaskManager
Change-Id: I4a6f5f37161e4290050ec4926cf029cd7af566e4
Closes-Bug: 1565885
Closes-Bug: 1561994
Closes-Bug: 1565760
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
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
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
Avoid reading `tasks.yaml` every time
Fix missing of `environment.yaml` file sync for plugins V(1,2)
Change-Id: Id3aed7b943b6942c223797a40d3d0214834ba31f
Closes-bug: #1527320
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
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
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
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
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
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