Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-9800

Enable inline mode for NetScaler device

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Network Devices
    • Security Level: Public (Anyone can view this level - this is the default.)
    • None

    Description

      Only side-by-side mode is enabled for NetScaler devices. NetScaler can work in inline mode also along with other Firewall devices

      Attachments

        Activity

          githubbot ASF GitHub Bot added a comment -

          GitHub user kishankavala opened a pull request:

          https://github.com/apache/cloudstack/pull/1964

          Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI

          NetScaler can work in inline mode also along with other Firewall devices. Enabled netscaler inline mode capability

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/kishankavala/cloudstack CLOUDSTACK-9800

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/cloudstack/pull/1964.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #1964


          commit a0f990a2f270e8af92ed03a624a84e14da0ba4c0
          Author: Kishan Kavala <kishan@apache.org>
          Date: 2017-02-23T09:53:56Z

          Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corrsponding changes in UI


          githubbot ASF GitHub Bot added a comment - GitHub user kishankavala opened a pull request: https://github.com/apache/cloudstack/pull/1964 Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI NetScaler can work in inline mode also along with other Firewall devices. Enabled netscaler inline mode capability You can merge this pull request into a Git repository by running: $ git pull https://github.com/kishankavala/cloudstack CLOUDSTACK-9800 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/1964.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1964 commit a0f990a2f270e8af92ed03a624a84e14da0ba4c0 Author: Kishan Kavala <kishan@apache.org> Date: 2017-02-23T09:53:56Z Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corrsponding changes in UI
          githubbot ASF GitHub Bot added a comment -

          Github user koushik-das commented on the issue:

          https://github.com/apache/cloudstack/pull/1964

          Code changes LGTM

          githubbot ASF GitHub Bot added a comment - Github user koushik-das commented on the issue: https://github.com/apache/cloudstack/pull/1964 Code changes LGTM
          githubbot ASF GitHub Bot added a comment -

          rhtyd commented on issue #1964: Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI
          URL: https://github.com/apache/cloudstack/pull/1964#issuecomment-352582644

          Lgtm, simple change. Merging based on reviews and last bvt test result.

          ----------------------------------------------------------------
          This is an automated message from the Apache Git Service.
          To respond to the message, please log on GitHub and use the
          URL above to go to the specific comment.

          For queries about this service, please contact Infrastructure at:
          users@infra.apache.org

          githubbot ASF GitHub Bot added a comment - rhtyd commented on issue #1964: Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI URL: https://github.com/apache/cloudstack/pull/1964#issuecomment-352582644 Lgtm, simple change. Merging based on reviews and last bvt test result. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org
          githubbot ASF GitHub Bot added a comment -

          rhtyd closed pull request #1964: Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI
          URL: https://github.com/apache/cloudstack/pull/1964

          This is a PR merged from a forked repository.
          As GitHub hides the original diff on merge, it is displayed below for
          the sake of provenance:

          As this is a foreign pull request (from a fork), the diff is supplied
          below (as it won't show otherwise due to GitHub magic):

          diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
          index dbf6d9a4b69..d4d8d24136f 100644
          — a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
          +++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
          @@ -281,6 +281,9 @@ public boolean applyLBRules(Network config, List<LoadBalancingRule> rules) throw
          // Supports only Public load balancing
          lbCapabilities.put(Capability.LbSchemes, LoadBalancerContainer.Scheme.Public.toString());

          + // Support inline mode with firewall
          + lbCapabilities.put(Capability.InlineMode, "true");
          +
          // Specifies that load balancing rules can support autoscaling and the list of counters it supports
          AutoScaleCounter counter;
          List<AutoScaleCounter> counterList = new ArrayList<AutoScaleCounter>();
          diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js
          index 512ccf7c738..6ea47cfa9e9 100644
          — a/ui/scripts/configuration.js
          +++ b/ui/scripts/configuration.js
          @@ -2626,7 +2626,7 @@
          //hide/show service fields ***** (end) *****

          //show LB InlineMode dropdown only when (1)LB service is checked and LB service provider is F5BigIp (2)Firewall service is checked and Firewall service provider is JuniperSRX

          • if ((args.$form.find('.form-item[rel=\"service.Lb.isEnabled\"]').find('input[type=checkbox]').is(':checked') == true) && (args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'F5BigIp') &&
            + if ((args.$form.find('.form-item[rel=\"service.Lb.isEnabled\"]').find('input[type=checkbox]').is(':checked') == true) && ((args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'F5BigIp') || (args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'Netscaler')) &&
            (args.$form.find('.form-item[rel=\"service.Firewall.isEnabled\"]').find('input[type=checkbox]').is(':checked') == true) && (args.$form.find('.form-item[rel=\"service.Firewall.provider\"]').find('select').val() == 'JuniperSRX')) { args.$form.find('.form-item[rel=\"service.Lb.inlineModeDropdown\"]').css('display', 'inline-block'); }

            else

            { @@ -3152,7 +3152,7 @@ inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilitytype'] = 'ElasticLb'; inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilityvalue'] = true; //because this checkbox's value == "on" serviceCapabilityIndex++; - }

            else if ((key == 'service.Lb.inlineModeDropdown') && ("Lb" in serviceProviderMap) && (serviceProviderMap.Lb == "F5BigIp"))

            { + }

            else if ((key == 'service.Lb.inlineModeDropdown') && ("Lb" in serviceProviderMap) && ((serviceProviderMap.Lb == "F5BigIp") || (serviceProviderMap.Lb == "Netscaler"))) {
            if (value == 'true') { //CS-16605 do not pass parameter if value is 'false'(side by side)
            inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].service'] = 'lb';
            inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilitytype'] = 'InlineMode';

          ----------------------------------------------------------------
          This is an automated message from the Apache Git Service.
          To respond to the message, please log on GitHub and use the
          URL above to go to the specific comment.

          For queries about this service, please contact Infrastructure at:
          users@infra.apache.org

          githubbot ASF GitHub Bot added a comment - rhtyd closed pull request #1964: Bug-Id: CLOUDSTACK-9800 Enabled netscaler inline mode. Added corresponding changes in UI URL: https://github.com/apache/cloudstack/pull/1964 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java index dbf6d9a4b69..d4d8d24136f 100644 — a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java @@ -281,6 +281,9 @@ public boolean applyLBRules(Network config, List<LoadBalancingRule> rules) throw // Supports only Public load balancing lbCapabilities.put(Capability.LbSchemes, LoadBalancerContainer.Scheme.Public.toString()); + // Support inline mode with firewall + lbCapabilities.put(Capability.InlineMode, "true"); + // Specifies that load balancing rules can support autoscaling and the list of counters it supports AutoScaleCounter counter; List<AutoScaleCounter> counterList = new ArrayList<AutoScaleCounter>(); diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js index 512ccf7c738..6ea47cfa9e9 100644 — a/ui/scripts/configuration.js +++ b/ui/scripts/configuration.js @@ -2626,7 +2626,7 @@ //hide/show service fields ***** (end) ***** //show LB InlineMode dropdown only when (1)LB service is checked and LB service provider is F5BigIp (2)Firewall service is checked and Firewall service provider is JuniperSRX if ((args.$form.find('.form-item [rel=\"service.Lb.isEnabled\"] ').find('input [type=checkbox] ').is(':checked') == true) && (args.$form.find('.form-item [rel=\"service.Lb.provider\"] ').find('select').val() == 'F5BigIp') && + if ((args.$form.find('.form-item [rel=\"service.Lb.isEnabled\"] ').find('input [type=checkbox] ').is(':checked') == true) && ((args.$form.find('.form-item [rel=\"service.Lb.provider\"] ').find('select').val() == 'F5BigIp') || (args.$form.find('.form-item [rel=\"service.Lb.provider\"] ').find('select').val() == 'Netscaler')) && (args.$form.find('.form-item [rel=\"service.Firewall.isEnabled\"] ').find('input [type=checkbox] ').is(':checked') == true) && (args.$form.find('.form-item [rel=\"service.Firewall.provider\"] ').find('select').val() == 'JuniperSRX')) { args.$form.find('.form-item[rel=\"service.Lb.inlineModeDropdown\"]').css('display', 'inline-block'); } else { @@ -3152,7 +3152,7 @@ inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilitytype'] = 'ElasticLb'; inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilityvalue'] = true; //because this checkbox's value == "on" serviceCapabilityIndex++; - } else if ((key == 'service.Lb.inlineModeDropdown') && ("Lb" in serviceProviderMap) && (serviceProviderMap.Lb == "F5BigIp")) { + } else if ((key == 'service.Lb.inlineModeDropdown') && ("Lb" in serviceProviderMap) && ((serviceProviderMap.Lb == "F5BigIp") || (serviceProviderMap.Lb == "Netscaler"))) { if (value == 'true') { //CS-16605 do not pass parameter if value is 'false'(side by side) inputData['servicecapabilitylist [' + serviceCapabilityIndex + '] .service'] = 'lb'; inputData['servicecapabilitylist [' + serviceCapabilityIndex + '] .capabilitytype'] = 'InlineMode'; ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org

          Commit 49be7eecd2e7db33a421b8680e4e8806a3d63952 in cloudstack's branch refs/heads/master from kishankavala
          [ https://gitbox.apache.org/repos/asf?p=cloudstack.git;h=49be7ee ]

          CLOUDSTACK-9800: Enabled netscaler inline mode. Added corrsponding changes in UI (#1964)

          NetScaler can work in inline mode also along with other Firewall devices. Enabled netscaler inline mode capability

          jira-bot ASF subversion and git services added a comment - Commit 49be7eecd2e7db33a421b8680e4e8806a3d63952 in cloudstack's branch refs/heads/master from kishankavala [ https://gitbox.apache.org/repos/asf?p=cloudstack.git;h=49be7ee ] CLOUDSTACK-9800 : Enabled netscaler inline mode. Added corrsponding changes in UI (#1964) NetScaler can work in inline mode also along with other Firewall devices. Enabled netscaler inline mode capability

          People

            kishan Kishan
            kishan Kishan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: