ops_manager_ui_drivers 1.28.1 → 2.0.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 +4 -4
- data/.ruby-version +1 -0
- data/.travis.yml +0 -2
- data/lib/ops_manager_ui_drivers/page_helpers.rb +8 -8
- data/lib/ops_manager_ui_drivers/version.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/api.rb +2 -2
- data/lib/ops_manager_ui_drivers/version14/availability_zones.rb +2 -2
- data/lib/ops_manager_ui_drivers/version14/iaas_configuration.rb +6 -6
- data/lib/ops_manager_ui_drivers/version14/job_availability_zone_mapping_helper.rb +2 -2
- data/lib/ops_manager_ui_drivers/version14/job_network_mapping_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/job_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/networks.rb +5 -5
- data/lib/ops_manager_ui_drivers/version14/ops_manager_director.rb +67 -67
- data/lib/ops_manager_ui_drivers/version14/product_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/product_dashboard.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/product_form.rb +2 -2
- data/lib/ops_manager_ui_drivers/version14/product_logs.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/product_resource_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/product_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/state_change_progress.rb +1 -1
- data/lib/ops_manager_ui_drivers/version14/web_ui.rb +3 -3
- data/lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb +2 -2
- data/lib/ops_manager_ui_drivers/version15/job_network_mapping_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/job_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/microbosh_sections/availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/microbosh_sections/microbosh_form_section.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/microbosh_sections/networks.rb +11 -11
- data/lib/ops_manager_ui_drivers/version15/ops_manager_director.rb +10 -10
- data/lib/ops_manager_ui_drivers/version15/product_availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/product_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/product_errands.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/product_form.rb +2 -2
- data/lib/ops_manager_ui_drivers/version15/product_logs.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/product_resource_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/product_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/settings.rb +40 -38
- data/lib/ops_manager_ui_drivers/version15/state_change_progress.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/web_ui.rb +3 -3
- data/lib/ops_manager_ui_drivers/version16/bosh_product_sections/availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/bosh_product_sections/networks.rb +11 -11
- data/lib/ops_manager_ui_drivers/version16/job_availability_zone_mapping_helper.rb +2 -2
- data/lib/ops_manager_ui_drivers/version16/job_network_mapping_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/job_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/ops_manager_director.rb +8 -8
- data/lib/ops_manager_ui_drivers/version16/product_availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_dashboard.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_errands.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_form.rb +2 -2
- data/lib/ops_manager_ui_drivers/version16/product_logs.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_resource_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/product_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/settings.rb +41 -39
- data/lib/ops_manager_ui_drivers/version16/state_change_progress.rb +1 -1
- data/lib/ops_manager_ui_drivers/version16/web_ui.rb +3 -3
- data/lib/ops_manager_ui_drivers/version17/api.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb +2 -2
- data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb +2 -2
- data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/subnet.rb +6 -6
- data/lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb +3 -3
- data/lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/job_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/ops_manager_director.rb +21 -21
- data/lib/ops_manager_ui_drivers/version17/product_availability_zones.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/product_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/product_dashboard.rb +4 -0
- data/lib/ops_manager_ui_drivers/version17/product_errands.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/product_form.rb +2 -2
- data/lib/ops_manager_ui_drivers/version17/product_logs.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/product_status_helper.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/settings.rb +42 -40
- data/lib/ops_manager_ui_drivers/version17/setup.rb +10 -0
- data/lib/ops_manager_ui_drivers/version17/state_change_progress.rb +1 -1
- data/lib/ops_manager_ui_drivers/version17/web_ui.rb +4 -4
- data/lib/ops_manager_ui_drivers.rb +3 -3
- data/ops_manager_ui_drivers.gemspec +7 -8
- metadata +2 -15
|
@@ -17,7 +17,7 @@ module OpsManagerUiDrivers
|
|
|
17
17
|
private
|
|
18
18
|
|
|
19
19
|
def uaa_token
|
|
20
|
-
target_url
|
|
20
|
+
target_url = @host_uri.to_s + '/uaa'
|
|
21
21
|
token_issuer = CF::UAA::TokenIssuer.new(target_url, 'opsman', nil, {:skip_ssl_validation => true})
|
|
22
22
|
token_issuer.owner_password_grant('admin', 'admin')
|
|
23
23
|
end
|
|
@@ -3,7 +3,7 @@ module OpsManagerUiDrivers
|
|
|
3
3
|
module BoshProductSections
|
|
4
4
|
class AvailabilityZones
|
|
5
5
|
def initialize(browser:)
|
|
6
|
-
@browser
|
|
6
|
+
@browser = browser
|
|
7
7
|
@bosh_product_form_section = BoshProductFormSection.new(browser, 'availability_zones[availability_zones][]')
|
|
8
8
|
end
|
|
9
9
|
|
data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
CHANGED
|
@@ -5,7 +5,7 @@ module OpsManagerUiDrivers
|
|
|
5
5
|
attr_reader :field_prefix
|
|
6
6
|
|
|
7
7
|
def initialize(browser, field_prefix)
|
|
8
|
-
@browser
|
|
8
|
+
@browser = browser
|
|
9
9
|
@field_prefix = field_prefix
|
|
10
10
|
end
|
|
11
11
|
|
|
@@ -22,7 +22,7 @@ module OpsManagerUiDrivers
|
|
|
22
22
|
|
|
23
23
|
def set_fields(fields)
|
|
24
24
|
fields.each do |field, value|
|
|
25
|
-
|
|
25
|
+
set_field(field, value)
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
@@ -2,11 +2,11 @@ module OpsManagerUiDrivers
|
|
|
2
2
|
module Version17
|
|
3
3
|
module BoshProductSections
|
|
4
4
|
class Networks
|
|
5
|
-
FLASH_MESSAGE_CLASS
|
|
5
|
+
FLASH_MESSAGE_CLASS = '.flash-message'.freeze
|
|
6
6
|
FLASH_MESSAGE_ERRORS = '.flash-message.error ul.message li'.freeze
|
|
7
7
|
|
|
8
8
|
def initialize(browser:)
|
|
9
|
-
@browser
|
|
9
|
+
@browser = browser
|
|
10
10
|
@bosh_product_form_section = BoshProductFormSection.new(@browser, 'network_collection[networks_attributes][0]')
|
|
11
11
|
end
|
|
12
12
|
|
|
@@ -2,20 +2,20 @@ module OpsManagerUiDrivers
|
|
|
2
2
|
module Version17
|
|
3
3
|
module BoshProductSections
|
|
4
4
|
class Subnet
|
|
5
|
-
FLASH_MESSAGE_CLASS
|
|
5
|
+
FLASH_MESSAGE_CLASS = '.flash-message'.freeze
|
|
6
6
|
FLASH_MESSAGE_ERRORS = '.flash-message.error ul.message li'.freeze
|
|
7
7
|
|
|
8
8
|
def initialize(browser:, network_form:)
|
|
9
|
-
@browser
|
|
9
|
+
@browser = browser
|
|
10
10
|
@bosh_product_form_section = BoshProductFormSection.new(@browser, "#{network_form.field_prefix}[subnets][0]")
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def add_subnet(iaas_identifier:, subnet:, dns:, gateway:, reserved_ip_ranges:)
|
|
14
14
|
@bosh_product_form_section.set_fields(
|
|
15
|
-
'iaas_identifier'
|
|
16
|
-
'cidr'
|
|
17
|
-
'dns'
|
|
18
|
-
'gateway'
|
|
15
|
+
'iaas_identifier' => iaas_identifier,
|
|
16
|
+
'cidr' => subnet,
|
|
17
|
+
'dns' => dns,
|
|
18
|
+
'gateway' => gateway,
|
|
19
19
|
'reserved_ip_ranges' => reserved_ip_ranges,
|
|
20
20
|
)
|
|
21
21
|
@bosh_product_form_section.select_all_az_references_on_page
|
|
@@ -3,12 +3,12 @@ module OpsManagerUiDrivers
|
|
|
3
3
|
class JobAzAndNetworkMappingHelper
|
|
4
4
|
def initialize(product_name:, browser:)
|
|
5
5
|
@product_name = product_name
|
|
6
|
-
@browser
|
|
6
|
+
@browser = browser
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
SINGLETON_AVAILABILITY_ZONE_INPUT_SELECTOR = "input[name='product[singleton_availability_zone_reference]']"
|
|
10
|
-
AVAILABILITY_ZONE_INPUT_SELECTOR
|
|
11
|
-
NETWORK_FIELD_NAME
|
|
10
|
+
AVAILABILITY_ZONE_INPUT_SELECTOR = "input[name='product[availability_zone_references][]']"
|
|
11
|
+
NETWORK_FIELD_NAME = "product_network_reference"
|
|
12
12
|
|
|
13
13
|
def assign_azs_and_network(singleton_availability_zone: nil, availability_zones: [], network:)
|
|
14
14
|
open_form
|
|
@@ -2,27 +2,27 @@ module OpsManagerUiDrivers
|
|
|
2
2
|
module Version17
|
|
3
3
|
class OpsManagerDirector
|
|
4
4
|
def initialize(browser:, iaas_configuration: Version17::BoshProductSections::IaasConfiguration.new(browser: browser))
|
|
5
|
-
@browser
|
|
5
|
+
@browser = browser
|
|
6
6
|
@iaas_configuration = iaas_configuration
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
def configure_bosh_product(test_settings)
|
|
10
10
|
configure_iaas(test_settings)
|
|
11
11
|
|
|
12
|
-
config_director(test_settings.ops_manager)
|
|
12
|
+
config_director(test_settings.dig('ops_manager'))
|
|
13
13
|
|
|
14
|
-
add_availability_zones(test_settings.iaas_type, test_settings.ops_manager
|
|
14
|
+
add_availability_zones(test_settings.dig('iaas_type'), test_settings.dig('ops_manager', 'availability_zones'))
|
|
15
15
|
|
|
16
16
|
add_networks(test_settings)
|
|
17
17
|
|
|
18
|
-
assign_azs_and_networks(test_settings.iaas_type, test_settings.ops_manager
|
|
18
|
+
assign_azs_and_networks(test_settings.dig('iaas_type'), test_settings.dig('ops_manager', 'availability_zones'), test_settings.dig('ops_manager'))
|
|
19
19
|
|
|
20
|
-
configure_experimental_features(test_settings.ops_manager
|
|
20
|
+
configure_experimental_features(test_settings.dig('ops_manager', 'experimental_features'))
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def configure_iaas(test_settings)
|
|
24
|
-
iaas_settings
|
|
25
|
-
iaas_specific_fields
|
|
24
|
+
iaas_settings = Settings.for(test_settings)
|
|
25
|
+
iaas_specific_fields = iaas_settings.iaas_configuration_fields
|
|
26
26
|
advanced_infrastructure_config_fields = iaas_settings.advanced_infrastructure_config_fields
|
|
27
27
|
iaas_configuration.fill_iaas_settings(iaas_specific_fields)
|
|
28
28
|
advanced_infrastructure_config.fill_advanced_infrastructure_config_settings(advanced_infrastructure_config_fields)
|
|
@@ -41,16 +41,16 @@ module OpsManagerUiDrivers
|
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def add_networks(test_settings)
|
|
44
|
-
iaas_networks = test_settings.ops_manager
|
|
44
|
+
iaas_networks = test_settings.dig('ops_manager', 'networks')
|
|
45
45
|
|
|
46
46
|
iaas_networks && iaas_networks.each do |network|
|
|
47
47
|
networks.add_network(
|
|
48
|
-
name:
|
|
48
|
+
name: network['name'],
|
|
49
49
|
iaas_network_identifier: network['identifier'],
|
|
50
|
-
subnet:
|
|
51
|
-
reserved_ip_ranges:
|
|
52
|
-
dns:
|
|
53
|
-
gateway:
|
|
50
|
+
subnet: network['subnet'],
|
|
51
|
+
reserved_ip_ranges: network['reserved_ips'],
|
|
52
|
+
dns: network['dns'],
|
|
53
|
+
gateway: network['gateway'],
|
|
54
54
|
)
|
|
55
55
|
end
|
|
56
56
|
end
|
|
@@ -61,10 +61,10 @@ module OpsManagerUiDrivers
|
|
|
61
61
|
|
|
62
62
|
def config_director(ops_manager)
|
|
63
63
|
browser.click_on 'Director Config'
|
|
64
|
-
browser.fill_in('director_configuration[ntp_servers_string]', with: ops_manager.ntp_servers)
|
|
65
|
-
browser.check('Enable VM Resurrector Plugin') if ops_manager.resurrector_enabled
|
|
64
|
+
browser.fill_in('director_configuration[ntp_servers_string]', with: ops_manager.dig('ntp_servers'))
|
|
65
|
+
browser.check('Enable VM Resurrector Plugin') if ops_manager.dig('resurrector_enabled')
|
|
66
66
|
|
|
67
|
-
s3_blobstore = ops_manager.s3_blobstore
|
|
67
|
+
s3_blobstore = ops_manager.dig('s3_blobstore')
|
|
68
68
|
if s3_blobstore
|
|
69
69
|
browser.choose('S3 Compatible Blobstore')
|
|
70
70
|
browser.fill_in('director_configuration[s3_blobstore_options][endpoint]', with: s3_blobstore.endpoint)
|
|
@@ -73,7 +73,7 @@ module OpsManagerUiDrivers
|
|
|
73
73
|
browser.fill_in('director_configuration[s3_blobstore_options][secret_key]', with: s3_blobstore.secret_access_key)
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
-
mysql = ops_manager.mysql
|
|
76
|
+
mysql = ops_manager.dig('mysql')
|
|
77
77
|
if mysql
|
|
78
78
|
browser.choose('External MySQL Database')
|
|
79
79
|
browser.fill_in('director_configuration[external_database_options][host]', with: mysql.host)
|
|
@@ -90,15 +90,15 @@ module OpsManagerUiDrivers
|
|
|
90
90
|
case iaas_type
|
|
91
91
|
when OpsManagerUiDrivers::AWS_IAAS_TYPE, OpsManagerUiDrivers::OPENSTACK_IAAS_TYPE
|
|
92
92
|
browser.click_on 'Assign AZs and Networks'
|
|
93
|
-
browser.select(ops_manager.networks
|
|
93
|
+
browser.select(ops_manager.dig('networks', 0, 'name'), from: 'Network')
|
|
94
94
|
browser.select(iaas_availability_zones.first['iaas_identifier'])
|
|
95
95
|
when OpsManagerUiDrivers::VSPHERE_IAAS_TYPE
|
|
96
96
|
browser.click_on 'Assign AZs and Networks'
|
|
97
|
-
browser.select(ops_manager.networks
|
|
97
|
+
browser.select(ops_manager.dig('networks', 0, 'name'), from: 'Network')
|
|
98
98
|
browser.select(iaas_availability_zones.first['name'])
|
|
99
99
|
when OpsManagerUiDrivers::VCLOUD_IAAS_TYPE
|
|
100
100
|
browser.click_on 'Assign Networks'
|
|
101
|
-
browser.select(ops_manager.networks
|
|
101
|
+
browser.select(ops_manager.dig('networks', 0, 'name'), from: 'Network')
|
|
102
102
|
end
|
|
103
103
|
browser.click_on 'Save'
|
|
104
104
|
end
|
|
@@ -118,7 +118,7 @@ module OpsManagerUiDrivers
|
|
|
118
118
|
def configure_experimental_features(experimental_features)
|
|
119
119
|
browser.click_on 'Experimental Features'
|
|
120
120
|
|
|
121
|
-
trusted_certificates = experimental_features ? experimental_features.trusted_certificates : ''
|
|
121
|
+
trusted_certificates = experimental_features ? experimental_features.dig('trusted_certificates') : ''
|
|
122
122
|
|
|
123
123
|
browser.fill_in('experimental_features[trusted_certificates]', with: trusted_certificates)
|
|
124
124
|
end
|
|
@@ -3,6 +3,10 @@ require 'ops_manager_ui_drivers/version16/product_dashboard'
|
|
|
3
3
|
module OpsManagerUiDrivers
|
|
4
4
|
module Version17
|
|
5
5
|
class ProductDashboard < Version16::ProductDashboard
|
|
6
|
+
def import_installation_file(_file_path)
|
|
7
|
+
fail('Importing is no longer supported via the Product Dashboard. See Version17::Setup#import_installation_file')
|
|
8
|
+
end
|
|
9
|
+
|
|
6
10
|
def product_available?(product_name, product_version)
|
|
7
11
|
open_dashboard
|
|
8
12
|
browser.all("li.#{product_name} input#product_version[value='#{product_version}']", {visible: false}).any?
|
|
@@ -2,9 +2,9 @@ module OpsManagerUiDrivers
|
|
|
2
2
|
module Version17
|
|
3
3
|
class ProductForm
|
|
4
4
|
def initialize(browser:, product_name:, form_name:)
|
|
5
|
-
@browser
|
|
5
|
+
@browser = browser
|
|
6
6
|
@product_name = product_name
|
|
7
|
-
@form_name
|
|
7
|
+
@form_name = form_name
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def property(property_reference)
|
|
@@ -2,9 +2,11 @@ module OpsManagerUiDrivers
|
|
|
2
2
|
module Version17
|
|
3
3
|
module Settings
|
|
4
4
|
def self.for(test_settings)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
iaas_type = test_settings.dig('iaas_type')
|
|
6
|
+
settings_class =
|
|
7
|
+
[Vcloud, Vsphere, AWS, OpenStack].find do |klass|
|
|
8
|
+
klass.works_with?(iaas_type)
|
|
9
|
+
end or fail("Unsupported IaaS: #{iaas_type.inspect}")
|
|
8
10
|
settings_class.new(test_settings)
|
|
9
11
|
end
|
|
10
12
|
|
|
@@ -19,18 +21,18 @@ module OpsManagerUiDrivers
|
|
|
19
21
|
|
|
20
22
|
def iaas_configuration_fields
|
|
21
23
|
{
|
|
22
|
-
'vcd_url' => test_settings.ops_manager
|
|
23
|
-
'organization' => test_settings.ops_manager
|
|
24
|
-
'vcd_username' => test_settings.ops_manager
|
|
25
|
-
'vcd_password' => test_settings.ops_manager
|
|
26
|
-
'datacenter' => test_settings.ops_manager
|
|
27
|
-
'storage_profile' => test_settings.ops_manager
|
|
28
|
-
'catalog_name' => test_settings.ops_manager
|
|
24
|
+
'vcd_url' => test_settings.dig('ops_manager', 'vcloud', 'creds', 'url'),
|
|
25
|
+
'organization' => test_settings.dig('ops_manager', 'vcloud', 'creds', 'organization'),
|
|
26
|
+
'vcd_username' => test_settings.dig('ops_manager', 'vcloud', 'creds', 'user'),
|
|
27
|
+
'vcd_password' => test_settings.dig('ops_manager', 'vcloud', 'creds', 'password'),
|
|
28
|
+
'datacenter' => test_settings.dig('ops_manager', 'vcloud', 'vdc', 'name'),
|
|
29
|
+
'storage_profile' => test_settings.dig('ops_manager', 'vcloud', 'vdc', 'storage_profile'),
|
|
30
|
+
'catalog_name' => test_settings.dig('ops_manager', 'vcloud', 'vdc', 'catalog_name'),
|
|
29
31
|
}
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
def advanced_infrastructure_config_fields
|
|
33
|
-
{
|
|
35
|
+
{}
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
private
|
|
@@ -49,20 +51,20 @@ module OpsManagerUiDrivers
|
|
|
49
51
|
|
|
50
52
|
def iaas_configuration_fields
|
|
51
53
|
{
|
|
52
|
-
'vcenter_ip' => test_settings.ops_manager
|
|
53
|
-
'vcenter_username' => test_settings.ops_manager
|
|
54
|
-
'vcenter_password' => test_settings.ops_manager
|
|
55
|
-
'datacenter' => test_settings.ops_manager
|
|
56
|
-
'ephemeral_datastores_string' => test_settings.ops_manager
|
|
57
|
-
'persistent_datastores_string' => test_settings.ops_manager
|
|
58
|
-
'bosh_vm_folder' => test_settings.ops_manager
|
|
59
|
-
'bosh_template_folder' => test_settings.ops_manager
|
|
60
|
-
'bosh_disk_path' => test_settings.ops_manager
|
|
54
|
+
'vcenter_ip' => test_settings.dig('ops_manager', 'vcenter', 'creds', 'ip'),
|
|
55
|
+
'vcenter_username' => test_settings.dig('ops_manager', 'vcenter', 'creds', 'username'),
|
|
56
|
+
'vcenter_password' => test_settings.dig('ops_manager', 'vcenter', 'creds', 'password'),
|
|
57
|
+
'datacenter' => test_settings.dig('ops_manager', 'vcenter', 'datacenter'),
|
|
58
|
+
'ephemeral_datastores_string' => test_settings.dig('ops_manager', 'vcenter', 'ephemeral_datastore'),
|
|
59
|
+
'persistent_datastores_string' => test_settings.dig('ops_manager', 'vcenter', 'persistent_datastore'),
|
|
60
|
+
'bosh_vm_folder' => test_settings.dig('ops_manager', 'vcenter', 'bosh_vm_folder'),
|
|
61
|
+
'bosh_template_folder' => test_settings.dig('ops_manager', 'vcenter', 'bosh_template_folder'),
|
|
62
|
+
'bosh_disk_path' => test_settings.dig('ops_manager', 'vcenter', 'bosh_disk_path'),
|
|
61
63
|
}
|
|
62
64
|
end
|
|
63
65
|
|
|
64
66
|
def advanced_infrastructure_config_fields
|
|
65
|
-
{
|
|
67
|
+
{}
|
|
66
68
|
end
|
|
67
69
|
|
|
68
70
|
private
|
|
@@ -81,19 +83,19 @@ module OpsManagerUiDrivers
|
|
|
81
83
|
|
|
82
84
|
def iaas_configuration_fields
|
|
83
85
|
{
|
|
84
|
-
'access_key_id' => test_settings.ops_manager
|
|
85
|
-
'secret_access_key' => test_settings.ops_manager
|
|
86
|
-
'vpc_id' => test_settings.ops_manager
|
|
87
|
-
'security_group' => test_settings.ops_manager
|
|
88
|
-
'key_pair_name' => test_settings.ops_manager
|
|
89
|
-
'ssh_private_key' => test_settings.ops_manager
|
|
90
|
-
'region' => test_settings.ops_manager
|
|
91
|
-
'encrypted' => test_settings.ops_manager
|
|
86
|
+
'access_key_id' => test_settings.dig('ops_manager', 'aws', 'aws_access_key'),
|
|
87
|
+
'secret_access_key' => test_settings.dig('ops_manager', 'aws', 'aws_secret_key'),
|
|
88
|
+
'vpc_id' => test_settings.dig('ops_manager', 'aws', 'vpc_id'),
|
|
89
|
+
'security_group' => test_settings.dig('ops_manager', 'aws', 'security_group'),
|
|
90
|
+
'key_pair_name' => test_settings.dig('ops_manager', 'aws', 'key_pair_name'),
|
|
91
|
+
'ssh_private_key' => test_settings.dig('ops_manager', 'aws', 'ssh_key'),
|
|
92
|
+
'region' => test_settings.dig('ops_manager', 'aws', 'region'),
|
|
93
|
+
'encrypted' => test_settings.dig('ops_manager', 'aws', 'encrypt_disk'),
|
|
92
94
|
}
|
|
93
95
|
end
|
|
94
96
|
|
|
95
97
|
def advanced_infrastructure_config_fields
|
|
96
|
-
{
|
|
98
|
+
{}
|
|
97
99
|
end
|
|
98
100
|
|
|
99
101
|
private
|
|
@@ -112,20 +114,20 @@ module OpsManagerUiDrivers
|
|
|
112
114
|
|
|
113
115
|
def iaas_configuration_fields
|
|
114
116
|
{
|
|
115
|
-
'identity_endpoint' => test_settings.ops_manager
|
|
116
|
-
'username' => test_settings.ops_manager
|
|
117
|
-
'password' => test_settings.ops_manager
|
|
118
|
-
'tenant' => test_settings.ops_manager
|
|
119
|
-
'security_group' => test_settings.ops_manager
|
|
120
|
-
'key_pair_name' => test_settings.ops_manager
|
|
121
|
-
'ssh_private_key' => test_settings.ops_manager
|
|
122
|
-
'region' => test_settings.ops_manager
|
|
123
|
-
'disable_dhcp' => test_settings.ops_manager
|
|
117
|
+
'identity_endpoint' => test_settings.dig('ops_manager', 'openstack', 'identity_endpoint'),
|
|
118
|
+
'username' => test_settings.dig('ops_manager', 'openstack', 'username'),
|
|
119
|
+
'password' => test_settings.dig('ops_manager', 'openstack', 'password'),
|
|
120
|
+
'tenant' => test_settings.dig('ops_manager', 'openstack', 'tenant'),
|
|
121
|
+
'security_group' => test_settings.dig('ops_manager', 'openstack', 'security_group_name'),
|
|
122
|
+
'key_pair_name' => test_settings.dig('ops_manager', 'openstack', 'key_pair_name'),
|
|
123
|
+
'ssh_private_key' => test_settings.dig('ops_manager', 'openstack', 'ssh_private_key'),
|
|
124
|
+
'region' => test_settings.dig('ops_manager', 'openstack', 'region'),
|
|
125
|
+
'disable_dhcp' => test_settings.dig('ops_manager', 'openstack', 'disable_dhcp'),
|
|
124
126
|
}
|
|
125
127
|
end
|
|
126
128
|
|
|
127
129
|
def advanced_infrastructure_config_fields
|
|
128
|
-
{
|
|
130
|
+
{'connection_options' => test_settings.dig('ops_manager', 'openstack', 'connection_options')}
|
|
129
131
|
end
|
|
130
132
|
|
|
131
133
|
private
|
|
@@ -3,6 +3,16 @@ require 'ops_manager_ui_drivers/version16/setup'
|
|
|
3
3
|
module OpsManagerUiDrivers
|
|
4
4
|
module Version17
|
|
5
5
|
class Setup < Version16::Setup
|
|
6
|
+
def import_installation_file(file_path, decryption_passphrase)
|
|
7
|
+
browser.visit '/import/new'
|
|
8
|
+
|
|
9
|
+
browser.fill_in 'import[passphrase]', with: decryption_passphrase
|
|
10
|
+
browser.attach_file 'import[file]', file_path
|
|
11
|
+
browser.click_on 'Import'
|
|
12
|
+
|
|
13
|
+
browser.poll_up_to_times(20) { browser.assert_text('Successfully imported installation.') }
|
|
14
|
+
end
|
|
15
|
+
|
|
6
16
|
def setup_and_login(user:, password:, decryption_passphrase: password)
|
|
7
17
|
browser.visit '/setup'
|
|
8
18
|
browser.fill_in 'setup[admin_user_name]', with: user, wait: 4
|
|
@@ -19,7 +19,7 @@ module OpsManagerUiDrivers
|
|
|
19
19
|
def errand_ran_with_text?(errand_name)
|
|
20
20
|
{
|
|
21
21
|
errand_ran: errand_ran?(errand_name),
|
|
22
|
-
output:
|
|
22
|
+
output: browser.find('#install-output .output', {visible: false}).text(:all),
|
|
23
23
|
}
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -50,7 +50,7 @@ module OpsManagerUiDrivers
|
|
|
50
50
|
|
|
51
51
|
def job_azs_and_network_mapping_for(product_name)
|
|
52
52
|
Version17::JobAzAndNetworkMappingHelper.new(
|
|
53
|
-
browser:
|
|
53
|
+
browser: browser,
|
|
54
54
|
product_name: product_name,
|
|
55
55
|
)
|
|
56
56
|
end
|
|
@@ -59,13 +59,13 @@ module OpsManagerUiDrivers
|
|
|
59
59
|
zones_present = zones && zones.first
|
|
60
60
|
job_azs_and_network_mapping_for(product_name).assign_azs_and_network(
|
|
61
61
|
singleton_availability_zone: zones_present ? zones[0]['name'] : nil,
|
|
62
|
-
availability_zones:
|
|
63
|
-
network:
|
|
62
|
+
availability_zones: zones_present ? zones.map { |z| z['name'] } : [],
|
|
63
|
+
network: network
|
|
64
64
|
)
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def current_time
|
|
68
|
-
uri
|
|
68
|
+
uri = URI(Capybara.app_host)
|
|
69
69
|
uri.path = '/'
|
|
70
70
|
Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https'), verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
|
|
71
71
|
response = http.request(Net::HTTP::Get.new(uri))
|
|
@@ -5,8 +5,8 @@ Dir[File.join(__dir__, '**', '*.rb')].each do |ops_manager_ui_drivers|
|
|
|
5
5
|
end
|
|
6
6
|
|
|
7
7
|
module OpsManagerUiDrivers
|
|
8
|
-
AWS_IAAS_TYPE
|
|
8
|
+
AWS_IAAS_TYPE = 'aws'.freeze
|
|
9
9
|
OPENSTACK_IAAS_TYPE = 'openstack'.freeze
|
|
10
|
-
VCLOUD_IAAS_TYPE
|
|
11
|
-
VSPHERE_IAAS_TYPE
|
|
10
|
+
VCLOUD_IAAS_TYPE = 'vcloud'.freeze
|
|
11
|
+
VSPHERE_IAAS_TYPE = 'vsphere'.freeze
|
|
12
12
|
end
|
|
@@ -4,14 +4,14 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
require 'ops_manager_ui_drivers/version'
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name
|
|
8
|
-
spec.version
|
|
9
|
-
spec.authors
|
|
10
|
-
spec.email
|
|
7
|
+
spec.name = 'ops_manager_ui_drivers'
|
|
8
|
+
spec.version = OpsManagerUiDrivers::VERSION
|
|
9
|
+
spec.authors = ['Pivotal, Inc.']
|
|
10
|
+
spec.email = ['cf-tempest-eng+ops_manager_ui_drivers@pivotal.io']
|
|
11
11
|
|
|
12
|
-
spec.summary
|
|
13
|
-
spec.homepage
|
|
14
|
-
spec.license
|
|
12
|
+
spec.summary = %q{Capybara helpers for configuring Pivotal Ops Manager}
|
|
13
|
+
spec.homepage = 'https://github.com/pivotal-cf-experimental/ops_manager_ui_drivers'
|
|
14
|
+
spec.license = 'Apache 2.0'
|
|
15
15
|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
17
17
|
spec.bindir = 'exe'
|
|
@@ -30,5 +30,4 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_development_dependency 'rake'
|
|
31
31
|
spec.add_development_dependency 'rubocop'
|
|
32
32
|
spec.add_development_dependency 'rspec'
|
|
33
|
-
spec.add_development_dependency 'recursive-open-struct'
|
|
34
33
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ops_manager_ui_drivers
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pivotal, Inc.
|
|
@@ -164,20 +164,6 @@ dependencies:
|
|
|
164
164
|
- - ">="
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
166
|
version: '0'
|
|
167
|
-
- !ruby/object:Gem::Dependency
|
|
168
|
-
name: recursive-open-struct
|
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
|
170
|
-
requirements:
|
|
171
|
-
- - ">="
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '0'
|
|
174
|
-
type: :development
|
|
175
|
-
prerelease: false
|
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
-
requirements:
|
|
178
|
-
- - ">="
|
|
179
|
-
- !ruby/object:Gem::Version
|
|
180
|
-
version: '0'
|
|
181
167
|
description:
|
|
182
168
|
email:
|
|
183
169
|
- cf-tempest-eng+ops_manager_ui_drivers@pivotal.io
|
|
@@ -187,6 +173,7 @@ extra_rdoc_files: []
|
|
|
187
173
|
files:
|
|
188
174
|
- ".gitignore"
|
|
189
175
|
- ".rspec"
|
|
176
|
+
- ".ruby-version"
|
|
190
177
|
- ".travis.yml"
|
|
191
178
|
- Gemfile
|
|
192
179
|
- LICENSE
|