Commit Graph

39 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 cc46195382 Merge "Data migration for the firewall driver switch" 2016-11-21 10:34:40 +00:00
Anastasiya ec9ccd02d4 Data migration for the firewall driver switch
* data migration was prepared
* unit tests for migration was added

Change-Id: Iafe9267cc1c64c0c966e0be8fc9181f31f029b75
Implements: blueprint security-groups-support-for-ovs
2016-11-18 16:33:22 +03:00
Ryan Moe 2b0242f645 Resolve tasks by role tags
This commit switching tasks resolution approach to the tags based one.
Tag - minimal unit what's necessary only for task resolution and can be
mapped to the node through the role interface only. Each role provides set
of tags in its 'tags' field and may be modified via role API. Tag may be
created separately via tag API, but, this tag can not be used unless it's
stuck to the role.

Change-Id: Icd78fd124997c8aafb07964eeb8e0f7dbb1b1cd2
Implements: blueprint role-decomposition
2016-11-17 18:07:30 +03:00
Mikhail Zhnichkov 9647ccde99 Revert "Add tag API"
This reverts commit 327f754d90.

Change-Id: I58474fd358287ad21f0f36ec5be9a565fc24c67c
2016-11-08 16:58:59 +00:00
Ryan Moe 327f754d90 Add tag API
API handler for creating tags.

Implements: blueprint role-decomposition
Change-Id: I04c184f287d49ad2c15803809b8025f7351b8985
2016-10-05 17:28:22 +03:00
Elena Kosareva cea0523ff5 Extending components DSL model with additional predicates
* Add ability for handling new predicates for requires
  component's property
* Refactoring of exist components validation function
* Update release components according to new DSL model

Implements: blueprint component-registry-improvements
Change-Id: I6175e28118dac494d48968e3f8c51e89ab74a34b
Depends-On: Iab03bf5e36800c8aea0e054719d40ca42a542b73
2016-07-11 12:59:32 +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
Ilya Kutukov e633f281cb DeploymentGraph SQLAlchemy models relations declaration cleaned
All relations to ClusterDeploymentGraph, PluginDeploymentGraph,
ReleaseDeploymentGraph is moved inside associations models, cascade behaviour
for references is added.

Change-Id: I76be4888cfc2d26a4e68b5ce067f4e68809b40f4
Implements: blueprint custom-graph-execution
2016-03-16 17:51:46 +00: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
Igor Kalnitsky e91363ba9c Remove legacy patching code
In Fuel 5.1 we had an experimental feature - 'patching openstack env'.
The idea was to update and to rollback OpenStack environments between
minor releases. However, we have encounter a lot of problems with
restoring OpenStack databases andresolving dependency hell in packages,
so we buried it and never release it.

This patch removes legacy code from the source tree. We can do it
without fear, since it wasn't released in public.

Related-Bug: #1511499
Change-Id: I58b3fedd239eb7fe4226e51c2d6386efab14395d
2016-02-26 15:06:04 +02:00
Andriy Popovych 6fe1d566f7 Remove wizard metadata from release
Currently `wizard` tab uses components info.
Wizard metadata is redundant.

Closes-Bug: #1533765
Implements: blueprint component-registry-improvements

Change-Id: If62a4ef9887ae7dfa0dc1c9cc24c99b9275350e4
2016-02-22 11:04:00 +02:00
Alexander Saprykin 4938e439d4 Add node attributes to release
* Add node_attributes field to Release model
* Add fixture to openstack.yaml
* Copy node attributes from release to node
  when node is assigned to cluster

Change-Id: Ib675c784f19f28dd94657e32228b9b79efb03240
Implements: blueprint support-numa-cpu-pinning
2016-02-17 15:01:41 +02: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
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
Bulat Gaifullin d1c6dd6067 Plugin is able to extend existing network roles
The same network role from different plugins can be merged
according to policy of merge, that allows each plugin to extend the VIP for role.

TestCheckVIPsNames was deleted, because this patch makes it obsolete.

Change-Id: I81e773e53ab67b4e7d424805134c0d86dcc7a43a
Closes-Bug: #1487011
2015-11-09 16:34:18 +00:00
Maciej Kwiek 3d42dae017 Replace release.is_deployable with release.state
is_deployable doesn't really give any additional information for a
release, it is removed. To make change API-backward-compatible, it is
retained as a property dependent on release.state.

New state is added - manageonly, for environments that are not able to
be deployed, but can still be managed.

Change-Id: I518a0114730a2f227c9ef035a376f9a90d3d5bbd
Closes-bug: #1503303
DocImpact
2015-10-28 12:56:55 +01:00
Evgeniy L d0dfa0bc52 Reduce coupling of extension and core, add callbacks and extensions list
* add a list of extensions for node, environment and release tables
* when user creates environment, extensions list gets copied from
  release, so for specific cluster it's possible to have it's own
  list of extensions
* by default list of extensions for node is empty, we assume that
  the person who needs to hack something can edit this the field
  to assign to node specific extension. Nodes extensions list has
  higher priority, which means when try to find extension, first
  we are looking   for it in node.extensions field, if no extensions
  are found, we will try to find them in node.cluster.extensions field.
* added callbacks when node gets created, updated or reset.
  With this callbacks extensions will be able to handle cases
  when something in node was updated.

Implements blueprint: volume-manager-refactoring
Change-Id: I07da28a3a56df52baf420248c5d6ccd2084347c0
2015-07-16 16:54:23 +03:00
Ivan Kliuk 966384c3e8 Add network roles metadata
Add 'network_roles_metadata' section to 'openstack.yaml'
  Add new field 'network_roles_metadata' to model 'Release'
  Add a migration for 'Release.network_roles_metadata' column
  Add unit tests for the migration
  Upgrade JSON schema in object 'Release'

Change-Id: Ia3d9fd21bbe7aef3b03148941caacd0abba7e8ad
Implements: blueprint templates-for-networking
2015-07-03 00:11:03 +03:00
Igor Kalnitsky 976baf8422 Use schemaless approach for node roles
In Fuel 7.0 we want to have ability to extend node roles on fly by using
plugins. In order to achieve this, we want to have declarative
schemaless approach, so we won't require database object manipulations
(CRUD) each time we somehow change node role.

This commit drops such tables like:

* roles
* pending_roles
* node_roles

and use postgresql arrays in nodes tables instead:

* roles
* pending_roles
* primary_roles

Implements blueprint role-as-a-plugin

Change-Id: I2d3fccb7187fa4e82595c9ca6b27ef8ce90ee4b2
Signed-off-by: Igor Kalnitsky <igor@kalnitsky.org>
2015-07-07 18:30:29 +03:00
Sylwester Brzeczkowski 87b6cac9aa Remove old function extract_env_version
Until now we have two functions which were doing the same
The patch unifies it as follows:
* Rename Release model property from 'fuel_version'
  to 'environment_version' to make it more descriptive
* remove extract_env_version function, and replace it with
  environment_version property in Release model.

Closes-Bug: #1470524
Closes-Bug: #1470768
Change-Id: I7688f048468d6036fb326be82049ec50a7925386
2015-07-03 12:46:18 +02:00
Maciej Kwiek 9e3f07bd92 Add field to release for storing valid deploy mode
Field is called `modes`. Cluster validation stops creating the
environment with mode that is not in the `modes` field of cluster
release.

One cluster validation test seemed to have reversed logic
(test_release_non_exists_validation). It is fixed now.

Change-Id: Iafeb988a91f44e29ea0491422b8348997d950bc4
Closes-Bug: #1456540
2015-05-21 15:48:17 +02:00
Vladimir Kozhukalov b1cb2f73c1 Nailgun: moved repo_metadata to cluster attributes
We need it to be possible to set priorities (pinning)
for deb and rpm repositories. This patch moves repo_metadata
to cluster attributes and changes its format.

Plugins' repos should have higher priority than default ones,
so we're setting them according to settings.yaml.

Implements: blueprint consume-external-ubuntu
Change-Id: I5a98469b9547014abec9406a7b36f1cf22ba8086
2015-03-05 17:32:43 +02:00
Andriy Popovych a567e13c24 Implementation of vmware Settings on nailgun side
- New entity vmwareAttributes added
  - Basic deployment serializer

Implements: blueprint vmware-ui-settings

Change-Id: I17ba8f8535498263333fa47d6283433ea4d6c509
2015-02-11 15:42:59 +02:00
Igor Kalnitsky 14ad2af3ee Reform releases '.state' attribute to fit our goals
Current release's '.state' attribute is obsolete and do not used. It was
introduced a time ago when we had an RHEL support. So it could be
refactored to fit out current goals.

Since now there will be only two states:

* available
* unavailable

There is no way to start provisioning task for unavailable releases.

Change-Id: I8827c710da6e4f77a6397381d51fe25b87149462
Implements: blueprint downloadable-ubuntu-release
2015-01-28 10:24:05 +03:00
Dmitry Shulyak 064fb1e9f7 Deployment graph configuration storage in nailgun
We have several requirements for graph storages, that will
satisfy all parties:

- Store graph definition externally to nailgun, in fuel-library,
  because fuel-library devs should be able to modify graph configuration,
  based on changes in puppet modules
- Validate any data that nailgun will store, and validation should
  happen at the time data is received by nailgun
- It should be possible to migrate data to required format, on upgrade,
  if we will decide that it is necessary
- It should be possible to modify graph per cluster, and per release,
  for flexibility of debugging and development, also it may
  help with maintenance tasks

To solve this issues 2 db fields was added:

Cluster.deployment_tasks
Release.deployemtn_tasks

It will be possible to read/modify both of this fields by next api request:

GET/PUT release/<rel_id>/deployment_tasks
GET/PUT cluster/<cluster_id>/deployment_tasks

Also note that deployment configuration for old release will be stored in
nailgun code in orchestrator/graph_configuration.py module

implements blueprint granular-deployment-based-on-tasks

Change-Id: I6f23da3ea7a4f692d02dcb84175540e64f34df89
2014-12-31 15:34:53 +02:00
Ivan Kliuk a24ffc80d5 Add sorting for releases collection
Implement sorting for ReleaseCollection in /api/releases
  Sorting criteria:
  1) Fuel version
  2) OpenStack release
  3) Operating system. Ubuntu is preferred

Change-Id: I6677f449b4435aa57c7e4f1c89a292284014d61c
Closes-Bug: 1377920
2014-10-21 22:59:44 +03:00
Igor Kalnitsky a2e57f2ca2
Disable deploy some releases
In order to force customers moving to new releases or for technical
reasons we want to forbid deploying some releases. For this reason we
need to introduce a special field in the Relases model.

Please note, the field has no affect in experimental mode.

Change-Id: Iaf315d291ce9f18ad52b15c030be193d0d5ea6f9
Closes-Bug: #1368100
2014-09-19 14:05:02 +03:00
Alexandra Morozova 9c3df572ab Wizard config to openstack.yaml
- removed wizard.json
 - all wizard config moved to base_release config
 - migration for 5.1 changed: already existing releases'
   "wizard_metadata" attribute is updated with
   proper data (i.e. without nsx info).

Change-Id: Ie6928b0e4b82882383fc74043a76f22400698b91
Closes-bug: 1348627
2014-08-04 13:39:21 +03:00
Dima Shulyak 8106cba161 Use server_default=[] for can_update_from_versions
Column can_update_from_versions of release table
should use server_default='[]'

Change-Id: I2d8a1e3e9ea85a5c99684eacb4eb3131cfb9fb81
Closes-Bug: #1328874
2014-06-12 16:49:45 +03:00
Aleksey Kasatkin 88aad90989 Patching of OpenStack
Implements: blueprint openstack-patching-nailgun-part

Change-Id: Iaed70ee002916858a52e34f05c8485841ae05737
2014-06-05 17:35:58 +03:00
Aleksey Kasatkin 4ad5fe676f Add entities for Fuel upgrade
Adds api_version, fuel_version, openstack_version, repo_metadata, puppet_modules_source, puppet_manifests_source to
messages for orchestrator. Corresponding field is added to 'Cluster' DB table. 'ReleaseOrchestratorData' DB table is added.
Additional fixture '/etc/nailgun/fixtures/repodata.yaml' is expected to be provided by puppet on master node installation.
Additional parameter 'version->api' in 'version.yaml' is expected to be provided by puppet as well.

Implements: blueprint fuel-upgrade

Change-Id: Ic86fb52c99aaee6a75536a153ff61fdd776c73f7
2014-04-25 14:09:51 -04:00
Nikolay Markov f1f418d313 Introducing REST objects - step towards Oslo
Change-Id: I42dd29655f2f50dba911349d4545d3d4c40b9227
2014-01-27 13:12:45 +04:00
Aleksey Kasatkin 8d1e8f4110 Roles are deleted for current release only
Ceph role was miskakenly deleted for CentOS release
when release roles were updated.
Now roles are deleted for current release only during roles update.

Closes-Bug: 1263251

Change-Id: I73afc0227f56ed54b22f398482a8a14148d5740f
2013-12-23 09:48:21 +02:00
Aleksey Kasatkin 955b7f4d5c Roles list names are unique for release
Role names list cannot contain duplicates within particular release.
Tests added.

Change-Id: I538d0072f79c1b4564c44c70e1f6ebf736050a41
2013-12-20 12:17:42 +02:00
Aleksey Kasatkin 0e2d2a73a5 Fix roles order in release DB object
Roles order in release DB object is the same as its order in openstack.json now.
Tests added.

Closes-Bug: #1262557

Change-Id: If74ff1d668cae52c5df6e937bbb36048e8f5b9e9
2013-12-19 15:15:15 +02:00
Nikolay Markov d31b67f01d Advanced role management backport from 3.2
Change-Id: I039d4c2ef613d3cb4692ce57329d377c9c63bba5
2013-12-09 19:46:37 +04:00
Nikolay Markov 8a50b07459 New project structure with Oslo
Change-Id: I738add287ce459281721261ec372d3150ab17ba8
2013-12-04 18:45:18 +04:00