pharos-tools.git
6 years agoMerge "Adds various conveniences for hosters." stable/euphrates
Jack Morgan [Tue, 19 Sep 2017 23:28:01 +0000 (23:28 +0000)]
Merge "Adds various conveniences for hosters."

6 years agoMerge "Adds Experimental support for Joid"
Jack Morgan [Tue, 19 Sep 2017 23:27:58 +0000 (23:27 +0000)]
Merge "Adds Experimental support for Joid"

6 years agoMerge "Adds VPN Handler"
Jack Morgan [Tue, 19 Sep 2017 23:27:56 +0000 (23:27 +0000)]
Merge "Adds VPN Handler"

6 years agoMerge "Adds configuration files"
Jack Morgan [Tue, 19 Sep 2017 23:27:54 +0000 (23:27 +0000)]
Merge "Adds configuration files"

6 years agoMerge "Bash scripts for remote host deployment"
Jack Morgan [Tue, 19 Sep 2017 23:27:53 +0000 (23:27 +0000)]
Merge "Bash scripts for remote host deployment"

6 years agoMerge "Add Dashboard Listener"
Jack Morgan [Tue, 19 Sep 2017 23:27:51 +0000 (23:27 +0000)]
Merge "Add Dashboard Listener"

6 years agoMerge "Adds SQLite DataBase"
Jack Morgan [Tue, 19 Sep 2017 23:27:49 +0000 (23:27 +0000)]
Merge "Adds SQLite DataBase"

6 years agoMerge "Adds Fuel Installation Capability"
Jack Morgan [Tue, 19 Sep 2017 23:27:47 +0000 (23:27 +0000)]
Merge "Adds Fuel Installation Capability"

6 years agoMerge "Adds Libvirt Handler"
Jack Morgan [Tue, 19 Sep 2017 23:27:44 +0000 (23:27 +0000)]
Merge "Adds Libvirt Handler"

6 years agoMerge "Adds the Free and Open-source Ghost (FOG)"
Jack Morgan [Tue, 19 Sep 2017 23:27:39 +0000 (23:27 +0000)]
Merge "Adds the Free and Open-source Ghost (FOG)"

6 years agoMerge "LaaS Base functionality"
Jack Morgan [Tue, 19 Sep 2017 23:27:32 +0000 (23:27 +0000)]
Merge "LaaS Base functionality"

6 years agoMerge "Fix Booking API"
julien zhang [Mon, 11 Sep 2017 14:20:17 +0000 (14:20 +0000)]
Merge "Fix Booking API"

6 years agoAdds various conveniences for hosters.
Parker Berberian [Mon, 21 Aug 2017 13:50:22 +0000 (09:50 -0400)]
Adds various conveniences for hosters.

JIRA: N/A

Adds documentation, as well as:
source/stop.sh: stops the pharos listener and any running deployment
source/deploy.sh: manually starts a deployment on the given host

Patchset2: improved and updated README

Change-Id: I918ca3bdf03a32f7a16d851d7ea7ebc968d66720
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds Experimental support for Joid
Parker Berberian [Mon, 21 Aug 2017 13:47:46 +0000 (09:47 -0400)]
Adds Experimental support for Joid

JIRA: N/A

Adds a joid installer object, and needed configuration / scripts.

Currently, this only works with a no-ha scenario.

Change-Id: Ib3076d0341e47d3bebe89ae1b22e87547fe3f524
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds VPN Handler
Parker Berberian [Mon, 21 Aug 2017 13:45:02 +0000 (09:45 -0400)]
Adds VPN Handler

JIRA: N/A

adds a vpn handler in source/api/vpn.py
vpn.py contains a formal interface definition as well as a specific
implementation using LDAP. If your lab's vpn does not use LDAP, you may
create a new vpn handler that properly extends the abstract vpn class
and it should be fine.

Change-Id: I31e8d8477dfed913c4da864d3ff3b49e988d64b1
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds configuration files
Parker Berberian [Mon, 21 Aug 2017 13:42:28 +0000 (09:42 -0400)]
Adds configuration files

JIRA: N/A

Adds yaml files in conf/ to fit the laas software into your lab
infrastructure.
Each installer (Fuel, joid, etc) will also have their own config file,
which will point also to their own network and domain config file.

Change-Id: I0bcd57399b9f3f12aa351604fd03ae92de1ba93b
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoBash scripts for remote host deployment
Parker Berberian [Mon, 21 Aug 2017 13:36:53 +0000 (09:36 -0400)]
Bash scripts for remote host deployment

JIRA: N/A

Adds various scripts into hostscripts/ to make the deployment
easier.
The whole hostscripts directory is copied to the remote host during
deployment.
mkDisks will create needed virtual disks
vncAllow punches a hole in the firewall to allow a vnc connection
    (useful for debugging)
ipnat.sh uses iptables to NAT out an isolated virtual machine
    to access horizon, for example

Change-Id: I25c23c0c4893838e58ba1cd7baaa5347de4ef47f
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdd Dashboard Listener
Parker Berberian [Mon, 21 Aug 2017 13:34:01 +0000 (09:34 -0400)]
Add Dashboard Listener

JIRA: N/A

Adds source/pharos.py, which will periodically poll the paros
dashboard api to see if any new bookings have started on and of your
dev pods. If a new booking is starting, a deployment will be
started for that pod.

source/listen.py starts the pharos listener in a background
process, so that it will not eat your terminal.

Change-Id: Icbce4453c772f04215f25534606456caa1012f5a
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds SQLite DataBase
Parker Berberian [Mon, 21 Aug 2017 13:31:16 +0000 (09:31 -0400)]
Adds SQLite DataBase

JIRA: N/A

Adds a database handler in source/database.py to store all
hosts and to store any bookings coming from the dashboard.
source/resetDataBase will clean the db and try to repopulate it
with information from the FOG server.

Change-Id: I14537452d8566db17787f116018f45bb1ddd75ba
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds Fuel Installation Capability
Parker Berberian [Mon, 21 Aug 2017 13:24:57 +0000 (09:24 -0400)]
Adds Fuel Installation Capability

JIRA: N/A

Adds the ability to automatically install and deploy Fuel onto
a remote host.
the hostScripts/fuelInstall.sh script boots the master machine
and uses the fuel iso to install fuel to the machine.
the source/installers/fuel.py then uses the source/api/fuel_api
handler to configure and deploy fuel.
Running:
    Fuel_Installer(domains,networks,libvirt,utility).go()
Will install fuel and deploy Openstack on top of Fuel
assuming the host is properly configured.

Change-Id: I41aee773b27b893311c945221b93eacf36aa83cc
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds Libvirt Handler
Parker Berberian [Mon, 21 Aug 2017 13:07:01 +0000 (09:07 -0400)]
Adds Libvirt Handler

JIRA: N/A

Adds a handler which can control the libvirt hypervisor
on the remote host, in order to define the vm's and networks
that are needed for an OPNFV deployment.
Also adds the domain and network objects, which are simple abstractions
of virtual machines and networks.

Change-Id: Ia836e7b080b8bca220d5fdf6eb72b6c580cab4d1
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds the Free and Open-source Ghost (FOG)
Parker Berberian [Mon, 21 Aug 2017 13:03:53 +0000 (09:03 -0400)]
Adds the Free and Open-source Ghost (FOG)

JIRA: N/A

Adds a handler which will talk with the REST api
running on the FOG server.
This allows the pod_manager to ghost images onto hosts
in order to prep them for deployment and clean them afterwards.

Change-Id: Ic00e992874ca3371b6d6e8ac2450a1ef0c765e67
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoLaaS Base functionality
Parker Berberian [Mon, 21 Aug 2017 12:57:59 +0000 (08:57 -0400)]
LaaS Base functionality

JIRA: N/A

This is the base of the laas hosting software.
the pod_manager can select a host from a pool and
will ghost it with a clean image.
The deployment_manager will install OPNFV on that host.
Utilities defines misc useful functions that are needed
throughout the provisioning and dpeloyment.

Change-Id: I2fb24f36491ded1284f5ac1659a505bd88baafb4
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoFix Booking API
maxbr [Thu, 27 Jul 2017 10:51:47 +0000 (12:51 +0200)]
Fix Booking API

This fixes a server error for the booking REST api and some html errors.

Change-Id: I86475967bbc8cd4c8f82f62e03789f1c9752d446
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
6 years agoMount PostgreSQL Data from Persistent Volume
Trevor Bramwell [Wed, 26 Jul 2017 18:22:54 +0000 (11:22 -0700)]
Mount PostgreSQL Data from Persistent Volume

Each time the postgresql container is torn down the database is lost.
By using a presistent volume managed outside of docker compose, the
postgresql data can persist across updates and service restarts.

The volume needs to exist before the postgres container can start: this
is done with the 'make data' command.

Note: postgres container creates a volume at /var/lib/postgresql/data.
Mounting at this location ensures the data is persisted into the
external volume.

Change-Id: I958ba57fc735c594378d575bc7108bee0d30c1e3
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoFix Yamllint Violations
Trevor Bramwell [Fri, 23 Jun 2017 23:13:12 +0000 (16:13 -0700)]
Fix Yamllint Violations

JIRA: PHAROS-298

Change-Id: I1c9afc9bfee4a60144b95bc38e2333260c95167a
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
7 years agoPharos Dashboard: Add manual resource management
maxbr [Fri, 5 May 2017 08:02:56 +0000 (10:02 +0200)]
Pharos Dashboard: Add manual resource management

Dev Pods are now managed by checking the "Dev pod" box in the Admin
Panel. This commit also fixes a dead image URL and the oauth process for the
dashboard URL.

Change-Id: Ic94160eb3a4504a369606261440df0e5354ac027
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd booking communication reference implementation
maxbr [Thu, 5 Jan 2017 11:38:00 +0000 (12:38 +0100)]
Add booking communication reference implementation

JIRA: PHAROS-265

This adds an implementation of a booking communication agent that
listens for booking notifications from the dashboard and updates the pod
status in the dashboard.

Change-Id: I1ea22390a46182a185df9c5e1771c9312d462092
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd library for dashboard notification System
maxbr [Thu, 5 Jan 2017 11:36:54 +0000 (12:36 +0100)]
Add library for dashboard notification System

JIRA: PHAROS-265

Change-Id: Ia33235c5160ef6b36b27a6fe1a2eb97a45e72367
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd library for dashboard API
maxbr [Thu, 5 Jan 2017 11:34:37 +0000 (12:34 +0100)]
Add library for dashboard API

JIRA: PHAROS-265

The DashboardAPI class can be used to query and update dashboard data.

Change-Id: I584a3cc500ff1d67011c18af4e73e504126310a2
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoMerge "Add pharos-validator tool"
Jack Morgan [Tue, 25 Oct 2016 11:45:14 +0000 (11:45 +0000)]
Merge "Add pharos-validator tool"

7 years agoAdd unit tests
maxbr [Mon, 17 Oct 2016 12:56:11 +0000 (14:56 +0200)]
Add unit tests

JIRA: RELENG-12

This commit increases test statement coverage to 84%. It also fixes the bugs
that emerged while testing.

Change-Id: I696091f1a07f8b7647872c7cb15f4368a4690619
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoSync dashboard user data with jira
maxbr [Wed, 5 Oct 2016 12:24:11 +0000 (14:24 +0200)]
Sync dashboard user data with jira

JIRA: PHAROS-264

Change-Id: Ic4533af04946ee0493c762ca79aaf46ee0f80e00
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd Installer and Scenario fields to bookings
maxbr [Wed, 5 Oct 2016 12:10:56 +0000 (14:10 +0200)]
Add Installer and Scenario fields to bookings

JIRA: PHAROS-272

Change-Id: I28f44bfadb1dbe3cb0caca0a8038fba988cf26f9
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd pharos-validator tool
Todd Gaunt [Mon, 3 Oct 2016 20:02:12 +0000 (16:02 -0400)]
Add pharos-validator tool

Change-Id: I38e077c2c90059e39ee9871abf5d867a875827a3
Signed-off-by: Todd Gaunt <singularik@iol.unh.edu>
7 years agoAdd database migration files
maxbr [Mon, 26 Sep 2016 14:36:56 +0000 (16:36 +0200)]
Add database migration files

Change-Id: Id24ced5dc7d71861df9899d472edb26f5805da50
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoRestructure dashboard project for docker deploying
maxbr [Mon, 26 Sep 2016 14:36:11 +0000 (16:36 +0200)]
Restructure dashboard project for docker deploying

Change-Id: I13cad51270504ee4bed8558598a8891af58a26ab
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd license headers
maxbr [Wed, 21 Sep 2016 15:51:57 +0000 (17:51 +0200)]
Add license headers

JIRA: RELENG-12

Change-Id: I6aeb82b2f72d086b70737f86282f8ed0c48f83cf
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd a REST API for the dashboard
maxbr [Mon, 19 Sep 2016 08:14:19 +0000 (10:14 +0200)]
Add a REST API for the dashboard

JIRA: PHAROS-265

Change-Id: Ic1b2d20415b0b84473d5915c4f26f3e65bbb1ecf
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoSend notifications for booking start and end
maxbr [Mon, 19 Sep 2016 08:13:26 +0000 (10:13 +0200)]
Send notifications for booking start and end

JIRA: PHAROS-265

Change-Id: I53a37ac31dda70935752afc6da3315e6dfcbc90f
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoImplement notification framework
maxbr [Mon, 19 Sep 2016 08:11:55 +0000 (10:11 +0200)]
Implement notification framework

JIRA: PHAROS-265

The framework can be used by the dashboard and the labs to exchange
notifications about booking events and pod status.

Change-Id: Ibd7cd353c4933f7662d5368182faef8298b85efc
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoFix table HTML
maxbr [Mon, 19 Sep 2016 08:10:54 +0000 (10:10 +0200)]
Fix table HTML

JIRA: RELENG-12

Change-Id: I780c1fc0daab9ee2f2599c51f31eb416a2c7dbbf
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd user info panel
maxbr [Mon, 12 Sep 2016 09:19:18 +0000 (11:19 +0200)]
Add user info panel

JIRA: PHAROS-264

Change-Id: I5404812a78755ce1026401b8dda1f0d167dc6fda
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd info to the resource view
maxbr [Mon, 12 Sep 2016 09:18:10 +0000 (11:18 +0200)]
Add info to the resource view

JIRA: PHAROS-266

This adds a panel containing lab owner contact information, jenkins
utilization timerange options and a table containing vpn users of a pod
to the resource view.

Change-Id: If991c74d3c93cd08f622771acc048ab998e16c48
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd utilization column to dev pod tab
maxbr [Mon, 12 Sep 2016 09:16:30 +0000 (11:16 +0200)]
Add utilization column to dev pod tab

JIRA: PHAROS-263

Change-Id: I25d5d4bf4ecc23febdc0c11eae3298ada9372e83
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd booking utilization chart
maxbr [Mon, 12 Sep 2016 09:08:56 +0000 (11:08 +0200)]
Add booking utilization chart

JIRA: PHAROS-263

Change-Id: I3a3a5115a1cf7742f9ac5a3ec753699c36b49815
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoRemove first prototype of the Pharos Dashboard
jose.lausuch [Thu, 1 Sep 2016 08:44:01 +0000 (10:44 +0200)]
Remove first prototype of the Pharos Dashboard

The Dashboard implementation from Max is im progress and
more advanced than the initial one. It doesn't make sense
to maintain both of them.

Change-Id: Iabea63a7e5b6e8d64cb72b8de2264c5c4484eae8
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
7 years agoAdd a Resource detail view
maxbr [Thu, 25 Aug 2016 10:10:55 +0000 (12:10 +0200)]
Add a Resource detail view

JIRA: RELENG-12

The resource page contains an utilization diagram, future bookings with
their jira tickets and a list of servers.

Change-Id: I2123ccbe96cde29a56af32b933ebbf6ba2668ed1
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd a Booking detail view
maxbr [Thu, 25 Aug 2016 10:05:19 +0000 (12:05 +0200)]
Add a Booking detail view

JIRA: RELENG-12

This adds a pop-up to the booking calendar, containing information
about a selected booking.

Change-Id: Ie780006963cb927d073103edbaefbdab3de403fb
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoRemove development settings
maxbr [Thu, 25 Aug 2016 09:58:45 +0000 (11:58 +0200)]
Remove development settings

JIRA: RELENG-12

Change-Id: I0a481c95e7acb17ca2efe9be1e90b2e49a7e8104
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoCreate Jira issue for new booking
maxbr [Mon, 22 Aug 2016 16:59:47 +0000 (18:59 +0200)]
Create Jira issue for new booking

JIRA: RELENG-12

The issue is assigned to the lab owner and to the POD Access Request
Component. The pgp and ssh keys are uploaded to jira as an attachement.

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoRemove database migration files
maxbr [Mon, 22 Aug 2016 16:50:33 +0000 (18:50 +0200)]
Remove database migration files

JIRA: RELENG-12

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoUse Jira Oauth for user authentication
maxbr [Fri, 19 Aug 2016 15:15:28 +0000 (17:15 +0200)]
Use Jira Oauth for user authentication

JIRA: RELENG-12

Users can use their jira accounts for the dashboard. This also allows
the dasboard to open jira tickets for bookings.

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdd a resource utilization page
maxbr [Fri, 19 Aug 2016 15:14:11 +0000 (17:14 +0200)]
Add a resource utilization page

JIRA: RELENG-12

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoImplement periodic tasks
maxbr [Fri, 19 Aug 2016 15:11:58 +0000 (17:11 +0200)]
Implement periodic tasks

JIRA: RELENG-12

The dashboard is now querying jenkins periodically and saving the
results in the database. This fixes delays that were caused by calling
the jenkins API.

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoSplit the dashboard into different apps, add tests
maxbr [Fri, 19 Aug 2016 15:10:31 +0000 (17:10 +0200)]
Split the dashboard into different apps, add tests

JIRA: RELENG-12

Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoimport pharos dashboard code
maxbr [Fri, 29 Jul 2016 10:43:43 +0000 (12:43 +0200)]
import pharos dashboard code

JIRA: RELENG-12

The last commit was missing some JS/CSS dependencies of the site. This
happened because they are in folders that are named 'build' or 'dist'.
This commit adds a bower.json file, that specifies dependencies.
Dependencies can now be installed by running 'bower install' in the
dashboard/static folder.

Change-Id: I054f319c66771f767e97711cb678d79d3bd6bee4
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoimport pharos dashboard
maxbr [Thu, 28 Jul 2016 08:28:59 +0000 (10:28 +0200)]
import pharos dashboard

JIRA: PHAROS-190

Change-Id: I8a9db2ae0dac93fb8921d59f6018bfe73a0694f3
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
7 years agoAdaptations in the dashboard for the LF server
jose.lausuch [Mon, 6 Jun 2016 22:36:43 +0000 (00:36 +0200)]
Adaptations in the dashboard for the LF server

JIRA: RELENG-12

Removed DB information.

Change-Id: I7a307a6f4b416837c9e0376764aeee58e2631657
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
7 years agoOPNFV Infra Dashboard
jose.lausuch [Wed, 1 Jun 2016 21:00:08 +0000 (23:00 +0200)]
OPNFV Infra Dashboard

JIRA: RELENG-12

Change-Id: I7451a3d234e4e5d946cdb905d5720be6159b6544
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>