summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-09-19Merge "Adds Libvirt Handler"Jack Morgan3-0/+678
2017-09-19Merge "Adds the Free and Open-source Ghost (FOG)"Jack Morgan2-0/+305
2017-09-19Merge "LaaS Base functionality"Jack Morgan4-0/+615
2017-09-11Merge "Fix Booking API"julien zhang8-23/+17
2017-08-31Adds various conveniences for hosters.Parker Berberian4-0/+273
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>
2017-08-31Adds Experimental support for JoidParker Berberian3-0/+90
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>
2017-08-31Adds VPN HandlerParker Berberian1-0/+235
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>
2017-08-31Adds configuration filesParker Berberian7-0/+226
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>
2017-08-31Bash scripts for remote host deploymentParker Berberian3-0/+77
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>
2017-08-31Add Dashboard ListenerParker Berberian2-0/+276
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>
2017-08-31Adds SQLite DataBaseParker Berberian2-0/+406
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>
2017-08-31Adds Fuel Installation CapabilityParker Berberian6-0/+697
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>
2017-08-31Adds Libvirt HandlerParker Berberian3-0/+678
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>
2017-08-31Adds the Free and Open-source Ghost (FOG)Parker Berberian2-0/+305
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>
2017-08-31LaaS Base functionalityParker Berberian4-0/+615
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>
2017-07-27Fix Booking APImaxbr8-23/+17
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>
2017-07-26Mount PostgreSQL Data from Persistent VolumeTrevor Bramwell3-2/+9
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>
2017-06-27Fix Yamllint ViolationsTrevor Bramwell7-132/+137
JIRA: PHAROS-298 Change-Id: I1c9afc9bfee4a60144b95bc38e2333260c95167a Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
2017-05-05Pharos Dashboard: Add manual resource managementmaxbr10-15/+63
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>
2017-01-05Add booking communication reference implementationmaxbr12-97/+144
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>
2017-01-05Add library for dashboard notification Systemmaxbr15-145/+196
JIRA: PHAROS-265 Change-Id: Ia33235c5160ef6b36b27a6fe1a2eb97a45e72367 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2017-01-05Add library for dashboard APImaxbr7-13/+140
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>
2016-10-25Merge "Add pharos-validator tool"Jack Morgan67-0/+10650
2016-10-17Add unit testsmaxbr25-82/+414
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>
2016-10-12Sync dashboard user data with jiramaxbr12-17/+146
JIRA: PHAROS-264 Change-Id: Ic4533af04946ee0493c762ca79aaf46ee0f80e00 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-10-05Add Installer and Scenario fields to bookingsmaxbr12-50/+182
JIRA: PHAROS-272 Change-Id: I28f44bfadb1dbe3cb0caca0a8038fba988cf26f9 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-10-03Add pharos-validator toolTodd Gaunt67-0/+10650
Change-Id: I38e077c2c90059e39ee9871abf5d867a875827a3 Signed-off-by: Todd Gaunt <singularik@iol.unh.edu>
2016-09-26Add database migration filesmaxbr5-0/+202
Change-Id: Id24ced5dc7d71861df9899d472edb26f5805da50 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-26Restructure dashboard project for docker deployingmaxbr100-52/+455
Change-Id: I13cad51270504ee4bed8558598a8891af58a26ab Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-21Add license headersmaxbr63-1/+631
JIRA: RELENG-12 Change-Id: I6aeb82b2f72d086b70737f86282f8ed0c48f83cf Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-19Add a REST API for the dashboardmaxbr9-1/+92
JIRA: PHAROS-265 Change-Id: Ic1b2d20415b0b84473d5915c4f26f3e65bbb1ecf Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-19Send notifications for booking start and endmaxbr7-0/+89
JIRA: PHAROS-265 Change-Id: I53a37ac31dda70935752afc6da3315e6dfcbc90f Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-19Implement notification frameworkmaxbr2-0/+104
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>
2016-09-19Fix table HTMLmaxbr8-82/+84
JIRA: RELENG-12 Change-Id: I780c1fc0daab9ee2f2599c51f31eb416a2c7dbbf Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-12Add user info panelmaxbr5-5/+69
JIRA: PHAROS-264 Change-Id: I5404812a78755ce1026401b8dda1f0d167dc6fda Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-12Add info to the resource viewmaxbr5-26/+153
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>
2016-09-12Add utilization column to dev pod tabmaxbr3-6/+24
JIRA: PHAROS-263 Change-Id: I25d5d4bf4ecc23febdc0c11eae3298ada9372e83 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-12Add booking utilization chartmaxbr13-28/+141
JIRA: PHAROS-263 Change-Id: I3a3a5115a1cf7742f9ac5a3ec753699c36b49815 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-09-01Remove first prototype of the Pharos Dashboardjose.lausuch44-42397/+0
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>
2016-08-25Add a Resource detail viewmaxbr14-213/+275
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>
2016-08-25Add a Booking detail viewmaxbr6-6/+90
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>
2016-08-25Remove development settingsmaxbr1-157/+0
JIRA: RELENG-12 Change-Id: I0a481c95e7acb17ca2efe9be1e90b2e49a7e8104 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-08-22Create Jira issue for new bookingmaxbr15-146/+61
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>
2016-08-22Remove database migration filesmaxbr25-599/+1
JIRA: RELENG-12 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-08-19Use Jira Oauth for user authenticationmaxbr25-130/+540
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>
2016-08-19Add a resource utilization pagemaxbr3-0/+111
JIRA: RELENG-12 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-08-19Implement periodic tasksmaxbr28-174/+410
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>
2016-08-19Split the dashboard into different apps, add testsmaxbr81-735/+1489
JIRA: RELENG-12 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
2016-07-29import pharos dashboard codemaxbr44-0/+1639
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>
2016-07-28import pharos dashboardmaxbr1-0/+0
JIRA: PHAROS-190 Change-Id: I8a9db2ae0dac93fb8921d59f6018bfe73a0694f3 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>