Class: Chef::Licensing
- Inherits:
-
Object
show all
- Defined in:
- lib/chef/licensing.rb
Defined Under Namespace
Classes: EntitlementError
Class Method Summary
collapse
Class Method Details
.check_software_entitlement! ⇒ Object
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/chef/licensing.rb', line 26
def check_software_entitlement!
Chef::Log.info "Checking software entitlement..."
ChefLicensing.check_software_entitlement!
rescue ChefLicensing::SoftwareNotEntitled
Chef::Log.error "License is not entitled to use Chef Infra."
Chef::Application.exit! "License not entitled", 173
rescue ChefLicensing::Error => e
Chef::Log.error e.message
Chef::Application.exit! "Usage error", 1
end
|
.check_software_entitlement_compliance_phase! ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/chef/licensing.rb', line 37
def check_software_entitlement_compliance_phase!
Chef::Log.info "Checking software entitlement for compliance phase..."
ChefLicensing::Config.chef_entitlement_id = Chef::LicensingConfig::COMPLIANCE_ENTITLEMENT_ID
ChefLicensing.check_software_entitlement!
rescue ChefLicensing::SoftwareNotEntitled
raise EntitlementError, "License not entitled"
rescue ChefLicensing::Error => e
Chef::Log.error e.message
Chef::Application.exit! "Usage error", 1
ensure
ChefLicensing::Config.chef_entitlement_id = Chef::LicensingConfig::INFRA_ENTITLEMENT_ID
end
|
.fetch_and_persist ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/chef/licensing.rb', line 8
def fetch_and_persist
if ENV["TEST_KITCHEN"]
puts "Temporarily bypassing licensing check in Kitchen"
else
Chef::Log.info "Fetching and persisting license..."
license_keys = ChefLicensing.fetch_and_persist
end
rescue ChefLicensing::LicenseKeyFetcher::LicenseKeyNotFetchedError
Chef::Log.error "Chef Infra cannot execute without valid licenses."
Chef::Application.exit! "License not set", 174
rescue ChefLicensing::SoftwareNotEntitled
Chef::Log.error "License is not entitled to use Chef Infra."
Chef::Application.exit! "License not entitled", 173
rescue ChefLicensing::Error => e
Chef::Log.error e.message
Chef::Application.exit! "Usage error", 1
end
|
.license_add ⇒ Object
84
85
86
87
88
89
90
91
92
|
# File 'lib/chef/licensing.rb', line 84
def license_add
ChefLicensing.add_license
rescue ChefLicensing::LicenseKeyFetcher::LicenseKeyAddNotAllowed => e
Chef::Log.error e.message
Chef::Application.exit! "License not set", 174
rescue ChefLicensing::Error => e
Chef::Log.error e.message
Chef::Application.exit! "Usage error", 1
end
|
.license_list ⇒ Object
77
78
79
80
81
82
|
# File 'lib/chef/licensing.rb', line 77
def license_list
ChefLicensing.list_license_keys_info
rescue ChefLicensing::Error => e
Chef::Log.error e.message
Chef::Application.exit! "Usage error", 1
end
|
.licensing_help ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/chef/licensing.rb', line 52
def licensing_help
"\n Chef Infra has three tiers of licensing:\n\n * Free-Tier\n Users are limited to audit maximum of 10 nodes\n Entitled for personal or non-commercial use\n\n * Trial\n Entitled for unlimited number of nodes\n Entitled for 30 days only\n Entitled for commercial use\n\n * Commercial\n Entitled for purchased number of nodes\n Entitled for period of subscription purchased\n Entitled for commercial use\n\n For more information please visit:\n www.chef.io/licensing/faqs\n\n FOOTER\nend\n"
|