Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: 'str' object has no attribute 'isoformat' [closed]

I have code, and I don't know how to solve problem. Code:

import dateutil.parser
import datetime
from novaclient.v2 import client as nova_client
from keystoneclient.auth.identity import v2
from keystoneclient import session 

auth=v2.Password(auth_url="http://openstack2-prakt.in.linux.edu.lv:5000/v2.0",
             username="***",
             password="****",
             tenant_name="********")
sess=session.Session(auth=auth)
nova=nova_client.Client(version="2", session=sess)

usage_list=nova.usage.get(tenant_id="**************",start='%Y-%m-%d', end='%Y-%m-%d')
for us in usage_list:
    print us.total_vcpus_usage

After I execute code, there is next problem:

No handlers could be found for logger "keystoneclient.auth.identity.base"

Traceback (most recent call last):
  File "/home/eleonora/PycharmProjects/untitled/nova test.py", line 32, in <module>
    usage_list=nova.usage.get(tenant_id="c56f75091edc4480a204e5549ef11664",start='%Y-%m-%d', end='%Y-%m-%d')
  File "/usr/local/lib/python2.7/dist-packages/novaclient/v2/usage.py", line 60, in get
   (tenant_id, start.isoformat(), end.isoformat()),
AttributeError: 'str' object has no attribute 'isoformat'
like image 768
Lera Avatar asked Mar 16 '15 11:03

Lera


2 Answers

'%Y-%m-%d' is not datetime object but string but you (or some other code) are trying to use it as datetime object.

like image 145
iced Avatar answered Nov 20 '22 15:11

iced


The one of several answers is:

now=datetime.datetime.now()
later=now+datetime.timedelta(seconds=30)
usage_list=nova.usage.get(tenant_id="cb076df2-6855-4988-95c0-e3ea2aa4729c",start=now, end=later)
like image 42
Lera Avatar answered Nov 20 '22 15:11

Lera