Commit Graph

40 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
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
Roman Prykhodchenko 3d1ce7c799 Add explanation when a deployment is unstoppable
This patch adds a clear message saying that a  pre-provisioned
cluster must support LCM feature in order to allow stopping its
deployment.

Change-Id: I99dc93fac7767dcc5d7116fafd412142e4b3b945
Closes-bug: #1543611
2016-06-06 16:39:06 +02:00
Artur Svechnikov ccda00737a Move models for restrictions to cluster object
Since there are a couple of places where models for
restrictions is initialized, it's moved to cluster object.
Also, comments from previous commit
(Ibba7951968cbafd59fff0d516e74f9dd9e454edc) are fixed

It's refactoring bug is not needed.

Change-Id: Ic499a5deefb12740ebedc630b024dae0b4248ec5
2016-05-19 12:34:02 +03:00
Jenkins 1119d6e5a0 Merge "Support stop deployment for already deployed cluster with LCM" 2016-04-21 15:07:09 +00:00
Vladimir Sharshov (warpc) 74e72b1bbe Support stop deployment for already deployed cluster with LCM
Task based deployment (>=9.0) implements save way to stop
deployment action, so we can enable stop deployment for such
cluster without restrictions. But it is still need to be
disabled for old env < 9.0 which was already deployed once[1]

Add tests

[1]: https://bugs.launchpad.net/fuel/+bug/1529691

Change-Id: I4284f70f00c5c0b2db026df748c1f73fcd941bf1
Closes-Bug: #1571713
2016-04-20 20:09:04 +03:00
Artur Svechnikov 7e3fe2c308 Validate attributes restrictions
Since Nailgun contains attributes restriction
mechanism it's possible to verify attributes
restrictions. This commit applies restrictions
checks into validation for both node attributes
and cluster attributes.

Change-Id: I269da9a7a7df5fea336c07784b37d6ced1641993
Closes-Bug: #1567394
2016-04-18 16:37:43 +03: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 9629b1373e Custom graph run support added to handlers
These handlers now support query string param `graph_type` that defining
what graph to use during command execution:

/clusters/<cluster_id>/deploy/
/clusters/<cluster_id>/deploy_tasks/

Change-Id: I9d675f15402997570f9032e94ced21176a529cf1
Implements: blueprint custom-graph-execution
2016-03-28 17:19:33 +03:00
Artem Roma cfa146e9dd Set 'deployed_before' attribute in cluster attributes if not present
Before this change if  master node had been upgraded to Fuel of
versions >= 8.0, attempt to re/deploy existing clusters would have failed
as attributes of those clusters would have lack 'deployed_before' field.

Since processing of the flag is temporary solution it should not be
coded in data base migration logic. Thus the change introduces creating
of the attribute with given value if it is not already present.

Change-Id: I302ddb340d2ecf14b1fa414fda71aa7f32363bdf
Closes-Bug: #1551339
2016-03-15 17:54:28 +02:00
Jenkins 4f04cbade3 Merge "Add node attributes validator" 2016-03-09 11:45:45 +00: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
Artur Svechnikov ee15664ba0 Add node attributes validator
Cluster attributes validator is also refactored

Change-Id: Iedf640e0cabb38ba082156dd5f68248996926750
Implements: blueprint support-numa-cpu-pinning
2016-02-25 16:15:53 +03:00
Vitalii Myhal af3f5e1dbf Adds ability to force update environment attributes
In order to upgrade deployed cluster that is in operational state
without re-provisioning it, we need a possibility to forcefully
update cluster attributes (aka cluster/environment settings).

Optional flag '--force' is added to the commands below:
fuel settings --env <env_id> --upload --force
fuel env --env <env_id> --attributes --upload --force

This flag is handled by API here:
clusters/<id>/attributes/?force=1

Partial-Bug: 1540434
Change-Id: Ic6541f8e227251ae992a3005d543a8e1e42665f3
2016-02-09 00:10:02 -06:00
Artem Roma b2c4b7d102 Add 'deployed_before' flag to cluster that forbids stop deployment
When cluster is successfuly deployed, that is, has 'operational' status,
'deployed_before' key is added to generated attributes of the cluster.
This flag then is used to determine whether stop action is allowed for
the cluster.

Change-Id: I8ecfca5819352ac27d7cec91e22f8006d8c3d8de
Closes-Bug: #1529691
2016-02-01 12:22:51 +02:00
Vitalii Myhal f83c4ea23b Versions of a plugin have been placed in a separate container
Closes-Bug: #1440046
Closes-Bug: #1518993

Change-Id: I76655541fd7c00cdd863e145b28fba804b4ed801
2015-12-27 22:35:10 -06:00
Andriy Popovych 27cde81e84 Remove Nova restriction for vCenter
Currently there are at least two providers for neutron which works with
vCenter: DVS and NSXv. So nova network can't be only one possible solution.

Change-Id: Ifa485faaa4d3aa1d94298411a088100e3477d68e
Closes-Bug: #1523977
2015-12-24 11:12:28 +02:00
ekosareva 3450d676de Add possibilities to add & delete VMware clusters on operational env
* Allow update VMWareAttributes for locked cluster if has pending
  addition/deletion 'compute-vmware' nodes
* Add validation of 'nova_computes' section in vmware attributes

Change-Id: I16c1826de81251f5e6ce626b730988127160202f
Implements: blueprint add-vmware-clusters
2015-12-08 14:38:24 +03:00
ekosareva e84f5ba4c7 Setup cluster setting by chosen components
Modifying cluster creation API (POST /api/clusters) for handling
components data and setup proper values of cluster attributes by
components from wizard. Change storage components metadata.

Implements: blueprint component-registry
Change-Id: Ic2b6774881aab47b5a0914518c5f5db9ab28f3b6
2015-12-02 15:49:52 +02:00
Bulat Gaifullin 34e4f4f0dc Allow to install plugin to operational environment
- Added attribute 'is_runtime' to plugin. this attribute means
  that plugin can be installed to operational env.
- Make attribute 'is_locked' public and remove logic to calculate
  the cluster is locked or not from UI.

Change-Id: I372bfb2c502bcd5927533b03aea1557cf49d9afb
Closes-Bug: #1519050
2015-12-01 16:50:03 +03:00
Fedor Zhadaev 648571cfe4 Deny using CentOS even in experimental mode
* Set release state for CentOS to 'unavailable'
  * Add release's deployability check in cluster validator

Change-Id: Ic48ed10530efab3823018709b1e072bcfc35d891
Closes-bug: #1486559
2015-08-24 13:36:27 +03:00
Jenkins 5ec245ddeb Merge "Do not allow to deploy multinode in tests" 2015-08-14 09:26:48 +00:00
Sebastian Kalinowski 25ee7cbea8 Do not allow to deploy multinode in tests
In tests, by default, we create Releases with 'multinode'
mode allowed for clusters, now it is taken from release fixture and
only in places that require it, specific modes for releases are used.

Change-Id: If0c0d2bf8fc8a6c572d6284304e0615fd951e005
Related-Bug: #1428054
2015-08-13 11:17:04 +02:00
Roman Prykhodchenko 54230ccea1 Require Nova Network if vCenter is used
Fuel cannot deploy clusters, if they use vCenter and
Neutron as a network provider. This patch restricts
network provider selection to Nova Network for the
mentioned cases.

Change-Id: I4b4f861058f6b93ec519fa1d655edecb5cee90aa
Closes-bug: #1470488
2015-08-11 16:57:21 +02:00
Fedor Zhadaev c0b2444b21 Configurable hostnames for physical nodes
* Extended db model with field 'hostname'
* Added hostname validation in API node handler

Change-Id: If18d00612140dcaaeec23bea172dcf6490186e5d
Implements: blueprint node-naming
2015-07-20 12:47:39 +03:00
Alexander Gordeev 62ed088c1e IBP: disallow to choose classic provisioning
For 7.0 environments user won't able to choose classic provisioning.

* Remove radio button from UI;
* Add check in validator to disallow classic provisioning for 7.0 envs;

Partially implements: blueprint disable-classic-provisioning

Change-Id: I9fa55dd251b5fab04e2e36154714ba67a8b5a54b
2015-07-08 17:27:47 +03:00
Maciej Kwiek 2f6d1626ba Add mode validation for cluster to PUT method
The original fix did not work for validation while updating the cluster
only with deployment mode, which is how the deployment mode is set via
python-fuelclient.

Change-Id: Id3dcbfd339db184ffe75ca8d06675195fe9486de
Closes-Bug: #1456540
2015-05-26 09:55:17 +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
Sylwester Brzeczkowski 6b6219e74e Raise error once there's no deployment tasks in db
Added new exception 'NoDeploymentTasks' which is raised when user
is trying to manually deploy cluster whose release has empty
'deployment_tasks' and 'fuel_version' >= 6.1

Added loading of fake deployment tasks in both test Environment class
and 'loaddefault' command - so it also works in fake mode.

Change-Id: Ibaee6912cfbca27dbb35c4f9c09feb74c81b02a1
Closes-Bug: #1448066
2015-05-16 00:12:28 +02:00
Przemyslaw Kaminski c83e79f06b Validate cluster attributes
Add validation for cluster attributes. Do it so that it doesn't break
compatibility with current tests. Validate regexpes if they are provided.

Change-Id: I9c1fc04dab45aecf3e32615172654d11844df7c3
Closes-Bug: #1447407
2015-04-30 14:55:01 +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
Nikolay Markov 7ba7a06ccd Initial JSONSchema validation
- errors are now returned as tracebacks, not HTML
- added schema checking based on the handler type and validator
- content_json decorator rewritten completely
- common JSON types
- creation of nodes with non-number ID is now forbidden according to scheme

Implements: blueprint nailgun-api-requests-responses-validation

Change-Id: Icf49bb534ccb19872402b66532ef44418bd66a53
2014-12-15 13:09:38 +03:00
Igor Kalnitsky 99d901c06a Add downgrade case to pending release checking
We have to make possible to downgrade openstack release from
later version to earlier version.

Implements blueprint openstack-patching-nailgun-part

Change-Id: I473887ae49f9fa85e2cafcc53cb23cc230e321cc
2014-06-26 21:51:30 +03:00
Igor Kalnitsky 2853129b99 Add OpenStack upgrader to fuel-upgrade
OpenStack upgrader performs the following tasks:

* add information about new releases to Nailgun
* add notification about new releases to Nailgun

Related to blueprint fuel-upgrade
Change-Id: I962921492e09e06eb0396fae26c4bea1774720df
2014-06-06 14:46:54 +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
Igor Kalnitsky b88591e6e4 Each handler is able to receive its own JSON back
To improve RESTfulness and make a step to API freezing, we need to make each
handler able to receive back its own JSON without falling to 500 error.

Implements: blueprint nailgun-rest-same-json

Change-Id: I78d910eac3d7b067a9930000aab6f568214bf2eb
2014-05-26 19:43:54 +03:00
Nikolay Markov 28e54a0248 New project structure for OS-like API versioning
Related to blueprint nailgun-validators-to-objects

Change-Id: I9dfa05deae2d2bcbfd2dfd356392b6f9e62a08cc
2014-05-20 18:17:26 +04:00