Development Environment Setup¶
Overview¶
In case you're wondering, "Why do I need a development environment? I'm studying for an exam, right?" In our opinion, this is an exam for operations developers and a developer needs the right tools to do their job well. Because the exam topics cover so many subjects, the array of tools, software packages, etc., is big enough that putting together an effective development environment, even if only for exam study, takes a lot of time. We want you to save that time and help you get into the study materials as quickly as possible.
VS Code Dev Container¶
Our development environment uses the Development Container feature in Visual Studio Code. The reasons we use this particular environment are:
- Consistency: this development environment will work in the same way on any computer with Visual Studio Code and Docker installed.
- Portability: the development environment is part of the Git repository which supports this guide, so simply cloning the repository means you have all of the files you need.
- Ease of Use: Getting started with your studies quickly and the ability to easily pick up your studies where you left off means less time spent fussing with a development environment and more time available to focus on exam topic study.
Development Environment Contents Reference
Local web servers
- MkDocs at http://localhost:8000 - for offline documentation access.
- JupyterLab at http://localhost:8888 - for Python code walk-through exercises.
Container OS packages
- Git - to work with local or remote repositories.
Core Python packages
Python linting tools
- ansible-lint - Lint YAML files for Ansible.
- autopep8 - Automatic Python PEP 8 style formatting.
- flake8 - Lint Python files for PEP 8 compliance.
- yamllint - Lint YAML files.
Product-specific SDKs and tools
- Ansible - Automation tool for exam topic products.
- Cisco ACI Python SDK (Cobra) - simplified Python interaction for Cisco ACI.
- Cisco gNMI Python package - gNMI client for Python.
- Cisco UCS Manager Python SDK - simplified Python interaction for Cisco UCS Manager.
Product-specific Ansible Collections
Microsoft PowerShell development environment
Dev Environment Setup¶
The setup process takes a little bit of work on the first pass. Afterward, the setup and teardown are quick and easy. Here are the high-level steps to set up the development environment:
Tip
Click to expand each step.
1. Install Desktop Software
- Choose a Windows or macOS computer
- Install Docker Desktop
- Install Git SCM
- Install Visual Studio Code
- Install Cisco AnyConnect or OpenConnect VPN
- *Optional - Install a Desktop Hypervisor (recommendations)
2. Clone the DCAUTO Study Resources Git Repository
- Open the Visual Studio Code Integrated Terminal or the terminal shell of your choice.
- Navigate to the directory where you will clone the Git repository.
-
Enter the following command:
# Clone the repository git clone https://github.com/wwt/dcauto-study-resources.git
3. Setup Visual Studio Code
- Start Docker Desktop
- Launch Visual Studio Code
-
Install the Visual Studio Code Remote Development Extension
3a. Copy the Remote Development Bundle extension name to your clipboard:
ms-vscode-remote.vscode-remote-extensionpack
4. Observe Development Container Activation
-
Wait for Development Container Activation
-
Verify Development Container Activation
5. Use the Development Environment
-
Open the "resources" Folder
-
Use the Visual Studio Code Integrated Terminal
6. Teardown and Re-Launch
-
:fontawesome-solid-window-close: Teardown the Development Environment
-
Re-Launch the Development Environment
Now You're Ready¶
Your development environment is ready to go and that means it's time to get to the exam topics. Click this link to check out Section 1.0 exam topics and resources.