[cs615asa] group project

Jan Schaumann jschauma at stevens.edu
Tue May 18 15:06:00 EDT 2021


Hello,

I'm going to be sending out individual grades for the
group project momentarily.  These are based on my
observation of your collaboration and contributions,
the git commit logs, as well as your own feedback to
me regarding your contributions.

Overall, the completed project does work and performs
a backup as required and the code is readable and
consistent.

The installation following the README works, but it
looks like a pyyaml dependency was missed, leading to
the command not working correctly until that is
manually rectified.

The manual page was provided to you in roff format, so
you should have installed; the version you installed
is not properly formatted.

The parsing of EBS_BACKUP_FLAGS_AWS is somewhat
broken:  if I specify e.g.,
EBS_BACKUP_FLAGS_AWS="--subnet-id subnet-07c97d3437a5afc8d --security-group-ids sg-0f53f885723cfccf1"
then your tool fails because at some point after
processing, since the python tools want the
'security-group-ids' parameter to be a list.

Overall the flags parsing strikes me as overly
complicated.

There were a few other errors I encountered that lead
to type errors, such as:


Instance spinning up...
Volume status: attaching
Target status: attached(1/18)
Volume status: attached
Instance i-00ddd4e32cbc7e5f1 Status:initializing
(17/18):  94%|███▊| 17/18
[02:51<00:10, 10.09s/it]
Max tries reached.  Moving on...
'NoneType' object has no attribute 'reload'
Traceback (most recent call last):
  File
"/Users/jans/Dropbox/laptop/teach/cs615asa/ebs-backup/src/main.py",
line 213, in backup
    pipe_backup(args, ec2.get_dns())
  File
"/Users/jans/Dropbox/laptop/teach/cs615asa/ebs-backup/src/ec2.py",
line 298, in get_dns
    self.instance.reload()
AttributeError: 'NoneType' object has no attribute
'reload'


Such exceptions should be caught and handled
appropriately; having a python backtrace displayed to
the user is often not in their interest.

The tests are pretty incomplete.  The volume test
includes hardcoded instance IDs, which can't work as
instance IDs are account specific.

We're missing packaging for this tool as well.

All in all, I don't think the group project worked out
as well as I had wished, but I still hope that you
gained some experience in collaborating on a project
and perhaps picked up a little bit of
git-without-github, too.

-Jan


More information about the cs615asa mailing list