Esempio n. 1
0
 def test_updates_fannetwork(self):
     new_name = factory.make_name("fannetwork")
     fannetwork = factory.make_FanNetwork()
     form = FanNetworkForm(instance=fannetwork, data={"name": new_name})
     self.assertTrue(form.is_valid(), form.errors)
     form.save()
     self.assertEqual(new_name, reload_object(fannetwork).name)
Esempio n. 2
0
    def create(self, request):
        """@description Create a fan network
        @description-title Create a fan network.

        @param (string) "name" [required=true] Name of the fan network.

        @param (string) "overlay" [required=true] The overlay network.

        @param (string) "underlay" [required=true] The underlay network.

        @param (boolean) "dhcp" [required=false] Configure DHCP server for
        overlay network.

        @param (int) "host_reserve" [required=false] The number of IP addresses
        to reserve for host.

        @param (string) "bridge" [required=false] Override bridge name.

        @param (boolean) "off" [required=false] Put this fan network in the
        configuration, but disable it.

        @success (http-status-code) "server-success" 200
        @success (json) "success-json" A JSON object containing the new fan
        network.
        @success-example "success-json" [exkey=fannetworks-read] placeholder
        text
        """
        form = FanNetworkForm(data=request.data)
        if form.is_valid():
            return form.save()
        else:
            raise MAASAPIValidationError(form.errors)
Esempio n. 3
0
 def test_creates_fannetwork(self):
     fannetwork_name = factory.make_name("fannetwork")
     slash = random.randint(12, 28)
     underlay = factory.make_ipv4_network(slash=slash)
     overlay = factory.make_ipv4_network(slash=slash - 4)
     form = FanNetworkForm({
         "name": fannetwork_name,
         "overlay": str(overlay),
         "underlay": str(underlay),
     })
     self.assertTrue(form.is_valid(), form.errors)
     fannetwork = form.save()
     self.assertEqual(fannetwork_name, fannetwork.name)
Esempio n. 4
0
    def create(self, request):
        """Create a fannetwork.

        :param name: Name of the fannetwork.
        :param overlay: Overlay network
        :param underlay: Underlay network
        :param dhcp: confiugre dhcp server for overlay net
        :param host_reserve: number of IP addresses to reserve for host
        :param bridge: override bridge name
        :param off: put this int he config, but disable it.
        """
        form = FanNetworkForm(data=request.data)
        if form.is_valid():
            return form.save()
        else:
            raise MAASAPIValidationError(form.errors)
Esempio n. 5
0
    def update(self, request, id):
        """@description-title Update a fan network
        @description Update a fan network with the given id.

        @param (int) "{id}" [required=true] The fan network id.

        @param (string) "name" [required=false] Name of the fan network.

        @param (string) "overlay" [required=false] The overlay network.

        @param (string) "underlay" [required=false] The underlay network.

        @param (boolean) "dhcp" [required=false] Configure DHCP server for
        overlay network.

        @param (int) "host_reserve" [required=false] The number of IP addresses
        to reserve for host.

        @param (string) "bridge" [required=false] Override bridge name.

        @param (boolean) "off" [required=false] Put this fan network in the
        configuration, but disable it.

        @success (http-status-code) "server-success" 200
        @success (json) "success-json" A JSON object containing the updated
        fan network.
        @success-example "success-json" [exkey=fannetworks-update] placeholder
        text

        @error (http-status-code) "404" 404
        @error (content) "not-found" The requested fan network is not found.
        @error-example "not-found"
            Not Found
        """
        fannetwork = FanNetwork.objects.get_fannetwork_or_404(
            id, request.user, NodePermission.admin
        )
        form = FanNetworkForm(instance=fannetwork, data=request.data)
        if form.is_valid():
            return form.save()
        else:
            raise MAASAPIValidationError(form.errors)
Esempio n. 6
0
    def update(self, request, id):
        """Update fannetwork.

        :param name: Name of the fannetwork.
        :param overlay: Overlay network
        :param underlay: Underlay network
        :param dhcp: confiugre dhcp server for overlay net
        :param host_reserve: number of IP addresses to reserve for host
        :param bridge: override bridge name
        :param off: put this int he config, but disable it.

        Returns 404 if the fannetwork is not found.
        """
        fannetwork = FanNetwork.objects.get_fannetwork_or_404(
            id, request.user, NODE_PERMISSION.ADMIN)
        form = FanNetworkForm(instance=fannetwork, data=request.data)
        if form.is_valid():
            return form.save()
        else:
            raise MAASAPIValidationError(form.errors)