Arch Lunch: 2019-06-27

Devstack

  • onboarding
    • following the wrong instructions
      • on wrong link somehow
    • didn't understand what the pip env was doing
  • maintaining
    • end up in a broken state and not knowing how to get out of it
      • make destroy as resort → then takes an entire day to recover
      • even by experienced developers
  • doesn't match Prod
    • for example, to test Timed Exams - how can I test it locally?
  • edx-platform Tests leave too much junk behind
  • As a FED developer, knowing how the backend data is structured would be helpful
    - knowing API model
  • Micro FED developers still need devstack

"How might we simplify devstack?"

"How might we make microservices and micro-frontends be independent of devstack?"

"How might we make our microservices and micro-frontends not be contaminated by monolithic mindset and practices?"

"How might we selectively run individual microservices on . devstack?"

"How might we make devstack self-monitoring ("Can't ping ecommerce, try restarting it")?  Observable ("You are running the newest master for all services except ecommerce, which is running robrap/awesome-branch")?  Self-updating?"

e-commerce service

  • Testing
    • time waiting on Travis
    • finding what the failures were
    • unit tests don't run on devstack successfully
      • sometimes use pytest versus manage.py
  • Oscar
    • Handling of discounts/coupons is wonky - Oscar and our usage
    • People are afraid of ecommerce
    • Oscar not the right tech choice - probably more for manufactured goods - not for web
  • Data model is complicated
  • Making many service calls to the Enterprise API in LMS - improve reliability of the APIs
  • Wanted to add UserFactory
    • Discovering code-trail by chasing inconsistent imports
    • Hard to estimate since code is more convoluted

course-discovery

  • Tests take 45mns on Travis

edx-enterprise

  • Install in edx-platform - weird dependency between them
    • Lack of commitment on whether separate IDA or installed library
    • Dependent on edx-platform releases

edx-platform

  • Releases slow and fragile
  • Deployment cycle takes a while
    • end-to-end
    • tests, etc

Multi-Site

  • Half-in only
  • LMS just uses filters to show which courses to display
  • Discovery different
  • Results in more bugs on WL
  • After current WL sites go away, unclear of future

Ansible

  • Sudo instead of Root - spending too much time

Paver

FED

  • Redux - need established patterns of when NOT to use it
  • Paragon - not org-wide - might be a buy-in problem

8th Floor Plan

  • wasted space

Gripes

  • Hard to collect and capture gripes
  • Do not always do anything about them