These forums are a place for learning, helping and sharing experiences with others about any of our products. Feel free to ask a question and get answers from our community and our most advanced users.
Note that these are public forums - anyone can view the discussions here.
VISIT OUR DIFFERENT FORUMS:
Announcements > | |
CloudShell > | TestShell > |
Developers > | BI (Business Inteligence) > |
This is where you can suggest your ideas to help and improve the product for everyone.
Please make sure to read the following article before posting a new idea, to get more information about the required information and ideas lifecycle.
Feel free to vote and comment on other ideas to promote them.
Thanks for everyone who suggested the ideas and voted for them.
Find, download and share integrations that can extend and enhance the CloudShell experience.
Integrations have several levels:
Certified - Officially tested and supported by Quali.
Preview - Provides a sneak peek to what the Quali team is developing. Officially supported by Quali. Feel free to experiment and comment, but please take into consideration that it is not yet tested and released.
Community - Integrations shared by community users. Feel free to look into what other users have contributed, please take into consideration that these integrations are not tested by Quali.
To learn more about creating Shells and integrating with CloudShell, use the following links:
CloudShell's Dev Guide > | Configuration Management > |
Getting started with Shells > | Extending CloudShell with Cloud Providers > |
Getting started with Orchestration > | API Guide > |
To share your integration, follow the instructions in this guide >.
I am trying to write an auto-load for one our devices(IFSS). I was looking at the ixia_chassis_shell on quali forum (http://community.quali.com/repos/1819/ixia-chasisis-shell.html) as an example, but I am not able to find ”Ixia” module in ixia_handler.py file (highlighted below):
from ixia.pyixia import Ixia
Could you please take a look at it and find me this module?
Answer by Yaniv Kalsky · Sep 26, 2017 at 07:23 PM
Hi @gjavadi
Did you check the requirements.txt file of that project?
You'll need to install these in your environment if you want to get the code, or at least look at it on github.
In this case, the ixia.pyixia is coming from a module by ixia, probably from one of these:
ixnooapi==1.0.0rc1
ixeooapi==0.6.2
Also, make sure you go over the auto-load section in the devguide (use the 7.1 version if you're developing a 1st gen shell).
Yaniv
Hi @Yaniv.K
As you figured out I am trying to write an auto-load for one of our devices. I was keep getting 'null' error from auto-load. I commeneted out all of my code and i just put below code in my get_inventory :
sub_resources = [AutoLoadResource(model='', name='', relative_address='')]
attributes = [
AutoLoadAttribute('', 'Status', '2'),
AutoLoadAttribute('', 'External IP Address', '1.1.1.1'),
AutoLoadAttribute('', 'Internal IP Address', '2.2.2.2')
]
return AutoLoadDetails(sub_resources, attributes)
But it gave me below error:
'The operation completed with the following errors: * Resource 'ifsatsim_test' synchronization failed due to a driver error: 'get_inventory' command failed with 'TypeError' error. Description: __init__() got an unexpected keyword argument 'relative_address''.
What usually is best way to debug the auto-load? and if you don't mind I have few more questions that if you have time we can have a quick session tomorrow to show you what I did?
It might be that the package you're using doesn't have the init function that has inputs.
If so, having AutoLoadResource(model='xx', name='yy', relative_address='1') will not work.
And you'll have to do something like:
sub = AutoLoadResource()
sub.model = 'xx'
sub.name = 'yy'
sub.relative_address = '1'
Same for the AutoLoadAttribute.
Yaniv
Is it ok to have a ssh in get_inventory? I have to ssh to device and grab the info and then pass those to autoload functions?
Answer by Golriz Javadi · Oct 16, 2017 at 08:49 PM
Hi Yaniv,
Based on our discussion I am trying to do the auto-load for our ifss. When I ran the auto-load I got below error:
The operation completed with the following errors:
* Resource 'IFSS' synchronization failed due to a driver error:
Relative address '1' already exists at index='2', Model='Generic IFSS Module', Name='satsim 2', Unique Identifier=''. Relative address '1' already exists at index='3', Model='Generic IFSS Module', Name='satsim 3', Unique Identifier=''. Relative address '1' already exists at index='4', Model='Generic IFSS Module', Name='satsim 4', Unique Identifier=''. Relative address '1' already exists at index='5', Model='Generic IFSS Module', Name='satsim 5', Unique Identifier=''.
And here is my code:
while i < len(ifsatsim): self._log(context,'i am in last loop') sub_resources = AutoLoadResource() sub_resources.model= 'Generic IFSS Module' sub_resources.name= ifsatsim[i] self._log(context,ifsatsim[i]) sub_resources.relative_address='1' sub.append(sub_resources) i += 1 attr = [] ald = AutoLoadDetails() ald.resources = sub ald.attributes = attr self._log(context,'alddddddddddddd') self._log(context,ald) return ald
Do I need to change the relative address? I want them as sibling not sub-resource of each other.
Thank you,
Golriz
Hi @gjavadi,
Yes, the relative address is used to create the hierarchy, so it can't be the same for all sub-resources. If all your ports will just have a sequential number, they will still be siblings. To make a hierarchy you have to provide a relative address like this: 1/2
which will add the port with address 2 under a chassis/blade that is at address 1.
Yaniv
These forums are a place for learning, helping and sharing experiences with others about any of our products. Feel free to ask a question and get answers from our community and our most advanced users.
Note that these are public forums - anyone can view the discussions here.
Announcements | |
CloudShell | TestShell |
Developers | BI (Business Inteligence) |
This is where you can suggest your ideas to help and improve the product for everyone.
Please make sure to read the following article before posting a new idea, to get more information about the required information and ideas lifecycle.
Feel free to vote and comment on other ideas to promote them.
Thanks for everyone who suggested the ideas and voted for them.
Find, download and share integrations that can extend and enhance the CloudShell experience.
Integrations have several levels:
Certified - Officially tested and supported by Quali.
Preview - Provides a sneak peek to what the Quali team is developing. Officially supported by Quali. Feel free to experiment and comment, but please take into consideration that it is not yet tested and released.
Community - Integrations shared by community users. Feel free to look into what other users have contributed, please take into consideration that these integrations are not tested by Quali.
To learn more about creating Shells and integrating with CloudShell, use the following links:
CloudShell's Dev Guide | Configuration Management |
Getting started with Shells | Extending CloudShell with Cloud Providers |
Getting started with Orchestration | API Guide |
To share your integration, follow the instructions in this guide.