This patch adds support to deploy Ironic with separate Neutron network
for provisioning baremetal instances.
* Add NetworkDeploymentSerializer100 as Ironic multitenancy is supported
from Newton, and we will backport this till stable/newton.
* Update network scheme generation to create 'vlan' baremetal network,
assign IPs to Ironic conductors from this network, make them
accessible from baremetal servers.
* Add new checkbox at 'Openstack Settings/Additional components' tab
which allows to define if separate provisioning network should be used
during deployment. This is a trigger to switch ironic deployment to
multitenancy case. If not selected old behaviour is kept, 'flat'
network is used. The checkbox is shown only when Ironic component is
enabled.
Change-Id: I861a8b3b046202526d6a856c9f2dca2cfaddc887
Related-Bug: #1588380
Distributed serialization is implemented with python distributed
library. We have scheduler for jobs management and workers for
jobs processing. Scheduler is started on the master node as well
as set of workers on it. Also workers are started on all nodes.
In the cluster settings we can select the type of serialization
and nodes statuses that allows serialization on it. By default
nodes with status 'ready' are excluded from the workers list.
For data serialization we are using only nodes from the cluster
where serialization is performing.
Before the computation fresh nailgun code is sent to the workers
as zip file and it will be imported for job execution. So we always
have fresh nailgun code on the workers.
In one job we are processing chunks of tasks on the workers. This
approach significantly boosts performance. The tasks chunk size
is defined as settings.LCM_DS_TASKS_PER_JOB parameter.
For limiting memory consumption on the master node we use parameter
settings.LCM_DS_NODE_LOAD_COEFF for calculation max number of jobs
in the processing queue.
Synthetic tests of distributed serialization for 500 nodes with
nubmer of ifaces >= 5 performed on 40 cores (4 different machines)
took 6-7 minutes on average.
Change-Id: Id8ff8fada2f1ab036775fc01c78d91befdda9ea2
Implements: blueprint distributed-serialization
It is required for firewall driver selecting
Implements: blueprint security-groups-support-for-ovs
Change-Id: Id9307c5e72e35de9090804813122ea44045a371b
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
This change adds the new section with new checkbox as a separate
control instead of the toggleable section because of the description
which should be available even if the section is disabled (default).
DocImpact
Change-Id: I34c9907d781b81253ed6942c67b16f8480de3bb5
Partial-Bug: #1419657
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
This change is a part of the broader effort on letting Fuel to control
the S3 API/Keystone integration of Ceph RadosGW. The overall idea has
been described in the specs/10.0/s3-keystone-integration.rst document
that is a part of the fuel-specs repo. It is expected that the UI change
will be complemented by a corresponding modification of fuel-library.
Change-Id: I6badbd8bfb73b4c50112b016dc53ee3017de40ec
Related-Bug: #1446704
Related-Bug: #1540426
Closes-Bug: #1595894
This change adds the appropriate section to UI settings page.
It contains the default settings from the fuel-library and the
note message for an operator.
DocImpact
Change-Id: Ie0e69f58183193455d5d036b45668a3476f1a693
Partial-Bug: #1597250
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
Nailgun agent collects some anonymous statistic of Fuel usage.
This statistic consists lshw output, but lshw part of report doesn't
send to stat db.
Remove excess copying in get_node_meta function. Now it returns full meta
dict inculding pci_devices dict.
Also added tests for new meta dict params and fixed test env config for
this tests.
Closes-Bug: #1597276
Change-Id: I7273f953250fd5bd96f7603fbe6b3a658ba79950
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
White list added for Node model attributes.
Collecting of node info for fuel-stats refactored for using
node attributes white list.
Closes-Bug: #1577759
Change-Id: I7b5332c4c094b1f68ae8fc47da95d882770e6bf1
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
Since this plugin is used only by Murano and this
plugin should be enabled by default, it's moved to
Murano settings section, which is hidden in case of
Murano is disabled.
Change-Id: I8ebac4405a1eaede18a35acbbab7b202b6aac754
Closes-Bug: #1569944
UCA repos info added to collected by fuel-stats data.
Tests for checking that all cluster attributes are in filtering
WhiteList refactored to use releases with the same
operating_system value.
Now we are able to check attributes for Ubuntu and
Ubuntu+UCA releases.
Change-Id: I951324b34dc2ed7b6966316cc59ee2fe81872b04
Closes-Bug: #1558172
This partially reverts commit 21fcbbc5ae.
This patch reverts only python part.
The new way of removing Murano is described here:
https://review.openstack.org/275124
Change-Id: I24643c06fbd5b578d6ea75cca44128623204b5ce
Add an ability to enable/disable Neutron QoS plug-in as a part of Neutron
advanced options
Change-Id: I696359be59c515cd192de72150131f2fd6d00f49
Implements: blueprint support-qos
Since Fuel 9.0 all functionality for Murano will be moved into
plugin, hence we need remove it from Fuel.
partially implements blueprint murano-fuel-plugin
Change-Id: I553ac31db7609ee568b7a58ab84393722f2dba2d
This patch adds support for glance artifact repository feature to Fuel
WEB. This feature is added as experimental and placed in 'additional
services' section as far as the only one component which use it this
time is murano.
Change-Id: Ia959b99ee7a72a2bee81c4bbed2970dd30dc7744
Partial-Bug: #1525289
This patch inroduces set of API handlers for links to
the plugin dashboards that running on the master node:
plugins/:plugin_id/links/
plugins/:plugin_id/links/:link_id
Implements blueprint external-dashboard-links-support-in-nailgun
Closes-Bug: #1520287
Change-Id: Ia0e4e096ff5df595c6797ac76b1845ccdbb6cd3c
This patch add support of newly introduced murano service called
murano cfapi to Fuel UI.
Implements: bp implement-support-for-murano-service-broker
Change-Id: Ifc8a3861d82af13765cd0759de1846b431f057e9
White list for plugins info added into statsender.
Now we are checking that all plugin data is collected in tests. In
case of adding new property to Plugin DB model test checks that
this field is collected by statsender.
Change-Id: Iae3f41b839172b5f6d4f79b207b2a19c309b6e8b
Closes-Bug: #1521596
Modifying POST /clusters for handling components data
Enabling proper plugins by components from wizard
Change-Id: If6c0e9c2cb41652def663ba3c8c95484bd3430e9
Implements: blueprint component-registry
This commit adds a new Cinder-Block-Device node role.
This role requires only entire disk space, hence should not be any
other partitions on chosen disk. Also disks for a new role should
not be mounted by partition manager.
blueprint cinder-block-device-driver
Change-Id: I0279adffc3866608109efd23845ef2aa365e0704
- move test from unit to integration;
- disable additional properties in validation schema;
- refactoring;
- add more documentation;
- add more tests;
- Cluster-level plugin dashboard entries is renames to the cluster plugin links;
- hidden field added to the ClusterPluginLink API;
Change-Id: I7dc99fc622359848e54c7ce248360db1bdef7f0f
Author: Ilya Kutukov <ikutukov@mirantis.com>
Co-Authored-By: Vladimir Sharshov <vsharshov@mirantis.com>
Co-Authored-By: Ivan Kliuk <ikliuk@mirantis.com>
Closes-Bug: #1518381
- Dashboard entry DB model and DB migration logic added,
- Handler, json schema and validation added,
- Serializer added,
- Dashboard entires info added into statistics,
- Public url for Dashboard entry creation.
Implements blueprint post-deployment-dashboard
Change-Id: I5e613bb35366227d1265fbc698e2efeddf931cc7
Neutron L3 HA feature adds an ability to schedule a virtual router to at least
two L3 agents and an opportunity to establish connection faster after L3 agent
failover than router rescheduling.
L3 HA is currently not compatible with Neutron DVR
Change-Id: If62bc89c493241b78422e55f1865031db23705ed
Blueprint: neutron-vrrp-deployment
At the moment feature_groups are defined during
ISO build in version.yaml file. We need to avoid
using build time defined parameters because
we are moving to the package based delivery approach.
Depends-On: I05e841d4279bc61645cefb68f411a93b67e57189
Related-Bug: #1513737
Related-Bug: #1515517
Change-Id: I4f96fec73f991094bca65de5f1d1014662fbb2b4
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
Ironic enables Openstack baremetal provisioning.
This change adds:
* new additional component 'ironic'
* new 'ironic' node role for ironic-conductor services
* new deployment task for ironic role
Separate Ironic node role is need for:
* ironic-conductor service
* nova-compute with ironic compute driver
* tftp server for PXE boot
Ironic node role conflicts with regular Compute role.
Ironic component is optional and requires Neutron with VLAN segmentation and
Swift as a backend for Glance image service.
Implements: blueprint fuel-integrate-ironic (partially)
Change-Id: I135692a3eeb4deb42822123c4c727bddfdc84a56
This adds settings for two Neutron features at once
as DVR depends on L2 population and this should be reflected
in UI.
L2 population restrictions: actual only for tunnel segmentations:
gre, vxlan, etc., in fact "!=vlan".
DVR restrictions: if segmentation type is tunnel then L2 population
must be enabled.
Change-Id: Ied67b14a4629c9c5ea26ab09e000b6d18767591c
Implements: blueprint neutron-dvr-deployment
Implements: blueprint neutron-l2-population
* 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
Added fields about TLS for public OpenStack endpoints
divided by two groups - for Horizon and for other
services. Fields allow you to select services for which
you want to use SSL and give you opportunity to either
use self-signed keypair for these services (will
be generated after deploy started) or upload your own
certificate and key in format which HAProxy will
understand.
Change-Id: Ie6be3d2ed4e1864e5898d1c7d12ec761af01a041
Implements: blueprint ssl-endpoints