oneview-sdk 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2cc2cbbd0f9d00dbf62c661169c514f42206a68f
4
- data.tar.gz: 821a796fbaf24f17b6ebe4795505ceb3c74f618e
3
+ metadata.gz: f612360de75ca04a4285a2c70fdd9b7312bf4d5f
4
+ data.tar.gz: e19d35eb77ca7736fa771a9db6839506edbc1edf
5
5
  SHA512:
6
- metadata.gz: 85a0c2c7245423eecb8ebf9159e2c601917731e2caeb18d1d175162ae731373683ca2d569e1fdb1153166cb8ae33c21f78773dbd93ef9bcec7c68a6bd2ff141d
7
- data.tar.gz: 450a60b26b39e64011522917b87f296cd85fa3e766337f7dfacaf226d4a39a05c1668bcc2f7c9b664f3e9252a2508f742931a679097fa503308bfabd607f84cf
6
+ metadata.gz: 600b8c1be525144a6e5d016445f9882c45c3ae720ece26df26717c6bfe6ee66894b8608264cd67944aba4929c8c1ea91e3972976fa51bea3e2d08ac83ce58386
7
+ data.tar.gz: e77487b5c6dfab5c60638ca25934425d7761caac90a6f37129ae74711d48e4d14f7b54af1fff49bf0a2781f27eafb6b3a61d29e90d999262c174d1fd7e23e5c4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## v4.4.0
2
+
3
+ #### Bug fixes & Enhancements
4
+ - [#216](https://github.com/HewlettPackard/oneview-sdk-ruby/issues/216) Missing support for Q ports in API300::Synergy::LIGUplinkSet, missing support for multiple Synergy frames
5
+ - [#228](https://github.com/HewlettPackard/oneview-sdk-ruby/issues/228) Method add_uplink for LIG Uplinks Set does not work with Q ports nor integer ports
6
+ - [#231](https://github.com/HewlettPackard/oneview-sdk-ruby/issues/#231) Support id in ServerProfile#add_connection
7
+
1
8
  ## v4.3.0
2
9
 
3
10
  #### New Features:
data/README.md CHANGED
@@ -12,7 +12,7 @@ The OneView SDK provides a Ruby library to easily interact with HPE OneView and
12
12
  - Require the gem in your Gemfile:
13
13
 
14
14
  ```ruby
15
- gem 'oneview-sdk', '~> 4.3'
15
+ gem 'oneview-sdk', '~> 4.4'
16
16
  ```
17
17
 
18
18
  Then run `$ bundle install`
@@ -40,15 +40,25 @@ module OneviewSDK
40
40
 
41
41
  # Specify one uplink passing the virtual connect bay and the port to be attached.
42
42
  # @param [Fixnum] bay number to identify the VC
43
- # @param [String] port to attach the uplink. Allowed D1..D16 and X1..X10
44
- def add_uplink(bay, port)
43
+ # @param [String, Fixnum] port to attach the uplink. Examples: X1, D1, Q1, Q1.1, Q1:1, 67 ...
44
+ # @param [String] interconnect model name
45
+ # @param [Fixnum] enclosure number for multi-frame configurations
46
+ def add_uplink(bay, port, type = nil, enclosure_index = 1)
47
+ enclosure_index = type && type.include?('Virtual Connect SE 16Gb FC Module') ? -1 : enclosure_index
48
+ port =
49
+ if type
50
+ fetch_relative_value_of(port, type)
51
+ else
52
+ # Detect Integer port: for example 67 or '67'
53
+ port.to_s == port.to_i.to_s ? port.to_i : relative_value_of(port)
54
+ end
45
55
  entry = {
46
56
  'desiredSpeed' => 'Auto',
47
57
  'logicalLocation' => {
48
58
  'locationEntries' => [
49
59
  { 'relativeValue' => bay, 'type' => 'Bay' },
50
- { 'relativeValue' => 1, 'type' => 'Enclosure' },
51
- { 'relativeValue' => relative_value_of(port), 'type' => 'Port' }
60
+ { 'relativeValue' => enclosure_index, 'type' => 'Enclosure' },
61
+ { 'relativeValue' => port, 'type' => 'Port' }
52
62
  ]
53
63
  }
54
64
  }
@@ -79,6 +89,18 @@ module OneviewSDK
79
89
  end
80
90
  port.to_i + offset
81
91
  end
92
+
93
+ def fetch_relative_value_of(port, type)
94
+ port_formats = [port.sub('.', ':'), port.sub(':', '.')].uniq
95
+ interconnect_type = OneviewSDK::Interconnect.get_type(@client, type)
96
+ unless interconnect_type
97
+ list = OneviewSDK::Interconnect.get_types(@client).map { |t| t['name'] }
98
+ raise OneviewSDK::NotFound, "Interconnect type #{type} not found! Supported types: #{list}"
99
+ end
100
+ type_port = interconnect_type['portInfos'].find { |p| port_formats.include? p['portName'] }
101
+ raise OneviewSDK::NotFound, "Port #{port} not found!" unless type_port
102
+ type_port['portNumber']
103
+ end
82
104
  end
83
105
  end
84
106
  end
@@ -148,6 +148,7 @@ module OneviewSDK
148
148
  # The value can be 'Undefined', 'Reserved', or 'Deployed'.
149
149
  # @option connection_options [String] 'functionType' Type of function required for the connection.
150
150
  # functionType cannot be modified after the connection is created.
151
+ # @option connection_options [String] 'id' Unique identifier for this connection. Defaults to 0 (auto).
151
152
  # @option connection_options [String] 'mac' The MAC address that is currently programmed on the FlexNic.
152
153
  # @option connection_options [String] 'macType' Specifies the type of MAC address to be programmed into the IO Devices.
153
154
  # The value can be 'Virtual', 'Physical' or 'UserDefined'.
@@ -165,7 +166,7 @@ module OneviewSDK
165
166
  # The value can be 'Virtual', 'Physical' or 'UserDefined'.
166
167
  def add_connection(network, connection_options = {})
167
168
  self['connections'] = [] unless self['connections']
168
- connection_options['id'] = 0 # Letting OneView treat the ID registering
169
+ connection_options['id'] ||= 0 unless connection_options[:id] # Letting OneView treat the ID registering
169
170
  connection_options['networkUri'] = network['uri'] if network['uri'] || network.retrieve!
170
171
  self['connections'] << connection_options
171
172
  end
@@ -11,5 +11,5 @@
11
11
 
12
12
  # Gem version defined here
13
13
  module OneviewSDK
14
- VERSION = '4.3.0'.freeze
14
+ VERSION = '4.4.0'.freeze
15
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneview-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henrique Diomede
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-05-02 00:00:00.000000000 Z
14
+ date: 2017-05-16 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor
@@ -449,7 +449,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
449
449
  version: '0'
450
450
  requirements: []
451
451
  rubyforge_project:
452
- rubygems_version: 2.6.11
452
+ rubygems_version: 2.4.5.2
453
453
  signing_key:
454
454
  specification_version: 4
455
455
  summary: Gem to interact with the HPE OneView API