Skip to main content

A panel plugin for OpenStack Dashboard

Project description

OpenStack Horizon plugin that supports ESI

Installation

Clone the repository:

git clone https://github.com/CCI-MOC/esi-ui.git

Copy all files under esi-ui’s enabled directory:

cp -r <esi-ui path>/esi_ui/enabled <horizon path>/openstack_dashboard/local

Next, install the package into the environment you use to run your server.

If you run Horizon using tox, edit your tox.ini file to include esi-ui as a dependency:

[testenv]
deps =
  ...
  -r{toxinidir}/requirements.txt
  -e <esi-ui path>

Then restart your server by running:

tox -e runserver_plus -- localhost:8000

Read how to install Horizon to use tox here: https://github.com/CCI-MOC/esi/issues/545#issuecomment-2143063522


If you run Horizon using Apache, pip install the esi-ui package:

python setup.py sdist
pip install dist/<package>.tar.gz

Finally, restart your server using one of the commands based on your environment from here: https://docs.openstack.org/horizon/latest/install/,

Read more about general plugin installation: https://docs.openstack.org/horizon/latest/contributor/tutorials/plugin.html#installing-your-plugin

Structure

An example file structure looks like this:

esi_ui
├── api
│   ├── esi_api.py
│   ├── esi_rest_api.py
│   └── __init__.py
├── content
│   ├── esi
│   │   ├── __init__.py
│   │   ├── panel.py
│   │   ├── templates
│   │   │   └── esi
│   │   │       └── index.html
│   │   ├── urls.py
│   │   └── views.py
│   └── __init__.py
├── enabled
│   ├── _6000_esi_panel_group.py
│   └── _6010_project_nodes_panel.py
├── __init__.py
└── static
    └── dashboard
        └── project
            └── esi
                ├── esi.controller.js
                ├── esi.html
                ├── esi.module.js
                └── nodes.service.js

api

esi_rest_api.py contains api endpoints that becomes registered on the server. This file usually calls functions defined in esi_api.py which usually returns resources such as nodes, leases, offers, etc.

content

This directory holds subdirectories that contain the content required to display a panel.

enabled

This directory contains files that define settings for dashboards, panels, panel groups, and Django.

static

This directory and its contents will be copied to the Horizon root directory for Angularjs to see. To add to different dashboards, such as admin or identity, create a directory under dashboard and populate it with your Angularjs files.

Read more about the file structure: https://docs.openstack.org/horizon/latest/contributor/tutorials/plugin.html#file-structure

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esi_ui-0.1.0.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

esi_ui-0.1.0-py3-none-any.whl (72.0 kB view details)

Uploaded Python 3

File details

Details for the file esi_ui-0.1.0.tar.gz.

File metadata

  • Download URL: esi_ui-0.1.0.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.8

File hashes

Hashes for esi_ui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9ed092f475a4a930c0eeb97ffc8ee18106dc7322cc17a45229764f8fa5ce39ba
MD5 53dfcc0b3a88b342f720ef49c461e3ca
BLAKE2b-256 853cc3f55aa40b77a4e3e04b63c8382eca4e7f37a319635a0dc0d789b4213ffa

See more details on using hashes here.

File details

Details for the file esi_ui-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: esi_ui-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.8

File hashes

Hashes for esi_ui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 deb68915ff373e80522db401a3b527e7f5c712dcb39204d1ff95c8b32e78abdb
MD5 c11eb173c0d2f6df8687325745fa0e77
BLAKE2b-256 6cf68d07177e353a893ae473d03c21ed6d437c11b62edf2c916a5cb16b650f5d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page