{"id":20237357,"url":"https://github.com/qualisystems/cloudshell-l1-polatis","last_synced_at":"2025-07-25T23:12:58.581Z","repository":{"id":84858058,"uuid":"60247087","full_name":"QualiSystems/cloudshell-L1-polatis","owner":"QualiSystems","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-10T15:59:39.000Z","size":16476,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-24T16:53:33.571Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QualiSystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-02T08:38:16.000Z","updated_at":"2022-11-22T13:33:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"7adf05b3-84de-4603-bb11-b0b40b135b9c","html_url":"https://github.com/QualiSystems/cloudshell-L1-polatis","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QualiSystems%2Fcloudshell-L1-polatis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QualiSystems%2Fcloudshell-L1-polatis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QualiSystems%2Fcloudshell-L1-polatis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QualiSystems%2Fcloudshell-L1-polatis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QualiSystems","download_url":"https://codeload.github.com/QualiSystems/cloudshell-L1-polatis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248279805,"owners_count":21077408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T08:26:39.913Z","updated_at":"2025-04-10T19:12:06.287Z","avatar_url":"https://github.com/QualiSystems.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n![](cloudshell_logo.png)\r\n\r\n# **Polatis L1 Shell**\r\n\r\nRelease date: June 2019 \r\n\r\nShell version: 1.0.0\r\n\r\nDocument version: 1.0\r\n\r\n# In This Guide\r\n\r\n* [Overview](#overview)\r\n* [Downloading the Shell](#downloading-the-shell)\r\n* [Importing and Configuring the Shell](#importing-and-configuring-the-shell)\r\n* [Updating Python Dependencies for Shells](#updating-python-dependencies-for-shells)\r\n* [Upgrading the L1 Shell and Datamodel](#upgrading-the-l1-shell-and-datamodel)\r\n* [Typical Workflows](#typical-workflows)\r\n* [References](#references)\r\n* [Release Notes](#release-notes)\r\n\r\n\r\n# Overview\r\nA shell integrates a device model, application or other technology with CloudShell. A shell consists of a data model that defines how the device and its properties are modeled in CloudShell, along with automation that enables interaction with the device via CloudShell.\r\n\r\n### L1 Switch Shells\r\nL1 switch shells allow CloudShell to manage networking connectivity between physical resources and private cloud provider Apps, such as vCenter.\r\n\r\nFor additional information, see the [L1 Switches](http://help.quali.com/Online%20Help/9.0/Portal/Content/Admn/Cnct-Ctrl-L1-Swch.htm?Highlight=L1%20switch) online help topic.\r\n\r\n### **Polatis L1 Shell**\r\nThe Polatis L1 shell provides you with the capability to communicate with network topology managed by the Polatis switch.\r\n\r\nThe shell allows CloudShell users to interact with the device, for example, create and modify route mappings, get device information, and more.\r\n\r\nFor more information on the **Polatis**, see the official **[Device Manufacturer]** product documentation.\r\n\r\n### Standard version\r\nThe Polatis L1 shell is based on the [**Layer 1 Switch Shell Standard**](https://github.com/QualiSystems/shell-L1-template).\r\n\r\n### Supported OS\r\n▪ [OS Name]\r\n\r\n### Requirements\r\n\r\nRelease: **Polatis L1 Shell**\r\n\r\n▪ CloudShell version: 8.0 and above\r\n\r\n▪ Other: [version x.x]\r\n\r\n### Data Model\r\n\r\nThe shell's data model includes all shell metadata, families, and attributes.\r\n\r\n#### **Polatis Families and Models**\r\n\r\nThe L1 switch families and models are listed in the following table:\r\n\r\n|Family|Model|Description|\r\n|:---|:---|:---|\r\n|L1 Switch|Polatis Chassis|L1 Switch Chassis|\r\n|L1 Switch Blade|Generic L1 Module|Generic L1 Module|\r\n|L1 Switch Port|Generic L1 Port|Generic L1 Port|\r\n\r\n#### **Polatis Attributes**\r\n\r\nThe Polatis Chassis attribute names and types are listed in the following table:\r\n\r\n|Attribute|Type|Description|\r\n|:---|:---|:---|\r\n|Model Name|String|Model name|\r\n|Serial Number|String|Serial number|\r\n|OS Version|String|OS version|\r\n\r\nThe Generic L1 Module attribute names and types are listed in the following table:\r\n\r\n|Attribute|Type|Description|\r\n|:---|:---|:---|\r\n|Model Name|String|Model name|\r\n|Serial Number|String|Serial number|\r\n\r\nThe Generic L1 Port attribute names and types are listed in the following table:\r\n\r\n|Attribute|Type|Default|Description|\r\n|:---|:---|:---|:---|\r\n|Auto Negotiation|Boolean|True|Port auto negotiation|\r\n|Duplex|Lookup|Full|Port duplex|\r\n|Port Speed|String||Port speed|\r\n|Protocol|Lookup|Transparent|Port protocol|\r\n|Protocol Type Value|String ||Port protocol type value|\r\n|Protocol Value|String ||Port protocol value|\r\n|Rx Power (dBm)|String|0|Optical port Rx signal strength|\r\n|Tx Power (dBm)|String|0|Optical port Tx signal strength|\r\n|Wavelength|String|0|Optical port wavelength|\r\n\r\n### Automation\r\nThis section describes the automation (drivers) associated with the data model. The shell’s driver is provided as part of the shell package. There are two types of automation processes, Autoload and Resource.  Autoload is executed when creating the resource in the **Inventory** dashboard, while resource commands are run in the sandbox.\r\n\r\n|Command|Description|\r\n|:-----|:-----|\r\n|Autoload|Discovers and creates the internal resources of the root resource (for example, switch cards and ports).|\r\n|MapBidi|Creates a bi-directional mapping between two ports.|\r\n|MapUni|Creates a uni-directional mapping between two ports.|\r\n|MapClear|Clears any connection ending in this port.|\r\n|MapClearTo|Clears a uni-directional connection between two ports.|\r\n|GetAttributeValue|Extracts attribute values from the device.|\r\n|SetAttributeValue|Sets attribute values on the device.|\r\n|MapTap|Adds monitor ports to an existing connection.|\r\n\r\n**Note:** You can only activate a TAP connection after activating a parent MapUni/MapBidi connection. \r\n\r\n# Downloading the Shell\r\nThe **Polatis** L1 shell is available from the [Quali Community Integrations](https://community.quali.com/integrations) page. \r\n\r\nThe shell comprises:\r\n\r\n|File name|Description|\r\n|:---|:---|\r\n|cloudshell-L1-polatis-x.x.x.zip|Polatis L1 shell package|\r\n|install_driver.bat|Polatis L1 shell installation script|\r\n|polatis_runtime_config.yml|Polatis L1 shell configuration file|\r\n|polatis_ResourceConfiguration.xml|XML file containing the resource structure, attributes and capabilities of the L1 switches of the same vendor|\r\n\r\n# Importing and Configuring the Shell\r\nThis section describes how to import the L1 shell and configure and modify the shell’s devices.\r\n\r\n### Importing and configuring the shell in CloudShell\r\n\r\n**To import and configure the shell in CloudShell:**\r\n  1. Make sure you have the shell’s zip package. If not, download the shell from the [Quali Community's Integrations](https://community.quali.com/integrations) page.\r\n  \r\n  2. Extract the *Polatis L1 shell zip* package to the following location on the Quali Server machine: \r\n  *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers*\r\n  \r\n  3. Run the *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers\\cloudshell-L1-polatis\\install_driver.bat* file.\r\n  \r\n  4. Import the new data model.\r\n      1. In **Resource Manager Client\u003eAdmin**, right-click **Resource Families** and select **Import**.\r\n      2. Select the *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers\\cloudshell-L1-polatis\\datamodel\\polatis_ResourceConfiguration.xml* file.\r\n      3. Click **Open**.\r\n\t\r\n  5. Create an L1 resource.\r\n      1. In **Resource Explorer**, right-click **Root** and select **New\u003eResource**.\r\n      2. Enter the **Name** and **Address**.\r\n      3. Select the **L1 Switch** family.\r\n      4. Ensure that the correct **Model** Polatis Chassis and **Driver** POLATIS are selected.\r\n      5. Click **OK**.\r\n\t\r\n  6. Auto Load the new resource.\r\n      1. In **Resource Explorer**, right-click the new resource and select **Configuration**.\r\n      2. In the **Internal Resources** pane, right-click the switch and select **Exclude**. \r\n      3. Click the **Auto Load** button at the bottom of the **Configuration** tab.\r\n\t\r\n  7. Define the resource connections on the L1 switch.\r\n      1. Right-click the resource and select **Configuration\u003eConnections**.\r\n      2. Connect a resource's port to a different port in the switch resource by clicking each port's **Connected To** button, selecting the resource's **Family** and **Resource**, and selecting the port to connect.\r\n      3. Click **OK** in the **Resource connection** dialog box.\r\n      4. Save your changes.\r\n\r\n\r\n### Offline installation of a shell\r\nShell installation installs the required dependencies from the shell's zip package.\r\n\r\nThe *install_driver.bat* script creates a virtual environment on the Quali Server machine under *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers\\cloudshell-L1-polatis* and installs the required dependencies in this virtual environment from the extracted L1 shell folder (under *~cloudshell-L1-polatis\\packages*).\r\n\r\n# Updating Python Dependencies for Shells\r\nThis section explains how to update your Python dependencies folder. This is required when you upgrade a shell that uses new/updated dependencies. It applies to both online and offline dependencies. \r\n\r\nL1 shells do not have separate Python dependencies files. All dependencies are included in the L1 shell itself and are installed along with the shell. Therefore, in order to update the shell's Python dependencies, you must upgrade the shell. See [Upgrading the L1 Shell and Datamodel](#upgrading-the-l1-shell-and-datamodel).\r\n\r\n# Upgrading the L1 Shell and Datamodel\r\n\r\n**Note:** Upgrading an L1 shell requires the use of the QsMigrationUtility, which is provided out-of-the-box with CloudShell.\r\n\r\n**To upgrade the L1 shell and datamodel:**\r\n1. In the Quali Server machine, remove or rename the L1 shell's folder located in the *Drivers* folder: *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers*.\r\n\r\n2. Extract the new L1 shell to the *Drivers* folder: *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers*.\r\n\r\n3. In the extracted L1 shell's folder, run *install_driver.bat*.\r\n\r\n4. Create a new folder: *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Configuration*.\r\n\r\n5. Copy the upgraded shell's datamodel file from:\r\n\r\n\t*C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Drivers\\cloudshell-L1-polatis\\datamodel\\polatis_ResourceConfiguration.xml*\r\n\t\r\n\tto:\r\n\t\r\n\t*C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\Configuration*.\r\n\r\n6. Run *C:\\Program Files (x86)\\QualiSystems\\CloudShell\\Server\\QsMigrationUtility.exe*.\r\n\r\n\r\n# Typical Workflows\r\n\r\n(add as necessary depending on the shell)\r\n\r\n# References\r\nTo download and share integrations, see [Quali Community's Integrations](https://community.quali.com/integrations). \r\n\r\nFor instructional training and documentation, see [Quali University](https://www.quali.com/university/).\r\n\r\nTo suggest an idea for the product, see [Quali's Idea box](https://community.quali.com/ideabox). \r\n\r\nTo connect with Quali users and experts from around the world, ask questions and discuss issues, see [Quali's Community forums](https://community.quali.com/forums). \r\n\r\n# Release Notes \r\n\r\n### What's New\r\n\r\nFor release updates, see the shell's [GitHub releases page](https://github.com/QualiSystems/cloudshell-L1-polatis/releases).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisystems%2Fcloudshell-l1-polatis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqualisystems%2Fcloudshell-l1-polatis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisystems%2Fcloudshell-l1-polatis/lists"}