crowbar/crowbar-openstack

View on GitHub
crowbar_framework/app/views/barclamp/neutron/_edit_attributes.html.haml

Summary

Maintainability
Test Coverage
= attributes_for @proposal do
  .panel-sub
    = header show_raw_deployment?, true

  .panel-body
    = instance_field :database
    = instance_field :keystone
    = instance_field :rabbitmq
    = string_field :dns_domain

    %fieldset
      %legend
        = t(".plugin_header")

      = select_field :networking_plugin, :collection => :networking_plugins_for_neutron

      #ml2_mechanism_drivers_container
        = select_field :ml2_mechanism_drivers, :collection => :networking_ml2_mechanism_drivers_for_neutron, :multiple => true, :size => NeutronService.networking_ml2_mechanism_drivers_valid.size

      #ml2_type_drivers_container
        = select_field :ml2_type_drivers, :collection => :networking_ml2_type_drivers_for_neutron, :multiple => true, :size => NeutronService.networking_ml2_type_drivers_valid.size

      #ml2_type_drivers_default_provider_network_container
        = select_field :ml2_type_drivers_default_provider_network, :collection => :networking_ml2_type_drivers_default_provider_network_for_neutron
        %span.help-block
          = t('.ml2_type_drivers_default_provider_network_hint')

      #ml2_type_drivers_default_tenant_network_container
        = select_field :ml2_type_drivers_default_tenant_network, :collection => :networking_ml2_type_drivers_default_tenant_network_for_neutron
        %span.help-block
          = t('.ml2_type_drivers_default_tenant_network_hint')

      #l2pop_container
        = boolean_field :use_l2pop

      #dvr_container
        = boolean_field :use_dvr

      #vmware_container
        = string_field %w(vmware user)
        = password_field %w(vmware password)
        = string_field %w(vmware controllers)
        = string_field %w(vmware tz_uuid)
        = string_field %w(vmware l3_gw_uuid)

      #num_vlans_container
        %fieldset
          %legend
            = t(".vlan_header")
          = integer_field %w(num_vlans)

      #gre_container
        %fieldset
          %legend
            = t(".gre_header")
          = integer_field %w(gre tunnel_id_start)
          = integer_field %w(gre tunnel_id_end)

      #vxlan_container
        %fieldset
          %legend
            = t(".vxlan_header")
          = integer_field %w(vxlan vni_start)
          = integer_field %w(vxlan vni_end)
          #vxlan_group_container
            = string_field %w(vxlan multicast_group)
            %span.help-block
              = t('.vxlan.multicast_group_hint')

    #cisco_switches
      %fieldset
        %legend
          = t(".cisco_switches")

        %table.table.table-middle{ "data-dynamic" => "#switch-entries", "data-namespace" => "cisco_switches", "data-optional" => "", "data-invalid" => t(".error_invalid"), "data-duplicate" => t(".error_duplicate") }
          %thead
            %tr
              %th.col-sm-3
                = t(".switch_ip")
              %th.col-sm-2
                = t(".switch_port")
              %th.col-sm-3
                = t(".switch_user")
              %th.col-sm-3
                = t(".switch_password")
              %th.col-sm-1
          %tbody
          %tfoot
            %tr
              %th
                = text_field_tag "switch[name]", "", :placeholder => t(".switch_ip"), :class => "form-control", "data-name" => "name", "data-type" => "string"
              %th
                = number_field_tag "switch[port]", "", :placeholder => t(".switch_port"), :class => "form-control", "data-name" => "port", "data-type" => "string"
              %th
                = text_field_tag "switch[user]", "", :placeholder => t(".switch_user"), :class => "form-control", "data-name" => "user", "data-type" => "string"
              %th
                = password_field_tag "switch[password]", "", :placeholder => t(".switch_password"), :class => "form-control", "data-name" => "password", "data-type" => "string"
              %th
                = link_to t(".add_switch"), "#", :class => "btn btn-default btn-block", "data-add" => true

    #cisco_ports
      %fieldset
        %legend
          = t(".cisco_ports")

        %table.table.table-middle
          %thead
            %tr
              %th.col-sm-5
                = t(".port_node")
              %th.col-sm-3
                = t(".port_switch")
              %th.col-sm-3
                = t(".port_number")
              %th.col-sm-1
          %tbody
            %tr
              %td{ :colspan => 4 }
                .empty.alert.alert-info.text-center
                  = t(".port_hint")

            - nodes_by_role("nova-compute-*").each do |node|
              %tr.edit
                %td
                  = text_field_tag "port[node]", node.alias, :placeholder => t(".port_node"), :class => "form-control", :disabled => "disabled"
                %td
                  = select_tag "port[switch]", "", :placeholder => t(".port_switch"), :class => "form-control", "data-node" => node.handle, "data-name" => "switch"
                %td
                  = text_field_tag "port[number]", "", :placeholder => t(".port_number"), :class => "form-control", "data-node" => node.handle, "data-name" => "number"
                %td
                  = link_to t(".clear_port"), "#", :class => "btn btn-default btn-block", "data-clear" => node.handle

    #lbaas_container
      %fieldset
        %legend
          = t(".lbaas_header")
        = select_field :lbaasv2_driver, :collection => :networking_lbaasv2_drivers

        #f5_driver_container
          %fieldset
            %legend
              = t(".f5_header")
            = select_field %w(f5 ha_type), :collection => :f5_ha_type
            = string_field %w(f5 icontrol_hostname)
            = string_field %w(f5 icontrol_username)
            = password_field %w(f5 icontrol_password)
            = string_field %w(f5 parent_ssl_profile)
            = string_field %w(f5 external_physical_mappings)
            = string_field %w(f5 vtep_folder)
            = string_field %w(f5 vtep_selfip_name)
            = integer_field %w(f5 max_namespaces_per_tenant)
            = boolean_field %w(f5 route_domain_strictness)

    %fieldset
      %legend
        = t(".ssl_header")

      = select_field %w(api protocol), :collection => :api_protocols_for_neutron, "data-sslprefix" => "ssl", "data-sslcert" => "/etc/neutron/ssl/certs/signing_cert.pem", "data-sslkey" => "/etc/neutron/ssl/private/signing_key.pem"

      #ssl_container
        = boolean_field %w(ssl generate_certs)
        = string_field %w(ssl certfile)
        = string_field %w(ssl keyfile)
        = boolean_field %w(ssl insecure)
        = boolean_field %w(ssl cert_required), "data-enabler" => "true", "data-enabler-target" => "#ssl_ca_certs"
        = string_field %w(ssl ca_certs)

%script#switch-entries{ :type => "text/x-handlebars-template" }
  {{#each entries}}
  %tr.edit
    %td
      = text_field_tag "switch[name]", "{{name}}", :placeholder => t(".switch_ip"), :class => "form-control", :disabled => "disabled"
    %td
      = number_field_tag "switch[port]", "{{port}}", :placeholder => t(".switch_port"), :class => "form-control", "data-update" => "exports/{{name}}/port", "data-type" => "string"
    %td
      = text_field_tag "switch[user]", "{{user}}", :placeholder => t(".switch_user"), :class => "form-control", "data-update" => "exports/{{name}}/user", "data-type" => "string"
    %td
      = password_field_tag "switch[password]", "{{password}}", :placeholder => t(".switch_password"), :class => "form-control", "data-update" => "exports/{{name}}/password", "data-type" => "string"
    %td
      = link_to t(".remove_switch"), "#", :class => "btn btn-default btn-block", "data-remove" => "{{name}}"
  {{else}}
  %tr
    %td{ :colspan => 5 }
      .empty.alert.alert-info.text-center
        = t(".no_switches")
  {{/each}}