Network Reliability Engineering Community

Antidote-selfmedicate initial setup is not launching the web - getting 503 Service Temporarily Unavailable (nginx/1.11.12)

Hi Team,
Greetings !
Need your help with this initial setup - Running the initial set-up on a Mac (MacOS Mojave), I get the following error:sed: 1: “/etc/hosts”: extra characters at the end of h command
As its already reported, trying to access manually http://192.168.99.X:30001/ , getting 503 Service Temporarily Unavailable (nginx/1.11.12) .

pradga-mbp:~ pradga$ kubectl version
Client Version: version.Info{Major:“1”, Minor:“14”, GitVersion:“v1.14.1”, GitCommit:“b7394102d6ef778017f2ca4046abbaa23b88c290”, GitTreeState:“clean”, BuildDate:“2019-04-08T17:11:31Z”, GoVersion:“go1.12.1”, Compiler:“gc”, Platform:“darwin/amd64”}
Server Version: version.Info{Major:“1”, Minor:“13”, GitVersion:“v1.13.3”, GitCommit:“721bfa751924da8d1680787490c54b9179b1fed0”, GitTreeState:“clean”, BuildDate:“2019-02-01T20:00:57Z”, GoVersion:“go1.11.5”, Compiler:“gc”, Platform:“linux/amd64”}

pradga-mbp:~ pradga$ minikube version
minikube version: v0.34.1

Every time, antidote-web is not getting ready (1/2) because of Readiness probe failed: HTTP probe failed with statuscode: 404

pradga-mbp:~ pradga$ kubectl get pods
NAME READY STATUS RESTARTS AGE
antidote-web-57f98b78d4-l4rnv 1/2 Running 0 113m
nginx-ingress-controller-6f575d4f84-t5c97 1/1 Running 0 113m
syringe-6ffd7b7ccc-t2qhj 1/1 Running 0 113m

pradga-mbp:~ pradga$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
antidote-web 0/1 1 0 114m
nginx-ingress-controller 1/1 1 1 114m
syringe 1/1 1 1 114m

pradga-mbp:~ pradga$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
antidote-web ClusterIP 10.103.193.35 8080/TCP 114m
kubernetes ClusterIP 10.96.0.1 443/TCP 115m
nginx-ingress NodePort 10.97.117.34 80:30001/TCP 114m
syringe ClusterIP 10.108.235.71 50099/TCP,8086/TCP 114m

pradga-mbp:~ pradga$ kubectl get events
LAST SEEN TYPE REASON KIND MESSAGE
3m56s Warning Unhealthy Pod Readiness probe failed: HTTP probe failed with statuscode: 404

Any ideas on getting this fixed ?
Thanks in advance .
/Pradeep

I know @cloudtoad was working on something here wrt Mac compatibility. Maybe try again with the latest commits in the selfmedicate repo? Otherwise he might have some additional thoughts.

Hi Matt,
Thanks for looking into this. I have tried couple of times, with the latest repo . Everytime, I land into the same problem. Is there any way we can fix this manally ?
@cloudtoad - Do you have any additional information to make this Pod in ready status / fix the HTTP probe failure ?
Regards,
Pradeep

My apologies for not looking into your issue in more detail - on second look it’s clear you weren’t asking about the sed output.

Something happened with the nightly container builds and the latest container was broken for some reason. I just manually built and pushed the latest copy of the antidote-web container. Can you delete the antidote-web pod and see if it works again?

Assuming it works, I’m going to make sure the nightly build gets fixed properly. In addition, @cloudtoad - we may want to consider going back to pinning selfmedicate to the latest tagged version. It’s currently at latest because it’s the easiest to make sure the latest tools are present to deal with the bleeding edge curriculum. However, things like this are a good example of how a broken build ruins everyone’s contributor experience, which is obviously not ideal. I’ll put some more thought into this.

No problem Matt. Now it loads, no more probe failures or not ready status. But still the lessons list is empty.
Could this be specific to my machine or something in the backend ?

Probably back-end related. Can you post Syringe logs?

Also, would be helpful if you could wrap output in triple backticks (```) so it’s easier to read

Hi Matt,

I am facing the same problem as @Pradeep. Initially, I was getting 503 Service Temporarily Unavailable error. Now the webpage loads, but the lessons list doesn’t load.

Here is the output of the Syringe logs and get pods:

NAME                                        READY     STATUS    RESTARTS   AGE
antidote-web-57f98b78d4-wd6md               2/2       Running   0          2h
nginx-ingress-controller-6f575d4f84-qg6qw   1/1       Running   0          2h
syringe-65ddb769c4-wvrgn                    1/1       Running   0          4m
skondvilkar-mbp:etc skondvilkar$
skondvilkar-mbp:etc skondvilkar$
skondvilkar-mbp:etc skondvilkar$
skondvilkar-mbp:etc skondvilkar$ kubectl logs syringe-65ddb769c4-wvrgn
time="2019-05-16T01:05:46Z" level=info msg="syringed (dev-c3ff62da1f1fbd2af84a2b65cd7e87ef6cf53307) starting."
time="2019-05-16T01:05:46Z" level=debug msg="Syringe config: {\"CurriculumDir\":\"/antidote\",\"Tier\":\"local\",\"Domain\":\"localhost\",\"GRPCPort\":50099,\"HTTPPort\":8086,\"DeviceGCAge\":0,\"NonDeviceGCAge\":0,\"HealthCheckInterval\":0,\"TSDBExportInterval\":0,\"TSDBEnabled\":false,\"LiveLessonTTL\":30,\"CurriculumLocal\":false,\"CurriculumRepoRemote\":\"https://github.com/nre-learning/nrelabs-curriculum.git\",\"CurriculumRepoBranch\":\"master\"}"
time="2019-05-16T01:05:46Z" level=debug msg="Searching /antidote/collections for collection definitions"
time="2019-05-16T01:05:46Z" level=info msg="Imported 0 collection definitions."
time="2019-05-16T01:05:46Z" level=debug msg="Searching /antidote/lessons for lesson definitions"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-14-yaml/lesson.meta.yaml"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-16-jinja/lesson.meta.yaml"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-17-git/lesson.meta.yaml"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-19-restapis/lesson.meta.yaml"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-22-python/lesson.meta.yaml"
time="2019-05-16T01:05:46Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-23-linux/lesson.meta.yaml"
time="2019-05-16T01:05:47Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-12-jsnapy/lesson.meta.yaml"
time="2019-05-16T01:05:47Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-13-napalm/lesson.meta.yaml"
time="2019-05-16T01:05:47Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-15-stackstorm/lesson.meta.yaml"
time="2019-05-16T01:05:47Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-18-todd/lesson.meta.yaml"
time="2019-05-16T01:05:48Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-24-pyez/lesson.meta.yaml"
time="2019-05-16T01:05:48Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-25-junosjet/lesson.meta.yaml"
time="2019-05-16T01:05:48Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-26-openconfig/lesson.meta.yaml"
time="2019-05-16T01:05:49Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-29-robot/lesson.meta.yaml"
time="2019-05-16T01:05:49Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-30-salt/lesson.meta.yaml"
time="2019-05-16T01:05:49Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-31-terraform/lesson.meta.yaml"
time="2019-05-16T01:05:50Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-21-tshoot-ipphone/lesson.meta.yaml"
time="2019-05-16T01:05:50Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-32-stigcompliance/lesson.meta.yaml"
time="2019-05-16T01:05:50Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-33-quickdeviceinventory/lesson.meta.yaml"
time="2019-05-16T01:05:50Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-34-configbackup/lesson.meta.yaml"
time="2019-05-16T01:05:50Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-35-devicespecifictemplate/lesson.meta.yaml"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 14: Introduction to YAML --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 16: Using Jinja for Configuration Templates --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 17: Version Control with Git --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 19: Working with REST APIs --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 4"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 22: Introduction to Python --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 23: Linux Basics --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 12: Network Unit Testing with JSNAPY --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 13: Multi-Vendor Network Automation with NAPALM --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 0"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 15: Event-Driven Network Automation with StackStorm --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 18: End-to-End Network Testing with ToDD --- BLACKBOX: 0, IFR: 0, UTILITY: 2, DEVICE: 1, CONNECTIONS: 2"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 24: Junos Automation with PyEZ --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 25: Juniper Extension Toolkit (JET) --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 26: Vendor-Neutral Network Configuration with OpenConfig --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T01:05:51Z" level=info msg="Successfully imported lesson 29: Using Robot Framework for Automated Testing --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 30: Network Automation with Salt --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 31: Terraform & Junos --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 21: Automating the Troubleshooting Chain --- BLACKBOX: 2, IFR: 0, UTILITY: 2, DEVICE: 3, CONNECTIONS: 6"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 32: Automated STIG Compliance Validation --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 0"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 33: Quick and Easy Device Inventory --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 34: Automated Device Configuration Backup --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T01:05:52Z" level=info msg="Successfully imported lesson 35: Device Specific Template Generation --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T01:05:52Z" level=info msg="Imported 21 lesson definitions."
time="2019-05-16T01:05:52Z" level=info msg="Syringe API started." HTTP Port=8086 gRPC Port=50099
time="2019-05-16T01:05:52Z" level=info msg="No syringe-managed namespaces found. Starting normally."
time="2019-05-16T01:05:52Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T01:06:52Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T01:06:52Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T01:06:52Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T01:07:52Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T01:07:52Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T01:07:52Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T01:08:52Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T01:08:52Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T01:08:52Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T01:09:52Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T01:09:52Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T01:09:52Z" level=debug msg="No syringe-managed namespaces found. No need to GC."```

Apologies @mierdin for the inconvenience with my bad formatting. Here are the logs from Syringe -

kubectl logs syringe-6ffd7b7ccc-4qbc5
time="2019-05-16T05:47:21Z" level=info msg="syringed (dev-c3ff62da1f1fbd2af84a2b65cd7e87ef6cf53307) starting."
time="2019-05-16T05:47:21Z" level=debug msg="Syringe config: {\"CurriculumDir\":\"/antidote\",\"Tier\":\"local\",\"Domain\":\"antidote-local\",\"GRPCPort\":50099,\"HTTPPort\":8086,\"DeviceGCAge\":0,\"NonDeviceGCAge\":0,\"HealthCheckInterval\":0,\"TSDBExportInterval\":0,\"TSDBEnabled\":false,\"LiveLessonTTL\":30,\"CurriculumLocal\":false,\"CurriculumRepoRemote\":\"https://github.com/nre-learning/nrelabs-curriculum.git\",\"CurriculumRepoBranch\":\"master\"}"
time="2019-05-16T05:47:21Z" level=debug msg="Searching /antidote/collections for collection definitions"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/cumulus/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/gdt/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/hexabuild/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/ignw/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/juniper/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/myriad/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/packetpushers/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/redhat/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found collection definition at: /antidote/collections/synercomm/collection.meta.yaml"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 8: Cumulus Networks"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 3: General Datatech (GDT)"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 4: HexaBuild"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 5: IGNW"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 1: Juniper Networks"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 6: Myriad360"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 9: Packet Pushers"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 7: Red Hat"
time="2019-05-16T05:47:21Z" level=info msg="Successfully imported collection 2: Synercomm"
time="2019-05-16T05:47:21Z" level=info msg="Imported 9 collection definitions."
time="2019-05-16T05:47:21Z" level=debug msg="Searching /antidote/lessons for lesson definitions"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-14-yaml/lesson.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-16-jinja/lesson.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-17-git/lesson.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-19-restapis/lesson.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-22-python/lesson.meta.yaml"
time="2019-05-16T05:47:21Z" level=debug msg="Found lesson definition at: /antidote/lessons/fundamentals/lesson-23-linux/lesson.meta.yaml"
time="2019-05-16T05:47:22Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-12-jsnapy/lesson.meta.yaml"
time="2019-05-16T05:47:22Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-13-napalm/lesson.meta.yaml"
time="2019-05-16T05:47:22Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-15-stackstorm/lesson.meta.yaml"
time="2019-05-16T05:47:23Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-18-todd/lesson.meta.yaml"
time="2019-05-16T05:47:23Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-24-pyez/lesson.meta.yaml"
time="2019-05-16T05:47:23Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-25-junosjet/lesson.meta.yaml"
time="2019-05-16T05:47:23Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-26-openconfig/lesson.meta.yaml"
time="2019-05-16T05:47:24Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-29-robot/lesson.meta.yaml"
time="2019-05-16T05:47:24Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-30-salt/lesson.meta.yaml"
time="2019-05-16T05:47:24Z" level=debug msg="Found lesson definition at: /antidote/lessons/tools/lesson-31-terraform/lesson.meta.yaml"
time="2019-05-16T05:47:25Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-21-tshoot-ipphone/lesson.meta.yaml"
time="2019-05-16T05:47:25Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-32-stigcompliance/lesson.meta.yaml"
time="2019-05-16T05:47:25Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-33-quickdeviceinventory/lesson.meta.yaml"
time="2019-05-16T05:47:25Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-34-configbackup/lesson.meta.yaml"
time="2019-05-16T05:47:26Z" level=debug msg="Found lesson definition at: /antidote/lessons/workflows/lesson-35-devicespecifictemplate/lesson.meta.yaml"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 14: Introduction to YAML --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 16: Using Jinja for Configuration Templates --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 17: Version Control with Git --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 19: Working with REST APIs --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 4"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 22: Introduction to Python --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 23: Linux Basics --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 0, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 12: Network Unit Testing with JSNAPY --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 13: Multi-Vendor Network Automation with NAPALM --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 0"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 15: Event-Driven Network Automation with StackStorm --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 18: End-to-End Network Testing with ToDD --- BLACKBOX: 0, IFR: 0, UTILITY: 2, DEVICE: 1, CONNECTIONS: 2"
time="2019-05-16T05:47:26Z" level=info msg="Successfully imported lesson 24: Junos Automation with PyEZ --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 25: Juniper Extension Toolkit (JET) --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 26: Vendor-Neutral Network Configuration with OpenConfig --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 29: Using Robot Framework for Automated Testing --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 30: Network Automation with Salt --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 1"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 31: Terraform & Junos --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 3, CONNECTIONS: 3"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 21: Automating the Troubleshooting Chain --- BLACKBOX: 2, IFR: 0, UTILITY: 2, DEVICE: 3, CONNECTIONS: 6"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 32: Automated STIG Compliance Validation --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 1, CONNECTIONS: 0"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 33: Quick and Easy Device Inventory --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 34: Automated Device Configuration Backup --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T05:47:27Z" level=info msg="Successfully imported lesson 35: Device Specific Template Generation --- BLACKBOX: 0, IFR: 0, UTILITY: 1, DEVICE: 2, CONNECTIONS: 0"
time="2019-05-16T05:47:27Z" level=info msg="Imported 21 lesson definitions."
time="2019-05-16T05:47:27Z" level=info msg="No syringe-managed namespaces found. Starting normally."
time="2019-05-16T05:47:27Z" level=info msg="Syringe API started." HTTP Port=8086 gRPC Port=50099
time="2019-05-16T05:47:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:48:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:48:27Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:48:27Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:49:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:49:27Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:49:27Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:50:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:50:27Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:50:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:51:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:51:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:51:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:52:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:52:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:52:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:53:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:53:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:53:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:54:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:54:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:54:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:55:27Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:55:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:55:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:56:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:56:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:56:28Z" level=debug msg="No syringe-managed namespaces found. No need to GC."
time="2019-05-16T05:57:28Z" level=debug msg="Recording periodic influxdb metrics"
time="2019-05-16T05:57:28Z" level=warning msg="Unable to push periodic metrics to Influx: Post http://influxdb:8086/write?consistency=&db=syringe_metrics&precision=s&rp=: dial tcp: lookup influxdb on 10.96.0.10:53: no such host"
time="2019-05-16T05:57:28Z" level=debug msg="No syringe-managed namespaces found. No need to GC."

./selfmedicate.sh reload did not help .

@skondvilkar - I think the syringe logs are exactly similar from both environments.

It is working fine after adding the missing (because of the error:sed: 1: “/etc/hosts”: extra characters at the end of h command) entry for “antidote-local” in the hosts file .

http://192.168.99.111:30001/advisor/index.html >> this does not load/show any lessions

http://antidote-local:30001/advisor/index.html >>> works fine!

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/ingress.class: "nginx"
    ingress.kubernetes.io/ssl-services: "syringe"
    ingress.kubernetes.io/ssl-redirect: "false"
    ingress.kubernetes.io/force-ssl-redirect: "false"
    ingress.kubernetes.io/rewrite-target: "/"
    nginx.ingress.kubernetes.io/rewrite-target: "/"
  name: syringe-ingress
  namespace: default
spec:
  tls:
    - hosts:
      - antidote-local
  rules:
  - host: "antidote-local"
    http:
      paths:
      - path: "/syringe"
        backend:
          serviceName: syringe
          servicePort: 8086

@Pradeep, just tried it out.

Yes, I can see the lessons only if I access http://antidote-local:30001/advisor/index.html. Thanks!

@mierdin is there any particular reason for this?

That’s what I assumed you meant by “lessons list”. Where else were you trying to see the list of lessons (and presumably was empty)?

Ah, I misunderstood.

This is expected behavior. Ingresses function on hostname and we add this to the hosts file so we can place this in the ingress rule.

If sed isn’t correctly editing the hosts file on your machine, we need to fix that. Looks like https://github.com/nre-learning/antidote-selfmedicate/issues/20 was opened for this, I’d expect @cloudtoad will have a fix for this ASAP. In the meantime, you should probably make the edit to /etc/hosts manually for now.

1 Like