cookbook 'oneview', '= 3.8.0'
oneview
(25) Versions
3.8.0
-
Follow6
Provides HPE OneView & Image Streamer resources
cookbook 'oneview', '= 3.8.0', :supermarket
knife supermarket install oneview
knife supermarket download oneview
HPE OneView SDK for Chef
Build Status
OV Version | 5.60 | 5.50 | 5.40 | 5.30 |
---|---|---|---|---|
SDK Version/Tag | v3.8.0 | v3.7.0 | v3.6.0 | v3.5.0 |
Build Status |
Introduction
HPE OneView makes it simple to deploy and manage today’s complex hybrid cloud infrastructure. HPE OneView can help you transform your data center to software-defined, and it supports HPE’s broad portfolio of servers, storage, and networking solutions, ensuring the simple and automated management of your hybrid infrastructure. Software-defined intelligence enables a template-driven approach for deploying, provisioning, updating, and integrating compute, storage, and networking infrastructure.
The HPE OneView Chef SDK enables developers to easily build integrations and scalable solutions with HPE OneView and HPE Image Streamer. You can find the latest supported HPE OneView Chef SDK here
What's New
HPE OneView Chef library extends support of the SDK to OneView REST API version 2200 (OneView v5.50)
Please refer to notes for more information on the changes , features supported and issues fixed in this version
Getting Started
Requirements
- Ruby >= 2.4.1 (We recommend using Ruby >= 2.4.1)
- Chef >= 12.0 (We recommend using Chef >= 13.12 if possible)
Installation and Configuration
HPE OneView SDK for Chef can be installed from Source and Docker container installation methods. You can either use a docker container which will have the HPE OneView SDK for Chef installed or perform local installation manually.
Installation
Docker Setup for oneview-chef
The light weight containerized version of the HPE OneView SDK for Chef is available in the Docker Store. The Docker Store image tag consist of two sections: <sdk_version-OV_version>
# Download and store a local copy of oneview-chef and # use it as a Docker image. $ docker pull hewlettpackardenterprise/hpe-oneview-sdk-for-chef:v3.8.0-OV5.6 # Run docker commands below given, which will in turn create # a sh session where you can create files, issue commands and execute the recipes. $ docker run -it hewlettpackardenterprise/hpe-oneview-sdk-for-chef:v3.8.0-OV5.6 /bin/sh
Local Setup for oneview-chef
Chef SDK dependencies can be installed by bundler.
# Create a folder cookbooks and clone the chef repo $ mkdir cookbooks $ cd cookbooks $ git clone https://github.com/chef-boneyard/compat_resource # Clone Chef repo as oneview $ git clone https://github.com/HewlettPackard/oneview-chef oneview $ cd oneview
Local installation requires the gem in your Gemfile:
gem 'oneview-sdk', '~> 5.18.0'
Install Chef Sdk dependencies from Gemfile
$ bundle install
Usage
The cookbook 'metadata' is not intended to include any recipes instead specifies a dependency which is used by another cookbooks.
# my_cookbook/metadata.rb depends 'oneview', '~> 3.8.0'
Credentials
In order to manage HPE OneView and HPE Synergy Image Streamer resources, you will need to provide authentication credentials. There are 2 ways to do this:
Environment variables:
For HPE OneView:
bash
$export ONEVIEWSDK_URL=<ov-endpoint>
$export ONEVIEWSDK_USER=<ov-user>
$export ONEVIEWSDK_PASSWORD=<ov-password>
$export ONEVIEWSDK_SSL_EANBLED=false
For HPE Synergy Image Streamer:
bash
$export I3S_URL=<i3s-endpoint>
API version
When using the resources a API version will be selected to interact with the resources in each HPE OneView correct API versions. To select the desired one, you may use one of the following methods:
- Set the resource property
api_version
. See the Resource Properties section below. - Set the client parameter
api_version
. If this parameter is set, it will select the required API version based on the client. Notice if you choose to pass the client as an OneviewSDK object, it will have, by default, the api_version set, even if you do not directly specify it. - If none of the previous alternatives are set, it defaults to the
node['oneview']['api_version']
. See the Atributes.
Be aware of the precedence of these methods! The higher priority goes to setting the resource property, followed by the client parameter, and at last the node value as the default, i.e. Property > Client > Attribute. (e.g. If you set the resource property api_version
to 200, and set the client parameter api_version
to 300, it will use the module API200, since the resource property takes precedence over the client parameter)
Attributes
-
node['oneview']['ruby_sdk_version']
- Set which version of the SDK to install and use. Defaults to'~> 4.1'
-
node['oneview']['save_resource_info']
- Save resource info to a node attribute? Defaults to['uri']
. Possible values/types:-
true
- Save all info (Merged hash of OneView info and Chef resource properties). Warning: Resource credentials will be saved if specified. -
false
- Do not save any info. -
Array
- i.e.['uri', 'status', 'created_at']
Save a subset of specified attributes.
-
-
node['oneview']['api_version']
- When looking for a matching Chef resource provider class, this version will be used as default. Defaults to200
. -
node['oneview']['api_variant']
- When looking for a matching Chef resource provider class, this variant will be used as default. Defaults toC7000
.
Client Property
Explicitly pass in the client
property to each resource. This takes precedence over environment variables and allows you to set more client properties. This also allows you to get these credentials from other sources like encrypted databags, Vault, etc.
my_client = { url: 'https://example.com', user: 'username', password: 'password', api_version: 2400 }
HPE Synergy Image Streamer access token is the same as the HPE OneView associated appliance, so most of its credentials you may get from the HPE OneView.
Resources
Resource Properties
The following are the standard properties available for all resources. Some resources have additional properties or small differences.
oneview_ethernet_network 'Eth1' do client my_client api_version 2400 api_variant 'Synergy' data( vlanId: 1001, purpose: 'General', smartLink: false, privateNetwork: false, bandwidth: { typicalBandwidth: 2000, maximumBandwidth: 9000 } ) action :create_if_missing end
Examples
The examples provided here will help you to understand the detailed usage of each resource in Chef Sdk. It allows users to easily create, update, query and delete resources.
You can find the resource examples here. This document provides the list of attributes and the methods being used in each resource to perform CRUD operations on the oneview appliance.
- attributes: client, data, scopes, etc.
- methods: :create, :delete, :delete_bulk
Getting Help
Are you running into a road block? Have an issue with unexpected bahriov? Feel free to open a new issue on the issue tracker
For more information on how to open a new issue refer to How can I get help & support
License
This project is licensed under the Apache 2.0 license. Please see [LICENSE](LICENSE) for more info.
Contributing and feature requests
Contributing: You know the drill. Fork it, branch it, change it, commit it, and pull-request it.
We are passionate about improving this project, and glad to accept help to make it better. However, keep the following in mind:
- You must sign a Contributor License Agreement first. Contact one of the authors (from Hewlett Packard Enterprise) for details and the CLA.
- We reserve the right to reject changes that we feel do not fit the scope of this project, so for feature additions, please open an issue to discuss your ideas before doing the work.
Feature Requests: If you have a need that is not met by the current implementation, please let us know (via a new issue).
This feedback is crucial for us to deliver a useful product. Do not assume we have already thought of everything, because we assure you that is not the case.
Testing
- Style (Rubocop & Foodcritic):
$ rake style
- Unit:
$ rake unit
- Run all tests:
$ rake test
- Optional: Start guard to run tests automatically on file changes:
$ bundle exec guard
For more information please refer to the [Testing guidelines](TESTING.md).
Contributors
You can find the list of contributors here
Additional Resources
HPE OneView Documentation
HPE OneView Installation Guide
HPE OneView REST API Reference
HPE OneView Firmware Management White Paper
HPE OneView Deployment and Management White Paper
HPE OneView Community
Learn more about HPE OneView at hpe.com/info/oneview
Dependent cookbooks
compat_resource >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
3.8.0
Notes
- This release extends support of the SDK to OneView REST API version 2400 (OneView v5.60).
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_certificate
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_uplink_set
- oneview_volume
- oneview_volume_attachment
- oneview_volume_template
3.7.0
Notes
- This release extends support of the SDK to OneView REST API version 2200 (OneView v5.50) and ImageStreamer REST API version 2000 (I3S v5.40).
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_certificate
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_uplink_set
- oneview_volume
- oneview_volume_attachment
- oneview_volume_template
Image Streamer Features supported
- image_streamer_artifact_bundle
- image_streamer_deployment_plan
3.6.0
Enhancements:
- Enhanced the method to set the default API version to appliance's max API version instead of hardcoded 200.
Notes
- This release extends support of the SDK to OneView REST API version 2000 (OneView v5.40).
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_certificate
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_uplink_set
- oneview_volume
- oneview_volume_attachment
- oneview_volume_template
3.5.0
Notes
- This release extends support of the SDK to OneView REST API version 1800 (OneView v5.30).
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_certificate
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_uplink_set
- oneview_volume
- oneview_volume_attachment
- oneview_volume_template
3.4.0
Notes
- This release extends support of the SDK to OneView REST API version 1600 (OneView v5.20).
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_certificate
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_storage_volume
- oneview_uplink_set
- oneview_volume_template
Adds API1600 support to HPE Synergy Image Streamer resources:
- image_streamer_artifact_bundle
- image_streamer_deployment_plan
3.3.0
Notes
- This release adds support to Oneview Rest API version 800, 1000, and 1200 for C7000 and Synergy to the features Hypervisor Manager and Hypervisor Cluster Profile, and Oneview Rest API version 600, 800, 1000, and 1200 for C7000 and Synergy to the feature Server Certificate.
- Added usecases for the following scenarios:
- Infrastructure provisioning with OS on Synergy with Image Streamer.
- Infrastructure provisioning on Synergy with compute (with server settings), networking, and storage.
New features and resources
- Added support for following resources
- oneview_hypervisor_cluster_profile
- oneview_hypervisor_manager
- oneview_server_certificate
Bugs & Enhancements:
- #419 Dockerfile is failing because of insufficient libraries.
3.2.0
Notes
- This release supports OneView Rest API versions 800/1000/1200 minimally where we can use OneView v4.10/v4.20/v5.0 with this SDK. No new fields are added/deleted to support OneView Rest API 800/1000/1200. Complete support will be done in next releases.
- Added support for HPE OneView resource oneview_scope for API 600.
Oneview Features supported
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_network_set
- oneview_scope
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_uplink_set
- oneview_volume
- oneview_volume_template
Adds API800, API1000 and API1020 support to HPE Synergy Image Streamer resources:
- image_streamer_deployment_plan
New features and resources
- Added support for following resources
- oneview_volume_attachment
:repair
action
- oneview_volume_attachment
Bugs & Enhancements:
- #398 Travis Build has failed due to cucumber-core:gherkin incompatibility
- #401 Travis Build is failing at multiple points due to incompatibilty between the dependencies
3.1.0
Adds API 600 support to the following HPE OneView resources:
- oneview_connection_template
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_logical_switch
- oneview_logical_switch_group
- oneview_managed_san
- oneview_network_set
- oneview_sas_interconnect
- oneview_sas_logical_interconnect
- oneview_sas_logical_interconnect_group
- oneview_server_hardware
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_switch
- oneview_uplink_set
- oneview_volume
- oneview_volume_template
Adds API500 and API600 support to HPE Synergy Image Streamer resources:
- image_streamer_deployment_plan
- image_streamer_golden_image
- image_streamer_os_build_plan
- image_streamer_plan_script
Enhancements:
- #346 Add action to reapply configuration of oneview_interconnect API500
- #348 Add the update_port action in the Switch API300
- #355 DEPRICATION Notice for the Fauxhai redhat platform 7.2
3.0.0
Adds API 500 support to the following HPE OneView resources:
- oneview_connection_template
- oneview_datacenter
- oneview_drive_enclosure
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_event
- oneview_fabric
- oneview_fc_network
- oneview_fcoe_network
- oneview_firmware
- oneview_id_pool
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_logical_switch
- oneview_logical_switch_group
- oneview_managed_san
- oneview_network_set
- oneview_power_device
- oneview_rack
- oneview_san_manager
- oneview_sas_interconnect
- oneview_sas_logical_interconnect
- oneview_sas_logical_interconnect_group
- oneview_scope
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_switch
- oneview_unmanaged_device
- oneview_uplink_set
- oneview_user
- oneview_volume
- oneview_volume_template
Adds testing documentation into TESTING.md
Enhancements:
- #225 Support additional uplink port types in the LogicalInterconnectGroupProvider
- #246 Upgrade oneview-sdk gem to version 5.0.0
- #247 Remove deprecation and warnings for Chef 13
- #304 Add refresh actions to oneview_storage_system
- #306 Create shared examples to unit tests that using scope actions
- #309 Add volume_attachment property to Server Profiles and SP Templates so VAs can be more easily managed
- #336 Remove :new_profile action of oneview_server_profile_template
- #343 Use helper method of OneviewSDK StoragePool to set StorageSystem to a StoragePool of API500
Bug fixes:
- #180 Create Mixins for the resource providers common methods
- #243 Chef-client 13.2.20 does not allow modification of property :save_resource_info
- #284 Nested and cyclic requires are causing the first resource to be skipped
- #287 Disable FrozenString magic comment cop from Rubocop until the support is done
- #340 Storage pool actions for API 500 are not working
Breaking changes
- The
:new_profile
action was removed from oneview_server_profile_template and incorporated into create and update actions of theoneview_server_profile
resource where aserver_profile_template
is specified.
2.3.0
Adds support to the following HPE OneView resources:
- Added oneview_event resource
- Added oneview_id_pool resource
Enhancements:
- #233 ServerProfile connections cannot have more than one connection with the same network
- #234 Server Profile does not fill default values for OS Custom Attributes automatically
Bug Fixes:
- #231 Fix Foodcritic FC069
- #232 Server Profile with os_deployment_plan property is not setting osCustomAttributes correctly
- #240 Wrong operator in ServerProfile warning
2.2.1
Enhancements:
- #228 Add ::load_resource method to OneviewCookbook::Helper
2.2.0
Adds full support the HPE Synergy Image Streamer API300. It also fixes some bugs and adds important enhancements.
New resources added for HPE Synergy Image Streamer API300:
- image_streamer_artifact_bundle
- image_streamer_os_build_plan
Bug Fixes:
- #93 oneview_storage_system should not try to update the name
- #98 Fix get_diff for comparisons of alike data
- #145 Show diff on log statement before actual update
- #220 Raise "not found" error after failed retrieval of resource
Enhancements:
- #217 Create full server deploy example recipe using Image Streamer and OneView resources
- #218 connection_template resource does not support NetworkSet, FCoENetwork and FCNetwork
2.1.0
- #162 Add server_profile_template property to oneview_server_profile
- Add :update_from_template action to oneview_server_profile
- Adds support to API300 HPE Synergy Image Streamer resources:
- image_streamer_deployment_plan
- image_streamer_golden_image
2.0.0
Adds support to the following HPE OneView resources:
- Added oneview_scope resource (API 300 only)
Adds support to API300 HPE Synergy Image Streamer resources:
- image_streamer_plan_script
Breaking changes
- The resource api version selector now considers using the client's api version before falling back to the node['oneview']['api_version'] attribute as a default. (Order of precedence: resource api_version property > client's api_version attribute > node attribute)
- oneview_enclosure's property
state
renamed torefresh_state
- oneview_managed_san's action
:set_refresh_state
renamed to:refresh
. Also it gained the propertyrefresh_state
1.3.0
- Added oneview_user resource
1.2.1
- Update to use v4.0.0 of oneview-sdk
- #176 Support an enclosureIndex value in the oneview_enclosure_group resource's logical_interconnect_group property
1.2.0
Adds support to API300 by creating providers to support API200 & API300 REST APIs simultaneously.
Adds new Synergy resources.
Refactored code
- The following already available API200 resources had their actions put in providers and given support to API300:
- oneview_connection_template
- oneview_datacenter
- oneview_enclosure
- oneview_enclosure_group
- oneview_ethernet_network
- oneview_fc_network
- oneview_fcoe_network
- oneview_firmware
- oneview_interconnect
- oneview_logical_enclosure
- oneview_logical_interconnect
- oneview_logical_interconnect_group
- oneview_logical_switch
- oneview_logical_switch_group
- oneview_managed_san
- oneview_network_set
- oneview_power_device
- oneview_rack
- oneview_resource
- oneview_san_manager
- oneview_server_hardware
- oneview_server_hardware_type
- oneview_server_profile
- oneview_server_profile_template
- oneview_storage_pool
- oneview_storage_system
- oneview_switch
- oneview_unmanaged_device
- oneview_uplink_set
- oneview_volume
- oneview_volume_template
New features and resources
- New actions and features in API200:
- oneview_logical_enclosure
:create
,:create_if_missing
and:delete
actions
- oneview_logical_enclosure
- New actions and features in API300:
- oneview_enclosure
:patch
action - oneview_server_hardware
:patch
action - oneview_switch
:patch
action (API300::C7000 only) - oneview_enclosure_group
logical_interconnect_group
(String) property was marked for deprecation in favor oflogical_interconnect_groups
(Array) - oneview_enclosure_group now supports SAS logical interconnect groups in property
logical_interconnect_groups
- oneview_enclosure
- New resources in API300:
- oneview_fabric
- oneview_sas_interconnect (API300::Synergy only)
- oneview_sas_logical_interconnect (API300::Synergy only)
- oneview_sas_logical_interconnect_group (API300::Synergy only)
- oneview_drive_enclosure (API300::Synergy only)
1.1.0
- Add support for client ENV variables
- Fixed volume resource (#92) & examples
1.0.0
Now the cookbook can operate with all the supported OneView 2.0 (API200) resources. Also added some bug fixes and minor improvements.
- Added support to Volume actions :create_snapshot
and :delete_snapshot
- Added support to SAN manager actions
- Added support to Uplink set actions
- Added support to Logical interconnect
- Added support to Server profile actions
- Added support to Server profile template actions
0.2.0
Adds new resources, shared features and bug fixes. Also upgrades the Ruby SDK version to ~> 2.1.
- Upgraded Ruby SDK version to ~> 2.1
- Fixed add/create, delete/remove for resources
- Added diff output for updating resources
- Added support to Enclosure group actions
- Added support to Enclosure :refresh
and :reconfigure
- Added support to Connection template actions
- Integrated Connection template actions in Ethernet network within the update action, and added :reset_connection_template
action
- Added support to Logical enclosure :reconfigure
and :set_script
- Added support to Network set actions
- Added support to Datacenter actions
- Added support to Rack actions
- Added support to Server hardware actions
- Added support to Interconnect actions
- Added support to Logical switch group actions
- Added support to Logical switch actions
- Added support to Firmware bundle actions
- Added support to Server hardware type actions
- Added support to Power device actions
- Changed Storage pool action :add
to :add_if_missing
- Added support to Storage system :edit_credentials
and :add_if_missing
- Added support to Switch actions
- Added support to Firmware driver actions and integrated it with firmware bundles in a resource called Firmware
- Added unit tests for volume template and merged :storage_system_ip
and :storage_system_name
into :storage_system
- Added support to Managed SAN actions
- Added support to Unmanaged device actions
0.1.1
- Fixed Ruby SDK version to 1.0.0
- Added Stove support (using
rake
) - Fixed the oneview-sdk gem to
v1.0.0
(the version can be changed in the/attributes/default.rb
, but doing this may result in failures in some actions for some resources)
0.1.0 (Initial release)
In the future, there will be individual Chef resources for each OneView resource.
However, at this beta stage, only a subset of specific resources and a generic oneview_resource
are available.
(The generic one will continue to exist, so don't worry about having to rewrite everything when additional resources are added.)
With the generic model, you may find that particular resources don't support certain actions or have slightly different behaviors.
Here are some known issues with different resource types:
- EnclosureGroup - Since the script is at a separate API endpoint, we can't set that here.
FCNetwork - Fails when action is
:create
andconnectionTemplateUri
is set tonil
(because OV sets it). Leave it out instead of setting it tonil
.FCoENetwork - Fails when action is
:create
andconnectionTemplateUri
is set tonil
(because OV sets it). Leave it out instead of setting it tonil
.ServerHardware - Requires Chef
name
parameter to be set to the hostname/IP in order to work. Also, updates won't work because the resource doesn't support it. Use:create_if_missing
action only