mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	support for keystone+swift
This commit is contained in:
		| @@ -94,6 +94,17 @@ template "/etc/swift/object-server.conf" do | ||||
|   notifies :restart, "service[swift-object-auditor]", :immediately | ||||
| end | ||||
|  | ||||
| %w[ /var/swift /var/swift/recon ].each do |path| | ||||
|   directory path do | ||||
|   # Create the swift recon cache directory and set its permissions. | ||||
|     owner "swift" | ||||
|     group "swift" | ||||
|     mode  00755 | ||||
|    | ||||
|     action :create | ||||
|   end | ||||
| end | ||||
|  | ||||
| cron "swift-recon" do | ||||
|   minute "*/5" | ||||
|   command "swift-recon-cron /etc/swift/object-server.conf" | ||||
|   | ||||
| @@ -127,6 +127,19 @@ else | ||||
|   authkey = swift_secrets['swift_authkey'] | ||||
| end | ||||
|  | ||||
| if node["swift"]["authmode"] == "keystone" | ||||
|   openstack_identity_bootstrap_token = secret "secrets", "openstack_identity_bootstrap_token"   | ||||
|   %w[ /home/swift /home/swift/keystone-signing ].each do |path| | ||||
|     directory path do | ||||
|       owner "swift" | ||||
|       group "swift" | ||||
|       mode  00700 | ||||
|    | ||||
|       action :create | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
| # create proxy config file | ||||
| template "/etc/swift/proxy-server.conf" do | ||||
|   source "proxy-server.conf.erb" | ||||
| @@ -134,6 +147,7 @@ template "/etc/swift/proxy-server.conf" do | ||||
|    group "swift" | ||||
|    mode "0600" | ||||
|    variables("authmode" => node["swift"]["authmode"], | ||||
|              "openstack_identity_bootstrap_token" => openstack_identity_bootstrap_token, | ||||
|              "bind_host" => node["swift"]["network"]["proxy-bind-ip"], | ||||
|              "bind_port" => node["swift"]["network"]["proxy-bind-port"], | ||||
|              "authkey" => authkey, | ||||
|   | ||||
| @@ -46,6 +46,7 @@ end | ||||
| workers = <%= [ node[:cpu][:total] - 1, 1 ].max %> | ||||
| bind_ip = <%= @bind_host %> | ||||
| bind_port = <%= @bind_port %> | ||||
| user = swift | ||||
| <% if node[:swift][:statistics][:enabled] -%> | ||||
| log_statsd_host = localhost | ||||
| log_statsd_port = 8125 | ||||
| @@ -137,7 +138,10 @@ use = egg:swift#memcache | ||||
| # commas, as in: 10.1.2.3:11211,10.1.2.4:11211 | ||||
| # memcache_servers = 127.0.0.1:11211 | ||||
| ##### | ||||
| memcache_servers = <%= @memcache_servers.join(",") %> | ||||
| #memcache_servers = <%= @memcache_servers.join(",") %> | ||||
| <% unless @memcache_servers.empty? -%> | ||||
| memcache_servers = <%= @memcache_servers %> | ||||
| <% end -%> | ||||
|  | ||||
| [filter:ratelimit] | ||||
| use = egg:swift#ratelimit | ||||
| @@ -246,7 +250,7 @@ use = egg:swift#tempurl | ||||
| use = egg:swift#formpost | ||||
|  | ||||
| [filter:keystoneauth] | ||||
| operator_roles = Member,admin | ||||
| operator_roles = Member,admin,swiftoperator | ||||
| use = egg:swift#keystoneauth | ||||
|  | ||||
| [filter:proxy-logging] | ||||
| @@ -268,3 +272,24 @@ use = egg:swift#proxy_logging | ||||
| # not in this list will have "BAD_METHOD" for the <verb> portion of the metric. | ||||
| # log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY | ||||
|  | ||||
| [filter:authtoken] | ||||
| <% case @authmode | ||||
|  | ||||
| when "keystone"  -%> | ||||
|  | ||||
| paste.filter_factory = keystone.middleware.auth_token:filter_factory | ||||
| # usage for anonymous referrers ('.r:*') | ||||
| delay_auth_decision = true | ||||
| # | ||||
| signing_dir = /home/swift/keystone-signing | ||||
| auth_protocol = http | ||||
| auth_port = 35357 | ||||
| auth_host = <%= node["swift"]["network"]["proxy-bind-ip"] %> | ||||
| admin_token = <%= @openstack_identity_bootstrap_token %> | ||||
| # the service tenant and swift userid and password created in Keystone | ||||
| admin_tenant_name = service | ||||
| admin_user = swift | ||||
| admin_password = swift | ||||
|  | ||||
| <% end -%> | ||||
|  | ||||
|   | ||||
| @@ -3,7 +3,7 @@ gid = swift | ||||
|  | ||||
| log file = /var/log/rsyncd.log | ||||
| pid file = /var/run/rsyncd.pid | ||||
| address = 0.0.0.0 | ||||
| address = <%= @storage_local_net_ip %> | ||||
|  | ||||
| [account] | ||||
| max connections = 10 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user