Commit Graph

37 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
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
Jenkins 279b8ed1a2 Merge "Add metadata for default NIC and Bond attributes" 2016-12-29 12:12:18 +00:00
Andriy Popovych aeffd03cb5 Add metadata for default NIC and Bond attributes
Change-Id: If06ad12af92aa9500cb6edb8d033d73788f87513
Closes-Bug: #1643596
2016-12-14 15:59:19 +02:00
Evgeny L daa2799ab4 Set legacy tasks to empty if file is removed or empty
During plugin synchronisation or plugin update, if legacy
tasks (tasks.yaml) are removed, they should be set to empty
value [] in the database.

Closes-bug: #1648223
Related-bug: #1626855
Change-Id: I4c6a61eb6ac0bb4395b843c4ba7df5bcd8ab2f7b
2016-12-07 21:05:10 +00: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
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
Ilya Kutukov c910f056a9 Empty fields processed correctly in plugin adapters
Before this patch all empty but existing plugin metadata properties was
removed from output as well as `tasks` field that was not respecting
not null constraint at DB level.

As a minor patch payload missing InvalidFileFormat error was added.

Change-Id: I6a21e347fefb7a9a30be562b7fb3e4a8c5c61a36
Partial-Bug: 1616722
Closes-Bug: 1626855
2016-09-28 15:26:34 +03:00
Ilya Kutukov d80d3c0948 Fix for the plugin custom graphs installation
Now custom graphs delivered via plugin
working properly and have tasks.

Closes-Bug: #1623557
Change-Id: If5b00385ea5abce18189d5b9746b9075fe136860
2016-09-15 20:32:52 +03:00
Ilya Kutukov ab9599d78f Now custom graphs delivered by plugin works properly
There was a problem with graphs structure transformation
in plugin adapters that was skipped during plugin creation
because no adapter exists at that moment.

Also, graphs declaration syntax was simplified to the

graphs:
  - type: mygraph
  - tasks: []
  - name: graphname

Change-Id: I2d5c8b437a1af3425af7f96e81bcf9cbace7727f
Closes-Bug: #1623557
2016-09-14 18:55:37 +03:00
Ilya Kutukov ff1e8b2697 operating_system field processed correctly and release enabled by default
Closes-bug: #1620645
Closes-bug: #1620646

Change-Id: I28c5435e5203c40689393f0327d84fadbe0c9d3d
2016-09-13 12:09:06 +00: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 d67cdc012e Introduced metadata for deployment graphs
the following attributes was added:

- node_filter: YAQL expression to select nodes for applying the graph
- node_attributes_on_success: attributes which will be applied to node
       if execution of graph completes successfully.
- node_attributes_on_fail: attributes which will be applied to node
       if execution of graph fails.
- node_attributes_on_stop: attributes which will be applied to node
      if execution of graph interrupts.

Blueprint: graph-concept-extension
Change-Id: I949b3971f62c17b1d243c8ed97e2802afa4e0cce
2016-08-19 17:36:04 +03:00
Bulat Gaifullin ebe80dc4ef Added fault_tolerance_group to deployment metadata
This property contains list of groups, that is built from
tasks with type 'group' and each task may contain property
fault_tolerance, that shall be moved from openstack.yaml
to deployment tasks.
For plugins this attribute is filled from roles_metadata
for all tasks with type group (for backward compatibility).

DocImpact
Partial-Bug: 1435610
Change-Id: I1969b953eca667c09248a6b67ffee37bfd20f474
2016-06-06 17:46:12 +03: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
Bulat Gaifullin 5fb792f187 Added adaptation of legacy tasks for task based deployment
The new option 'propagate_task_deploy' was added to cluster.
this option allows to use legacy task adapatation algorithm
to make tasks from granular deployment LCM ready on the flight.
Also the same aproach is used for adaptation legacy plugin tasks.

Change-Id: Ib212bd906acc0e6915e3c14e4741b306bdedaa98
Closes-Bug: 1572276
2016-04-22 15:16:00 +03:00
Jenkins 0804b3725b Merge "deployment_tasks attribute removed from plugins adapter" 2016-04-19 09:31:42 +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
Ilya Kutukov 32053bedb0 deployment_tasks attribute removed from plugins adapter
plugins adapter has legacy .deployment_tasks attribute
that was replaced with get_deployment_tasks() method

Change-Id: I69cd2e93d42dfe235bd0e96dfc98f3286622a444
Partial-Bug: #1567504
2016-04-13 16:56:12 +03: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 5b5f87b7e3 Custom graph support added to the tasks and graph info handlers
Following handlers are extended with graph_type query
string parameter:

    /releases/<release_id>/deployment_tasks/
    /clusters/<cluster_id>/deployment_tasks/
    /clusters/<cluster_id>/serialized_tasks/
    /clusters/<cluster_id>/deploy_tasks/graph.gv

This parameter allows handler to use deployment graph data
from the scope of the given graph type.

Change-Id: I0e9af118af9aff57df8efa1e9139134566660c4b
Implements: blueprint custom-graph-execution
2016-03-28 11:08:45 +00:00
Ilya Kutukov 299a92ef34 DeploymentGraph.update method added
Now it is possible to update deployment graph name
and tasks keeping the graph database ID intact.

DeploymentGraph.update and DeploymentGraph.create_for_model
methods are inroduced that allow to update or create graph.

Change-Id: I8170569d9283d226f53b5fb2879a5ff9ee7bb984
Implements: blueprint custom-graph-execution
2016-03-28 01:06:36 +03:00
Vitalii Myhal 56a55be44c Allow the python-fuelclient to register plugins with one POST call.
Also added changes to avoid of possible circular dependency.

Partial-Bug: 1516766
Change-Id: I44ca87663644797267647a3a08b970b6a6604bdc
2016-03-17 15:33:08 -05:00
Ilya Kutukov e70db6d3d4 Nailgun working properly with empty tasks.yaml for plugins v4.0.0
Nailgun was failing on deployemnt when plugins has tasks.yaml
with no content. Now it's working properly

Change-Id: I5ab50717964d8bf37383c63bb14ef0a6c7efcad4
Closes-Bug: #1557572
2016-03-15 19:18:35 +03:00
Ilya Kutukov 32bb68f501 DeploymentGraph and DeploymentGraphTasks models added
This models store deployment  tasks sets that is grouped under
DeploymentGraph record with unique id.

DeploymentGraph is linked via m2m to the:
- releases
- plugins
- clusters

This transitive tables containing 'type' field, that should be used as
graphs merge key in business logic.

DocImpact
Implements: blueprint custom-graph-execution
Change-Id: If53cb58e8ae4cf8fe4caa470bf207ff1683b1cda
2016-03-03 02:28:56 +03:00
Ilya Kutukov 3ecb245061 Plugin package v5.0.0 support introduced
Plugins v5.0.0 use task-based deployment directives using tasks
v2.0.0 with cross-dependencies and per-task strategy.

V4.0.0 allows both experimental and granular deployment directives
(tasks v1.0.0 and tasks v2.0.0) and using them according to `task_deploy`
environment flag setting.

Change-Id: I697dc22a58a9ff2ad8bd9d955d2b2c5351c746ab
Closes-Bug: #1533771
2016-01-27 18:05:39 +03:00
Andriy Popovych f1fe48241a Add 'bind' option in plugin components
Plugin should have possibility to bind cluster attributes.

Change-Id: I02466818150df827a9131f814da90f3a6e850ab1
Closes-Bug: #1523981
2015-12-21 15:19:51 +00:00
Andriy Popovych 9545d61f13 Refactor component model
Get rid of component object.
Store info with compatibility and uncompatiblity
lists of components in plugin and release.

Change-Id: I47ed959f9079c346d9d968e7ebd9bf1b7b150e2f
Implements: blueprint component-registry
2015-11-19 11:43:21 +02:00
Vitaliy Mygal a25db9a2c6 Store attributes of plugins in a separate table
This is redesign of plugins architecture in order to store
the plugin's attributes in a separate table, not in cluster
attributes, so it will be possible to remove connection between
plugin and cluster when a plugin gets deleted.

Added ability to work with different versions of a plugin.
User can choose the preferred version in UI.

The test "test_plugin_generator" was removed because no longer
relevant.

Closes-Bug: #1440046
Implements: blueprint store-plugins-attributes

Change-Id: I52115f130bf1c7c80c66e18d0bf9f7acb16dd56c
2015-11-15 23:29:13 -06:00
Andriy Popovych 6b0f37c77c Sync component metadata into DB
Sync plugin components from YAML file into DB

Change-Id: I50317c3384108ef5bcd19539f313e50b2238718f
Implements: blueprint component-registry
2015-10-22 13:13:29 +03:00
Maciej Kwiek 1ffc5e54e9 Fix hacking 0.10 errors in nailgun
Change-Id: I82e418d21e367ff379dda935f035dcc709c3a034
Partial-Bug: #1410810
2015-10-08 12:01:55 +02:00
Vitaly Kramskikh 60d4ddaaa4 Disallow disabling plugins which roles are used
This achieved by adding a new restriction for plugin-provided
roles which prevents plugin to be disabled if env contains
nodes with plugin-provided roles

Closes-Bug: #1483633

Change-Id: I8e2502df2a9d84934730bc4681fc3c295fac450a
2015-08-13 17:37:14 +03:00
Andriy Popovych 1cfedb1f53 [Nailgun] Mix plugin volume metadata with core
Implement functionality for merging plugin volumes metadata
with release volumes metadata and using it in Volumes Manager.

Implements: blueprint role-as-a-plugin
Change-Id: Ie8e1236e4aa38b8220d937febaa50d146c9caa2a
2015-07-21 13:39:56 +03:00
Artem Roma d3aeb1e22a Add test case for processing of skipped deployment tasks for plugin
* add new test case for skipped tasks processing;
* fix code of `deployment_tasks` property so that it now doesn't fail if
  `parameters` key is not present in task data

Change-Id: I7fcf4907b9db9c1771248f337cb319de4039add5
Implements: blueprint role-as-a-plugin
2015-07-16 15:01:01 +03:00
Artem Roma 86e90616dc Add plugin deployment tasks to deployment graph
`get_deployment_tasks` for nailgun cluster object modified so that it
now by default (if deployment graph was not defined for the cluster)
returns summary list of deployment task for release and all enabled for
the cluster plugins.

Change-Id: I4e0b063a80a6d94bfb792b80cd6880a2a471f135
Implements: blueprint role-as-a-plugin
2015-07-16 12:36:57 +03:00
Alexander Saprykin 410a2fca5f [Nailgun] Plugin support for network roles metadata
Provides implementation for new plugin configuration
file support network_roles.yaml

* New column network_roles_metadata in Plugin model
* Loading network_roles.yaml to DB

Implements: blueprint vip-reservation
Change-Id: Id67a655bd090042b71b66d0512ff8cb9c6e9f2d7
2015-07-09 12:32:24 +03:00
Andriy Popovych e45a488cb3 [Nailgun] Refactor plugin entities names
Change classes and files with more appropriate names

Change-Id: I224bde2f590632ee8a1f9ac671d9c61e19cb8346
Implements: blueprint role-as-a-plugin
2015-07-08 16:48:56 +03:00