added ceilometer recipes
This commit is contained in:
3
files/default/policy.json
Normal file
3
files/default/policy.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"context_is_admin": [["role:admin"]]
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@ end
|
|||||||
depends "database"
|
depends "database"
|
||||||
depends "glance"
|
depends "glance"
|
||||||
depends "keystone"
|
depends "keystone"
|
||||||
|
depends "mongodb"
|
||||||
depends "mysql"
|
depends "mysql"
|
||||||
depends "openstack-utils"
|
depends "openstack-utils"
|
||||||
depends "openstack-common", ">= 0.1.4"
|
depends "openstack-common", ">= 0.1.4"
|
||||||
@@ -33,3 +34,4 @@ depends "rabbitmq"
|
|||||||
depends "selinux"
|
depends "selinux"
|
||||||
depends "sysctl"
|
depends "sysctl"
|
||||||
depends "yum"
|
depends "yum"
|
||||||
|
depends "python"
|
||||||
|
|||||||
34
recipes/ceilometer-agent-central.rb
Normal file
34
recipes/ceilometer-agent-central.rb
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# Cookbook Name:: nova
|
||||||
|
# Recipe:: ceilometer-agent-central
|
||||||
|
#
|
||||||
|
# Copyright 2012, AT&T
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
class ::Chef::Recipe
|
||||||
|
include ::Openstack
|
||||||
|
end
|
||||||
|
|
||||||
|
include_recipe "nova::ceilometer-common"
|
||||||
|
|
||||||
|
bindir = '/usr/local/bin'
|
||||||
|
conf_switch = '--config-file /etc/ceilometer/ceilometer.conf'
|
||||||
|
|
||||||
|
service "ceilometer-agent-central" do
|
||||||
|
service_name "ceilometer-agent-central"
|
||||||
|
action [:enable, :start]
|
||||||
|
start_command "nohup #{bindir}/ceilometer-agent-central #{conf_switch} &"
|
||||||
|
stop_command "pkill -f ceilometer-agent-central"
|
||||||
|
end
|
||||||
34
recipes/ceilometer-agent-compute.rb
Normal file
34
recipes/ceilometer-agent-compute.rb
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# Cookbook Name:: nova
|
||||||
|
# Recipe:: ceilometer-agent-compute
|
||||||
|
#
|
||||||
|
# Copyright 2012, AT&T
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
class ::Chef::Recipe
|
||||||
|
include ::Openstack
|
||||||
|
end
|
||||||
|
|
||||||
|
include_recipe "nova::ceilometer-common"
|
||||||
|
|
||||||
|
bindir = '/usr/local/bin'
|
||||||
|
conf_switch = '--config-file /etc/ceilometer/ceilometer.conf'
|
||||||
|
|
||||||
|
service "ceilometer-agent-compute" do
|
||||||
|
service_name "ceilometer-agent-compute"
|
||||||
|
action [:enable, :start]
|
||||||
|
start_command "nohup #{bindir}/ceilometer-agent-compute #{conf_switch}&"
|
||||||
|
stop_command "pkill -f ceilometer-agent-compute"
|
||||||
|
end
|
||||||
35
recipes/ceilometer-api.rb
Normal file
35
recipes/ceilometer-api.rb
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#
|
||||||
|
# Cookbook Name:: nova
|
||||||
|
# Recipe:: ceilometer-api
|
||||||
|
#
|
||||||
|
# Copyright 2012, AT&T
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
class ::Chef::Recipe
|
||||||
|
include ::Openstack
|
||||||
|
end
|
||||||
|
|
||||||
|
include_recipe "nova::ceilometer-common"
|
||||||
|
|
||||||
|
bindir = '/usr/local/bin'
|
||||||
|
logdir = '/var/log/ceilometer-api'
|
||||||
|
conf_switch = '--config-file /etc/ceilometer/ceilometer.conf'
|
||||||
|
|
||||||
|
service "ceilometer-api" do
|
||||||
|
service_name "ceilometer-api"
|
||||||
|
action [:enable, :start]
|
||||||
|
start_command "nohup #{bindir}/ceilometer-api -d --log-dir=#{logdir} #{conf_switch} &"
|
||||||
|
stop_command "pkill -f ceilometer-api"
|
||||||
|
end
|
||||||
34
recipes/ceilometer-collector.rb
Normal file
34
recipes/ceilometer-collector.rb
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# Cookbook Name:: nova
|
||||||
|
# Recipe:: ceilometer-collector
|
||||||
|
#
|
||||||
|
# Copyright 2012, AT&T
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
class ::Chef::Recipe
|
||||||
|
include ::Openstack
|
||||||
|
end
|
||||||
|
|
||||||
|
include_recipe "nova::ceilometer-common"
|
||||||
|
|
||||||
|
bindir = '/usr/local/bin'
|
||||||
|
conf_switch = '--config-file /etc/ceilometer/ceilometer.conf'
|
||||||
|
|
||||||
|
service "ceilometer-collector" do
|
||||||
|
service_name "ceilometer-collector"
|
||||||
|
action [:enable, :start]
|
||||||
|
start_command "nohup #{bindir}/ceilometer-collector #{conf_switch} &"
|
||||||
|
stop_command "pkill -f ceilometer-collector"
|
||||||
|
end
|
||||||
93
recipes/ceilometer-common.rb
Normal file
93
recipes/ceilometer-common.rb
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
#
|
||||||
|
# Cookbook Name:: nova
|
||||||
|
# Recipe:: ceilometer-common
|
||||||
|
#
|
||||||
|
# Copyright 2012, AT&T
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
class ::Chef::Recipe
|
||||||
|
include ::Openstack
|
||||||
|
end
|
||||||
|
|
||||||
|
include_recipe "mongodb"
|
||||||
|
include_recipe "nova::nova-common"
|
||||||
|
include_recipe "python::pip"
|
||||||
|
|
||||||
|
api_logdir = '/var/log/ceilometer-api'
|
||||||
|
nova_owner = node["nova"]["user"]
|
||||||
|
nova_group = node["nova"]["group"]
|
||||||
|
|
||||||
|
directory api_logdir do
|
||||||
|
owner nova_owner
|
||||||
|
group nova_group
|
||||||
|
mode 00755
|
||||||
|
|
||||||
|
action :create
|
||||||
|
end
|
||||||
|
|
||||||
|
python_pip "ceilometer" do
|
||||||
|
action :install
|
||||||
|
end
|
||||||
|
|
||||||
|
directory "/etc/ceilometer" do
|
||||||
|
owner nova_owner
|
||||||
|
group nova_group
|
||||||
|
mode 00755
|
||||||
|
|
||||||
|
action :create
|
||||||
|
end
|
||||||
|
|
||||||
|
rabbit_server_role = node["nova"]["rabbit_server_chef_role"]
|
||||||
|
rabbit_info = config_by_role rabbit_server_role, "queue"
|
||||||
|
|
||||||
|
nova_setup_role = node["nova"]["nova_setup_chef_role"]
|
||||||
|
nova_setup_info = config_by_role nova_setup_role, "nova"
|
||||||
|
|
||||||
|
db_user = node['nova']['db']['username']
|
||||||
|
db_pass = db_password "nova"
|
||||||
|
sql_connection = db_uri("compute", db_user, db_pass)
|
||||||
|
|
||||||
|
keystone_service_role = node["nova"]["keystone_service_chef_role"]
|
||||||
|
keystone = config_by_role keystone_service_role, "keystone"
|
||||||
|
|
||||||
|
# find the node attribute endpoint settings for the server holding a given role
|
||||||
|
identity_admin_endpoint = endpoint "identity-admin"
|
||||||
|
|
||||||
|
Chef::Log.debug("nova::ceilometer-common:rabbit_info|#{rabbit_info}")
|
||||||
|
Chef::Log.debug("nova::ceilometer-common:keystone|#{keystone}")
|
||||||
|
Chef::Log.debug("nova::ceilometer-common:identity_admin_endpoint|#{identity_admin_endpoint.to_s}")
|
||||||
|
|
||||||
|
template "/etc/ceilometer/ceilometer.conf" do
|
||||||
|
source "ceilometer.conf.erb"
|
||||||
|
owner nova_owner
|
||||||
|
group nova_group
|
||||||
|
mode 00644
|
||||||
|
variables(
|
||||||
|
:sql_connection => sql_connection,
|
||||||
|
:rabbit_ipaddress => rabbit_info["host"],
|
||||||
|
:rabbit_port => rabbit_info["port"],
|
||||||
|
:user => keystone["admin_user"],
|
||||||
|
:tenant => keystone["users"][keystone["admin_user"]]["default_tenant"],
|
||||||
|
:password => keystone["users"][keystone["admin_user"]]["password"],
|
||||||
|
:identity_admin_endpoint => identity_admin_endpoint
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
cookbook_file "/etc/ceilometer/policy.json" do
|
||||||
|
source "policy.json"
|
||||||
|
mode 0755
|
||||||
|
owner nova_owner
|
||||||
|
group nova_group
|
||||||
|
end
|
||||||
19
templates/default/ceilometer.conf.erb
Normal file
19
templates/default/ceilometer.conf.erb
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
os_auth_url = <%= @identity_admin_endpoint %>
|
||||||
|
os_tenant_name = <%= @tenant %>
|
||||||
|
os_password = <%= @password %>
|
||||||
|
os_username = <%= @user %>
|
||||||
|
policy_file = /etc/ceilometer/policy.json
|
||||||
|
sql_connection = <%= @sql_connection %>
|
||||||
|
rabbit_password = guest
|
||||||
|
rabbit_port = <%= @rabbit_port %>
|
||||||
|
rabbit_host = <%= @rabbit_ipaddress %>
|
||||||
|
verbose = True
|
||||||
|
notification_topics = notifications,glance_notifications
|
||||||
|
rpc_backend = ceilometer.openstack.common.rpc.impl_kombu
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
admin_tenant_name = <%= @tenant %>
|
||||||
|
admin_password = <%= @password %>
|
||||||
|
admin_user = <%= @user %>
|
||||||
|
auth_protocol = <%= @identity_endpoint.scheme %>
|
||||||
Reference in New Issue
Block a user