As we set pending_addition flag on node assignment, remove it
on node unassignment accordingly.
Change-Id: I9ed3d85ad2134b362ab145e7008dc8447590a590
Closes-Bug: #1644853
Fuel-Client expects valid json for all put and post
requests, so this patch fixes regress introduced by
patch: Ia3da3bd809bcca923d53666eca54def78c995f65
Change-Id: I6066e21504bb39e580609db14e1a4e5ea7d13258
Closes-Bug: #1606211
Fix incorrect value of nodes ids in nailgun response
(400 Client Error) during nodes assignment procedure for
already assigned nodes
Change-Id: I0c0812c683a768a7a1007037fc8d4470fcae643e
Closes-Bug: 1576198
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
When a node is added to a cluster with a network template
networks will be mapped to NICs based on transformations
in the template. Any bonds will be created in the database.
Any time the cluster's network template is changed the NIC
mapping will be recreated.
Change-Id: I2b52444f3019241362e5a957bf191645b94ebaa7
Closes-bug: #1493391
IPs were allocated for every network on every node
regardless of network to nodes mapping which is set in template.
It led to excessive IP usage.
Now it is fixed so that IPs are allocated only for nodes where they are required.
And IP allocation is optimized for the case with network template and for other
cases partially.
A number of small fixes were made on the base of comments in earlier RCs.
IP allocation comparison in DB queries count (only for replaced part):
old version: 1 query per IP to allocate + 1 query per occupied IP in that range
new version: 1 queries per network (for all IPs) if (occupied IPs)+(IPs to allocate) <= MIN_IPS_PER_DB_QUERY
2 queries per network otherwise (typically).
New version is much better for large numbers of nodes.
nodes | queries count |
count | old | new |
|min| max |min| max |
1 | 1| 1+N| 1|1+ceil(N/5)**|
10 | 10| 10+N| 1|1+ceil(N/10) |
100 |100|100+N| 1|1+ceil(N/100)|
where N is a number of occupied IPs.
** 5 here is value of MIN_IPS_PER_DB_QUERY.
Change-Id: I4479bcae9e80f7b96750f9fdb2868d6df164baf6
Closes-Bug: #1480345
Since 'oslo.config' and 'oslo.serialization' namespaces are deprecated, they
are swapped with 'oslo_config' and 'oslo_serialization' correspondingly.
Lower bounds of supported versions are updated as well.
Change-Id: I133c7676da504933d03e147af3a239d6559d5aac
Closes-Bug: #1478900
"*" can now be used in openstack.yaml roles conflicts section if
role conflicts with all others
Change-Id: I4628ac55946f1b8d58d708cde0b9f45b3a61eb29
Closes-Bug: #1466420
YAML network template can be uploaded/got/deleted via a call
to api/clusters/<id>/network_configuration/template
Change-Id: I5c9ae51558dab2301e8ad8dffcf68a63ed0abdb4
Implements: blueprint templates-for-networking
Add new handler SnapshotDownload which returns empty response
with X-Accel-Redirect header. Nginx reads this header and
serves actuall snapshot file.
Also changed 'reverse' function location, let it be more
available for other modules.
Change-Id: Id46b533e8d2a8021d1fbb2e5d4284508e1181704
Implements: blueprint snapshot-download-with-auth
jsonutils is now in separate library, and the oslo.serialization will be
used from now on.
Change-Id: I28b6b70e437f154cf1b9ce0b15b0c3e716d170ee
Depends-On: https://review.openstack.org/#/c/158674/
Closes-Bug: #1400661
Added a NodeGroup model. NodeGroups can be created and modified
via the Fuel API. Clusters are created with a default node group
and the cluster networks are tied to that default node group.
Upon creation of a node group a set of networks will be generated.
When a node group is deleted those networks will be deleted as well.
See previous change: Ic30a1b46112599022645b06f7bef2223ff4c6475
DocImpact
Change-Id: I8bbe6b8c6338d6586c7e9a61542939ae2a19828b
Implements: blueprint multiple-cluster-networks
- Bonds should be removed from configuration when node
unnasigned from cluster
- If no admin network group is found, lookup admin interface
by cidr only on node.nic_interfaces
This bug partially fixed by previous refactoring
Change-Id: Ibafab7d2aa2a3377a6c184a689a2607b4953ee09
Closes-Bug: #1328163
If we try to assign some role to some nodes with invalid cluster id:
$ fuel --env 99 node set --role controller --node 1 2 3
we will get an internal server error (500). Since now, it's fixed.
Change-Id: I9bea9a498295b5db2114874c3502425d7dc94b46
Closes-Bug: #1317703
Added a NodeGroup model. NodeGroups can be created and modified
via the Fuel API. Clusters are created with a default node group
and the cluster networks are tied to that default node group.
Added API handler for creating new NetworkGroups.
Implements: blueprint multiple-cluster-networks
Closes-bug: #1272142
Change-Id: Ic30a1b46112599022645b06f7bef2223ff4c6475
Remove ha_compact constraint
Remove tests from declaring cluster mode and set ha_compact as default
Reverse order of multinode and ha_compact, ha_compact should become
default in menus
This depricates multinode deployments following the logic that all
ha deployments can now support single controllers.
Further commit will be needed to remove multinode when this is considered
stable
Change-Id: I8a69897aecc450be4ec5c7b4d786ccc1c2fd93aa
Implements: blueprint single-controller-ha
If we receive from PUT smth like:
{"editable": {"storage": {"osd_pool_size": {"value": 3},
"volumes_ceph": {"value": true}}}}
attributes.editable will contain only received data and no default one
Changing paste.TestApp for webtest.TestApp cause TestApp does not have
PATCH method available
Change-Id: I259ee806c9464cb82b391e9c3b633e5e7f5f11d3
Closes-Bug: #1283135
* Created handler, validator,
added url to handler mapping.
* Created test for assignment
and unassignment.
* Moved role validation from
fuelclient to assignment validator
* new handlers used in fuelclient
* refactored fueclient for new
assignment and unassignment API
Closes-bug: #1265036
Implements: blueprint create-separate-handler-for-node-assignment
Change-Id: Ie1dce1401e0f43cc336662bf29a4e5e72bd80db1