Lab Environment Management: Restart, Reset, Connectivity, and Support Guide
Lab Environment Management: Restart, Reset, Connectivity, and Support Guide
Managing a hands-on DevSecOps lab should be seamless, but occasional hiccups—like a stalled VM, a greyed-out Reset
button, a transient HTTP 500 after restart, or a network blockage—can interrupt your learning flow. This guide walks you
through the essential actions for restarting, resetting, and troubleshooting connectivity in the Practical DevSecOps
labs, plus how to get help when you need it.
Table of Contents
1. Restarting Your Lab Machine
2. Resetting the Lab Environment
3. Too Many VMs Open / Reset Environment Button Greyed Out
4. HTTP 500 Errors After a Lab Restart
5. Connectivity Checklist
6. Whitelisting Required Domains & Ports
7. Getting Support
8. Quick Tips & FAQs
Restarting Your Lab Machine
When a VM becomes unresponsive or you need to apply a system update, a simple restart can restore normal operation.
How to Restart
1. Click the Connected button. This lists the machines used in the exercise.
2. Select the machine you need and click Restart.
3. If you restart a GitLab machine, the platform automatically restarts the companion GitLab instances to keep the
environment in sync.
Pro tip: After you restart, wait until the web and machine labels turn green. That means every machine in the exercise
has provisioned successfully.
Resetting the Lab Environment
A reset returns the entire lab to its original, clean state—useful when you want to start over or when configuration
changes have caused errors. Warning: Resetting erases all data on the machine, so back up any important files first.
Step-by-Step Reset Procedure
1. Refresh the exercise page in your browser.
2. Below the Start the exercise button, click Reset my environment. You can also open the arrow beside the lab timer
and choose Reset my environment. On some exam dashboards the control is labeled Reset Environment.
3. A confirmation pop-up appears. Read the warning, then click Yes, Reset my environment.
4. The provisioning process begins; you’ll see a progress indicator.
What Gets Reset?
- All user-created files and directories
- Installed packages and custom configurations
- Database contents and Docker containers
Example Scenario
You’ve been experimenting with a custom CI/CD pipeline that broke the GitLab runner. Rather than debugging each step,
you click Reset my environment to revert to the pristine lab state and try a different approach.
If Reset my environment is greyed out, do not keep clicking it. Follow the next section.
Too Many VMs Open / Reset Environment Button Greyed Out
The Reset Environment / Reset my environment button is often greyed out when more than one lab machine is provisioned.
Only one machine should be running.
What to do
1. Check other browser tabs for a lab that is still running.
2. On that terminal, click the three-dot menu in the top right and select Stop lab.
3. Optionally check Also reset all the machines, then confirm.
4. Reload the page and start the exercise again.
If Reset stays greyed out after this:
- Capture a screenshot of the greyed button.
- Request a real agent. Include your account email and course name.
HTTP 500 Errors After a Lab Restart
A generic HTTP 500 (Internal Server Error) right after you click Restart is usually transient. Wait until the web and
machine labels are green before retrying.
Recovery steps (in order)
1. Wait until the web and machine labels turn green. Do not spam refresh while they are still provisioning.
2. Hard-refresh the browser (Ctrl+Shift+R / Cmd+Shift+R), or try a private/incognito window.
3. Retry the same URL once. A single 500 after restart is common; a page that loads on the second try does not need a
ticket.
4. If the 500 continues for several minutes, open Connected again and restart that machine once more (GitLab companion
nodes restart together).
5. If it still 500s, Reset my environment (this wipes lab data — export anything you need first).
6. If Reset is greyed out, follow Too Many VMs Open / Reset Environment Button Greyed Out.
If the 500 persists after a reset, request a real agent. Include the exact URL, the HTTP 500 text, the time it started,
and whether it followed a restart. Staff can check the platform side; you do not need to debug server logs.
These steps are for the lab portal or lab VM web UI. Application-level 500s inside a challenge (for example a Django app
you are hardening) are part of that exercise, not a platform outage.
Connectivity Checklist
If you cannot reach the labs, follow this systematic troubleshooting flow.
1. Verify Internet Stability – Run a speed test or open a few unrelated websites.
2. Refresh & Reset – Reload the lab page, then click Reset my environment before launching the lab again.
3. Disable Interfering Software – Turn off any ad-blockers, VPNs, or corporate firewalls that might block WebSocket
traffic.
4. Use Incognito/Private Mode – This bypasses cached data and extensions that could interfere.
5. Switch Browsers – Google Chrome is the recommended browser for optimal WebSocket support.
6. Change Network – Connect via a different Wi-Fi network, mobile hotspot, or Ethernet cable.
7. Try Another Device – If possible, launch the lab from a different laptop or desktop.
If none of the above resolves the issue, move on to the Support section.
Whitelisting Required Domains & Ports
Corporate firewalls often block the domains needed for the lab platform. Add the following entries to your allow-list:
| Category | Domains / URLs | Notes |
|----------|----------------|-------|
| Core Platform | *.practical-devsecops.training | Main lab UI and API |
| Chat & Collaboration | chat.practical-devsecops.com | Chatbot chat |
| Lab Sub-domains | *.lab.practical-devsecops.training | Individual lab instances |
| Media Content | vimeo.com | Embedded tutorial videos |
| Portal | https://chnl.portal.practical-devsecops.training | Course portal & resources |
Network Ports
- 80 (HTTP) – Required for initial redirects.
- 443 (HTTPS) – Secure traffic for all UI, API, and WebSocket connections.
Protocols
- HTTP/HTTPS – Standard web traffic.
- WebSocket (wss) – Real-time communication between your browser and the lab containers.
Ensuring these domains and ports are open eliminates the most common connectivity roadblocks.
Getting Support
Technical roadblocks happen, and our support team is ready to help. Choose the channel that best fits your urgency:
- Chat with support – Real-time assistance. Request a real agent if Reset stays greyed out or an HTTP 500 does not
clear after a reset.
- Email – Send detailed queries (including screenshots and error logs) to registrations@practical-devsecops.com.
When contacting support, include:
1. Your machine ID or registration email.
2. A brief description of the problem.
3. Steps you’ve already tried (e.g., browser switch, Stop lab, reset all machines).
4. Any error messages or screenshots.
Quick Tips & FAQs
Common Questions
- Q: Will restarting a GitLab machine affect my other lab VMs?
A: No. Restarting a single GitLab VM triggers an automatic restart of the other GitLab nodes only to keep the
cluster synchronized. Your other independent labs remain untouched.
- Q: How long does a reset take?
A: Typically 2–4 minutes, depending on the lab size and current platform load.
- Q: Can I export my work before resetting?
A: Yes. Use scp, git push, or download files via the web UI before you click Reset my environment.
- Q: Reset Environment is greyed out.
A: Only one machine should be provisioned. Check other tabs, click the three-dot menu at the top right of the
terminal, select restart lab, optionally check Also reset all the machines, confirm, then reload and start the
exercise again. If it stays greyed, request a real agent with a screenshot.
- Q: I got HTTP 500 right after Restart.
A: Wait until the web and machine labels are green, then retry. If it continues, restart once more from Connected or
reset the environment. Escalate if it survives a reset.
Handy Tips
- Keep only one machine provisioned so Reset stays available. Stop extra labs from the three-dot menu on the terminal.
- Wait for green labels after Restart before treating an HTTP 500 as a hard failure.
- Bookmark the support chat for one-click access during a lab session.
- Take periodic snapshots of your work (e.g., push to a personal Git repo) to avoid data loss.
- Use Chrome’s “Clear browsing data” (cookies & cache) if you notice stale UI elements after a reset.
Stay Productive
By mastering these restart, reset, VM-limit, and connectivity steps, you’ll spend more time building secure pipelines
and less time troubleshooting the lab infrastructure. Keep this guide handy, and you’ll navigate any technical snag with
confidence. Happy learning!