Commit graph

212 commits

Author SHA1 Message Date
Devin Matte
62490d6858 Fixing black and pylint 2022-05-28 14:28:26 -04:00
Tyler Holewinski
2647aa8474
update jquery CDN 2022-04-13 19:56:06 -04:00
Will Nilges
8e5f173a94
Merge pull request #111 from harmonherring/boot-order
Boot order handling
2021-11-11 19:25:21 -05:00
Will Nilges
e3783a4919 Move schema to homedir, add more docs
Update configs
2021-10-21 00:14:11 -04:00
Will Nilges
33a8cdb523 Expand options to not use starrs. 2021-10-21 00:14:11 -04:00
Will Nilges
c641ba1d1c Update Postgres container w/ required starrs pkgs
Streamline creation of database

The user no longer has to configure the database by themself.
2021-10-21 00:14:04 -04:00
Will Nilges
74a0990997 Fix hardcoded variables, tweak schema/dockerfile
Change config.local.py to config_local.py

Fix 2AM Willard Moments™

Made a few errors last night that should be corrected.
2021-10-21 00:13:54 -04:00
Harmon Herring
9ae763e6ea Remove disabled boot devices from boot order display
Disabled boot devices will no longer show up in the boot order
display on the vm details page in the resources section.
2021-06-18 00:45:40 -04:00
Harmon Herring
b9860a10ff Update UI boot order selection element
Update the UI boot order selection element. It has been modified to
support the new 'order=' format for the Proxmox boot order option
in a more intuitive way for the user. The new element allows users
to enable any bootable device and choose the order for these
devices to boot in.

The new UI element is a table with four columns. The first column
indicates the order of the corresponding device. The second column
indicates whether the device is enabled as bootable. The third
column contains the device name. The fourth column contains the
device description. The order of the columns is changed by
dragging, enabled by SortableJS.

In cases of legacy nodes, the older dropdown boxes are used.
2021-06-18 00:09:22 -04:00
Harmon Herring
fae4e9f059 Clean VM boot order code 2021-06-10 18:06:10 -04:00
Harmon Herring
085f5c09d8 Update format of VM boot order JSON
Change format of the VM boot order JSON. This new format allows
the UI to mimic the Proxmox boot order selection system.

The new format is as follows
{
  'legacy': False,
  'order': [
    {
      'device': 'virtio0',
      'description': 'local-lvm:vm-102-disk-0,size=8G',
      'enabled': True
    },
    ...
  ]
}
2021-06-10 17:05:37 -04:00
Harmon Herring
6da1095d1c Propose new boot order to users
Propose new boot order to owners of VMs that exist on nodes
running Proxmox version 6.3 or greater.

Instead of returning the legacy boot order to the UI, a new boot
order is created and sent instead. The new order mimics the old
order, but is compliant with the new format. The new order will
take effect only if the user explicitly updates.
2021-05-27 19:21:06 -04:00
Harmon Herring
27a6b2136e Create method to get a vm's cd-roms
Create a method to get the drives attached to a vm that have
media type cdrom.
2021-05-27 15:02:25 -04:00
Harmon Herring
2f0b113b05 Revert "Override boot order defaults on vm creation"
This reverts commit d44698a959.
2021-05-22 16:52:40 -04:00
Harmon Herring
c16c383b36 Update boot device order parsing
Update boot order parsing so as to be compatible with the new
Proxmox syntax for virtual machine boot device ordering.

Maintain support for the deprecated boot device order syntax. Virtual
machines using the deprecated syntax are not updated to use the new
syntax.
2021-05-22 03:47:45 -04:00
Harmon Herring
488caa323e Update bootstrap js cdn link
Update the link to the bootstrap js cdn. As a result, the navbar
no longer fails to dropdown.
2021-05-18 17:55:22 -04:00
Max Meinhold
d44698a959
Override boot order defaults on vm creation 2020-12-31 18:44:44 -05:00
Max Meinhold
b02c6bfbc9
Fix config.local.py in tasks
Follow up from b95e4468 in tasks.py
2020-12-31 18:44:06 -05:00
Max Meinhold
778a5c3f8e
Rename get_boot_order -> set_boot_order
s/get/set, since it sets the boot order
2020-12-31 18:37:13 -05:00
Max Meinhold
38e8e71cd6
Create basic __repr__ for all classes for debug
Help to make sentry traces more readable by simply printing out each
class's __dict__.
2020-12-28 14:55:40 -05:00
Devin Matte
2876971795 Adding datadog RUM to Proxstar 2020-12-25 18:05:18 -05:00
Devin Matte
ecd4127972
Revert "Upgrading to pyoidc 3.7.0" (#78) 2020-12-22 17:37:51 -05:00
Devin Matte
dac0dd2a29 Upgrading to pyoidc 3.7.0 2020-12-22 12:18:06 -05:00
Devin Matte
9caaf2bae0
Revert "Simple ldap cache" 2020-12-22 00:16:33 -05:00
Devin Matte
724c6e0f58 Smaller cache 2020-12-21 17:32:32 -05:00
Devin Matte
e1c64cb322 Using single ldap connection 2020-12-21 17:25:24 -05:00
Devin Matte
d4e42555f2 Slightly smaller cache for active 2020-12-21 17:14:48 -05:00
Devin Matte
53faa084c2 Adding some basic ldap cache 2020-12-21 17:14:11 -05:00
Devin Matte
8e263e8604 Adding ci 2020-12-21 15:26:01 -05:00
Devin Matte
0d95333bab Running black on code 2020-12-21 15:24:51 -05:00
Devin Matte
7a312f1f79 Adding requirements, deleting travis, updating pylint 2020-12-21 15:24:29 -05:00
Devin Matte
2500567ee5 Upping default timeout to 360 from 180 2020-12-21 14:25:53 -05:00
Devin Matte
c0f587926d Updating rq and redis 2020-12-21 11:58:48 -05:00
Devin Matte
50404266f4 Fixing health route with jsonify 2020-12-09 13:05:31 -05:00
Devin Matte
094f33d618 Fixing quotes 2020-12-08 10:03:28 -05:00
Devin Matte
4bfac574db Adding health route 2020-12-08 10:00:36 -05:00
Max Meinhold
61836279d7
Merge pull request #44 from ComputerScienceHouse/owner-comment
Add "Owned by <user>" as starrs comment
2020-10-16 15:29:17 -04:00
Max Meinhold
d6eaeaf33e
Configure sentry environments 2020-10-11 13:45:07 -04:00
Max Meinhold
b95e446857
Use config.py for rqsettings
Move `config.local.py` to `config_local.py`, since `.` is invalid in
filenames for imports
2020-10-11 13:45:07 -04:00
Max Meinhold
c80b240497
Add sentry rq integration 2020-10-11 13:34:29 -04:00
Max Meinhold
746c50123d
Merge updates from master 2020-10-11 13:33:43 -04:00
Max Meinhold
fa88975a27
Add "Owned by <user>" as starrs comment
It'd be nice to have more information about who's responsible for an address in starrs without having to switch to proxstar and look it up. This adds that in the "comment" column when creating a system, so that future systems will include this data.
2020-09-20 14:18:40 -04:00
Max Meinhold
f7bd448611
Set default creation pool to current user
RTPs get to create vms in any pool, and the default in the user creation list is not the current user, but the first pool returned (in practice, alphabetically). Setting 'selected' on the option should remove this small inconvenience.
2020-09-18 10:55:45 -04:00
Galen Guyer
865200cbec
Increase timeout and fix infinite loop if starrs delete fails 2020-01-15 22:24:31 -05:00
Galen Guyer
dba7d0341c
Increase template delay and don't fail deleting VM if starrs doesn't have a record 2020-01-15 20:23:34 -05:00
Galen Guyer
a017962f40
Remove raven references from python code 2019-11-03 21:49:05 -05:00
Galen Guyer
3a4dbc7c31
Add sentry with integrations 2019-11-03 21:07:14 -05:00
Galen Guyer
69bad2dac4
Add pylint_quotes and fix all issues 2019-11-01 17:35:51 -04:00
Galen Guyer
0771e1343a
Fix all incorrect imports 2019-11-01 17:03:35 -04:00
Galen Guyer
c6b6b8e38c
Move url_for import to Flask where it should be 2019-11-01 16:39:12 -04:00
Galen Guyer
5fe69b782e
Fix missing import Base 2019-11-01 16:26:53 -04:00
Galen G
8ee1e7b9cd
Change return on abort for clarity 2019-11-01 13:26:17 -04:00
Galen Guyer
e72c83aafc
Fix all pylint issues 2019-11-01 13:25:48 -04:00
Jordan Rodgers
783e13b9cd we can use the http api now, stop using ssh 2019-04-08 23:18:20 -04:00
Jordan Rodgers
d9b4af0c96 fix auth, update rq dashboard 2019-02-26 00:07:14 -05:00
Jordan Rodgers
b3f3670e6f delete starrs first 2019-02-23 13:20:28 -05:00
Jordan Rodgers
01312a8452 more 2019-02-20 00:59:42 -05:00
Jordan Rodgers
6a896c6dad another log 2019-02-20 00:55:24 -05:00
Jordan Rodgers
e5049a683e log 2019-02-20 00:52:21 -05:00
Jordan Rodgers
d19522cab5 more fixes! 2019-02-19 23:36:43 -05:00
Jordan Rodgers
daa994ba32 fix expire bug, cleanup tasks 2019-02-19 22:46:53 -05:00
Jordan Rodgers
12b0f37da5 fix system name, improve config/info, require auth to load 2019-02-16 19:53:45 -05:00
Jordan Rodgers
77743af16d timeouts multiply 2019-01-27 22:31:23 -05:00
Jordan Rodgers
1acb84016d fix template provisioning by verifying VM is provisioned before doing anything else 2019-01-27 21:43:51 -05:00
AJ Nagashima
35c7e95dc9 Add Date field to notification email 2018-11-14 20:25:37 -05:00
Jordan Rodgers
de4e4644a0 only check ssh key when using template 2018-10-20 17:13:02 -04:00
Jordan Rodgers
431d2279fe stop running VMs before deleting 2018-09-28 22:38:09 -04:00
Jordan Rodgers
2693f6f138 add SSH key check 2018-09-26 23:07:17 -04:00
Jordan Rodgers
8bf49a664a add retries everywhere cuz proxmox sucks, use json for iso list (for marc <3) 2018-09-26 22:40:34 -04:00
Jordan Rodgers
820a1c999e set version pyoidc, clean up js, fix alumni rtp stuff 2018-09-17 21:34:13 -04:00
Jordan Rodgers
d0995365dd only send 1 email for rtp expiration notices 2018-09-05 22:11:07 -04:00
Jordan Rodgers
a20fd1d873 revert escaping vnc and descriptions since ssh backend is only for cloud-init 2018-05-09 00:26:53 -04:00
Jordan Rodgers
939cce0d6a update error page for non current students 2018-05-08 23:35:32 -04:00
Jordan Rodgers
f4a2174f29 only use proxmox ssh backend for cloud-init 2018-05-07 13:31:48 -04:00
Jordan Rodgers
04d588d688 escape description and vnc command 2018-05-07 01:36:03 -04:00
Jordan Rodgers
a3f15134f2 use cloud-init for templates, add ssh key for cloud-init, delete expire before vm creation 2018-05-07 01:09:36 -04:00
Jordan Rodgers
dd876a8b2c tear down SSH tunnel every time console button is clicked and on suspend, yapf a few things 2018-04-26 02:59:09 -04:00
Jordan Rodgers
513e4bc1c3 fix user/pool deletion 2018-04-23 00:56:20 -04:00
Jordan Rodgers
be432989b5 Merge branch 'master' of github.com:com6056/proxstar 2018-04-16 15:14:49 -04:00
Jordan Rodgers
d9658aaf07 enable vm deletions, wait 7 days before deleting, fix emails, add rtp deletion email 2018-04-16 15:14:36 -04:00
Michael Francis
226af9d7ad
Remove duplicate </body> tag 2018-04-11 13:04:42 -04:00
Max
5683f7cd3c
Integrates Themeswitcher 2018-04-09 22:29:19 -04:00
Jordan Rodgers
8808389b46 send vnc teardown commands to proxstar-vnc 2018-04-04 15:30:19 -04:00
Jordan Rodgers
03baef5be0 teardown ssh/vnc stuff after shutdown and reset requests 2018-04-02 13:47:57 -04:00
Jordan Rodgers
3f03d9ab69 remove SSH tunnel and VNC stuff for deleted VMs 2018-03-26 23:32:01 -04:00
Jordan Rodgers
e608c0dc10 properly validate hostname properly (hopefully for the last time) 2018-03-21 22:20:41 -04:00
Jordan Rodgers
7db17ab91d upgrade to bootstrap 4 2018-03-21 14:58:01 -04:00
Jordan Rodgers
7b38f00a69 fix ordering of boot order when reading request data 2018-03-19 15:19:34 -04:00
Jordan Rodgers
32f7c1eb01 add the logging back because it broke again 2018-03-19 15:09:49 -04:00
Jordan Rodgers
1f21d0a175 remove logging because it works now wtf 2018-03-19 14:33:50 -04:00
Jordan Rodgers
f189b00932 add logging to debug boot order issue on openshift 2018-03-19 14:28:04 -04:00
Jordan Rodgers
64b8d3983e add ability to change boot order, a lot more cleanup from conversion to classes 2018-03-18 22:18:20 -04:00
Jordan Rodgers
cefe605bb9 instead of getting all pools, try to get the pool and then create it on failure 2018-03-08 01:14:43 -05:00
Jordan Rodgers
88ef6daa8a check if job before verifying args 2018-03-08 01:02:53 -05:00
Jordan Rodgers
1e27f863c9 account for both paused and suspended vm states because proxmox is dumb 2018-03-07 02:24:58 -05:00
Jordan Rodgers
df100a25b8 add proper 404 and 403 pages 2018-03-07 01:49:42 -05:00
Jordan Rodgers
2317fddeac convert all names to lowercase 2018-03-07 01:20:02 -05:00
Jordan Rodgers
635e4c0f9f add rq dashboard for RTPs 2018-03-06 20:49:49 -05:00
Jordan Rodgers
786fd8ee2d add ability to view pending vm status on vm list page 2018-03-06 16:28:17 -05:00
Jordan Rodgers
3cc8268b9d change vm status paused to suspended 2018-03-04 18:02:29 -05:00