pharos-tools.git
5 years agoBUG FIX: Properly decodes ssh public keyfile 45/65545/1
Parker Berberian [Mon, 3 Dec 2018 18:38:37 +0000 (13:38 -0500)]
BUG FIX: Properly decodes ssh public keyfile

Because of how Python3 changed how it handled strings,
the byte string read from the user's keyfile was not directly
serializable. This decodes the bytes into a unicode string, assuming UTF-8 encoding.

Change-Id: I5f723a61fb577fa6d4e76e701ef529521ab389ba
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFixed Misc Bugs 95/65395/1
Parker Berberian [Tue, 20 Nov 2018 16:19:55 +0000 (11:19 -0500)]
Fixed Misc Bugs

Some corner cases that cause issues recently came to our attention.
Fixes issues in the booking workflow and the Notification system.

Change-Id: Ie16118ba1bdbeff86bb41a16dc783337b921d527
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFix all flake8 errors 77/65277/2
Parker Berberian [Tue, 20 Nov 2018 16:19:55 +0000 (11:19 -0500)]
Fix all flake8 errors

The flake8 command in test.sh finds no longer finds any errors.
This may form a basis of a jenkins verify job as a sort of 'weak compile-time checks'

The flake8 command will not complain about line length, and will not complain about
django's manage.py file

Change-Id: Ic47cb4fc7ada55e64485661ab6881aef475018ff
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoMerge "Rewrite Notification subsystem"
Trevor Bramwell [Wed, 7 Nov 2018 22:05:28 +0000 (22:05 +0000)]
Merge "Rewrite Notification subsystem"

5 years agoRewrite Notification subsystem 67/63967/5
Parker Berberian [Wed, 24 Oct 2018 19:12:32 +0000 (15:12 -0400)]
Rewrite Notification subsystem

In this commit:
 - delete a lot of really bad and / or unused code
 - redesign a much simpler Notification model
 - create and send notifications to the user's inbox on booking start & end
 - migrations
 - emails user when booking is ready and when it ends

Not in this commit:
 - Creating notifications from lab messages
 - warning messages when a booking is about to end
 - creating "summary" notifications when e.g. a booking has been fulfilled by a lab

Change-Id: I69b4dc36c3f2bce76d810106baadeef5a562cc7d
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoMerge "Restrict Postgres to version 10"
Trevor Bramwell [Thu, 1 Nov 2018 23:18:47 +0000 (23:18 +0000)]
Merge "Restrict Postgres to version 10"

5 years agoMerge "Improved Collaborators UX"
Trevor Bramwell [Wed, 31 Oct 2018 21:35:30 +0000 (21:35 +0000)]
Merge "Improved Collaborators UX"

5 years agoMerge "Fixes for access creation and removal"
Trevor Bramwell [Wed, 31 Oct 2018 21:34:59 +0000 (21:34 +0000)]
Merge "Fixes for access creation and removal"

5 years agoMerge "Fixed Indentation"
Trevor Bramwell [Wed, 31 Oct 2018 21:34:13 +0000 (21:34 +0000)]
Merge "Fixed Indentation"

5 years agoMerge "Hides information about your booking from other users"
Trevor Bramwell [Wed, 31 Oct 2018 21:34:01 +0000 (21:34 +0000)]
Merge "Hides information about your booking from other users"

5 years agoMerge "Fix Booking List"
Trevor Bramwell [Wed, 31 Oct 2018 21:33:07 +0000 (21:33 +0000)]
Merge "Fix Booking List"

5 years agoFixed Indentation 45/64145/1
Parker Berberian [Mon, 29 Oct 2018 16:53:09 +0000 (12:53 -0400)]
Fixed Indentation

This is a pretty complex html file that we will have to modify soon,
so I made sure that every tag is opened and closed at the correct height.
The correct height for a tag is 4 spaces more indented than its parent

Change-Id: Ie356b61746477f65304f38c019f471e5cae1aa94
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoImproved Collaborators UX 87/64087/1
Parker Berberian [Fri, 26 Oct 2018 15:43:48 +0000 (11:43 -0400)]
Improved Collaborators UX

Some small improvements based on feedback from Trevor.
- Changed lable from "users" to "collaborators" to try and be more clear
- Do not show your own name in the dropdown by default
- You cannot select yourself as a collaborator

Change-Id: Ie2e9070232765ed9eabe6657924ed8addaa0165a
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoHides information about your booking from other users 75/64075/1
Parker Berberian [Fri, 26 Oct 2018 14:52:14 +0000 (10:52 -0400)]
Hides information about your booking from other users

If a user is not the owner or a collaborator on a booking,
they should be kept from seeing the booking detail page which may
contain credentials, etc from the lab fulfilling the booking.

Change-Id: I27c383a0e1d017b5d02a7c9a37676f6a968c9270
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoForces hostnames to not be empty 73/64073/1
Parker Berberian [Fri, 26 Oct 2018 14:41:44 +0000 (10:41 -0400)]
Forces hostnames to not be empty

Previously, when a host was 'added' but not given a hostname, it was
excluded from the list of hosts sent to the backend for processing.

By explicitly adding each host to the result, we avoid this and
force the checking of an empty hostname (which will correctly fail).

Change-Id: Ia533bc23baf558a5e297dab629dbf47fb4704d7f
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoRestrict Postgres to version 10 75/63975/1
Trevor Bramwell [Wed, 24 Oct 2018 22:36:59 +0000 (15:36 -0700)]
Restrict Postgres to version 10

Postgres 11 was just released and the images does not yet support
automatic data upgrades. Restricting it to 10 should keep users from
running into issues when using/testing the dashboard.

Change-Id: I7758cb01b5c6c0c75166536fc0d99277995d5da0
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agoFixes for access creation and removal 65/63965/1
Parker Berberian [Tue, 23 Oct 2018 20:11:36 +0000 (16:11 -0400)]
Fixes for access creation and removal

Fixes include:
 - creating ssh access jobs for users with ssh keys
 - ensuring vpn access is revoked after booking ends

Creates ssh access jobs with the user's ssh keys, if they exist

Change-Id: Ia2e9f0c5a2f90b45732a5767a62b87a5a5492b94
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFix Booking List 57/63957/1
Parker Berberian [Wed, 24 Oct 2018 14:04:41 +0000 (10:04 -0400)]
Fix Booking List

The table that lists all active bookings at /booking/list/
was using booking.user. This doesn't exist anymore, changed to booking.owner

Change-Id: I76c8d498f4dbe64d88c4c6f7b5e380559b125e44
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoMerge "Fix Missing Static Assets"
Parker Berberian [Tue, 23 Oct 2018 19:57:46 +0000 (19:57 +0000)]
Merge "Fix Missing Static Assets"

5 years agoMerge "Fixed serialization"
Parker Berberian [Tue, 23 Oct 2018 19:53:07 +0000 (19:53 +0000)]
Merge "Fixed serialization"

5 years agoMerge "Fix error in Booking cleanup task"
Parker Berberian [Tue, 23 Oct 2018 19:52:54 +0000 (19:52 +0000)]
Merge "Fix error in Booking cleanup task"

5 years agoMerge "Fix clear_delta() function"
Parker Berberian [Tue, 23 Oct 2018 19:52:45 +0000 (19:52 +0000)]
Merge "Fix clear_delta() function"

5 years agoMerge "Added template"
Parker Berberian [Tue, 23 Oct 2018 19:52:35 +0000 (19:52 +0000)]
Merge "Added template"

5 years agoMerge "Fix Typo"
Parker Berberian [Tue, 23 Oct 2018 19:52:17 +0000 (19:52 +0000)]
Merge "Fix Typo"

5 years agoMerge "Adds migrations"
Parker Berberian [Tue, 23 Oct 2018 19:52:06 +0000 (19:52 +0000)]
Merge "Adds migrations"

5 years agoFix Missing Static Assets 23/63923/1
Trevor Bramwell [Tue, 23 Oct 2018 17:52:31 +0000 (10:52 -0700)]
Fix Missing Static Assets

collectstatic copies the static assets to STATIC_ROOT (which is set to
'/static'), instead of the static directory under pharos_dashboard.

Updating the static volume, which is served from NGINX to include these
files should fix the missing assets.

Change-Id: I19288e9825c1513684e4ee5f8a9542b1a0ceeeb1
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agoFixed serialization 77/63877/1
Parker Berberian [Mon, 22 Oct 2018 14:42:02 +0000 (10:42 -0400)]
Fixed serialization

There was no need to serialize he dict ourselves.
JsonResponse wants to recieve a dict.

Change-Id: I2af1d9d8f0ccec4644e64ffce0de6005773be786
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFix error in Booking cleanup task 77/63777/1
Parker Berberian [Fri, 19 Oct 2018 14:35:29 +0000 (10:35 -0400)]
Fix error in Booking cleanup task

added a missing function call that was causing celery to fail to clean up Jobs.

Change-Id: I07a5e576d3dfcac320be206cc3235d17d4b286e0
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFix clear_delta() function 73/63673/1
Parker Berberian [Wed, 17 Oct 2018 17:34:56 +0000 (13:34 -0400)]
Fix clear_delta() function

NetworkConfig.clear_delta() appeared to be a noop, but can set the delta to
a nonempty string if delta is None.
This reverts a change I made here: https://gerrit.opnfv.org/gerrit/#/c/63385/6..7/dashboard/src/api/models.py

Change-Id: I72661ca9d889801fb6183943c8ae0e5e38cc960a
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoAdded template 71/63671/2
Parker Berberian [Wed, 17 Oct 2018 17:15:00 +0000 (13:15 -0400)]
Added template

This template should not have been removed.

Change-Id: Ic794ee40f45bd44af6fa976983b1c93660c8bb1c
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoFix Typo 67/63667/1
Parker Berberian [Wed, 17 Oct 2018 15:37:01 +0000 (11:37 -0400)]
Fix Typo

In one of the patchsets of LaaS 2.0 a typo was added.

Change-Id: I02ff24bea345279df6643c0b1a4358ab2eff1d31
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoAdds migrations 65/63665/1
Parker Berberian [Wed, 17 Oct 2018 15:33:45 +0000 (11:33 -0400)]
Adds migrations

In reviewing the LaaS 2.0 code, models were changed without the accompanying migrations.

Change-Id: Ibdba456d9650c7d7d8750328852f27866a899328
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoRemoved references to old code 35/63535/1
Parker Berberian [Mon, 15 Oct 2018 18:03:26 +0000 (14:03 -0400)]
Removed references to old code

With the LaaS 2.0 rewrite, there was still some old/dead/broken code being referenced.
This patch fixes that.

Change-Id: I25803652bc59bba1e416e526d205742c52f14a65
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoLab as a Service 2.0 85/63385/7
Parker Berberian [Wed, 10 Oct 2018 20:06:47 +0000 (16:06 -0400)]
Lab as a Service 2.0

See changes here:
https://wiki.opnfv.org/display/INF/Pharos+Laas

Change-Id: I59ada5f98e70a28d7f8c14eab3239597e236ca26
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
5 years agoDevelopment Override Compose File 19/63219/3
Trevor Bramwell [Fri, 5 Oct 2018 23:05:20 +0000 (16:05 -0700)]
Development Override Compose File

Now that images are built and hosted for the dashboard and worker
container the compose file can reference upstream images instead of
ones locally built.

A second compose file is added which overrides compose configuration so
that images are built locally.

Initial commands for running the container are moved into 'init.sh'
which gets copied into the image, since the current images cannot be ran
by themselves as they require the command listed in the compose file.

The compose version bumped from 2 to 3 as there are no version 2
specific features being used that need to be modified.

Change-Id: I23813a859a676ba009cba8f5a62b7153da006eef
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agoUpdate Postgres Usage 23/63223/1
Trevor Bramwell [Sat, 6 Oct 2018 00:00:45 +0000 (17:00 -0700)]
Update Postgres Usage

Setting POSTGRES_{DB,USER,PASSWORD} variables removes the need to volume
mount the script for specifying the user and database.

Change-Id: I7ee958c8d36702d1afd701e026b642ac84440ee8
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agoUse Upstream Rabbitmq Docker Container 81/63081/1
Trevor Bramwell [Mon, 1 Oct 2018 17:28:17 +0000 (10:28 -0700)]
Use Upstream Rabbitmq Docker Container

The upstream rabbitmq container supports specifying the default admin
user and password through the environment variables:
RABBITMQ_DEFAULT_USER and RABBITMQ_DEFAULT_PASS.

Utilizing these variables removes the need to build a rabbitmq container
specific to the Pharos LaaS Dashboard.

Change-Id: I390d7fa9254a0f28b374235254caff59b219cd87
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agoBump Python Cryptography Library Version 79/63079/1
Trevor Bramwell [Mon, 1 Oct 2018 16:59:50 +0000 (09:59 -0700)]
Bump Python Cryptography Library Version

The underlying OpenSSL version changed in an upstream container which
cryptography==1.4 did not support. Bumping the cryptography library
fixes the build as they introduce broader support for OpenSSL versions
in their newer releases.

Change-Id: Ibd2f73aefebb39cc4121b77fa38aecb32b8494ae
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
5 years agochange ',' to '.' in settings.py 25/60025/1
wutianwei [Fri, 20 Jul 2018 01:31:43 +0000 (09:31 +0800)]
change ',' to '.' in settings.py

Change-Id: I4f4a3419eef2aba407d772b39be62214b6b7142e
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years agoMerge "Limit User Booking Length and Extensions"
Parker Berberian [Fri, 13 Apr 2018 18:49:48 +0000 (18:49 +0000)]
Merge "Limit User Booking Length and Extensions"

6 years agoMerge "Gracefully Handle Missing Jenkins Utilization for Dev Pod"
Parker Berberian [Fri, 13 Apr 2018 18:24:29 +0000 (18:24 +0000)]
Merge "Gracefully Handle Missing Jenkins Utilization for Dev Pod"

6 years agoImplement Booking Cleanup Task 97/54497/3
Sawyer Bergeron [Mon, 26 Mar 2018 21:07:55 +0000 (17:07 -0400)]
Implement Booking Cleanup Task

Jira: PHAROS-344

Two new settings in config.env allow setting
1) how "stale" an expired booking can get before being culled and
2) how many expired bookings are kept around before culling
If either condition is met, expired bookings will be deleted until
both are false.

Change-Id: I6b091e93c6fe5d47b75ebf5325b717fa898c773c
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoGracefully Handle Missing Jenkins Utilization for Dev Pod 71/53171/3
Sawyer Bergeron [Tue, 6 Mar 2018 17:07:05 +0000 (12:07 -0500)]
Gracefully Handle Missing Jenkins Utilization for Dev Pod

Jira: PHAROS-364

Change-Id: I0641c658914e600672151d7c0d1661acba794f0f
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoLimit User Booking Length and Extensions 87/52687/2
Sawyer Bergeron [Mon, 26 Feb 2018 22:52:25 +0000 (17:52 -0500)]
Limit User Booking Length and Extensions

Jira: PHAROS-363

Bookings can now only be 3 weeks upon creation with a maximum of 2
1 week extensions.

Change-Id: I677770de3f62f188d23e60be6d71b42b25bf007e
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Allow Configuring 'DEFAULT_EMAIL_FROM' in Django" stable/fraser
Parker Berberian [Wed, 28 Feb 2018 15:05:26 +0000 (15:05 +0000)]
Merge "Allow Configuring 'DEFAULT_EMAIL_FROM' in Django"

6 years agoAllow Configuring 'DEFAULT_EMAIL_FROM' in Django 83/52783/1
Trevor Bramwell [Tue, 27 Feb 2018 23:00:46 +0000 (15:00 -0800)]
Allow Configuring 'DEFAULT_EMAIL_FROM' in Django

This sets the default 'FROM' address in the header of outgoing emails
from the system. Making this configurable allows users to specify the
address notification emails come from.

Change-Id: Ibe229ef503847411f4879d5715392f816a455733
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoLink AUP from dashboard 81/52481/1
Sawyer Bergeron [Thu, 22 Feb 2018 21:18:56 +0000 (16:18 -0500)]
Link AUP from dashboard

Jira: PHAROS-361

Link and associated text below booking confirmation button now
direct users to Wiki#AUP and inform them that they agree to those
policies by continuing.

Change-Id: I18953cc71691a03290cbce979fbf500081ca3c10
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Provide Interface for Booking Deletion"
Parker Berberian [Mon, 19 Feb 2018 21:17:12 +0000 (21:17 +0000)]
Merge "Provide Interface for Booking Deletion"

6 years agoProvide Interface for Booking Deletion 29/52129/4
Sawyer Bergeron [Tue, 13 Feb 2018 22:53:56 +0000 (17:53 -0500)]
Provide Interface for Booking Deletion

Jira: PHAROS-355

User can now delete their own booking by going to the detail view of their booking
and clicking 'delete'

Change-Id: I279da364c2a5dfd03b877d1236c610d0fef563bc
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Expose Limited User Info Through API"
Parker Berberian [Mon, 19 Feb 2018 20:58:15 +0000 (20:58 +0000)]
Merge "Expose Limited User Info Through API"

6 years agoMerge "Remove the Booking Notification Cleanup Task"
Parker Berberian [Mon, 19 Feb 2018 20:54:11 +0000 (20:54 +0000)]
Merge "Remove the Booking Notification Cleanup Task"

6 years agoMerge "Remove RSA Files from Repo"
Parker Berberian [Mon, 19 Feb 2018 20:52:28 +0000 (20:52 +0000)]
Merge "Remove RSA Files from Repo"

6 years agoExpose Limited User Info Through API 67/52267/1
Sawyer Bergeron [Fri, 16 Feb 2018 20:50:22 +0000 (15:50 -0500)]
Expose Limited User Info Through API

Jira: PHAROS-362

Exposes info such as username and user email throught the API to facilitate
better backend integration

Change-Id: I8948f399000ffe41d5b75941f4a4195caaea91f4
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoChange opsys Label to Operating System 17/52217/1
Sawyer Bergeron [Thu, 15 Feb 2018 21:05:37 +0000 (16:05 -0500)]
Change opsys Label to Operating System

Jira: PHAROS-360

This makes the booking UI more intuitive by clarifying a field

Change-Id: Ic7806e72a1ab94d650064c2c8e8820853385c356
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Ensure DEBUG is set as a Boolean"
Parker Berberian [Mon, 12 Feb 2018 14:21:00 +0000 (14:21 +0000)]
Merge "Ensure DEBUG is set as a Boolean"

6 years agoMerge "Use userprofile.email_addr in User List"
Parker Berberian [Mon, 12 Feb 2018 14:20:52 +0000 (14:20 +0000)]
Merge "Use userprofile.email_addr in User List"

6 years agoEnsure DEBUG is set as a Boolean 73/51973/1
Trevor Bramwell [Fri, 9 Feb 2018 19:08:55 +0000 (11:08 -0800)]
Ensure DEBUG is set as a Boolean

Since os.environ only allows strings DEBUG needs to be converted.
Assigning DEBUG to the comparison of the strings is enough to get the
correct value out.

Change-Id: Ie104d2fc5de5906ad2830c5ed7cff3b1c0fda3c5
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoPull DEBUG Var From Environment 69/51969/1
Trevor Bramwell [Fri, 9 Feb 2018 19:08:55 +0000 (11:08 -0800)]
Pull DEBUG Var From Environment

This is explictily set in settings.py and can't be changed without
modifying the file.

Change-Id: If2f06e25857e15405470254731f17765619f369a
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoUse userprofile.email_addr in User List 67/51967/1
Sawyer Bergeron [Fri, 9 Feb 2018 17:02:44 +0000 (12:02 -0500)]
Use userprofile.email_addr in User List

Jira: None

User List view in dashboard now uses the generally populated userprofile.email_addr
field instead of user.email

Change-Id: I1585ddf3cde293d33351a2ea036aa0a343fdd8b1
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoRemove the Booking Notification Cleanup Task 13/51513/1
Trevor Bramwell [Fri, 2 Feb 2018 21:37:23 +0000 (13:37 -0800)]
Remove the Booking Notification Cleanup Task

These are created by the notification django-app, but that app is no
longer used or installed.

This change should also keep the worker container from continuously
restarting.

Change-Id: Ifbdf15e7011375f3818179048ec6be4a83a53917
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoRemove RSA Files from Repo 09/51509/1
Trevor Bramwell [Fri, 2 Feb 2018 21:31:13 +0000 (13:31 -0800)]
Remove RSA Files from Repo

Since these are in the .gitignore file they shouldn't be in the repo.

Change-Id: Iaf4da94863d4edf10bdce924d33023ca2d679c64
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoMerge "Add User-ID Field in Booking API Serializer"
Parker Berberian [Wed, 31 Jan 2018 17:33:27 +0000 (17:33 +0000)]
Merge "Add User-ID Field in Booking API Serializer"

6 years agoAdd User-ID Field in Booking API Serializer 99/50799/1
Sawyer Bergeron [Thu, 18 Jan 2018 21:01:07 +0000 (16:01 -0500)]
Add User-ID Field in Booking API Serializer

Jira: None

Change-Id: I217cf26b078461fa2300ee666bd4c2775c62316b
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoAdd Nullable Lab Field to Resources 71/50371/2
Sawyer Bergeron [Wed, 10 Jan 2018 16:44:23 +0000 (11:44 -0500)]
Add Nullable Lab Field to Resources

Jira: PHAROS-347

Resources are now possible to associate with lab instances upon creation

Change-Id: Id8abbcc448a6d840d55e4bf5130dbec22c8bc58f

6 years agoImplement Booking Modification Interface 33/50133/4
Sawyer Bergeron [Fri, 5 Jan 2018 21:07:13 +0000 (16:07 -0500)]
Implement Booking Modification Interface

Jira: PHAROS-330

Users can change start date if it has not already occurred, and
can change end date, purpose, and both installer and scenario.
Standard checks apply similar to when initially creating a booking.

Change-Id: Ibae7fe91a58bd6e0741db065265c05c3823bdc27
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Create Lab Model"
Jack Morgan [Tue, 9 Jan 2018 18:47:24 +0000 (18:47 +0000)]
Merge "Create Lab Model"

6 years agoFixes for Recent Merge 03/50303/2
Sawyer Bergeron [Tue, 9 Jan 2018 15:12:20 +0000 (10:12 -0500)]
Fixes for Recent Merge

Jira: None

In a recent large merge, some code was lost in translation.
This commit fixes a missing line in requirements.txt and
removes a couple lines in dispatchers.py that lost relevance.

Change-Id: I5ddf67fc1da6df40f84d60668cd59e6a1975912d
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoCreate Lab Model 05/50305/2
Sawyer Bergeron [Tue, 9 Jan 2018 15:38:23 +0000 (10:38 -0500)]
Create Lab Model

Jira: PHAROS-346

Allows admin to instantiate lab instances

Change-Id: I67f8ceb3bc76d4cdd09fb6f3a0b715af312f6f83
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoMerge "Adds missing Password workflow metadata"
Jack Morgan [Tue, 9 Jan 2018 00:13:33 +0000 (00:13 +0000)]
Merge "Adds missing Password workflow metadata"

6 years agoMerge "Skeleton for Apex Support"
Jack Morgan [Tue, 9 Jan 2018 00:13:27 +0000 (00:13 +0000)]
Merge "Skeleton for Apex Support"

6 years agoMerge "Experimental Compass Support"
Jack Morgan [Tue, 9 Jan 2018 00:13:19 +0000 (00:13 +0000)]
Merge "Experimental Compass Support"

6 years agoMerge "Experimental JOID Support"
Jack Morgan [Tue, 9 Jan 2018 00:13:15 +0000 (00:13 +0000)]
Merge "Experimental JOID Support"

6 years agoMerge "Experimental Fuel Support"
Jack Morgan [Tue, 9 Jan 2018 00:13:13 +0000 (00:13 +0000)]
Merge "Experimental Fuel Support"

6 years agoMerge "Allows for manual addition of bookings"
Jack Morgan [Tue, 9 Jan 2018 00:13:08 +0000 (00:13 +0000)]
Merge "Allows for manual addition of bookings"

6 years agoMerge "Adds update workflow"
Jack Morgan [Tue, 9 Jan 2018 00:12:59 +0000 (00:12 +0000)]
Merge "Adds update workflow"

6 years agoMerge "Adds workflows to deploy and clean hosts"
Jack Morgan [Tue, 9 Jan 2018 00:12:54 +0000 (00:12 +0000)]
Merge "Adds workflows to deploy and clean hosts"

6 years agoMerge "Adds Credential Manipulation"
Jack Morgan [Tue, 9 Jan 2018 00:12:49 +0000 (00:12 +0000)]
Merge "Adds Credential Manipulation"

6 years agoMerge "Adds ability to capture and image hosts"
Jack Morgan [Tue, 9 Jan 2018 00:12:40 +0000 (00:12 +0000)]
Merge "Adds ability to capture and image hosts"

6 years agoMerge "Added sensor and rules"
Jack Morgan [Tue, 9 Jan 2018 00:12:35 +0000 (00:12 +0000)]
Merge "Added sensor and rules"

6 years agoMerge "Initial Commit for new LaaS Software"
Jack Morgan [Tue, 9 Jan 2018 00:12:25 +0000 (00:12 +0000)]
Merge "Initial Commit for new LaaS Software"

6 years agoMerge "Add .gitignore and .gitreview"
Jack Morgan [Mon, 8 Jan 2018 23:59:01 +0000 (23:59 +0000)]
Merge "Add .gitignore and .gitreview"

6 years agoMerge "Implement Notification Framework with Initial Email Support"
Jack Morgan [Mon, 8 Jan 2018 23:56:29 +0000 (23:56 +0000)]
Merge "Implement Notification Framework with Initial Email Support"

6 years agoMerge "Add Dashboard OS Selection Menu on Booking"
Jack Morgan [Mon, 8 Jan 2018 23:56:21 +0000 (23:56 +0000)]
Merge "Add Dashboard OS Selection Menu on Booking"

6 years agoImplement Notification Framework with Initial Email Support 03/49103/3
Sawyer Bergeron [Fri, 15 Dec 2017 19:35:40 +0000 (14:35 -0500)]
Implement Notification Framework with Initial Email Support

JIRA: None

Notification/notifier objects are now created with title,
content, sender, associated resource, and recipient and there is
now support for emails at the very least to be sent as notifications.

Change-Id: I456cf0e901d9a1e2a1e7d187dcc03d28fca003fb
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
6 years agoAdd .gitignore and .gitreview 23/49423/1
Fatih Degirmenci [Wed, 20 Dec 2017 22:40:56 +0000 (23:40 +0100)]
Add .gitignore and .gitreview

Change-Id: Ia4a79ed3e0712b22cb1cb57d9dc718bec6eb2020
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
6 years agoAdds missing Password workflow metadata 05/49405/1
Parker Berberian [Wed, 20 Dec 2017 18:46:10 +0000 (13:46 -0500)]
Adds missing Password workflow metadata

JIRA: None

Adds missing password workflow metadata.
Previous commit missed the password_workflow.yaml file that
describes the password workflow

Change-Id: I8e9b8efda9ec7c4565680e6a7edcae7bb883ae60
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoSkeleton for Apex Support 03/49403/1
Parker Berberian [Wed, 20 Dec 2017 18:44:02 +0000 (13:44 -0500)]
Skeleton for Apex Support

JIRA: None

Plumbing for the automatic installation of Apex.
Doesn't actually do anything yet.

Change-Id: I5c83fdd89d0b8a0a70b2f513b20a649de030a575
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoExperimental Compass Support 01/49401/1
Parker Berberian [Wed, 20 Dec 2017 18:41:41 +0000 (13:41 -0500)]
Experimental Compass Support

JIRA: None

Very basic compass support.
Just runs the compass ./quickstart.sh script

Change-Id: I8ddb1aab83ae20c1eae997b6e5cd637ec4dcfed1
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoExperimental JOID Support 99/49399/1
Parker Berberian [Wed, 20 Dec 2017 18:37:25 +0000 (13:37 -0500)]
Experimental JOID Support

JIRA: None

Adds experimental support for automatically installing joid.
Only works with virtual deployments currently.

Change-Id: I4536c694c0008f9a5537a89b00871bc6a05301db
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoExperimental Fuel Support 97/49397/1
Parker Berberian [Wed, 20 Dec 2017 18:34:13 +0000 (13:34 -0500)]
Experimental Fuel Support

JIRA: None

Adds a workflow and actions that (tries to) install fuel.
Currently only works with virtual deployments.

Change-Id: Iac18fbd5df6ed262e623feb627ac58ec43f0a66d
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAllows for manual addition of bookings 95/49395/1
Parker Berberian [Wed, 20 Dec 2017 18:30:31 +0000 (13:30 -0500)]
Allows for manual addition of bookings

JIRA: None

The added action takes a booking id from the dashboard and manually adds it
to the list of bookings it tracks. This allows us to have a much easier transition
to using a fully automated system after manually tracking all bookings.

Change-Id: I83ebe2a4aabad2ce7d59b3d80659fc6438fda7f4
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds update workflow 93/49393/1
Parker Berberian [Wed, 20 Dec 2017 18:26:23 +0000 (13:26 -0500)]
Adds update workflow

JIRA: None

Adds a workflow and code that installs the chosen operating system on
a free host, updates it, and captures the new disk image.
This ensures that when we provision a new host, it is relatively up to date.

Change-Id: I553e4c8c1715add47ebfe7d853f884f242813ab2
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds workflows to deploy and clean hosts 89/49389/1
Parker Berberian [Wed, 20 Dec 2017 18:21:16 +0000 (13:21 -0500)]
Adds workflows to deploy and clean hosts

JIRA: PHAROS-322
JIRA: PHAROS-333

Adds the workflows that deploy a host on the start of a booking
and cleans the host at the end of the booking automatically.

Change-Id: Ice1477df5caf12386402528c4e59637bf0f46670
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds Credential Manipulation 87/49387/1
Parker Berberian [Wed, 20 Dec 2017 18:13:34 +0000 (13:13 -0500)]
Adds Credential Manipulation

JIRA: PHAROS-327

Adds password_workflow, which sets a random password on the given host
and stores it encrypted in the datastore.

Also provides the actions to create and delete vpn users. Access information
is stored encrypted in the datastore.

Once the dashboard has email capabilities, we can automatically send out this info
and not have to store it. At the moment though, we have no other way to automatically
generate it and still be able to (manually) pass that info to the developer who books the pod.

Change-Id: I3e4fcfef748f20878bd7603f8ed1a0c7557c0763
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdds ability to capture and image hosts 85/49385/1
Parker Berberian [Wed, 20 Dec 2017 18:04:12 +0000 (13:04 -0500)]
Adds ability to capture and image hosts

JIRA: PHAROS-322

Adds the action metadata files, action code, and workflow definitions
that allows us to image a selected host with any disk image or operating system.

For example, to install ubuntu on host "pod4", run

st2 run pharoslaas.fog_imageWorkflow host=pod4 os=ubuntu

Change-Id: I9cb0bf031f19313b3b9ad6c5e3ed11dff4ea2039
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoAdded sensor and rules 81/49381/1
Parker Berberian [Wed, 20 Dec 2017 17:55:28 +0000 (12:55 -0500)]
Added sensor and rules

JIRA: PHAROS-318

Adds pharos.py which talks with the pharos dashboard to detect when bookings
are created and stores the needed information in the stackstorm datastore.
By default, the sensor will poll the dashboard every 30 seconds to check for changes.

The dashboard sensor will dispatch the triggers defined in dashboard_listener.yaml.

The rules in rules/* links the triggers thrown by the api sensor to workflows which will
do the work of deploying / cleaning the hosts.

Change-Id: I7411a16ebbb48739a8f1f5b924dea6493c400071
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoInitial Commit for new LaaS Software 79/49379/1
Parker Berberian [Wed, 20 Dec 2017 17:48:17 +0000 (12:48 -0500)]
Initial Commit for new LaaS Software

JIRA: PHAROS-318

The old code I had in here was super beta and no good. I reworked the code
to use Stackstorm instead of trying to roll my own automation services.
This commit adds a README, install scripts, and the skeleton of a stackstorm
pack

Change-Id: Ia1c0c29e23316ad0e635c9c181c9a68fdacee664
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
6 years agoMerge "Add Boolean Option for Dev Pod in API"
Jack Morgan [Thu, 14 Dec 2017 01:20:51 +0000 (01:20 +0000)]
Merge "Add Boolean Option for Dev Pod in API"

6 years agoMerge "Fix Gitignore for Oauth Keys"
Jack Morgan [Thu, 14 Dec 2017 01:19:21 +0000 (01:19 +0000)]
Merge "Fix Gitignore for Oauth Keys"

6 years agoMerge "Integrate Initial Email Support"
Jack Morgan [Thu, 14 Dec 2017 01:18:58 +0000 (01:18 +0000)]
Merge "Integrate Initial Email Support"