-
Notifications
You must be signed in to change notification settings - Fork 22
Home
The HPE OneView Ansible Collection library provides to manage HPE OneView using Ansible Collection playbooks using HPE OneView REST APIs. This collection provides a series of Ansible modules and plugins for interacting with the HPE OneView Modules. Each OneView resource operation is exposed through an Ansible module. Specific modules are provided to gather facts about the resource.
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 Ansible Collection uses the new distribution format collection, introduced by the Ansible Collections distribution format (i.e. Ansible v.2.9), Ansible content includes Playbooks, Roles and Plugins.
The HPE OneView Ansible Collection includes
You can find the latest supported HPE OneView Ansible Collection SDK here
- Ansible >= 2.9
- python >= 2.7.9
- HPE OneView Python SDK
ansible-galaxy collection install hpe.oneview
To upgrade to the latest version of HPE OneView:
ansible-galaxy collection install hpe.oneview --force
git clone https://github.com/HewlettPackard/oneview-ansible-collection.git
cd oneview-ansible-collection
ansible-galaxy collection build .
ansible-galaxy collection install <tar_file>
pip install -r requirements.txt
docker build -t oneview-ansible-collections .
docker run -it --rm -v (pwd)/:/root/oneview-ansible-collections oneview-ansible-collections
That's it. If you would like to modify any role, simply modify role and re-run the image.
To use the HPE OneView collection, you can store the configuration in a JSON file. This file is used to define the settings, which will be used on the OneView appliance connection, like hostname, username, and password. Here's an example:
{
"ip": "<ip>",
"credentials": {
"userName": "<userName>",
"authLoginDomain": "",
"password": "<password>"
},
"api_version": 2400
}
The api_version
specifies the version of the Rest API to invoke. When not defined, it will pick
the OneView appliance version as default
If your environment requires a proxy, define the proxy properties in the JSON file using the following syntax:
"proxy": "<proxy_host>:<proxy_port>"
🔒 Tip: Check the file permissions since the password is stored in clear-text.
The configuration file path must be provided for all of the roles config
arguments. For example:
- name: Gather facts about the FCoE Network with name 'FCoE Network Test'
oneview_fcoe_network_facts:
config: "/path/to/config.json"
name: "FCoE Network Test"
Once you have defined the config variables, you can run the roles.
The another way is to pass in your HPE OneView credentials to your tasks is through explicit specification on the task.
This option allows the parameters hostname
, username
, password
, api_version
and image_streamer_hostname
to be passed directly inside your task.
- name: Create a Fibre Channel Network
oneview_fc_network:
hostname: <hostname>
username: <username>
password: <password>
api_version: 2400
state: present
data:
name: "{{ network_name }}"
fabricType: 'FabricAttach'
linkStabilityTime: '30'
autoLoginRedistribution: true
no_log: true
delegate_to: localhost
Setting no_log: true
is highly recommended in this case, as the credentials are otherwise returned in the log after task completion.
The Ansible modules for HPE OneView support the API endpoints for HPE OneView 5.50, 5.60
The current default
HPE OneView version will pick the OneView appliance version.
To use a different API, you must set the API version together with your credentials, either using the JSON configuration:
"api_version": 2400
OR using the Environment variable:
export ONEVIEWSDK_API_VERSION='2400'
If this property is not specified, it will fall back to default value.
The API list is as follows:
- HPE OneView 5.50 API version:
2200
- HPE OneView 5.60 API version:
2400
Modules to manage HPE Synergy Image Streamer appliances are also included in this project. To use these modules, you must set the Image Streamer IP on the OneViewClient configuration, either using the JSON configuration:
"image_streamer_ip": "<image_streamer_ip>"
OR using the Environment variable:
export ONEVIEWSDK_IMAGE_STREAMER_IP='100.100.100.100'
To use a module from HPE OneView collection, please reference the full namespace, collection name, and modules name that you want to use:
---
- name: Using HPE OneView collection
hosts: all
collections:
- hpe.oneview
roles:
- hpe.oneview.oneview_fc_network
- hpe.oneview.oneview_fc_network_facts
Run the above created playbooks as shown below.
ansible-playbook example_collection.yml
Are you running into a road block? Have an issue with unexpected behavior? Feel free to open a new issue on the issue tracker
When creating an issue, recommend providing the following and any additional information which would help address quicker.
[What you are trying to achieve but can't?]
- OneView SDK Version: [Version of this SDK for which you are encountering the issue]
- OneView Appliance Version: [Version of the OneView appliance you're interacting with]
- OneView Client API Version: [API version of your client object]
- Python Version: [Version of Python in your environment]
- Platform: [OS distribution and release version]
[What are the complete steps needed to do in order to reproduce your problem?]
[What do you expect to happen after taking the steps above?]
[What actually happens after the steps above? Include error output or a link to a gist.]
- HPE OneView PowerShell Library
- HPE OneView Chef Library
- HPE OneView PythonLibrary
- HPE OneView Ruby Library
- HPE OneView Go Language Library
- HPE OneView Terraform Library
- HPE OneView Ansible Module
- HPE OneView Ansible Collection
- HPE OneView Release Notes
- HPE OneView Support Matrix
- HPE OneView Installation Guide
- HPE OneView User Guide
- HPE OneView Online Help
- HPE OneView REST API Reference
- HPE OneView Firmware Management White Paper
- HPE OneView Deployment and Management White Paper
Learn more about HPE OneView at hpe.com/info/oneview
This project is licensed under the Apache 2.0 license. Please see the LICENSE for more information.
Contributing: We welcome your contributions to the Ansible Modules for HPE OneView. See CONTRIBUTING.md for more details.
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 that we have already thought of everything, because we assure you that is not the case.
Wiki Table of Contents