Skip to content

Commit

Permalink
Support installation of Neutron ZVM Driver
Browse files Browse the repository at this point in the history
Allow deploying with the ZVM L2 driver.
  • Loading branch information
dirkmueller committed Oct 18, 2015
1 parent fdc5a1e commit 910f1d1
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 0 deletions.
6 changes: 6 additions & 0 deletions chef/cookbooks/neutron/attributes/default.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@
ovs_agent_name: "openstack-neutron-openvswitch-agent",
lb_agent_pkg: "openstack-neutron-linuxbridge-agent",
lb_agent_name: "openstack-neutron-linuxbridge-agent",
zvm_agent_pkg: "openstack-neutron-zvm-agent",
zvm_agent_name: "openstack-neutron-zvm-agent",
lbaas_agent_pkg: "openstack-neutron-lbaas-agent",
lbaas_agent_name: "openstack-neutron-lbaas-agent",
lbaas_haproxy_group: "haproxy",
Expand Down Expand Up @@ -92,6 +94,8 @@
ovs_agent_name: "neutron-openvswitch-agent",
lb_agent_pkg: "openstack-neutron-linuxbridge",
lb_agent_name: "neutron-linuxbridge-agent",
zvm_agent_pkg: "openstack-neutron-zvm-agent",
zvm_agent_name: "openstack-neutron-zvm-agent",
lbaas_agent_pkg: "openstack-neutron-lbaas-agent",
lbaas_agent_name: "neutron-lbaas-agent",
lbaas_haproxy_group: "nogroup",
Expand Down Expand Up @@ -119,6 +123,8 @@
ovs_agent_name: "neutron-plugin-openvswitch-agent",
lb_agent_pkg: "neutron-plugin-linuxbridge-agent",
lb_agent_name: "neutron-plugin-linuxbridge-agent",
zvm_agent_pkg: "neutron-zvm-agent",
zvm_agent_name: "neutron-zvm-agent",
lbaas_agent_pkg: "neutron-lbaas-agent",
lbaas_agent_name: "neutron-lbaas-agent",
lbaas_haproxy_group: "nogroup",
Expand Down
1 change: 1 addition & 0 deletions chef/cookbooks/neutron/recipes/server.rb
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@
#TODO(vuntz): temporarily disable the hyperv mechanism since we're lacking networking-hyperv from stackforge
#ml2_mechanism_drivers = node[:neutron][:ml2_mechanism_drivers].dup.push("hyperv")
ml2_mechanism_drivers = node[:neutron][:ml2_mechanism_drivers].dup
ml2_mechanism_drivers = "zvm"
if node[:neutron][:use_l2pop] && (ml2_type_drivers.include?("gre") || ml2_type_drivers.include?("vxlan"))
ml2_mechanism_drivers.push("l2population")
end
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[AGENT]
# (StrOpt) xCat REST API username, default value is admin.
# zvm_xcat_username = admin
zvm_xcat_username = <%= @zvm[:zvm_xcat_username] %>
# Example: zvm_xcat_username = guest

# (StrOpt) Password of the xCat REST API user, default value is admin
# zvm_xcat_password = admin
zvm_xcat_password = <%= @zvm[:zvm_xcat_password] %>
# Example: zvm_xcat_password = passw0rd

# (StrOpt) xCat MN server address, IP address or host name
# zvm_xcat_server = YourxCATMNServerAddress
zvm_xcat_server = <%= @zvm[:zvm_xcat_server] %>
# Example: zvm_xcat_server = 10.0.0.1

# (StrOpt) xCat zHCP nodename in xCAT, default value is zhcp
# xcat_zhcp_nodename = zhcp
# Example: xcat_zhcp_nodename = myzhcp1

# (StrOpt) The compute node name neutron-zvm-agent work on, same as 'host'in nova.conf
# This property is optional. If it is not specified, 'host' in neutron.conf will be
# used. Moreover, 'host' in neutron.conf is recommended and this property is deprecated.
# zvm_host = opnstk1
# Example: zvm_host = opnstk1

# (IntOpt) Agent's polling interval in seconds, default value is 2 seconds
# polling_interval = 2
# Example: polling_interval = 5

# (IntOpt) The number of seconds the agent will wait for
# xCAT MN response, default value is 300 seconds
# zvm_xcat_timeout = 300
# Example: zvm_xcat_timeout = 600

# (StrOpt ) xcat management NIC IP.
# xcat_mgt_ip = 10.1.0.1
# Example: xcat_mgt_ip=10.1.0.1

# (StrOpt ) xcat management NIC mask.
# xcat_mgt_mask=255.255.0.0
# Example: xcat_mgt_mask=255.255.0.0

# (StrOpt ) rdev_list for each vswitch's uplink real device(s), seperated by ','.
# If a vswitch does not connect an OSA, which means it does not connect to
# external network, rdev_list can be ignored.
# A new section is required for each vswitch which has a uplink port.
# rdev_list = 6000
# Example:
# [ xcatvsw3 ]
# rdev_list = 6000,6003,6005
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
def upgrade ta, td, a, d
a['zvm'] = ta['zvm']
return a, d
end

def downgrade ta, td, a, d
a.delete('zvm')
return a, d
end
5 changes: 5 additions & 0 deletions chef/data_bags/crowbar/template-neutron.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@
"tz_uuid": "",
"l3_gw_uuid": ""
},
"zvm": {
"zvm_xcat_server": "",
"zvm_xcat_username": "",
"zvm_xcat_password": ""
},
"ssl": {
"certfile": "/etc/neutron/ssl/certs/signing_cert.pem",
"keyfile": "/etc/neutron/ssl/private/signing_key.pem",
Expand Down
5 changes: 5 additions & 0 deletions chef/data_bags/crowbar/template-neutron.schema
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@
"tz_uuid": { "type" : "str", "required" : true },
"l3_gw_uuid": { "type" : "str", "required" : true }
}},
"zvm": { "type": "map", "required": true, "mapping": {
"zvm_xcat_server": { "type": "str", "required": true },
"zvm_xcat_username": { "type": "str", "required": true },
"zvm_xcat_password": { "type": "str", "required": true }
}},
"ssl": { "type": "map", "required": true, "mapping": {
"certfile": { "type" : "str", "required" : true },
"keyfile": { "type" : "str", "required" : true },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,14 @@
%td
= link_to t(".clear_port"), "#", :class => "btn btn-default btn-block", "data-clear" => node.handle

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

= string_field %w(zvm zvm_xcat_server)
= string_field %w(zvm zvm_xcat_username)
= password_field %w(zvm zvm_xcat_password)

%fieldset
%legend
= t(".ssl_header")
Expand Down
5 changes: 5 additions & 0 deletions crowbar_framework/config/locales/neutron/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@ en:
controllers: 'VMware NSX Controllers'
tz_uuid: 'UUID of the NSX Transport Zone'
l3_gw_uuid: 'UUID of the NSX Gateway Service'
zvm_header: 'z/VM Configuration'
zvm:
zvm_xcat_server: 'xCAT Host/IP Address'
zvm_xcat_username: 'xCAT Username'
zvm_xcat_password: 'xCAT Password'
ssl_header: 'SSL Support'
api:
protocol: 'Protocol'
Expand Down

0 comments on commit 910f1d1

Please sign in to comment.