Checks that network roles mapping from original release is a subset of
network roles mapping of new cluster's release.
Change-Id: I521e70bf3df289abf3e71c5c1558faf7126db964
Partial-Bug: #1619162
for creating of network groups in the seed cluster
such as in the original cluster
Change-Id: I17f95756fa26ef0f7df0e969f9f1ba4331047c8d
Closes-Bug: #1616817
* netgroups mapping was changed (additional argument
for the mapping was added - name of node group)
* copying of node group during cluster cloning was added
Depends-On: I2638279371e91f15090c782fc5fdbb434a2e85f8
Partial-bug: #1612297
Change-Id: Ib1689d7b6d673c0d78434dd047a7ebc520c232e7
Co-Authored-By: Ryan Moe <rmoe@mirantis.com>
Co-Authored-By: Andrew Woodward <awoodward@mirantis.com>
Co-Authored-By: Ilya Kharin <akscram@gmail.com>
octane have some dirty hacks to change volumes attributes using nailgun
as a library, such modifications should be done in a extension
Change-Id: I422bb368916f3a319e286edcc6103a2834097a87
Implement transformations that are applied to cluster attributes during
environment cloning.
Conversion from text to text_list type has been limited to dns_list and
ntp_list keys only to keep predictable behavior.
Change-Id: I1ff596f850bd42243697cad1c1c35f0cf1386376
* change_env_settings function was moved to cluster upgrade extention
* merge generated attributes code was written
Change-Id: I6d1e27b8b0c01f3251067bc88931cd2354feb5ce
Partial-Bug: #1602587
Don't need to assign nics and bonds to netgroups
if network template has been applied to new cluster.
Change-Id: Ibd06de87964bf7a2038899d32e3d8a0189b9cbbd
Partial-bug: 1584044
Settings in release change. Cloned cluster should have values valid for
its release.
dns_list and net_list were text values but in version mitaka-9.0 it
changed to text_list
Change-Id: Iac0aa42b7c36333e6d9c40b8a27a19df9efe36f5
Closes-Bug: 1572179
All network-related objects have been moved into the
network_manager extension and import paths have been updated.
Blueprint: network-manager-extension
Change-Id: I6e16df86a58d6192d312e8e8955ed38912d2b059
In the original form, the iterator was changed inside
the loop. Iterating through separate list object
fixes this issue.
Change-Id: I8c2a47b54f1339669f9f20f1a420a028044cb9d8
Closes-bug: 1539039
New handler triggers copying of VIPs from given original cluster to new
one. The reason for separation of this action from copying of network
configuration is that accordion to [1] copying of existing VIPs/allocation
of new ones will not take effect for new cluster unless it has assigned
nodes. Thus in context of cluster upgrade procedure VIP transfer must be
done after node reassignment, and as long as nodes are being operated on
one by one it would be not efficient to call VIP copying method after
each such reassignment.
Tests updated accordingly.
[1]: https://review.openstack.org/#/c/284841/
Change-Id: I33670e8f2561be6fe18cec75bfc7ecc056ae2f6b
Closes-Bug: #1552744
In some upgrade scenarios when shadow environments are used some of
nodes should not be reprovisioned during this procedure. It is useful in
combination when control plane nodes are reprovisioned and data plane
nodes are updated in place.
The update_cluster_assignment method of the objects.Node class was
changed to accept roles and pending_roles for node during the
reassignment. It allows to specify proper roles by the upgrade
extention.
The NodeReassignHandler handler accepts two additional parameters in the
request body:
- reprovision = True (default) - allows to skip the reprovision step
- roles = [] (default) - allows to specify new roles or preserve the
current roles if empty
Two additional methods were added to NailgunClusterAdapter and
NailgunReleaseAdapter respectively.
Change-Id: Iedb20a904e58f5b9a86eb47de8d8d317dc3cc61b
Blueprint: upgrade-major-openstack-environment
Closes-Bug: #1558655
All network-related database queries are moved into the appropriate
object methods. This is being done to make it possible to have an external
network management service.
Blueprint: network-config-refactoring
Change-Id: I4ce965f227c54577659e64f598ff5cdf4c868ed6
* Add 'is_user_defined' field to 'ip_addrs' table.
* Rename 'vip_type' field to 'vip_name' of table 'ip_addrs'.
* Add 'vip_namespace' field to 'ip_addrs' table.
* Copy vip namespaces from plugin table network roles to 'vip_namespace' field
according to the unique vip name.
* Add database migrations.
* Add unit test for migrations.
Change-Id: Ia3e1d7f6e08dbebcb182de75eeaf58ddf6be4a8d
Partial-bug: #1482399
In the 7.0 release the networking templates were introduced. They use
the ip.addrs.vip_type column as names of VIPs and these names differ
from names of previous releases. To solve this we can renamed VIPs of
older releases during upgrade to 7.0 accoring the rules:
management: haproxy -> management
public: haproxy -> public
public: vrouter -> vrouter_pub
Change-Id: Ia77d13ea90408a06896f2a49c6e43d44c6af1d0d
Closes-Bug: #1482577
The patch adds method that assigns a node to an upgrade cluster without
deleting it from DB. This allows to keep ID of the node and IP addresses
assigned to it. The node is booted into the bootstrap image as soon as
it moves to an upgrade cluster.
Implements blueprint: nailgun-api-env-upgrade-extensions
Co-Authored-By: Artur Svechnikov <asvechnikov@mirantis.com>
Change-Id: If10fadd149a32317420778607146d9d12108d3f9
The patch adds an extension which implements the procedure of upgrading
clusters from one major release to another. As a first step of the
procedure the extension provides an ability to create a seed cluster
with the same settings as the original.
Implements blueprint: nailgun-api-env-upgrade-extensions
Change-Id: I22d51a3ffd51a7c88bdcbde0eef6f47b65def1c8