summaryrefslogtreecommitdiffstats
path: root/laas-fog/pharoslaas
AgeCommit message (Collapse)AuthorFilesLines
2017-12-20Adds missing Password workflow metadataParker Berberian1-0/+26
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>
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 Berberian5-0/+111
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>