summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-12-20Skeleton for Apex SupportParker Berberian4-0/+77
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>
2017-12-20Experimental Compass SupportParker Berberian4-0/+77
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>
2017-12-20Experimental JOID SupportParker Berberian4-0/+133
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>
2017-12-20Experimental Fuel SupportParker Berberian6-0/+148
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>
2017-12-20Allows for manual addition of bookingsParker Berberian2-0/+87
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>
2017-12-20Adds update workflowParker Berberian4-0/+105
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>
2017-12-20Adds workflows to deploy and clean hostsParker Berberian4-0/+133
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>
2017-12-20Adds Credential ManipulationParker Berberian10-0/+465
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>
2017-12-20Adds ability to capture and image hostsParker Berberian19-0/+721
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>
2017-12-20Added sensor and rulesParker Berberian4-0/+341
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>
2017-12-20Initial Commit for new LaaS SoftwareParker Berberian46-3876/+281
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>
2017-12-14Merge "Add Boolean Option for Dev Pod in API"Jack Morgan1-1/+1
2017-12-14Merge "Fix Gitignore for Oauth Keys"Jack Morgan1-4/+2
2017-12-14Merge "Integrate Initial Email Support"Jack Morgan3-1/+4
2017-12-13Add Dashboard OS Selection Menu on BookingSawyer Bergeron9-9/+56
JIRA: PHAROS-326 Implement dropdown menu on pod booking page for user to select base OS, as well as associated support in API and pod status/booking status views This patch includes the migration file mentioned by Parker Berbarian Change-Id: I46a7b0e5e7020a89bc8fa0fe53c10bbda14a2e2d Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
2017-12-12Add Boolean Option for Dev Pod in APISawyer Bergeron1-1/+1
Change-Id: I4f0a0fc0ac5d81ae9454e6cece060032f9b806f7 JIRA: None
2017-12-07Integrate Initial Email SupportSawyer Bergeron3-1/+4
JIRA: None Integrate ability for users to change email presented to admins with field initially filled with user's Jira associated email address This amend takes into account a streamlining change suggested by Parker Berbarian Change-Id: I677ce669f200e5cad70c198737118f0b7925bac5 Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
2017-12-07Merge "Abstract Hard-Coded URLs to Config File"Jack Morgan3-4/+16
2017-12-01Fix Gitignore for Oauth KeysSawyer Bergeron1-4/+2
JIRA: None Gitignore file now properly ignores src/account/rsa.pem and src/account/rsa.pub Change-Id: I370a7d68cd2726540e4c7c294cc2de779f854f7a Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
2017-11-03Abstract Hard-Coded URLs to Config FileSawyer Bergeron3-4/+16
JIRA: PHAROS-317 The Jenkins URL configuration now works the same as the Jira URL configuration, with a base URL in the config.env file, with settings.py calculating the final URLs to be used in adapter.py. Change-Id: I79b4784ab39afdb789a24e4c0f1e8a3ae3566421 Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
2017-10-09Add 'staticfiles' Template Tag to Base TemplateTrevor Bramwell1-0/+1
Without this tag the dashboard HTML will fail to render because it doesn't have a reference to the 'static' template tag. Change-Id: Id56d3b460dc848508c8ae549e7781ea876bdc52b Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
2017-10-03Serve the OPNFV Logo LocallyTrevor Bramwell2-1/+1
Because the logo is currently being pulled from an external HTTP site, the site is being listed as insecure. Adding the OPNFV logo to static content should fix the warning and keep the previous error of the logo being moved from happening. Change-Id: I13cf83aa612f5589e304699f808ff7b105611fc4 Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
2017-09-22Rename pharos-dashboard and pharos-validatorTrevor Bramwell185-0/+0
As subdirectories of the pharos-tools repo, there is little need to keep the pharos prefix. Change-Id: Ica3d79411f409df638647300036c0664183c2725 Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
2017-09-19Merge "Adds various conveniences for hosters."stable/euphratesJack Morgan4-0/+273
2017-09-19Merge "Adds Experimental support for Joid"Jack Morgan3-0/+90
2017-09-19Merge "Adds VPN Handler"Jack Morgan1-0/+235
2017-09-19Merge "Adds configuration files"Jack Morgan7-0/+226
2017-09-19Merge "Bash scripts for remote host deployment"Jack Morgan3-0/+77
2017-09-19Merge "Add Dashboard Listener"Jack Morgan2-0/+276
2017-09-19Merge "Adds SQLite DataBase"Jack Morgan2-0/+406
2017-09-19Merge "Adds Fuel Installation Capability"Jack Morgan6-0/+697
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>