Skip to content

Commit

Permalink
Merge pull request #440 from HewlettPackard/API1800_network_resources
Browse files Browse the repository at this point in the history
Added api1800 support to network resources
  • Loading branch information
VenkateshRavula committed Jul 9, 2020
2 parents e441dbd + 0122c22 commit 9bf98a2
Show file tree
Hide file tree
Showing 17 changed files with 311 additions and 95 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -5,6 +5,8 @@ This release extends support to OneView Rest API version 1800 (OneView v5.30) fo

#### Features supported
- Ethernet Network
- FC Network
- FCOE Network
- Scope

## v5.13.0
Expand Down
27 changes: 15 additions & 12 deletions endpoints-support.md
Expand Up @@ -77,6 +77,7 @@ OneviewSDK::Datacenter.find_by(@client, width: 11000).map(&:remove)
|<sub>/rest/ethernet-networks</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks/bulk</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks/bulk-delete</sub> | POST | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks/{id}</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks/{id}</sub> | PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/ethernet-networks/{id}</sub> | PATCH | :white_check_mark: | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
Expand All @@ -93,19 +94,21 @@ OneviewSDK::Datacenter.find_by(@client, width: 11000).map(&:remove)
|<sub>/rest/fabrics/{id}/reserved-vlan-range</sub> | GET | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fabrics/{id}/reserved-vlan-range</sub> | PUT | :white_check_mark: | :white_check_mark: |
| **FC Networks** |
|<sub>/rest/fc-networks</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | PATCH | :white_check_mark: | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
|<sub>/rest/fc-networks/{id}</sub> | PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | DELETE | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/bulk-delete</sub> | POST | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | PATCH | :white_check_mark: | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
|<sub>/rest/fc-networks/{id}</sub> | PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fc-networks/{id}</sub> | DELETE | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| **FCoE Networks** |
|<sub>/rest/fcoe-networks</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | PATCH | :white_check_mark: | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
|<sub>/rest/fcoe-networks/{id}</sub> | PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | DELETE | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks</sub> | POST | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/bulk-delete</sub> | POST | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | GET | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | PATCH | :white_check_mark: | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
|<sub>/rest/fcoe-networks/{id}</sub> | PUT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|<sub>/rest/fcoe-networks/{id}</sub> | DELETE | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| **Firmware Bundles** |
|<sub>/rest/firmware-bundles</sub> | POST | :white_check_mark: | :white_check_mark: |
| **Firmware Drivers** |
Expand Down
20 changes: 12 additions & 8 deletions examples/shared_samples/ethernet_network.rb
Expand Up @@ -40,7 +40,7 @@
# Creating a ethernet network
ethernet = ethernet_class.new(@client, options)
ethernet.create!
puts "\nCreated ethernet-network '#{ethernet[:name]}' sucessfully.\n uri = '#{ethernet[:uri]}'"
puts "\nCreated ethernet-network '#{ethernet[:name]}' successfully.\n uri = '#{ethernet[:uri]}'"

# Find recently created network by name
matches = ethernet_class.find_by(@client, name: ethernet[:name])
Expand Down Expand Up @@ -76,7 +76,7 @@

# Bulk create ethernet networks
options = {
vlanIdRange: '26-28',
vlanIdRange: '21-24',
purpose: 'General',
namePrefix: 'OneViewSDK_Bulk_Network',
smartLink: false,
Expand All @@ -89,10 +89,17 @@

list = ethernet_class.bulk_create(@client, options).each { |network| puts network['uri'] }

puts "\nBulk-created ethernet networks '#{options[:namePrefix]}_<x>' sucessfully."
puts "\nBulk-created ethernet networks '#{options[:namePrefix]}_<x>' successfully."

list.sort_by! { |e| e['name'] }
list.each { |e| puts " #{e['name']}" }
list.each { |e| puts " #{e['name']} - #{e['uri']}" }

# Bulk delete ethernet networks
delete_networks = []
list.each { |e| delete_networks.append(e['uri']).to_s }
bulk_options = { 'networkUris' => delete_networks }
ethernet_class.bulk_delete(@client, bulk_options)
puts "\nDeleted all bulk-created ethernet networks successfully."

# only for API300 and API500, not supported for OneView 4.0 or greater
if @client.api_version.to_i > 200 && @client.api_version.to_i < 600
Expand Down Expand Up @@ -125,7 +132,4 @@
# Clean up
# Delete this network
ethernet2.delete
puts "\nSucessfully deleted ethernet-network '#{ethernet[:name]}'."

list.each(&:delete)
puts "\nDeleted all bulk-created ethernet networks sucessfully.\n"
puts "\nSuccessfully deleted ethernet-network '#{ethernet[:name]}'."
55 changes: 22 additions & 33 deletions examples/shared_samples/fc_network.rb
Expand Up @@ -16,38 +16,10 @@
# It will create a bulk of fc networks and then delete them.
#
# Supported APIs:
# - API200 for C7000
# - API300 for C7000
# - API300 for Synergy
# - API500 for C7000
# - API500 for Synergy
# - API600 for C7000
# - API600 for Synergy
# - API800 for C7000
# - API800 for Synergy
# - API1000 for C7000
# - API1000 for Synergy
# - API1200 for C7000
# - API1200 for Synergy
# - API1600 for C7000
# - API1600 for Synergy
# - 200, 300, 500, 600, 800, 1000, 1200, 1600, 1800
#
# Resources that can be created according to parameters:
# api_version = 200 & variant = any to OneviewSDK::API200::FCNetwork
# api_version = 300 & variant = C7000 to OneviewSDK::API300::C7000::FCNetwork
# api_version = 300 & variant = Synergy to OneviewSDK::API300::Synergy::FCNetwork
# api_version = 500 & variant = C7000 to OneviewSDK::API500::C7000::FCNetwork
# api_version = 500 & variant = Synergy to OneviewSDK::API500::Synergy::FCNetwork
# api_version = 600 & variant = C7000 to OneviewSDK::API600::C7000::FCNetwork
# api_version = 600 & variant = Synergy to OneviewSDK::API600::Synergy::FCNetwork
# api_version = 800 & variant = C7000 to OneviewSDK::API800::C7000::FCNetwork
# api_version = 800 & variant = Synergy to OneviewSDK::API800::Synergy::FCNetwork
# api_version = 1000 & variant = C7000 to OneviewSDK::API1000::C7000::FCNetwork
# api_version = 1000 & variant = Synergy to OneviewSDK::API1000::Synergy::FCNetwork
# api_version = 1200 & variant = C7000 to OneviewSDK::API1200::C7000::FCNetwork
# api_version = 1200 & variant = Synergy to OneviewSDK::API1200::Synergy::FCNetwork
# api_version = 1600 & variant = C7000 to OneviewSDK::API1600::C7000::FCNetwork
# api_version = 1600 & variant = Synergy to OneviewSDK::API1600::Synergy::FCNetwork
# Supported Variants
# C7000 and Synergy for all api versions


# Resource Class used in this sample
Expand All @@ -66,7 +38,18 @@

fc = fc_network_class.new(@client, options)
fc.create!
puts "\nCreated fc-network '#{fc[:name]}' sucessfully.\n uri = '#{fc[:uri]}'"
puts "\nCreated fc-network '#{fc[:name]}' successfully.\n uri = '#{fc[:uri]}'"

# Create 2 more FC networks
options['name'] = 'FC Network 2'
fc4 = fc_network_class.new(@client, options)
fc4.create!
puts "\nCreated fc-network '#{fc4[:name]}' successfully.\n uri = '#{fc4[:uri]}'"

options['name'] = 'FC Network 3'
fc5 = fc_network_class.new(@client, options)
fc5.create!
puts "\nCreated fc-network '#{fc5[:name]}' successfully.\n uri = '#{fc5[:uri]}'"

# Find recently created network by name
matches = fc_network_class.find_by(@client, name: fc[:name])
Expand Down Expand Up @@ -121,4 +104,10 @@

# Delete this network
fc3.delete
puts "\nSucessfully deleted fc-network '#{fc3[:name]}'."
puts "\nSuccessfully deleted fc-network '#{fc3[:name]}'."

# Bulk-delete FC network
delete_networks = [fc4[:uri], fc5[:uri]]
bulk_options = { 'networkUris' => delete_networks }
fc_network_class.bulk_delete(@client, bulk_options)
puts "\nBulk deleted the fc networks successfully."
66 changes: 28 additions & 38 deletions examples/shared_samples/fcoe_network.rb
Expand Up @@ -15,57 +15,41 @@
# NOTE: This will create an ethernet network named 'OneViewSDK Test FCoE Network', update it and then delete it.
#
# Supported APIs:
# - API200 for C7000
# - API300 for C7000
# - API300 for Synergy
# - API500 for C7000
# - API500 for Synergy
# - API600 for C7000
# - API600 for Synergy
# - API800 for C7000
# - API800 for Synergy
# - API1000 for C7000
# - API1000 for Synergy
# - API1200 for C7000
# - API1200 for Synergy
# - API1600 for C7000
# - API1600 for Synergy

# Resources that can be created according to parameters:
# api_version = 200 & variant = any to OneviewSDK::API200::FCoENetwork
# api_version = 300 & variant = C7000 to OneviewSDK::API300::C7000::FCoENetwork
# api_version = 300 & variant = Synergy to OneviewSDK::API300::Synergy::FCoENetwork
# api_version = 500 & variant = C7000 to OneviewSDK::API500::C7000::FCoENetwork
# api_version = 500 & variant = Synergy to OneviewSDK::API500::Synergy::FCoENetwork
# api_version = 600 & variant = C7000 to OneviewSDK::API600::C7000::FCoENetwork
# api_version = 600 & variant = Synergy to OneviewSDK::API600::Synergy::FCoENetwork
# api_version = 800 & variant = C7000 to OneviewSDK::API800::C7000::FCoENetwork
# api_version = 800 & variant = Synergy to OneviewSDK::API800::Synergy::FCoENetwork
# api_version = 1000 & variant = C7000 to OneviewSDK::API1000::C7000::FCoENetwork
# api_version = 1000 & variant = Synergy to OneviewSDK::API1000::Synergy::FCoENetwork
# api_version = 1200 & variant = C7000 to OneviewSDK::API1200::C7000::FCoENetwork
# api_version = 1200 & variant = Synergy to OneviewSDK::API1200::Synergy::FCoENetwork
# api_version = 1600 & variant = C7000 to OneviewSDK::API1600::C7000::FCoENetwork
# api_version = 1600 & variant = Synergy to OneviewSDK::API1600::Synergy::FCoENetwork
# - 200, 300, 500, 600, 800, 1000, 1200, 1600, 1800
#
# Supported Variants
# C7000 and Synergy for all api versions


# Resource Class used in this sample
fcoe_network_class = OneviewSDK.resource_named('FCoENetwork', @client.api_version)

# Scope class used in this sample
scope_class = OneviewSDK.resource_named('Scope', @client.api_version) unless @client.api_version.to_i <= 200

# Example: Create an fc network
# NOTE: This will create an fc network named 'OneViewSDK Test FC Network', then delete it.
# Example: Create an fcoe network
# NOTE: This will create an fcoe network named 'OneViewSDK Test FCoE Network', then delete it.
options = {
name: 'OneViewSDK Test FCoE Network',
connectionTemplateUri: nil,
vlanId: 300
}

# Sucess case - 1
# Success case - 1
fcoe = fcoe_network_class.new(@client, options)
fcoe.create!
puts "\nCreated fcoe-network '#{fcoe[:name]}' sucessfully.\n uri = '#{fcoe[:uri]}'"
puts "\nCreated fcoe-network '#{fcoe[:name]}' successfully.\n uri = '#{fcoe[:uri]}'"

# Create 2 more fcoe networks
options['name'] = 'FCoE network2'
fcoe4 = fcoe_network_class.new(@client, options)
fcoe4.create!
puts "\nCreated fcoe-network '#{fcoe4[:name]}' successfully.\n uri = '#{fcoe4[:uri]}'"

options['name'] = 'FCoE network3'
fcoe5 = fcoe_network_class.new(@client, options)
fcoe5.create!
puts "\nCreated fcoe-network '#{fcoe5[:name]}' successfully.\n uri = '#{fcoe5[:uri]}'"

# Find recently created network by name
matches = fcoe_network_class.find_by(@client, name: fcoe[:name])
Expand All @@ -75,7 +59,7 @@
# Retrieve recently created network
fcoe3 = fcoe_network_class.new(@client, name: fcoe[:name])
fcoe3.retrieve!
puts "\nRetrieved ethernet-network data by name: '#{fcoe3[:name]}'.\n uri = '#{fcoe3[:uri]}'"
puts "\nRetrieved fcoe-network data by name: '#{fcoe3[:name]}'.\n uri = '#{fcoe3[:uri]}'"

# Example: List all fcoe networks with certain attributes
attributes = { status: 'OK' }
Expand Down Expand Up @@ -114,4 +98,10 @@

# Delete this network
fcoe3.delete
puts "\nSucessfully deleted fc-network '#{fcoe3[:name]}'."
puts "\nSuccessfully deleted fc-network '#{fcoe3[:name]}'."

# Bulk-delete FC network
delete_networks = [fcoe4[:uri], fcoe5[:uri]]
bulk_options = { 'networkUris' => delete_networks }
fcoe_network_class.bulk_delete(@client, bulk_options)
puts "\nBulk deleted the fcoe networks successfully."
6 changes: 6 additions & 0 deletions lib/oneview-sdk/resource/api1800/c7000/ethernet_network.rb
Expand Up @@ -16,6 +16,12 @@ module API1800
module C7000
# Ethernet network resource implementation for API1800 C7000
class EthernetNetwork < OneviewSDK::API1600::C7000::EthernetNetwork
# Bulk delete the ethernet networks
def self.bulk_delete(client, options)
response = client.rest_post(BASE_URI + '/bulk-delete', { 'body' => options }, client.api_version)
client.response_handler(response)
true
end
end
end
end
Expand Down

0 comments on commit 9bf98a2

Please sign in to comment.