From 0f427deb09d4169add7e9311208e7d608d2243e5 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 28 Jul 2022 12:59:49 +0100 Subject: [PATCH 1/5] Build the container in GitHub --- .github/workflows/docker.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..b9ccaa7 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,25 @@ +--- +name: Check the container can be built + +on: + push: + branches: + - main + pull_request: + +jobs: + builder: + name: Build images + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Build + uses: docker/build-push-action@v3 + with: + push: false From 68b404afa4593fa6f73ccc642620851ad5a00177 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 28 Jul 2022 13:00:12 +0100 Subject: [PATCH 2/5] Just run cron --- Dockerfile | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 20d8ef6..2f30a47 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,14 @@ FROM python:3.10 -# Get supervisor and cron -# Do not get picky on exact cron & supervisor versions +# Get cron +# Do not get picky on exact cron version so ignore DL3008 # hadolint ignore=DL3008 RUN apt-get update \ - && apt-get install --no-install-recommends -y supervisor cron \ + && apt-get install --no-install-recommends -y cron \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /var/log/supervisor \ && rm /etc/cron.daily/* -COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf - COPY cron-update-endpoints /etc/cron.d/endpoints COPY requirements.txt /fedcloud-dashboard/requirements.txt @@ -22,6 +19,4 @@ COPY ./dashboard /fedcloud-dashboard/dashboard WORKDIR /fedcloud-dashboard -EXPOSE 8000 - -CMD ["/usr/bin/supervisord"] +CMD ["cron", "-f"] From 2f6829fb22ef5e324df84d227ccbfc1dd2447649 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 28 Jul 2022 13:00:26 +0100 Subject: [PATCH 3/5] Remove everything that's not really used --- dashboard/find_endpoints.py | 85 ------------------ dashboard/horizonaggregator.wsgi | 4 - dashboard/main.py | 19 ---- dashboard/static/css/style.css | 12 --- .../images/dashboard-login-check-in-1.png | Bin 11592 -> 0 bytes .../images/dashboard-login-check-in-2.png | Bin 12571 -> 0 bytes .../images/dashboard-login-check-in-3.png | Bin 10829 -> 0 bytes .../images/dashboard-login-check-partb.png | Bin 31917 -> 0 bytes dashboard/static/images/egi.png | Bin 82945 -> 0 bytes dashboard/templates/dashboard.html | 34 ------- dashboard/update_endpoints.py | 70 --------------- requirements.txt | 2 - supervisord.conf | 9 -- 13 files changed, 235 deletions(-) delete mode 100644 dashboard/find_endpoints.py delete mode 100644 dashboard/horizonaggregator.wsgi delete mode 100644 dashboard/main.py delete mode 100644 dashboard/static/css/style.css delete mode 100644 dashboard/static/images/dashboard-login-check-in-1.png delete mode 100644 dashboard/static/images/dashboard-login-check-in-2.png delete mode 100644 dashboard/static/images/dashboard-login-check-in-3.png delete mode 100644 dashboard/static/images/dashboard-login-check-partb.png delete mode 100644 dashboard/static/images/egi.png delete mode 100644 dashboard/templates/dashboard.html delete mode 100644 dashboard/update_endpoints.py delete mode 100644 supervisord.conf diff --git a/dashboard/find_endpoints.py b/dashboard/find_endpoints.py deleted file mode 100644 index 1dc18ad..0000000 --- a/dashboard/find_endpoints.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python - -""" -This code has been copied from https://github.com/tdviet/fedcloudclient -""" - -from urllib import parse - -import defusedxml.ElementTree as ElementTree -import requests - -GOCDB_PUBLICURL = "https://goc.egi.eu/gocdbpi/public/" -TIMEOUT = 10 - - -def get_sites(): - """ - Get list of sites (using GOCDB instead of site configuration) - :return: list of site IDs - """ - q = {"method": "get_site_list", "certification_status": "Certified"} - url = "?".join([GOCDB_PUBLICURL, parse.urlencode(q)]) - r = requests.get(url) - sites = [] - if r.status_code == 200: - root = ElementTree.fromstring(r.text) - for s in root: - sites.append(s.attrib.get("NAME")) - else: - print("Something went wrong...") - print(r.status_code) - print(r.text) - return sites - - -def find_endpoints(service_type, production=True, monitored=True, site=None): - """ - Searching GOCDB for endpoints according to service types and status - :param service_type: - :param production: - :param monitored: - :param site: list of sites, None for searching all sites - :return: list of endpoints - """ - q = {"method": "get_service_endpoint", "service_type": service_type} - if monitored: - q["monitored"] = "Y" - if site: - q["sitename"] = site - sites = [site] - else: - sites = get_sites() - url = "?".join([GOCDB_PUBLICURL, parse.urlencode(q)]) - r = requests.get(url) - endpoints = [] - if r.status_code == 200: - root = ElementTree.fromstring(r.text) - for sp in root: - if production: - prod = sp.find("IN_PRODUCTION").text.upper() - if prod != "Y": - continue - os_url = sp.find("URL").text - ep_site = sp.find("SITENAME").text - if ep_site not in sites: - continue - # os_url = urlparse.urlparse(sp.find('URL').text) - # sites[sp.find('SITENAME').text] = urlparse.urlunparse( - # (os_url[0], os_url[1], os_url[2], '', '', '')) - endpoints.append([sp.find("SITENAME").text, service_type, os_url]) - else: - print("Something went wrong...") - print(r.status_code) - print(r.text) - return endpoints - - -def main(): - endpoints = find_endpoints("org.openstack.horizon") - for site, service_type, endpoint in endpoints: - print(site, endpoint) - - -if __name__ == "__main__": - main() diff --git a/dashboard/horizonaggregator.wsgi b/dashboard/horizonaggregator.wsgi deleted file mode 100644 index 89a7f6f..0000000 --- a/dashboard/horizonaggregator.wsgi +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/python3 -import sys -sys.path.insert(0, '/var/www/html') -from wsgi import app as application diff --git a/dashboard/main.py b/dashboard/main.py deleted file mode 100644 index 9cae551..0000000 --- a/dashboard/main.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -import sys - -from flask import Flask, render_template - -script_dir = os.path.abspath(os.path.dirname(__file__)) -sys.path.insert(0, script_dir) -from update_endpoints import read_endpoints - -app = Flask(__name__) - - -@app.route("/") -def main(): - return render_template("dashboard.html", endpoints=read_endpoints()) - - -if __name__ == "__main__": - main() diff --git a/dashboard/static/css/style.css b/dashboard/static/css/style.css deleted file mode 100644 index 905e0f4..0000000 --- a/dashboard/static/css/style.css +++ /dev/null @@ -1,12 +0,0 @@ -body { - color: #3d3d3d; - background-color: #c6d2eb; - font-family: sans-serif; - font-size: 16px; - font-weight: normal; -} - -.container { - width: 40%; - margin: auto; -} diff --git a/dashboard/static/images/dashboard-login-check-in-1.png b/dashboard/static/images/dashboard-login-check-in-1.png deleted file mode 100644 index e4cbaa0c0d571b6db02acd9cbfe38aab55c0d04d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11592 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 S*}q>OV7`mViIxlh^!Z<+liNE0 diff --git a/dashboard/static/images/dashboard-login-check-in-3.png b/dashboard/static/images/dashboard-login-check-in-3.png deleted file mode 100644 index 84bb48de3ef4cf94b87f704ec7ed05e8d260c160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10829 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 DC>gt& diff --git a/dashboard/static/images/dashboard-login-check-partb.png b/dashboard/static/images/dashboard-login-check-partb.png deleted file mode 100644 index cbceb62cf585cc57885930d1154d2c1ebeb0c654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31917 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åSUXR^Wd_dVT1{ysO`$F-|Ga40~Q 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 aG4;>cr;|8KFb~B3WP_x=xCH}}^7 diff --git a/dashboard/templates/dashboard.html b/dashboard/templates/dashboard.html deleted file mode 100644 index dabc04e..0000000 --- a/dashboard/templates/dashboard.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - EGI Cloud Compute Dashboard - - -
- EGI logo -

OpenStack sites in the EGI Federation

- {% for site, endpoint in endpoints %} -

{{ site }}: {{ endpoint }}

- {% endfor %} -

Note: This list is automatically taken from the - - Configuration Database in EGI.

-

Contact EGI Support to add your site to the list.

-

Further instructions

-

Select EGI Check-In - to log into the OpenStack Horizon dashboards.

-

In the dropdown menu of Horizon, you may use EGI Check-In:

- Check-In Option 1 -

Or OpenID Connect:

- Check-In Option 2 -

Or egi.eu:

- Check-In Option 3 -

Additionally you may need to select aai.egi.eu/oidc as well:

- Check-In OIDC -
- - diff --git a/dashboard/update_endpoints.py b/dashboard/update_endpoints.py deleted file mode 100644 index eeabf50..0000000 --- a/dashboard/update_endpoints.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python - -import time -from pathlib import Path - -from find_endpoints import find_endpoints - -# filename for the sentinel file -SENTINEL_FILE_NAME = "/tmp/horizonaggregator-endpoints" - -# number of seconds to wait until -# we query again GOCDB -SENTINEL_FILE_CHANGE_SECONDS = 600 - -# sentinel file descriptor -sentinel_file = Path(SENTINEL_FILE_NAME) - - -def update_endpoints(): - """ - Update the file containing the list of GOCDB endpoints - of type "org.openstack.horizon" - """ - # Recreate sentinel file - sentinel_file.unlink(missing_ok=True) - - with open(sentinel_file, "w") as f: - endpoints = find_endpoints("org.openstack.horizon") - for site, service_type, endpoint in endpoints: - f.write(f"{site},{endpoint}\n") - - -def read_endpoints(): - """ - Read the list of GOCDB endpoints of type "org.openstack.horizon". - Instead of querying GOCDB every time, we save the result of - the query in a local file with SENTINEL_FILE_NAME. The file is - updated with GOCDB data only after SENTINEL_FILE_CHANGE_SECONDS. - """ - if not sentinel_file.exists(): - update_endpoints() - else: - # When was the sentinel file last modified? - time_sentinel_modified = round(sentinel_file.stat().st_ctime) - # What's the time now? - time_now_in_seconds = round(time.time()) - # How long has it passed? - difference = time_now_in_seconds - time_sentinel_modified - - if difference > SENTINEL_FILE_CHANGE_SECONDS: - update_endpoints() - - endpoints = [] - # see ideas from - # https://stackoverflow.com/questions/3277503/how-to-read-a-file-line-by-line-into-a-list - with open(sentinel_file) as f: - for line in f: - endpoints.append(line.rstrip().split(",")) - - return endpoints - - -def main(): - endpoints = read_endpoints() - for site, endpoint in endpoints: - print(site, endpoint) - - -if __name__ == "__main__": - main() diff --git a/requirements.txt b/requirements.txt index 39a9fe7..50f6b02 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,3 @@ -gunicorn -flask requests defusedxml pyyaml diff --git a/supervisord.conf b/supervisord.conf deleted file mode 100644 index 453fe9f..0000000 --- a/supervisord.conf +++ /dev/null @@ -1,9 +0,0 @@ -[supervisord] -nodaemon=true - -[program:gunicorn] -directory=/fedcloud-dashboard -command=gunicorn --bind 0.0.0.0:8000 dashboard.main:app - -[program:cron] -command=cron -f From 56f4eb92ab386de15fdddd4bfec98e44714f816a Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 28 Jul 2022 15:28:52 +0100 Subject: [PATCH 4/5] Update README.md --- README.md | 73 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index ce63b1d..3309d17 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,46 @@ # FedCloud dashboard -Proof of concept to gather all OpenStack Horizon endpoints published in the EGI GOCDB. +A web dashboard which shows all OpenStack Horizon endpoints published in +[EGI GOCDB](https://goc.egi.eu/) ## Installation -Clone this repository: +This code relies on docker-compose to run 3 containers: + +- [traefik](https://traefik.io/traefik/) to provide HTTP proxy and cert + management +- [dashy](https://dashy.to/) for generating the dashboard +- some python code to generate the list of endpoints + +The existing docker-compose file assumes you will run the code on a publicly +accessible host with a valid name. You can create a `.env` file with the +`DASHBOARD_HOSTNAME` variable defined with the hostname of your server and just +start the service: + +```shell +cd /path/to/working/directory +git clone https://github.com/EGI-Federation/fedcloud-dashboard.git +echo "DASHBOARD_HOSTNAME="" +docker-compose up --build +``` + +This will build the container that generates the list of endpoints and start all +the process to make the dashboard available. + +## Running locally + +If you don't have a publicly accessible host, the easiest is to manually run +dashy and the code to generate the list of endpoints: + +First clone the repository: + ```shell cd /path/to/working/directory git clone https://github.com/EGI-Federation/fedcloud-dashboard.git ``` Create a conda environment with requirements: + ```shell # Download and install conda cd /path/to/conda/install/folder @@ -24,44 +54,21 @@ conda env create -f environment.yml conda activate horizon-aggregator ``` -## Preview Test whether the query script works: -```shell -cd /path/to/working/directory/fedcloud-dashboard/dashboard/ -python find_endpoints.py -``` -Test whether the flask app works: ```shell cd /path/to/working/directory/fedcloud-dashboard/dashboard/ -export FLASK_APP=main -flask run --host=0.0.0.0 -``` - -## Use docker - -First things first: make sure port 8000 is open on the target system! - -### Build image - -Here are the steps: -```shell -git clone https://github.com/EGI-Federation/fedcloud-dashboard.git -cd fedcloud-dashboard -sudo docker build --no-cache -t dashboard:1.0.0 . +python dashy_endpoints.py > conf.yml ``` -### Run container +Use the generated `conf.yml` with dashy: -Here are the steps: ```shell -git clone https://github.com/EGI-Federation/fedcloud-dashboard.git -cd fedcloud-dashboard/dashboard -sudo docker run \ - --name dashboard \ - --detach \ - --publish 8000:8000 \ - dashboard:1.0.0 +cd /path/to/working/directory/fedcloud-dashboard/dashboard/ +docker run \ + -p 8080:80 \ + -v $PWD/conf.yml:/app/public/conf.yml \ + lissy93/dashy:latest ``` -The app should now return the list OpenStack Horizon endpoints published in the EGI GOCDB. +And point your browser to `http://localhost:8080` to see your dashboard running From f2acc8312090a8899dd97a6b9753ad79d6dfeb9c Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 28 Jul 2022 15:29:03 +0100 Subject: [PATCH 5/5] Update environment.yml --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index b2bc489..e15be37 100644 --- a/environment.yml +++ b/environment.yml @@ -9,4 +9,4 @@ dependencies: - python 3.10.* - defusedxml - requests - - flask + - pyyaml