# nodes no longer direclty connected to deployments
#suit_form_tabs =(('sites','Deployment Details'),('nodes','Nodes'),('deploymentprivileges','Privileges'),('tags','Tags'),('imagedeployments','Images'))
- suit_form_tabs =(('sites','Deployment Details'),('deploymentprivileges','Privileges'),('tags','Tags'),('imagedeployments','Images'))
+ suit_form_tabs =(('sites','Deployment Details'),('deploymentprivileges','Privileges'),,('imagedeployments','Images'))
def get_form(self, request, obj=None, **kwargs):
if request.user.isReadOnlyUser():
('deployments','Deployments'),
('slices','Slices'),
#('nodes','Nodes'),
- ('tags','Tags'),
]
request=getattr(_thread_locals, "request", None)
('slicenetworks','Networks'),
('sliceprivileges','Privileges'),
('slivers','Slivers'),
- ('tags','Tags'),
('reservations','Reservations'),
]
user_readonly_fields = ['name','site_deployment']
user_readonly_inlines = [TagInline,SliverInline]
- suit_form_tabs =(('details','Node Details'),('slivers','Slivers'),('tags','Tags'))
+ suit_form_tabs =(('details','Node Details'),('slivers','Slivers'))
class SliverForm(forms.ModelForm):
list_display = ['backend_status_icon', 'ip', 'instance_name', 'slice', 'flavor', 'image', 'node', 'deployment']
list_display_links = ('backend_status_icon', 'ip',)
- suit_form_tabs =(('general', 'Sliver Details'),
- ('tags','Tags'),
- )
+ suit_form_tabs =(('general', 'Sliver Details'))
inlines = [TagInline]
from django.http import HttpResponse
from monitor import driver
+from core.models import *
import json
def Stats(request):
meter = request.GET['meter']
controller_name = request.GET['controller_name']
- meters = driver.get_meter(meter, model, pk)
+ controller = Controller.objects.filter(name=controller_name)[0]
+ keystone = {'username':controller.admin_user, 'password':controller.admin_password, 'tenant_name':controller.admin_tenant, 'auth_url':controller.auth_url, 'cacert':'/etc/ssl/certs/ca-certificates.crt'}
+
+ for k,v in keystone.items():
+ keystone['os_'+k] = v
+
+ meters = driver.get_meter(meter, model, pk, keystone)
return HttpResponse(json.dumps(meters))
def object_to_filter(model_name, pk):
from core.models import *
filter_dict = {
- 'Slice':[Slice, 'tenant_id', 'project_id'],
+ 'ControllerSlice':[ControllerSlice, 'tenant_id', 'project_id'],
'Sliver':[Sliver, 'instance_id', 'resource_id'],
- 'Site':[Site, 'tenant_id', 'project_id']
+ 'ControllerSite':[ControllerSite, 'tenant_id', 'project_id']
}
mod,field,tag = filter_dict[model_name]
class CeilometerDriver(MonitorDriver):
def get_meter(self, meter, obj, pk, keystone=None):
- keystone = {}
- keystone['os_username']=env['OS_USERNAME']
- keystone['os_password']=env['OS_PASSWORD']
- keystone['os_auth_url']=env['OS_AUTH_URL']
- keystone['os_tenant_name']=env['OS_TENANT_NAME']
- keystone['os_cacert']=env['OS_CACERT']
- keystone['os_region_name']=env['OS_REGION_NAME']
-
- keystone['username']=env['OS_USERNAME']
- keystone['password']=env['OS_PASSWORD']
- keystone['auth_url']=env['OS_AUTH_URL']
- keystone['tenant_name']=env['OS_TENANT_NAME']
- keystone['cacert']=env['OS_CACERT']
- keystone['region_name']=env['OS_REGION_NAME']
+ if (not keystone):
+ keystone={}
+ keystone['os_username']=env['OS_USERNAME']
+ keystone['os_password']=env['OS_PASSWORD']
+ keystone['os_auth_url']=env['OS_AUTH_URL']
+ keystone['os_tenant_name']=env['OS_TENANT_NAME']
+ keystone['os_cacert']=env['OS_CACERT']
+ keystone['os_region_name']=env['OS_REGION_NAME']
+
+ keystone['username']=env['OS_USERNAME']
+ keystone['password']=env['OS_PASSWORD']
+ keystone['auth_url']=env['OS_AUTH_URL']
+ keystone['tenant_name']=env['OS_TENANT_NAME']
+ keystone['cacert']=env['OS_CACERT']
+ keystone['region_name']=env['OS_REGION_NAME']
keystone['auth_plugin']=client.AuthPlugin(**keystone)