← Back to team overview

openstack team mailing list archive

Re: Ceilometer Install

 

Thank you for the through explanation. I have no problem running the
Collector, Central and Compute Agents. So, I believe only the API Server is
trying to use the old oslo-incubator version.

I am still weighing the options.

Just a quick question; since the only thing that does not work in my
environment is the API Server, I believe -as long as I can query MongoDB
directly-, I think I wouldn't need it anyway. Would you say this is correct?


On Mon, May 6, 2013 at 6:08 PM, Doug Hellmann
<doug.hellmann@xxxxxxxxxxxxx>wrote:

> It looks like you still have incompatible versions of things installed.
>
> The configuration library changed during grizzly. The old version and new
> version cannot be used together in the same program because they both try
> to modify different copies of a global variable. The exception you're
> getting is, I think, due to the fact that the API service loads the
> keystone middleware to handle authentication. You have a version of the
> middleware that uses oslo.config, and a version of ceilometer that uses the
> older oslo-incubator version of the configuration library.
>
> The ceilometer team is small, so we have limited capacity to support "old"
> versions (especially pre-incubated versions). We do intend to support
> grizzly, but can only offer moderate help with folsom. The g2 release
> tarballs *should* be compatible at the communication layer with folsom
> versions of the other components, but it looks like you can't install them
> into the same Python installation as the other services.
>
> You can separate ceilometer code from the other services a couple of
> different ways. The simplest would be to use a separate VM to run
> ceilometer. That would let you follow all of the normal instructions, and
> ensure that you don't have mismatched versions of libraries. The other way
> is to install ceilometer into a virtualenv. That would take more care,
> since you need to ensure that the virtualenv does not look at the globally
> installed site-packages. I haven't tried doing this, so I can't provide
> more detailed steps, and you will likely need to experiment a bit to get it
> right.
>
> The one piece of ceilometer that does *need* to be installed in the same
> location as the other services is the plugin for the nova compute agent. We
> spent a fair amount of time making sure there was a version of that plugin
> compatible with folsom, so we believe it should work. However, if you are
> just testing ceilometer, or not using it for billing instance-hours, you
> could skip deploying that piece entirely.
>
> Doug
>
>
>
> On Mon, May 6, 2013 at 9:43 AM, Riki Arslan <riki.arslan@xxxxxxxxxxxxx>wrote:
>
>> I have also installed ceilometer-2013.1~g2~20130107.449.tar.gz from the
>> tarballs list and still getting the same error:
>>
>> Traceback (most recent call last):
>>   File "/usr/local/bin/ceilometer-api", line 5, in <module>
>>     pkg_resources.run_script('ceilometer==0.0.0', 'ceilometer-api')
>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499, in
>> run_script
>>     self.require(requires)[0].run_script(script_name, ns)
>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235, in
>> run_script
>>     execfile(script_filename, namespace, namespace)
>>   File
>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/EGG-INFO/scripts/ceilometer-api",
>> line 37, in <module>
>>     cfg.CONF(sys.argv[1:])
>>   File
>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>> line 1024, in __call__
>>     self._cli_values, leftovers = self._parse_cli_opts(args)
>>   File
>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>> line 1527, in _parse_cli_opts
>>     opt._add_to_cli(self._oparser, group)
>>   File
>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>> line 591, in _add_to_cli
>>     container = self._get_argparse_container(parser, group)
>>   File
>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>> line 633, in _get_argparse_container
>>     return group._get_argparse_group(parser)
>> AttributeError: 'OptGroup' object has no attribute '_get_argparse_group'
>>
>>
>> On Mon, May 6, 2013 at 3:56 PM, Riki Arslan <riki.arslan@xxxxxxxxxxxxx>wrote:
>>
>>> Hi Doug,
>>>
>>> I actually got it from a link on your website:
>>>
>>>
>>> http://doughellmann.com/2013/01/ceilometer-grizzly-2-milestone-available.html
>>>
>>> So, do you think this one is not good?
>>>
>>>
>>> On Thu, May 2, 2013 at 7:33 PM, Doug Hellmann <
>>> doug.hellmann@xxxxxxxxxxxxx> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Mon, Apr 29, 2013 at 6:42 PM, Riki Arslan <riki.arslan@xxxxxxxxxxxxx
>>>> > wrote:
>>>>
>>>>> I thought it might help if mentioned little more:
>>>>>
>>>>> /etc/ceilometer.conf file has the following parameters added:
>>>>>
>>>>> os_username=ceilometer
>>>>> os_password=$PASSWORD
>>>>> os_tenant_name=service
>>>>> os_auth_url=http://localhost:5000/v2.0/
>>>>>
>>>>> I checked CLI_OPTIONS in service.py and it looks allright:
>>>>>
>>>>> CLI_OPTIONS = [
>>>>>     cfg.StrOpt('os-username',
>>>>>                default=os.environ.get('OS_USERNAME', 'ceilometer'),
>>>>>                help='Username to use for openstack service access'),
>>>>>     cfg.StrOpt('os-password',
>>>>>                default=os.environ.get('OS_PASSWORD', 'admin'),
>>>>>                help='Password to use for openstack service access'),
>>>>>     cfg.StrOpt('os-tenant-id',
>>>>>                default=os.environ.get('OS_TENANT_ID', ''),
>>>>>                help='Tenant ID to use for openstack service access'),
>>>>>     cfg.StrOpt('os-tenant-name',
>>>>>                default=os.environ.get('OS_TENANT_NAME', 'admin'),
>>>>>                help='Tenant name to use for openstack service access'),
>>>>>     cfg.StrOpt('os-auth-url',
>>>>>                default=os.environ.get('OS_AUTH_URL',
>>>>>                                       'http://localhost:5000/v2.0'),
>>>>>                help='Auth URL to use for openstack service access'),
>>>>> ]
>>>>>
>>>>> But still, according to the error I am getting, it can not parse
>>>>> _parse_cli_opts:
>>>>>
>>>>> Traceback (most recent call last):
>>>>>   File "/usr/local/bin/ceilometer-api", line 5, in <module>
>>>>>     pkg_resources.run_script('ceilometer==0.0.0', 'ceilometer-api')
>>>>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499,
>>>>> in run_script
>>>>>     self.require(requires)[0].run_script(script_name, ns)
>>>>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235,
>>>>> in run_script
>>>>>     execfile(script_filename, namespace, namespace)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/EGG-INFO/scripts/ceilometer-api",
>>>>> line 38, in <module>
>>>>>     service.prepare_service()
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/service.py",
>>>>> line 80, in prepare_service
>>>>>     cfg.CONF(argv[1:], project='ceilometer')
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>>>>> line 1024, in __call__
>>>>>     self._cli_values, leftovers = self._parse_cli_opts(args)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>>>>> line 1527, in _parse_cli_opts
>>>>>     opt._add_to_cli(self._oparser, group)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>>>>> line 591, in _add_to_cli
>>>>>     container = self._get_argparse_container(parser, group)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>>>>> line 633, in _get_argparse_container
>>>>>     return group._get_argparse_group(parser)
>>>>> AttributeError: 'OptGroup' object has no attribute
>>>>> '_get_argparse_group'
>>>>>
>>>>> I am really puzzled as Collector, Computer Agent and Central Agent
>>>>> are working fine and Api Server is not.
>>>>>
>>>>
>>>> I don't see a 2013.1~g2.tar.gz tarball listed under
>>>> http://tarballs.openstack.org/ceilometer/. Where did you get the
>>>> source you are working with?
>>>>
>>>> You may have a bad snapshot, since it is trying to combine
>>>> ceilometer/openstack/common/cfg.py with oslo.config.
>>>>
>>>> Doug
>>>>
>>>>
>>>>>
>>>>>
>>>>> On Tue, Apr 30, 2013 at 12:56 AM, Riki Arslan <
>>>>> riki.arslan@xxxxxxxxxxxxx> wrote:
>>>>>
>>>>>> Hi Doug,
>>>>>>
>>>>>> I have followed the document. The only thing that is different from
>>>>>> the docs is that I did not copy the yaml file (it does not exist in
>>>>>> tarball):
>>>>>>
>>>>>> cp etc/ceilometer/*.yaml /etc/ceilometer
>>>>>>
>>>>>> However, the tarball is the g2 version, which is the last version
>>>>>> that was supposed to work with Folsom.
>>>>>>
>>>>>> It seems like Collector, Computer Agent and Central Agent are
>>>>>> working. I only can't get the Api Server working.
>>>>>>
>>>>>>
>>>>>> On Fri, Apr 26, 2013 at 6:19 PM, Doug Hellmann <
>>>>>> doug.hellmann@xxxxxxxxxxxxx> wrote:
>>>>>>
>>>>>>> It sounds like you haven't completed the installation instructions.
>>>>>>> I don't know if the manual steps listed at
>>>>>>> http://docs.openstack.org/developer/ceilometer/install/manual.htmlwork with the tarball, but they should be close.
>>>>>>>
>>>>>>> Doug
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Apr 26, 2013 at 3:46 AM, Riki Arslan <
>>>>>>> riki.arslan@xxxxxxxxxxxxx> wrote:
>>>>>>>
>>>>>>>> The command line I am using is: "sudo
>>>>>>>> /usr/local/bin/ceilometer-api".
>>>>>>>>
>>>>>>>> However, the ceilometer.ini file is missing. The version of
>>>>>>>> Ceilometer I am using is "ceilometer-2013.1~g2.tar.gz". And, I
>>>>>>>> only have the following configuration files:
>>>>>>>>
>>>>>>>> /etc/ceilometer/ceilometer.conf
>>>>>>>> /etc/ceilometer/policy.json
>>>>>>>> /etc/ceilometer/sources.json
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Apr 26, 2013 at 1:10 AM, Doug Hellmann <
>>>>>>>> doug.hellmann@xxxxxxxxxxxxx> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Apr 25, 2013 at 8:37 AM, Riki Arslan <
>>>>>>>>> riki.arslan@xxxxxxxxxxxxx> wrote:
>>>>>>>>>
>>>>>>>>>> I thought Ceilometer did not set a dependency on any DB drivers.
>>>>>>>>>> I have installed the driver Mongo using "sudo pip install pymongo".
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ceilometer does use a database. You have to install the right
>>>>>>>>> driver. If you want Mongo, then it sounds like you've done the right thing.
>>>>>>>>> It's possible mako is also being used somewhere else, I'm not sure.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regarding the current problem; the traceback is as follows:
>>>>>>>>>>
>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>   File "/usr/local/bin/ceilometer-api", line 5, in <module>
>>>>>>>>>>     pkg_resources.run_script('ceilometer==0.0.0',
>>>>>>>>>> 'ceilometer-api')
>>>>>>>>>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line
>>>>>>>>>> 499, in run_script
>>>>>>>>>>     self.require(requires)[0].run_script(script_name, ns)
>>>>>>>>>>   File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line
>>>>>>>>>> 1235, in run_script
>>>>>>>>>>     execfile(script_filename, namespace, namespace)
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/EGG-INFO/scripts/ceilometer-api",
>>>>>>>>>> line 38, in <module>
>>>>>>>>>>     service.prepare_service()
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/service.py",
>>>>>>>>>> line 80, in prepare_service
>>>>>>>>>>     cfg.CONF(argv[1:], project='ceilometer')
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>>>>>>>>>> line 1024, in __call__
>>>>>>>>>>     self._cli_values, leftovers = self._parse_cli_opts(args)
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/ceilometer-0.0.0-py2.7.egg/ceilometer/openstack/common/cfg.py",
>>>>>>>>>> line 1527, in _parse_cli_opts
>>>>>>>>>>     opt._add_to_cli(self._oparser, group)
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>>>>>>>>>> line 591, in _add_to_cli
>>>>>>>>>>     container = self._get_argparse_container(parser, group)
>>>>>>>>>>   File
>>>>>>>>>> "/usr/local/lib/python2.7/dist-packages/oslo.config-1.1.0-py2.7.egg/oslo/config/cfg.py",
>>>>>>>>>> line 633, in _get_argparse_container
>>>>>>>>>>     return group._get_argparse_group(parser)
>>>>>>>>>> AttributeError: 'OptGroup' object has no attribute
>>>>>>>>>> '_get_argparse_group'
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> That is coming from oslo.config. Can you post the ceilometer.ini
>>>>>>>>> file and command line you are using to start the service?
>>>>>>>>>
>>>>>>>>> Doug
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thank for the help.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Apr 25, 2013 at 3:27 PM, Doug Hellmann <
>>>>>>>>>> doug.hellmann@xxxxxxxxxxxxx> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thursday, April 25, 2013, Riki Arslan wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I have encountered other problems too.
>>>>>>>>>>>>
>>>>>>>>>>>> First of all, when starting the Central Agent I have had Glance
>>>>>>>>>>>> endpoint 404 not found errors. As, Julien pointed out (
>>>>>>>>>>>> https://bugs.launchpad.net/ceilometer/+bug/1083104), I have
>>>>>>>>>>>> removed the "v1" from the Glance URLs and it worked well.
>>>>>>>>>>>>
>>>>>>>>>>>> Secondly, when starting the API Server, I have received
>>>>>>>>>>>> "ImportError: No module named mako.template" error. Thus, I have installed
>>>>>>>>>>>> python-mako module (sudo apt-get install python-mako), and the error
>>>>>>>>>>>> disappeared.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Mako is a dependency do sqlalchemy, I think. Are you using the
>>>>>>>>>>> sqlalchemy storage driver for ceilometer?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Now, I am receiving another error within the API Server. The
>>>>>>>>>>>> error is as follows:
>>>>>>>>>>>> "AttributeError: 'OptGroup' object has no attribute
>>>>>>>>>>>> '_get_argparse_group'"
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> That sounds like a problem with the config module. Was there a
>>>>>>>>>>> full traceback? If not, try adding the --debug option when starting the
>>>>>>>>>>> service.
>>>>>>>>>>>
>>>>>>>>>>> Doug
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Do you think it has something to do with mod_wsgi (
>>>>>>>>>>>> http://docs.openstack.org/developer/ceilometer/install/mod_wsgi.html
>>>>>>>>>>>> )?
>>>>>>>>>>>>
>>>>>>>>>>>> I would appreciate your help on this.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Apr 25, 2013 at 12:27 AM, Riki Arslan <
>>>>>>>>>>>> riki.arslan@xxxxxxxxxxxxx> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Doug,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Your email helped me. It was actually glanceclient version
>>>>>>>>>>>>> 0.5.1 that was causing the conflict. After updating it, the conflict error
>>>>>>>>>>>>> disappeared.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I hope this would help someone else too.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks again.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Apr 24, 2013 at 11:49 PM, Doug Hellmann <
>>>>>>>>>>>>> doug.hellmann@xxxxxxxxxxxxx> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Apr 24, 2013 at 9:17 AM, Riki Arslan <
>>>>>>>>>>>>>> riki.arslan@xxxxxxxxxxxxx> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> We are trying to install "ceilometer-2013.1~g2.tar.gz" which
>>>>>>>>>>>>>>> presumably has Folsom compatibility.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The requirment is "python-keystoneclient>=0.2,<0.3" and we
>>>>>>>>>>>>>>> have the version 2.3.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But, still, setup quits with the following message:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> "error: Installed distribution python-keystoneclient 0.2.3
>>>>>>>>>>>>>>> conflicts with requirement python-keystoneclient>=0.1.2,<0.2"
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The funny thing is, although pip-requires states
>>>>>>>>>>>>>>> "python-keystoneclient>=0.2,<0.3", the error message complains that it is
>>>>>>>>>>>>>>> not "python-keystoneclient>=0.1.2,<0.2".
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Something else you have installed already wants an older
>>>>>>>>>>>>>> version of the keystone client, so the installation of ceilometer is not
>>>>>>>>>>>>>> able to upgrade to the version we need.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Doug
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Your help is greatly appreciated.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you in advance.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>>>>>>>>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Follow ups

References