refs DE-1551
flag=none
Test Plan:
* See associated inst-cli commit linked in Jira ticket
Change-Id: I277a3c38134f250d4166d06d465aa19207103716
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/346108
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
flag=none
Replaces incorrect references to `canvas-web` container with `web`.
Also replaces `docker-compose` commands with the modern `docker compose`.
Test Plan:
* Review changes for accuracy
Change-Id: I8dd31259c9b671c1838afc50411e50965f7d1363
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/347861
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes INTEROP-7841
flag = none
test plan:
- verify that the graphql-using parts of Canvas still work
- this is mainly speedgrader and account settings
Change-Id: I1e016d76a6ada46e2bc4a4df1e991f22304139ee
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/344622
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
flag=none
Test Plan:
* Review the prerequisites for accuracy, consider what might be missing for a new hire
Change-Id: I988edb70f1ee23fb4fefb21fd7a380220be1c0a6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/343425
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Change-Id: Idb405aebbf76780431f09158419ad3a3db420036
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340604
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Change-Id: Ied035f005270f3eb084be6a3497de2c569008297
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339962
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
testing to be performed on
https://gerrit.instructure.com/c/notorious/+/330646
refs: DE-1663
Change-Id: I57e275860b2941a125a4780dcefdf3dddd1dda6f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/330818
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
see 325641 for details
Change-Id: Ideb51f4b4dabff604612764bc5aad15d37af9841
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/328958
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes AE-494
[skip-stages=Flakey]
[skip-crystalball]
several things going on here. in general, many of our monkeypatches
have been implemented in upstream, but in a vastly different way, so
we need to enable/configure those things
* `servers` is no longer accepted as a backwards compatible
configuration option; use `url`
* `database` is no longer accepted as a backwards compatible
configuration option; you _can_ use `db`, but preferable to
just use `url`
* no longer merge together redis.yml and cache_store.yml; if one
references the other, simply use the config from the other
* `nil_store` is no longer accepted as a backwards compatible
configuration option; use `null_store` (almost no one should
be explicitly using this anyway, so nbd)
* automatically not-even-trying when redis has previously failed
is now handled by redis-client's circuit breaker. be sure to
configure it in redis.yml/cache_store.yml/dynamic settings
* ignoring redis failures completely is already done by
RedisCacheStore; just rely on that, except for the few cases
where we use redis directly. some of these now take advantage
of a new `failsafe` kwarg (and often in combination with
pipelining), and some just handle it directly
* move logging to a RedisClient middleware
* move Twemproxy disallowed commands to a RedisClient middleware
* simplify Canvas.lookup_cache_store to have far less special casing
(in particular, patching is done automatically now)
* add ability to use Redis::Cluster (configure with `nodes` instead
of `url`)
* still override Redis::Distributed's HashRing, so that we don't
change our ring layout with the new MD5 hashing for servers. but
we got to vastly simplify the new class, due to upstream
refactorings allowing us to simply override a single method rather
than having to re-implement the entire class
* statsd reporting of redis errors is now simply passed as a callback
to RedisCacheStore, breaking CanvasCache's dependency on InstStatsd
Change-Id: I787672677a21994d40ae304dbac0fbf3a960a779
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325641
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
refs DE-1552
flag=none
Test Plan:
* confirm the changes make sense
Change-Id: I659cb98601c64c102a1354115542e5ccc65e611f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326584
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
also: reduced need for specialized babel config
test plan:
- existing tests pass
flag=none
Change-Id: I2625830f01b2d65da0dad02e740f458dfb96863a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/323643
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
flag=none
Test Plan:
* Follow the updated instructions to run storybook with inst-cli
Change-Id: I68d4513113388f08d9739a59345a5292cddd7354
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/322791
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
closes DE-1655
flag=none
Now that inst CLI supports dozzle, let's make it easy for engineers to
view canvas development logs.
Test Plan:
* Add a dozzle container:
https://instructure.atlassian.net/wiki/spaces/CE/pages/85912256716/INST-CLI+local+docker+dev+canvas+quizzes#View-Container-Logs
* Delete /docker-compose.local.dev.yml from this repo.
* Install the latest inst cli gem:
gem install inst
* Start canvas and open the new log viewer in your browser:
inst canvas setup
open logs.inseng.test
* With logs.inseng.test open in your browser, click on the
'canvas-lms-web-dev-logs' container in the left navbar to view the
canvas development logs.
* Login to canvas or simply open the canvas login page in your browser.
* Observe the updated canvas development logs in the dozzle log viewer.
Change-Id: Id066538eda2ac9a4ed88f14a75ee1d2cb68da14a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/322405
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Adds the traefik optimized
docker-compose RCS service
definition.
Updates docs.
refs DE-1552
flag=none
test plan:
apply this patch
follow doc guide
try out RCE image upload on a course page
Change-Id: I80106126d5708e0efd86074d23a099817e5b5360
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/321606
Reviewed-by: Ferenc Marcsó <ferenc.marcso@instructure.com>
QA-Review: Ferenc Marcsó <ferenc.marcso@instructure.com>
Product-Review: Ferenc Marcsó <ferenc.marcso@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes: DE-1632
local copy of .bundle/plugin/index causes issues with
canvas docker due to the absolute paths that don't exist
in the docker containers. Add a new volume to overwrite
.bundle/plugin/index that gets copied from the local machine.
Test Plan:
-navigate to your canvas-lms directory
-run bundle install on local machine
-verify .bundle/plugin/index exists and contains aboslute
paths for your folder hierarchy
-run inst canvas setup, or inst canvas rebuild if setup previously ran
-newer version of docker-compose.local.dev.yml is copied over
-setup successfully runs bundle exec rake js:yarn_install
-bash into web container, docker compose run --rm web /bin/bash
-verify .bundle/plugin/index does not exist
-verify /home/docker/.bundle/plugin/index does exist with
absolute paths for the docker container
Change-Id: Ie48be2392cdd28bf0b0168c6c6827041d3cef9e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/321348
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Test Plan:
* Follow the new instructions to run canvas storybook and verify you
can use it in a browser.
Change-Id: I544f09242f65f51840dd38e9fb4d93e48f2c72d4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320743
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Test Plan:
* qa-cr
Change-Id: I7ef24c6113ef05a20a2939b39cd828bd0333c153
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317994
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
refs: DE-1576
Test Plan:
QA to be done on 315311 and 315312
Change-Id: If4b480f9ea8e190a8e91e5d4109c7f0b0943fce2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315313
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
add the inst-cli config files used when setting up canvas with inst-cli.
Test Plan:
QA to be done on https://gerrit.instructure.com/c/inst-cli/+/314462
Change-Id: Ice2324d994641f59b7c26332c77e403af015a1cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314463
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
create a new sub-dir docker-compose/inst-cli/ and add
the docker compose overrides needed to work with inst-cli.
Test Plan:
- with a canvas docker setup, add ":inst-cli/docker-compose/selenium.override.yml"
to your COMPOSE_FILE.
- run docker compose up -d
- selenium-hub service will start
- run any rspec test with docker
- test will run on the newly created selenium-hub service
Change-Id: I225fe59a7d2a8798762ba6f7def8c3dbbef46c56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312654
Reviewed-by: Michael Hargiss <mhargiss@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>