GithubHelp home page GithubHelp logo

manageiq / manageiq-providers-cisco_intersight Goto Github PK

View Code? Open in Web Editor NEW
2.0 7.0 15.0 7.58 MB

ManageIQ provider for Cisco Intersight

License: Apache License 2.0

Ruby 95.97% Shell 0.50% JavaScript 3.53%

manageiq-providers-cisco_intersight's Introduction

ManageIQ::Providers::CiscoIntersight

CI Code Climate Test Coverage Chat

Build history for master branch

ManageIQ plugin for the Cisco Intersight provider.

Development

See the section on plugins in the ManageIQ Developer Setup

For quick local setup run bin/setup, which will clone the core ManageIQ repository under the spec directory and setup necessary config files. If you have already cloned it, you can run bin/update to bring the core ManageIQ code up to date.

License

The gem is available as open source under the terms of the Apache License 2.0.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

manageiq-providers-cisco_intersight's People

Contributors

agrare avatar alescernivec avatar bdunne avatar chessbyte avatar eilam20 avatar fryguy avatar gberginc avatar jrafanie avatar kbrock avatar melshyrule avatar mend-bolt-for-github[bot] avatar renovate[bot] avatar tjazerzen avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

manageiq-providers-cisco_intersight's Issues

I get error: Failure/Error: require 'bootsnap/setup'

Hey!

While trying to run tests by running bundle exec rake app:spec:models from the folder plugins/manageiq-providers-cisco_intersight for the new inventory features (mostly developed by this PR: #35). I get the following error:

image

I've had similar problem with bootsnap before for entering rails server and console. @Fryguy helped me solve it in this issue: #34 (the solution was to remove bootsnap cache directory in core. So that is, running rm -rf ../../tmp/cache/bootsnap from the provider).

This time, even after removing bootsnap running tests doesn't work.

Any ideas how to resolve this error and successfully run tests?

Thanks!

Add support for Intersight Private Virtual Appliance

Currently the cisco_intersight provider only supports the cloud-based API endpoint. There is no option to accept a hostname for an on-premise appliance deployment.

The intersight-sdk has a configurable api base-url which would could override with a hostname if one is provided.

Inventory Improvement - Parser - physical_servers_details: Find & fill out the missing data

The following data still needs to be found and filled out in this function:

https://github.com/xlab-si/manageiq-providers-cisco_intersight/blob/6ffb391195c4884dc93e1252a2836c9b7edb0e7e/app/models/manageiq/providers/cisco_intersight/inventory/parser/physical_infra_manager.rb#L32

Data may be found in the Intersight open API gem: https://github.com/xlab-si/intersight-sdk-ruby/tree/develop by calling IntersightClient::ComputeApi.new.get_compute_physical_summary_list.results, which returns a list of physical summaries.

Here's the intersight reference on the object ComputePhysicalSummariesList, where the structure of the output can be seen: https://intersight.com/apidocs/apirefs/api/v1/compute/PhysicalSummaries/get/ - Structure is seen under Response model --> Second element of the array.

Help is sought after to find the following attributes:

Any help is greatly appreciated,
Tjaž

View of a list of Server Profiles available in the system indicating which all are associated with servers

As a user I should be able to view a list of server profiles available in the system indicating which all are associated with servers and which are not so that I get a full view of the inventory.

More details on Server Profiles reside here.

For this purpose we should extend miq collections with additional one, e.g. physical_server_profiles with a reference on the physical_server.

Moreover, we should have a list of the available server profiles listed in the physical provider's view (within the ManageIQ).

What is the best approach for this?

Intersight Client should be delay loaded

https://github.com/ManageIQ/manageiq-providers-cisco_intersight/blob/master/app/models/manageiq/providers/cisco_intersight/manager_mixin.rb#L1 loads the client immediately, but it should be delay loaded. More specifically, loading the Provider Tag Mapping from core here, ends up loading the subclasses which loads the client.

In addition the client itself is almost 400MB of memory. Separately we need to find a way to slim up that client.

See gitter discussion here: https://gitter.im/ManageIQ/manageiq/providers?at=62b21a7f904f20479a146f02

As a user I need to be able to add Intersight providers for multiple Intersight labs.

One the biggest concerns here is the URL of the provider. In the past it was not possible to have several providers with the same endpoint. We will have to discuss this with ManageIQ team to see how to proceed. Alternatively, we could have a unique URL of the Intersight provider that includes the lab name as well. For example, for the two labs that we have, we have the following two access URLs:
https://5ed10e437564612d3352cc2d.intersight.com/
https://5ed1175d7564612d3354058e.intersight.com/
Both of these URLs will directly connect to a specific lab – perfect for identification, however, it does require a separate endpoint to be specified.

As a user I need to be able to review networking information.

This is part of the inventory which we are going to be collecting in this first batch. The idea is that we collect the following information:
• All relevant data about the physical server.
• All relevant data about the racks and chasis
• All relevant data about the storage accompanied with the server
• All relevant data about the networking interfaces. This does currently not include networking equipment as we need to understand first how does this come together in Intersight.
For Tucson lab when opening a server inventory, we get the following message about the license.
us1

Situation in CaaS lab is a bit different where we get the following
us2

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/ci.yaml
  • actions/checkout v4
  • ruby/setup-ruby v1
  • paambaati/codeclimate-action v6
  • manageiq/postgresql 13
npm
package.json
  • node >= 14.0.0
  • npm >= 6.0.0
  • yarn >= 0.20.1
  • yarn 4.2.1

  • Check this box to trigger a request for Renovate to run again on this repository

can't modify frozen Hash (FrozenError)

Hey,

while entering rails conzole and/or rails server from (overridden) provider in folder /plugins/manageiq-providers-cisco_intersight (inside MiQ core) I get error, saying that hash is frozen:

image

Note that running the same commands (bundle exec rails s or bundle exec rails c) from the core does not give me an error. Any ideas about resolving this error?

Thanks a lot, Tjaž

As a user, I need to be able to provision bare metal resources from Service Catalogs

The idea is to provision pre-configured resources​: from the list of decommissioned servers the user should be able to choose one server and assign it with an available Server Profile. This actions is done thought Service Catalogs by having an appropriate Catalog Item. Intersight MIQ provider will probably need additional supporting resources that would allow to trigger this action.

Use case: The user chooses to “order” a specific configuration of a server from Service Catalogs. Server and server profile are chosen by the user from the list of available server profiles.

Result: New server is being commissioned and deployed with applied server profile.

Actions that are needed, and need to be provided by the Cisco Intersight ManageIQ provider:

  1. Pick a server from a list of decommissioned servers.
  2. Commission a server.
  3. Apply a server profile to the newly commissioned server.
  4. Deploy the server profile (with the assigned server).

Linked PRs: ManageIQ/manageiq#22241, #81, ManageIQ/manageiq-schema#673, ManageIQ/manageiq-automation_engine#514, ManageIQ/manageiq-content#723

Inventory Improvement - Parser - physical_servers: Find & fill out the missing data

The following data still needs to be found and filled out. Data may be found in the Intersight open API gem: https://github.com/xlab-si/intersight-sdk-ruby/tree/develop by calling IntersightClient::ComputeApi.new.get_compute_physical_summary_list.results, which returns a list of physical summaries:

Here's the intersight reference on the object ComputePhysicalSummariesList, where the structure of the output can be seen: https://intersight.com/apidocs/apirefs/api/v1/compute/PhysicalSummaries/get/ - Structure is seen under Response model --> Second element of the array.

  1. [Help wanted for this part]: I think the following two data points (health_state and hostname) are hidden somewhere inside physical_summaries_list, but finding them isn't the main priority ATM. To link the missing data in the current code:
  1. [This part is my job, after the referenced collections will be built out]: Now come two different TODOs that have to be done only after the physical_chassis and physical_racks are finished. For now, setting their values to nil. These two are going to be then linked using the function lazy_find:

As a user, I want to be able to submit requests via seamless ServiceNow integration

Cisco Intersight ManageIQ Provider should support "incident" and "service requirement" types of Service Now tickets.

There are additional requirements that need to be taken into account:

  • Provide secrets for ServiceNow account (e.g., having user credentials configured within the provider setting)
  • Support for the attachments
  • Positioning ServiceNow Issue "submit button" in the portal (servers, chassis, switches, racks, storage)

We foresee different use cases:

  • Issuing a ticket from the main Cisco Intersight provider’s dashboard (Compute/Physical Infrastructure Providers/Dashboard ) where collection of all resources are listed.
  • Issuing a ticket from the Cisco Intersight provider collection's details page (e.g.,Compute/Physical Infrastructure/Servers/(Summary of a server)).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.