Revert "Revert "add image_id_to_name filter""

This reverts commit 38f86ec17b.
This commit is contained in:
Kevin Fenzi 2015-03-24 17:18:24 +00:00
parent 68de7be7f0
commit bc4eab6e48

View file

@ -1,7 +1,11 @@
from ansible import errors, runner from ansible import errors, runner
import json from glanceclient import Client as GlanceClient
from keystoneclient import session
from keystoneclient.auth.identity import v2 as identity
from novaclient.v3.client import Client from novaclient.v3.client import Client
import novaclient.exceptions; import glanceclient.exc
import json
import novaclient.exceptions
def flavor_id_to_name(host_vars, user, password, tenant, auth_url): def flavor_id_to_name(host_vars, user, password, tenant, auth_url):
nt = Client(user, password, tenant, auth_url, service_type="compute") nt = Client(user, password, tenant, auth_url, service_type="compute")
@ -19,8 +23,21 @@ def flavor_name_to_id(host_vars, user, password, tenant, auth_url):
return i.id return i.id
raise errors.AnsibleFilterError('There is no flavor of id {0}'.format(host_vars)) raise errors.AnsibleFilterError('There is no flavor of id {0}'.format(host_vars))
def image_id_to_name(host_vars, user, password, tenant, auth_url):
auth = identity.Password(auth_url=auth_url, username=user,
password=password, tenant_name=tenant)
sess = session.Session(auth=auth)
token = auth.get_token(sess)
endpoint = auth.get_endpoint(sess, service_name='glance', service_type='image')
glance = GlanceClient('2', endpoint=endpoint, token=token)
try:
return glance.images.get(host_vars).name
except glanceclient.exc.HTTPNotFound:
raise errors.AnsibleFilterError('There is no image of id {0}'.format(host_vars))
class FilterModule (object): class FilterModule (object):
def filters(self): def filters(self):
return {"flavor_id_to_name": flavor_id_to_name, return {"flavor_id_to_name": flavor_id_to_name,
"flavor_name_to_id": flavor_name_to_id, "flavor_name_to_id": flavor_name_to_id,
"image_id_to_name": image_id_to_name,
} }