Commit Graph

225 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
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 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
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 8ddf244b71 Revert "Resolve tasks by node tags"
This reverts commit e368be6b10.

Change-Id: Ic3ca2ee14afafd9fca3cee43887a1955e71f061e
2016-11-08 16:58:49 +00:00
Mikhail Zhnichkov e032d4f6e8 Revert "Add default tags"
This reverts commit 508dccf9b2.

Change-Id: I63a87f8ca4dbcbff3ce1da36078aa3fd9520566e
2016-11-08 12:42:36 +00:00
Mikhail 508dccf9b2 Add default tags
Tags for rabbitmq, database, keystone and neutron.

Change-Id: I5cbaf58f57845c02550e2b422b269f41eec98322
Implements: blueprint role-decomposition
2016-10-26 10:44:40 +00:00
Ryan Moe e368be6b10 Resolve tasks by node tags
A 'tags' attribute has been added to each role in 'roles_metadata'.
Initially all non-controller roles will only have a tag of their own
role name. This will allow existing tasks which do not have tags
associated with them to work correctly. In the abscence of tags a
task's roles will be used to determine which nodes it will run on.

Implements: blueprint role-decomposition

Change-Id: I390580146048b6e00ec5c42d0adf995a4cff9167
2016-10-17 04:41:24 +03:00
Bulat Gaifullin 585b9f5974 Fixed problems prevented for calling core serializers from extensions.
Added option skip_extensions for core-serializers, to prevent
loop when core-serializer is called from extension.
Also method process_'deployment_for_node' does not have access
to cluster_info and it is not possible to call 'serialize_node'
from extension because cluster_info was mandatory argument.
Because 'cluster_info' was needed only for provision serialzer,
which is called from LCM serializer, this argument was removed
from serialze_node method.

Change-Id: Ifbf9e4a0b9487605e6268fde0499aecc1e20cb36
Closes-Bug: 1621851
2016-09-12 09:30:38 +00:00
Jenkins 19d351e532 Merge "Make type__ mandatory for bond creation" 2016-09-08 15:28:24 +00:00
Dmitry Guryanov 7a83ee0cac don't merge common_attrs with node data in deployment_info
The size of deployment_info grows as n^2 depending on
nodes number. That's because common_attrs, which is
merged into each node's contains info about all nodes.

For example for 600 nodes we store about 1Gb of data in
the database. So as first step let's store common_attrs
separately in deployment_info structure inside python
code and in the database.
Also removed old test for migrations, which are not related
to actual database state.

Change-Id: I431062b3f9c8dedd407570729166072b780dc59a
Partial-Bug: #1596987
2016-08-31 17:28:11 +03:00
Alexander Arzhanov 4ebdb70b28 Allow user upload CA bundle file for VMware
* Add field that allows user to upload CA certificate
  that emitted vCenters TLS/SSL certificate (Self-Signed certificate).
  It allow cinder-volume configured with VMwareVcVmdkDriver
  and nova-compute configured with VMwareVCDriver verify
  connection to vCenter server.

* Add checkbox "Bypass vCenter certificate verification" for
  cinder-volume, nova-compute, Glance vSphere backend.

These changes will allow the cover use cases for cinder-volume,
nova-compute and Glance vSphere backend:

1. Bypass vCenter certificate verification (default). Certificate
verification turn off. This case is useful for faster deployment
and for testing environment.

2. vCenter is using a Self-Signed certificate. In this case the
user must upload custom CA bundle file certificate.

3. vCenter server certificate was emitted by know CA (e.g. GeoTrust).
In this case user have to leave CA certificate bundle upload field empty.

Change-Id: I6a697d01d84065c8f3ed80adf409b79bc7913620
Implements: blueprint custom-ca-bundle-verify-vcenter-cert
2016-08-24 12:57:08 +03:00
Bulat Gaifullin 5167527dc4 Added methods for patching deployment info per object
Instead of wide callbacks process_deployment or process_provision
implemented methods to patch deployemnt or provision info per
cluster or node.
The code of extensions and tests was updated accordingly.
Also added helper to mark methods of extension as deprecated.
the extension load behaviour was modified, instead of fail operation
when extension cannot be loaded, the nailgun only write error in log
that extension is not loaded and continue operation.

Partial-Bug: 1596987
Change-Id: I577c8ffc105734e12646ca7c6a4fe4927e70b119
DocImpact
2016-07-25 18:25:21 +00:00
ntymtsiv 205224d573 Make type__ mandatory for bond creation
Added validation to bond creating for field 'bond_properties' and
bond_properties.type__. They are mandatory and bond can not be created
without type__.
Allowed modes for dpdkovs and ovs types:
   - active-backup
   - balance-slb'
   - balance-tcp
   - lacp-balance-tcp
Allowed modes for linux type:
   - active-backup
   - balance-rr
   - balance-xor
   - broadcast
   - 802.3ad
   - balance-tlb
   - balance-alb

Change-Id: Ic5a443a347b5abbf235e88bd95154b56a627b76f
Closes-Bug: #1566252
2016-07-25 15:21:13 +03:00
Dmitry Guryanov ecf39c0afc remove zabbix from nailgun
Zabbix has been removed from Fuel 7 and is not supported for 3 releases.
It's time to make cleanup and remove its code.

Closes-Bug: #1583990
Change-Id: I7393caebc629fcf652369b98731455abe8a2c378
2016-05-31 06:28:20 +00:00
Artem Roma db7ec357fb Move network serialization code to network manager extension
Change-Id: I48b50e86ad2d9568cfc63e738663c237dccab03a
Blueprint: network-manager-extension
2016-05-12 12:40:35 +03:00
Dmitry Guryanov 9eeaa679d1 Don't use self.env.clusters[0] in tests where possible
Since self.env.create always return db object now,
we can use this returned value instead of
self.env.clusters list.

It's a refactoring, so no bug or blueprint.

Change-Id: If7c84cb7124bcf08ef5ff110542012564190fae1
2016-04-26 17:53:36 +03:00
Jenkins 9d53ba3ce0 Merge "Fix syntax for python3" 2016-04-22 10:12:44 +00:00
Jenkins 303ed5a33f Merge "Pass glance image parameters as a hash" 2016-04-21 14:38:16 +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
Jenkins 650aa71bd7 Merge "Replacing improper map usage." 2016-04-19 13:54:19 +00:00
Alex Schultz 85e9a608f4 Pass glance image parameters as a hash
This change updates the deployment serializer for the test vm data to
pass the glance properties as a hash that can be used by the
glance_image provider rather than using the glance_properties string
that is currently in place. The glance_properties string should be
considered deprecated and anything that uses it should switch to the
properties hash.

DocImpact: glance_properties string provided as part of the
test_vm_image hiera data is deprecated in favor of the properties hash
provided by this change

Change-Id: I79a9b20d89ae00a7ceaa24c4ce655cbd16972c30
Partial-Bug: #1566434
2016-04-18 10:25:49 -06:00
Sylwester Brzeczkowski f7b41db5ea Move valuable test from core to volume_manager
Some of the tests became invalid or no longer needed so they have
been removed. Rest of them, which make sense to our current
pipeline-oriented code have been moved to volume_manager
module.

Change-Id: Ib0b566d3f2d859bb2fa3d765ed53f7cd2dc286af
implements: blueprint data-pipeline
2016-04-18 16:14:09 +02:00
Sylwester Brzeczkowski 5d1d1fe960 Extract volume_manager from nailgun core
* remove node_extension_call from everywhere Nailgun
  core source code
* remove volume_manager Node property (models)
* moved volume and disk releated data manipulations to
  volume manager extension pipeline
* removed no longer valid tests
* added new extension callback for pre deployment check
* fix some tests
* moved volume_manger specific tests to volume_manger module
* marked 'skip test' to some tests which are no longer
  valid in current places but they valuable and should be moved
  to volume_manager module in next patches

implements: blueprint data-pipeline
Change-Id: I8edd25166e5eccf914eb92882b6b4a7b3fff6a89
2016-04-18 12:10:34 +02:00
Jenkins 4684e0e3e1 Merge "Allow user upload CA bundle file for Glance with VMware backend" 2016-04-18 09:16:42 +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
Krzysztof Szukiełojć 442a143c11 Replacing improper map usage.
Replacing map with for loops or list comprehensions in areas
where they where used improper.

Change-Id: I094abb3c6ec3c041f0fff6aed0c456158e1cc8f7
Closes-Bug: 1567849
2016-04-13 17:13:18 +02:00
Igor Zinovik 59c8b8c790 Allow user upload CA bundle file for Glance with VMware backend
Add field that allows user to upload CA certificate that emitted
vCenters TLS/SSL certificate. It allow Glance with VMware backend verify
connection to vCenter server (verification is turned on by default).
If user did not uploaded certificate then, glance will be configured
to skip verification step during connection to vCenter.

Partial-bug: #1559067
DocImpact: Document how to use 'CA file' field on VMware tab.
Change-Id: I810bc000e54b941018a1190acb26d33150b74ce0
2016-04-12 09:05:04 +00:00
Artem Roma 2df9142a97 Fix get_common_node_group behavior
Now if common nodegroup has not been found for given nodes None as a
result is returned instead of default node group.

This directly affects procedure of VIP allocation as (e.g.) VIPs will
not be allocated when cluster does not have assigned nodes.

Tests updated accordingly

Change-Id: Iaa94453f3f98cc9238f9810aab7311ffabbfa8b7
Closes-Bug: #1549254
2016-03-29 14:59:24 +03:00
Bulat Gaifullin 6c58744319 Added openstack config and cluster info to deployment info
We need openstack configs and cluster attributes in deployment
info for YAQL expressions. Becuase LCM serializers works only
with deployment info, this data should be added to it.
Also optimized deployment_serializers and git rid off
extra database reads.

Change-Id: I64db3f0c78bccf40ab0b8548b5335bd87c668c68
Implements: blueprint computable-task-fields-yaql
2016-03-25 19:49:53 +03:00
Bulat Gaifullin cb8568669b Enabled task deploy for integration tests
Closes-Bug: 1552464

Change-Id: I0daa98a4dee8b8e75e658a77226cbbc827fc681f
2016-03-21 13:22:53 +03:00
Aleksey Kasatkin 2ad1ef0e8d Do not include Admin network twice
Admin network was included into networks list twice in case of using
multiple node groups. Because of that the allocation algorithm had
an assumption that Admin network was not allocated to NIC and allocated
it twice, fisrt time - to the right NIC, second - to the first NIC always.
The issue arrived when node was in non-default node group and was booted
not from the first NIC.
It is fixed now.

Closes-Bug: #1557580
Change-Id: I64a9ecdad1e68e4f0819940f0266699c394e9caf
2016-03-18 17:50:22 +02:00
Ilya Kutukov 0e9ca251cf Orchestrator DeploymentGraph is renamed to the GraphSolver
To avoid confusion with objest.DeploymentGraph and
orchestrator.DeploymentGraph second one was renamed
to the GraphSolver because this entity is used to
find subgraphs, loops, and solve graph for the
old orchestrators.

Secondary changes:
DeploymentGraphValidator -> GraphSolverValidator
DeploymentGraphTasksValidator -> GraphSolverTasksValidator
GraphVisualizationValidator -> GraphSolverVisualizationValidator
validators/graph.py -> validators/orchestrator_graph.py
orchestrator/deployment_graph.py -> orchestrator/orchestrator_graph.py

Change-Id: Ic42a17115723b8145b9d94cc034bf2217d1d634b
Implements: blueprint custom-graph-execution
2016-03-17 03:25:37 +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
Aleksey Kasatkin f0860e4d59 Accept SR-IOV data and save it in interface properties
Now SR-IOV related data from nailgun-agent and API is stored in
NodeNICInterface.interface_properties. It's also serialized back for API.

Change-Id: I5bb57cf53a9f508233e9757b6d698dfb930c9d19
Blueprint: support-sriov
2016-02-26 12:10:35 +02:00
Artem Roma 3c0f7e124b Add allocation of VIPs at the creation of a cluster
* VIP allocation added to objects.Cluster.create method;
* new unit tests added;
* existing tests updated.

Change-Id: I8d502e8f3733d2e0b91069a4abeafc016005d944
Blueprint: allow-any-vip
Blueprint: assign-vips-on-cluster-creation
2016-02-17 17:36:01 +02:00
Alexander Saprykin 5a2d4f0d3e Merge NodeAttributes model into Node model
* Move vms_conf from NodeAttributes to Node.
* Drop interfaces field, that is not used anymore.
* Fix all references to vms_conf across all sources.
* Remove explicit changed() call, since JSON fields
  can detect updates on all levels.
* Replace objects.Node.set_vms_conf() function
  with direct attribute assignment

Change-Id: I2112a6dba30b49e3d658ef1503ee48ad1f92e693
Implements: blueprint support-numa-cpu-pinning
2016-02-10 12:42:02 +02:00
Jenkins 0f587b9f6f Merge "Change openstack_version to liberty-9.0 in openstack.yaml" 2016-01-08 14:09:22 +00:00
Igor Kalnitsky e556554485 Remove NoCacheQuery
For the time being we used custom non-cached SQLAlchemy query. That
means the following drawbacks:

* each time we access to relationship attribute the SQL query is spawn;
* each time we trying to get instance by pk (.get) the SQL query is
  spawn;

Besides the way we get non-cached query is by patching internal
SQLAlchemy's Query attribute - '_populate_existing' - which is designed
for another purpose. It cause us a lot of troubles because the
SQLAlchemy behaves in slightley different way that it's pointed in
documentation (for instance, there're much more reasons for implicitly
calling .flush()).

This commit finally drops this unconvenient NoCacheQuery in favor of
standard Query.

Change-Id: Ic1b11684dddf970268eedd297e8577c86e750f1e
Closes-Bug: #1498382
2016-01-05 12:57:14 +00:00
Oleg Gelbukh 9c8cd9196d Change openstack_version to liberty-9.0 in openstack.yaml
Set release name to 'Liberty' in display name and description of new release.
Set openstack_version setting to 'liberty-9.0' to comply with the existing
versions schema.
Set opesntack_version to 'liberty-9.0' in tests.

Closes-bug: 1503663
Change-Id: Ifef952e18f08b98c430bbff9434984deaa68df81
2015-12-29 15:07:46 +00:00
Bulat Gaifullin b5cbc1564f Added possibility to serialize cluster without deployment tasks
implements blueprint: task-based-deployment-astute

Change-Id: If5448ffe758289ce05f200ea1f8c338e78465b5a
2015-12-10 14:10:07 +03:00
Andrey Shestakov 0dd45c2612 Patch network_roles_metadata for 7.0 release where needed
The patching mostly done for tests for nailgun components adhering to
the release version. E.g. network serializers. Some tests are forced to
create environments of 8.0 version. The change is needed to resolve
possible issues with the tests when network roles metadata is changed
drastically and is not compatible with mentioned components.

Partial-Bug: #1517874
Change-Id: I55607157ae7767ffdfd1d855b872630832706e8e
2015-12-01 13:18:38 +00:00
Bulat Gaifullin 4e2d655555 prepare_for_deployment was moved to network manager
The network related function shall be in NetworkManager,
this makes easier further refactoring.

Change-Id: I8eb5404509c9fe0a8c367ea119bfb18233941fde
Partial-Bug: #1354803
2015-11-30 13:48:14 +03:00
smurashov 83bd490394 Use appropriate types to store IP and MAC addrs
In PostgreSQL there are special types for storing IPv4, IPv6 address and
subnetworks and also MAC addresses. Storing data in these types is more
efficient than in strings because it requires less space. In addition,
it provides additional operations for columns of these types.

This patch changes types of some columns for models such as:

    IPAddr
        ip_addr: inet

    IPAddrRange
        first: inet
        last: inet

    Node
        mac: macaddr
        ip: inet

    NodeNICInterface
        mac: macaddr
        ip_addr: inet
        netmask: inet

    NodeNICInterface
        mac: macaddr

    NetworkGroup
        cidr: cidr
        gateway: inet

    NeutronConfig
        base_mac: macaddr
        internal_cidr: cidr
        internal_gateway: inet
        baremetal_gateway: inet

    NovaNetworkConfig
        fixed_networks_cidr: cidr

Co-Authored-By: Ilya Kharin <ikharin@mirantis.com>
Change-Id: Id8431eb7d2e3ca1a1cc29fc865d57359b29d0e35
Partial-Bug: #1484973
2015-11-24 16:05:07 +03: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
Igor Kalnitsky 8b07f46ab6 Neutron: add internal & floating names to params
In order to remove internal and floating network names hardcoding from
Nailgun database, let's move them to neutron parameters. It'll simplify
support for developers, and allow user to change them as they want.

Change-Id: Ic0ca82047cb750609a5313c2eab02569b9633239
Partial-Bug: #1349702
2015-11-12 03:00:38 +02:00
=Nikita Koshikov 4978a95bb7 Update dnsmasq to setup dhcp when Admin networks are changed
When parameters of any Admin network are changed or Admin network is
deleted new UpdateDnsmasq task is called to setup dnsmasq with new
configuration for dhcp.

Co-Authored-By: Aleksei Kasatkin <akasatkin@mirantis.com>

Partial-Bug: #1495593

Change-Id: I532f21508c78bd142fbd0aa1754bcb7b617b121b
2015-11-05 19:20:00 +02:00