Skip to content

Issues during Tutorial Setup #2

Description

@ks0ng

Hi,

I am excited to learn about filibuster, as I am facing similar challenges and exploring options. However, I ran into some issues when trying to go through the following tutorials:

  1. Blog Tutorial: https://christophermeiklejohn.com/filibuster/2021/10/08/filibuster-3.html
  2. Home page Tutorial: https://filibuster.cloud/tutorial.html

For the blog tutorial, I managed to install all the dependencies and install filibuster locally and made the 3 micro services to run. They all pass the health check, but the filibuster instrumentation would fail due to bad URL.

  File "/Users/kaisong/src/filibuster-tutorial/filibuster/filibuster/instrumentation/requests/__init__.py", line 151, in instrumented_request
    response = _instrumented_requests_call(
  File "/Users/kaisong/src/filibuster-tutorial/filibuster/filibuster/instrumentation/requests/__init__.py", line 230, in _instrumented_requests_call
    response = wrapped_request(self, 'get',
...
requests.exceptions.MissingSchema: Invalid URL 'None/filibuster/new-test-execution/bar': No scheme supplied. Perhaps you meant http://None/filibuster/new-test-execution/bar?

I looked into the code, it looks like I need to have filibuster daemon running to have a valid URL. I am not able to find the according tutorials on that. If I go with this route, what's the best way to start filibuster? Do I need to spin up a docker instance and potentially set up jaeger tracing? The example makefile seems to indicate that.

For the home page tutorial, I managed to follow the steps and run make local-start successfully. However, the services don't seem to run:

(venv) $ make local-start
find . -name ".coverage*" -exec rm -v {} \;
./.coverage
./services/foo/.coverage.kaisong-C02XM4J9JGH6.30560.291567
./services/baz/.coverage.kaisong-C02XM4J9JGH6.30593.350616
./services/bar/.coverage.kaisong-C02XM4J9JGH6.30576.149539
rm -rf htmlcov
make generate-protos
Generating protocol buffer files...
if [ -d "protos/" ]; then \
		mkdir -p protos/out; \
		python3 -m grpc_tools.protoc -I./protos --python_out=protos/out --grpc_python_out=protos/out ./protos/*.proto; \
		make install-protos; \
	fi
tmux new-session -d -s application
cd services/foo; make start
tmux new-window -t application -n foo -d 'coverage run --parallel-mode -m foo.app'
cd services/bar; make start
tmux new-window -t application -n bar -d 'coverage run --parallel-mode -m bar.app'
cd services/baz; make start
tmux new-window -t application -n baz -d 'coverage run --parallel-mode -m baz.app'
(venv) $ curl http://localhost:5001/health-check
curl: (7) Failed to connect to localhost port 5001 after 8 ms: Connection refused
(venv) $ curl http://localhost:5002/health-check
curl: (7) Failed to connect to localhost port 5002 after 8 ms: Connection refused

For both tutorials, I was not able to continue with the rest of the steps after encountering the above issues. Are there any missing steps that I need to set up for all the dependencies?

Again, I am excited to learn more about filibuster and the problem it tries to solve. A quick side question, do we have any plans to expand the support for Go micro services? Also, do we plan to keep filibuster open source so that the community can contribute?

Thanks in advance!

Kai

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions