Ask Your Question

How to add new features into existing dashboard?

asked 2017-04-04 02:23:16 -0500

Mohan gravatar image

Hello all,

I want to add few new features along with existing features of Openstack dashboard. I need to add Billing features for resource utilisation. My plan is similar to when I click on Project panel, It lists all existing projects. Similarly, I want to add an option like Billing and it should list all the users along with their resource utilisation.

Is there a proper documentation for this. All I found is adding new dashboard and panel. But, I just want to customise existing dashboard.

Please clarify me these points,

  • Which language to use.
  • What is cURL for.
  • If I add a page in between existing pages, How do I authenticate it.

Please do suggest.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2019-08-11 08:40:11 -0500

Stephen C gravatar image

updated 2019-08-11 18:47:03 -0500

Horizon is implemented in Python based on the Django web framework, and Angular for the browser-side.

Horizon consists of the core framework and some builtin dashboards for managing users, projects, instances, images, volumes, flavors and quotas. Additional functionality is provided by plugins. Some of these provide additional dashboards, and others add panels into existing dashboards.

It seems that you want to modify an existing Horizon dashboard. The procedure would be something like this:

  • Use git to clone the github repos containing Horizon and/or the plugins you need to modify
  • Read the code base to get an understanding of where the functionality you want to modify is located, and what you need to do to make your changes
  • Make your changes
  • Run the Horizon tests
  • Set up a test instance so that you can test out your changes.
  • Test.
  • Deploy.

To answer your questions:

Is there a proper documentation for this?

You probably found the tutorial material on Building a Dashboard using Horizon. There is a lot more material in the Django documentation.

Which language to use:

Python / Django

What is cURL for.

That is a bit of a non-sequitur, but I assume you are talking about the curl command. It is a commonly used (on UNIX / LINUX / MacOS) command line utility for sending web requests. You can use it as a way to send requests to OpenStack services.

If I add a page in between existing pages, How do I authenticate it.

Horizon does authentication for you. If you are talking about access control, there is a "policy framework" described here. Alternatively, you could just implement an inline access check in the relevant view classes.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2017-04-04 02:23:16 -0500

Seen: 64 times

Last updated: Aug 11 '19