Merge ~alemar99/maas:ip_addr_validation_power_params into maas:master

Proposed by Alessandro Marcolini
Status: Merged
Approved by: Alessandro Marcolini
Approved revision: 841aae0a41bc4bca25c1d3cb492073ddfeb3be15
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~alemar99/maas:ip_addr_validation_power_params
Merge into: maas:master
Diff against target: 701 lines (+381/-20)
24 files modified
src/maasserver/api/tests/test_machine.py (+33/-0)
src/maasserver/clusterrpc/driver_parameters.py (+8/-1)
src/maasserver/fields.py (+66/-0)
src/maasserver/tests/test_fields.py (+122/-0)
src/maasserver/websockets/handlers/tests/test_machine.py (+39/-0)
src/provisioningserver/drivers/__init__.py (+5/-1)
src/provisioningserver/drivers/pod/lxd.py (+6/-1)
src/provisioningserver/drivers/pod/virsh.py (+6/-1)
src/provisioningserver/drivers/power/amt.py (+6/-1)
src/provisioningserver/drivers/power/apc.py (+6/-1)
src/provisioningserver/drivers/power/dli.py (+6/-1)
src/provisioningserver/drivers/power/eaton.py (+6/-1)
src/provisioningserver/drivers/power/hmc.py (+6/-1)
src/provisioningserver/drivers/power/hmcz.py (+6/-1)
src/provisioningserver/drivers/power/ipmi.py (+6/-1)
src/provisioningserver/drivers/power/moonshot.py (+6/-1)
src/provisioningserver/drivers/power/msftocs.py (+6/-1)
src/provisioningserver/drivers/power/openbmc.py (+6/-1)
src/provisioningserver/drivers/power/recs.py (+6/-1)
src/provisioningserver/drivers/power/redfish.py (+6/-1)
src/provisioningserver/drivers/power/seamicro.py (+6/-1)
src/provisioningserver/drivers/power/ucsm.py (+6/-1)
src/provisioningserver/drivers/power/vmware.py (+6/-1)
src/provisioningserver/drivers/power/wedge.py (+6/-1)
Reviewer Review Type Date Requested Status
Anton Troyanov Approve
MAAS Lander Approve
Review via email: mp+466228@code.qastaging.launchpad.net

Commit message

fix: validate ip address in machine power config

Resolves LP:1839189

Description of the change

Add ip address validation for machine power configuration

Fix bug: 1839189

To validate the ip address field, the `GenericIPAddressField`
from Django forms is used, which provides validation both for IPv4 and
IPv6 addresses. For lxd and virsh power types, two custom fields have
been created.

A new field_type of value "ip_address" was added to the JSON spec to
handle this scenario and all the `make_setting_field` in power drivers
have been updated consequently, except for virsh and lxd, which have
their specific field type because of the peculiarity of the address.

Because of this, changes in the UI are required, otherwise the new
field_type will not be handled by the UI. Nick has a branch on this
(https://github.com/ndv99/maas-ui/tree/feat-power-field-ip-validation)
which I have already tested and it works (as of now it only contains
changes regarding the field_type "ip_address").

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ip_addr_validation_power_params lp:~alemar99/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/5590/console
COMMIT: 97ac1133dbeab13b9806fdc763ae0f94f1a45954

review: Needs Fixing
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ip_addr_validation_power_params lp:~alemar99/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: f418a6e4db0cf856a43f223713bfeb54b6f7bc6a

review: Approve
Revision history for this message
Alessandro Marcolini (alemar99) wrote :

Changed to "work in progress" as the error is still there for lxd and virsh power types

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ip_addr_validation_power_params lp:~alemar99/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 4cbb5392f62e6620c3d3620b7e4cac6658c2d19d

review: Approve
Revision history for this message
Anton Troyanov (troyanov) wrote :

Nice work! +1

review: Approve

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches