hammer_cli_csv 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/config/cli_config.yml +9 -24
- data/lib/hammer_cli_csv/activation_keys.rb +220 -95
- data/lib/hammer_cli_csv/architectures.rb +7 -11
- data/lib/hammer_cli_csv/base.rb +67 -41
- data/lib/hammer_cli_csv/compute_profiles.rb +11 -15
- data/lib/hammer_cli_csv/compute_resources.rb +11 -15
- data/lib/hammer_cli_csv/containers.rb +10 -12
- data/lib/hammer_cli_csv/content_hosts.rb +285 -203
- data/lib/hammer_cli_csv/content_view_filters.rb +32 -36
- data/lib/hammer_cli_csv/content_views.rb +33 -37
- data/lib/hammer_cli_csv/csv.rb +17 -1
- data/lib/hammer_cli_csv/domains.rb +15 -19
- data/lib/hammer_cli_csv/export.rb +13 -5
- data/lib/hammer_cli_csv/host_collections.rb +20 -22
- data/lib/hammer_cli_csv/host_groups.rb +73 -65
- data/lib/hammer_cli_csv/hosts.rb +30 -34
- data/lib/hammer_cli_csv/import.rb +24 -10
- data/lib/hammer_cli_csv/installation_media.rb +74 -0
- data/lib/hammer_cli_csv/job_templates.rb +37 -41
- data/lib/hammer_cli_csv/lifecycle_environments.rb +15 -19
- data/lib/hammer_cli_csv/locations.rb +4 -6
- data/lib/hammer_cli_csv/operating_systems.rb +17 -21
- data/lib/hammer_cli_csv/organizations.rb +11 -13
- data/lib/hammer_cli_csv/partition_tables.rb +17 -21
- data/lib/hammer_cli_csv/products.rb +200 -92
- data/lib/hammer_cli_csv/provisioning_templates.rb +19 -23
- data/lib/hammer_cli_csv/puppet_environments.rb +8 -12
- data/lib/hammer_cli_csv/puppet_facts.rb +20 -24
- data/lib/hammer_cli_csv/puppet_reports.rb +47 -51
- data/lib/hammer_cli_csv/reports.rb +6 -10
- data/lib/hammer_cli_csv/roles.rb +12 -16
- data/lib/hammer_cli_csv/settings.rb +8 -6
- data/lib/hammer_cli_csv/smart_proxies.rb +9 -13
- data/lib/hammer_cli_csv/splice.rb +1 -3
- data/lib/hammer_cli_csv/subnets.rb +24 -28
- data/lib/hammer_cli_csv/subscriptions.rb +39 -91
- data/lib/hammer_cli_csv/sync_plans.rb +20 -24
- data/lib/hammer_cli_csv/users.rb +25 -29
- data/lib/hammer_cli_csv/utils/subscriptions.rb +130 -0
- data/lib/hammer_cli_csv/version.rb +1 -1
- data/lib/hammer_cli_csv.rb +2 -2
- data/test/csv_test.rb +32 -0
- data/test/csv_test_helper.rb +17 -2
- data/test/data/content-hosts.csv +3 -2
- data/test/data/hosts.csv +0 -11
- data/test/data/settings.csv +1 -0
- data/test/data/setup/content-hosts.csv +1 -0
- data/test/data/setup/content-views.csv +2 -0
- data/test/data/setup/lifecycle-environments.csv +5 -0
- data/test/data/setup/locations.csv +6 -0
- data/test/data/setup/organizations.csv +2 -0
- data/test/data/setup/subscriptions.csv +5 -0
- data/test/data/subscriptions.csv +15 -17
- data/test/export_test.rb +27 -0
- data/test/fixtures/vcr_cassettes/apipie.yml +18528 -0
- data/test/fixtures/vcr_cassettes/resources/activation_keys_import/create_and_update.yml +38033 -0
- data/test/fixtures/vcr_cassettes/resources/content_hosts_export/export.yml +18846 -0
- data/test/fixtures/vcr_cassettes/resources/content_hosts_export/export_subscriptions.yml +323 -0
- data/test/fixtures/vcr_cassettes/resources/content_hosts_import/create_and_update.yml +41884 -0
- data/test/fixtures/vcr_cassettes/resources/content_hosts_import/import_single_line.yml +38248 -0
- data/test/fixtures/vcr_cassettes/resources/settings_import/update_settings.yml +18832 -0
- data/test/fixtures/vcr_cassettes/resources/settings_import/update_settings_continue.yml +316 -0
- data/test/fixtures/vcr_cassettes/resources/subscriptions_import/manifest_does_not_exist.yml +18785 -0
- data/test/fixtures/vcr_cassettes/setup/setup_content_views/setup.yml +19090 -0
- data/test/fixtures/vcr_cassettes/setup/setup_lifecycle_environments/setup.yml +924 -0
- data/test/fixtures/vcr_cassettes/setup/setup_locations/setup.yml +21102 -0
- data/test/fixtures/vcr_cassettes/setup/setup_organizations/setup.yml +19278 -0
- data/test/fixtures/vcr_cassettes/setup/setup_subscriptions/setup.yml +419 -0
- data/test/import_test.rb +20 -25
- data/test/resources/activation_keys_test.rb +72 -0
- data/test/resources/content_hosts_test.rb +132 -0
- data/test/resources/settings_test.rb +81 -0
- data/test/resources/subscriptions_test.rb +56 -0
- data/test/setup/setup_content_views.rb +17 -0
- data/test/setup/setup_lifecycle_environments.rb +17 -0
- data/test/setup/setup_locations.rb +17 -0
- data/test/setup/setup_organizations.rb +17 -0
- data/test/setup/setup_subscriptions.rb +20 -0
- data/test/setup/setup_test.rb +10 -0
- data/test/test_runner.rb +175 -0
- data/test/vcr_setup.rb +54 -0
- metadata +77 -13
- data/lib/hammer_cli_csv/exception_handler.rb +0 -42
- data/lib/hammer_cli_csv/installation_medias.rb +0 -77
- data/test/content_hosts_test.rb +0 -61
- data/test/settings_test.rb +0 -30
data/lib/hammer_cli_csv.rb
CHANGED
@@ -6,7 +6,7 @@ module HammerCLICsv
|
|
6
6
|
require 'hammer_cli_foreman_tasks'
|
7
7
|
|
8
8
|
require 'hammer_cli_csv/base'
|
9
|
-
require 'hammer_cli_csv/
|
9
|
+
require 'hammer_cli_csv/utils/subscriptions'
|
10
10
|
|
11
11
|
require 'hammer_cli_csv/csv'
|
12
12
|
require 'hammer_cli_csv/activation_keys'
|
@@ -23,7 +23,7 @@ module HammerCLICsv
|
|
23
23
|
require 'hammer_cli_csv/hosts'
|
24
24
|
require 'hammer_cli_csv/host_groups'
|
25
25
|
require 'hammer_cli_csv/import'
|
26
|
-
require 'hammer_cli_csv/
|
26
|
+
require 'hammer_cli_csv/installation_media'
|
27
27
|
require 'hammer_cli_csv/job_templates'
|
28
28
|
require 'hammer_cli_csv/lifecycle_environments'
|
29
29
|
require 'hammer_cli_csv/locations'
|
data/test/csv_test.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'csv_test_helper')
|
2
|
+
|
3
|
+
describe 'csv' do
|
4
|
+
extend CommandTestHelper
|
5
|
+
|
6
|
+
context "help" do
|
7
|
+
it "displays supported options" do
|
8
|
+
set_user 'admin'
|
9
|
+
|
10
|
+
stdout,stderr = capture {
|
11
|
+
hammer.run(%W{csv --help})
|
12
|
+
}
|
13
|
+
stderr.must_equal ''
|
14
|
+
stdout.must_equal <<-HELP
|
15
|
+
Usage:
|
16
|
+
csv [OPTIONS] SUBCOMMAND [ARG] ...
|
17
|
+
|
18
|
+
Parameters:
|
19
|
+
SUBCOMMAND subcommand
|
20
|
+
[ARG] ... subcommand arguments
|
21
|
+
|
22
|
+
Subcommands:
|
23
|
+
export export into directory
|
24
|
+
import import by directory
|
25
|
+
settings import or export settings
|
26
|
+
|
27
|
+
Options:
|
28
|
+
-h, --help print help
|
29
|
+
HELP
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/test/csv_test_helper.rb
CHANGED
@@ -16,14 +16,16 @@ require 'minitest/spec'
|
|
16
16
|
require "minitest-spec-context"
|
17
17
|
require "mocha/setup"
|
18
18
|
|
19
|
+
require './test/test_runner'
|
20
|
+
|
19
21
|
require 'hammer_cli'
|
20
22
|
require 'hammer_cli_foreman/commands'
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
+
VCR.insert_cassette("apipie", {})
|
24
25
|
require 'hammer_cli_csv'
|
25
26
|
require 'hammer_cli_foreman'
|
26
27
|
require 'hammer_cli_katello'
|
28
|
+
VCR.eject_cassette
|
27
29
|
|
28
30
|
module HammerCLIForeman
|
29
31
|
def self.clear_credentials
|
@@ -88,6 +90,19 @@ def set_user(username, password='changeme')
|
|
88
90
|
})
|
89
91
|
end
|
90
92
|
|
93
|
+
def host_delete(hostname)
|
94
|
+
stdout,stderr = capture {
|
95
|
+
hammer.run(%W(host list --search #{hostname}))
|
96
|
+
}
|
97
|
+
lines = stdout.split("\n")
|
98
|
+
if lines.length == 5
|
99
|
+
id = stdout.split("\n")[3].split(" ")[0]
|
100
|
+
stdout,stderr = capture {
|
101
|
+
hammer.run(%W(host delete --id #{id}))
|
102
|
+
}
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
91
106
|
require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
|
92
107
|
require File.join(File.dirname(__FILE__), 'helpers/command')
|
93
108
|
require File.join(File.dirname(__FILE__), 'helpers/resource_disabled')
|
data/test/data/content-hosts.csv
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
Name,Count,Organization,Environment,Content View,Host Collections,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions
|
2
|
-
host%d,1,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
|
2
|
+
host%d,1,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server,83|Red Hat Enterprise Linux High Availability (for RHEL Server)",
|
3
3
|
guest%d,4,Mega Corporation,Library,Default Organization View,"Mega Corp HQ,Accounting",Yes,host0,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
|
4
|
-
|
4
|
+
xyz%d,4,Mega Corporation,Library,Default Organization View,"Mega Corp HQ,Accounting",Yes,,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
|
5
|
+
|
data/test/data/hosts.csv
CHANGED
@@ -1,12 +1 @@
|
|
1
1
|
Name,Count,Organization,Location,Puppet Environment,Operating System,Architecture,MAC Address,Domain,Partition Table
|
2
|
-
dhcp130-%03d.megacorp.com,255,Mega Corporation,Asia Pacific,Development,RHEL 6.4,x86_64,"02:FE:B5:E0:70:%02x",megacorp.com,RedHat default
|
3
|
-
dhcp129-%03d.megacorp.com,255,Mega Corporation,Development,RHEL 6.4,x86_64,"01:FE:B5:E0:70:%02x",megacorp.com,RedHat default
|
4
|
-
# dhcp129-1%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.4,x86_64,"01:FE:B5:E1:70:%02x",megacorp.com,RedHat default
|
5
|
-
# dhcp129-2%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.4,x86_64,"01:FE:B5:E2:70:%02x",megacorp.com,RedHat default
|
6
|
-
# dhcp129-3%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.4,x86_64,"01:FE:B5:E3:70:%02x",megacorp.com,RedHat default
|
7
|
-
# dhcp129-4%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E4:83:%02x",megacorp.com,RedHat default
|
8
|
-
# dhcp129-5%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E5:83:%02x",megacorp.com,RedHat default
|
9
|
-
# dhcp129-6%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E6:83:%02x",megacorp.com,RedHat default
|
10
|
-
# dhcp129-7%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E7:83:%02x",megacorp.com,RedHat default
|
11
|
-
# dhcp129-8%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E8:83:%02x",megacorp.com,RedHat default
|
12
|
-
# dhcp129-9%02d.megacorp.com,255,Mega Corporation,Development,RHEL 6.3,x86_64,"01:54:00:E9:83:%02x",megacorp.com,RedHat default
|
data/test/data/settings.csv
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
Name,Organization,Environment,Content View,Host Collections,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions
|
@@ -0,0 +1,5 @@
|
|
1
|
+
Name,Organization,Prior Environment,Description
|
2
|
+
Development,Test Corporation,Library,"Development, automated promotes from Library"
|
3
|
+
Test,Test Corporation,Development,"Test, manual promotions from Development"
|
4
|
+
Production,Test Corporation,Test,"Production, manual promotions from Test"
|
5
|
+
Archive,Test Corporation,Production,"Archive, no longer in Production"
|
@@ -0,0 +1,5 @@
|
|
1
|
+
Name,Organization,Manifest File,Subscription Name,Quantity,Product SKU,Contract Number,Account Number
|
2
|
+
# Manifest Name,Test Corporation,TestCorp
|
3
|
+
# Manifest URL,Test Corporation,https://access.stage.redhat.com/management/distributors/d45ac754-56e8-425e-a6ef-2028953f6f2c
|
4
|
+
# Subscription,Test Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Standard",1,RH00002,10999110,5700573,2016-06-20T04:00:00.000+0000,2017-06-20T03:59:59.000+0000
|
5
|
+
# Subscription,Test Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Premium",1,RH00001,10999116,5700573,2016-06-20T04:00:00.000+0000,2017-06-20T03:59:59.000+0000
|
data/test/data/subscriptions.csv
CHANGED
@@ -1,17 +1,15 @@
|
|
1
|
-
Name,
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (Kickstart),x86_64,7.0
|
17
|
-
|
1
|
+
Name,Organization,Manifest File,Subscription Name,Quantity,Product SKU,Contract Number,Account Number
|
2
|
+
Manifest,Mega Corporation,./test/data/megacorp.zip
|
3
|
+
# Manifest Name,Mega Corporation,MegaCorp
|
4
|
+
# Manifest URL,Mega Corporation,https://access.stage.redhat.com/management/distributors/c319a1d8-4b30-44cd-b2cf-2ccba4b9a8db
|
5
|
+
# Guest Subscription for Host 'host0',Mega Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Standard",Unlimited,RH00002,10999110,5700573
|
6
|
+
# Subscription,Mega Corporation,,"OpenShift Enterprise Premium, 2 Cores",2,MCT2735,10999111,5700573
|
7
|
+
# Subscription,Mega Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Premium",1,RH00001,10999116,5700573
|
8
|
+
# Subscription,Mega Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Standard",1,RH00002,10999110,5700573
|
9
|
+
# Subscription,Mega Corporation,,"Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)",200,RH00004,10999113,5700573
|
10
|
+
# Subscription,Mega Corporation,,High Availability for Unlimited Guests,4,RH00059,10999359,5700573
|
11
|
+
# Subscription,Mega Corporation,,"Red Hat Enterprise Linux Server, Premium (8 sockets) (Up to 4 guests)",4,RH0103708,10999114,5700573
|
12
|
+
# Guest Subscription for Host 'host1',Mega Corporation,,High Availability for Unlimited Guests,Unlimited,RH00059,10999359,5700573
|
13
|
+
# Guest Subscription for Host 'host1',Mega Corporation,,"Red Hat Enterprise Linux for Virtual Datacenters, Premium",Unlimited,RH00001,10999116,5700573
|
14
|
+
# Subscription,Mega Corporation,,Red Hat Satellite,2,MCT0370,10999112,5700573
|
15
|
+
# Subscription,Mega Corporation,,Red Hat Satellite Beta,2,MCT3097,11001608,5700573
|
data/test/export_test.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'csv_test_helper')
|
2
|
+
|
3
|
+
describe 'export' do
|
4
|
+
extend CommandTestHelper
|
5
|
+
|
6
|
+
context "help" do
|
7
|
+
it "displays supported options" do
|
8
|
+
set_user 'admin'
|
9
|
+
|
10
|
+
stdout,stderr = capture {
|
11
|
+
hammer.run(%W{csv export --help})
|
12
|
+
}
|
13
|
+
stderr.must_equal ''
|
14
|
+
stdout.must_equal <<-HELP
|
15
|
+
Usage:
|
16
|
+
csv export [OPTIONS]
|
17
|
+
|
18
|
+
Options:
|
19
|
+
--dir DIRECTORY directory to export to
|
20
|
+
--organization ORGANIZATION Only process organization matching this name
|
21
|
+
--settings FILE csv file for settings
|
22
|
+
-h, --help print help
|
23
|
+
-v, --verbose be verbose
|
24
|
+
HELP
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|