← Back to team overview

openstack team mailing list archive

Re: Ceilometer Install

 

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