Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|