Open newgate1999 opened 3 years ago
Hi,
First off, a disclaimer that we put this project's code on github with a license but don't support or develop it outside of DCE's needs.
The settings in the example .env
file have some comments explaining a bit about their use/purpose.
I'm not sure what you mean by deploying the project to your server. Did you try running invoke stack.create
?
I'm try to running invoke stack.create. But it looks like the stacks have not been created and response emply array
The error you posted:
File "/home/newgate/Documents/aws/zoom-recording-ingester/cdk/helpers.py", line 31, in vpc_components
vpc_id = jmespath.search(
IndexError: list index out of range
Subprocess exited with error 1
Shows that you are missing a VPC for your Opencast cluster. This isn't mentioned in prerequisites but the application does expect that the Opencast cluster has a VPC setup.
@newgate1999 Were you able to get it to work?
I tried but it doesn't work. Can you shoot a video setup and deploy code for me to refer ? Thank you so much.
This is my config. can you check it for me ?
# should only be necessary if you have multiple credential profiles
AWS_PROFILE=phamtuananh
# tags that will be assigned to the cfn stack and all resources under it
# space-separated key/value pairs, like so:
# Key=key1,Value=value1 Key=key2,Value=value2
STACK_TAGS=Key=project,Value=MH Key=department,Value=DE
# name of the cfn stack; also used to prefix many resource names (required)
STACK_NAME=zoom-upload
# s3 bucket to store packaged lambda code
LAMBDA_CODE_BUCKET=schoolonair-bbb
# where cloudwatch alarm notifications will get sent
NOTIFICATION_EMAIL=tuananh301099@gmail.com
# Email address associated with a Zoom administrative level account
# This is used to get a token to authenticate downloads
ZOOM_ADMIN_EMAIL=share.schoolonair2022@gmail.com
ZOOM_API_BASE_URL=
# Either a zoom api key/secret or an apigee key. If both are present then
# apigee will be prefered.
ZOOM_API_KEY=*****************
ZOOM_API_SECRET=************************
APIGEE_KEY=
# URL and API auth for the target opencast cluster
OC_CLUSTER_NAME=test-s3
OPENCAST_API_USER=admin
OPENCAST_API_PASSWORD=opencast
# id of series to receive ingests in the absence of a zoom meeting -> series mapping
# this is meant for testing/dev only. If you set this to a valid Opencast series id
# then any recording that doesn't match something in the class schedule data will
# be ingested into that default series id.
DEFAULT_SERIES_ID=
# Opencast 5.x:
# publisher = producer username or email
# no contributor
# When the publisher of a series cannot be determined via an
# /otherpubs/epidodedefault lookup, the Opencast workflow notifications will go
# to this address. If this is left empty the notifications will go to the
# NOTIFICATION_EMAIL address.
DEFAULT_PUBLISHER=admin
# These settings will override the Opencast lookup of publisher and contributor
# for a series.
OVERRIDE_PUBLISHER=admin
OVERRIDE_CONTRIBUTOR=admin
# 5x clusters: "dce-int-production-zoom" / "multipart/chunked+source"
OC_WORKFLOW=dce-int-production-zoom
OC_FLAVOR=multipart/chunked+source
# controls how many download queue messages will be processed (not ingested!) per
# invocation of the downloader function
DOWNLOAD_MESSAGES_PER_INVOCATION=10
# controls how far in minutes the schedule matching will allow for start/end times
BUFFER_MINUTES=30
# videos shorter than this many minutes will be ignored
MINIMUM_DURATION=2
# Python pytz timezone
LOCAL_TIME_ZONE=US/Eastern
LOG_NOTIFICATIONS_FILTER_LOG_LEVEL=ERROR
# Password for the opencast mysql root user
# You can get this from the cluster config of the cluster being ingested to
# The invoke tasks will find the actual RDS endpoint via an aws lookup
OC_DB_PASSWORD=opencast
# the uploader will query opencast for the number of currently running track uploads
# if it is greater than this number the uploader will abort (leaving the upload in the queue)
OC_TRACK_UPLOAD_MAX=5
# These (comma-separated) IPs will be included in the APIs resource policy
# Only requests coming from these IPs will be allowed to exec the on-demand ingest endpoint
# Assuming the Opsworks cluster is up-to-date, these should be the same ips listed
# in the cluster config's "vpn_ips" list.
INGEST_ALLOWED_IPS=
# Google sheets
# The document id
GSHEETS_DOC_ID =
# The name of the actual tab to download as a csv
GSHEETS_SHEET_NAME=
It looks like you might be missing the ZOOM_API_BASE_URL=
value, the gsheets values, and the ingest allowed ips?
I don't currently have time to record a tutorial video, but I'm happy to help point you in the right direction if you can show me a specific error.
Thanks nataliemona. I am having an error in the opencast server cluster. I don't know how to install and pass opencast related parameters to .env file. OC_CLUSTER_NAME=?, OC_WORKFLOW = ?, OC_FLAVOR = ?. My cluster name does not exist. It looks like besides installing opencast I have to install project https://github.com/harvard-dce/mh-opsworks ,right?
It might make more sense for you to fork the project and then adapt it to work with whatever Opencast setup you have.
I am getting error as below and I have private subnet in which opencast has created. jsii.errors.JSIIError: Not possible to place Lambda Functions in a Public subnet Subprocess exited with error 1
function def vpc_components(): trying to consider only VPC ID and Security Group. Where is mentioned to provided subnet group id?
Dear all, I'm try to deploy project to my server but it's not working. The log server:
uploading schedule-update to s3://schoolonair-bbb/zoom-upload/schedule-update.zip est: Stacks[?Name=='zoom-upload'].VpcId stacks: {'Stacks': [], 'ResponseMetadata': {'RequestId': 'dedb0838-7e31-4e33-bd28-49fb15d4966d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'content-type': 'application/x-amz-json-1.1', 'date': 'Thu, 04 Mar 2021 12:59:35 GMT', 'x-amzn-requestid': 'dedb0838-7e31-4e33-bd28-49fb15d4966d', 'content-length': '13', 'connection': 'keep-alive'}, 'RetryAttempts': 0}} Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/newgate/Documents/aws/zoom-recording-ingester/cdk/app.py", line 28, in
oc_vpc_id, oc_security_group_id = vpc_components()
File "/home/newgate/Documents/aws/zoom-recording-ingester/cdk/helpers.py", line 31, in vpc_components
vpc_id = jmespath.search(
IndexError: list index out of range
Subprocess exited with error 1
In readme file no detailed instructions on config file env. If possible, can't you give me a video tutorial or more detailed config steps ?
Regard,