chef-dk 0.13.21 → 0.14.25
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/CONTRIBUTING.md +186 -186
- data/Gemfile +37 -14
- data/Gemfile.lock +178 -72
- data/LICENSE +201 -201
- data/README.md +11 -148
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -27
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +288 -288
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +52 -52
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
- data/acceptance/Gemfile +2 -1
- data/acceptance/Gemfile.lock +39 -42
- data/acceptance/README.md +132 -132
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/trivial/.kitchen.yml +7 -7
- data/acceptance/trivial/test/integration/chefdk-current-install/inspec/chef_client_spec.rb +5 -5
- data/bin/chef +25 -25
- data/lib/chef-dk.rb +19 -19
- data/lib/chef-dk/authenticated_http.rb +40 -40
- data/lib/chef-dk/chef_runner.rb +107 -107
- data/lib/chef-dk/cli.rb +200 -200
- data/lib/chef-dk/command/base.rb +79 -79
- data/lib/chef-dk/command/clean_policy_cookbooks.rb +116 -116
- data/lib/chef-dk/command/clean_policy_revisions.rb +113 -113
- data/lib/chef-dk/command/delete_policy.rb +122 -122
- data/lib/chef-dk/command/delete_policy_group.rb +122 -122
- data/lib/chef-dk/command/diff.rb +316 -316
- data/lib/chef-dk/command/env.rb +90 -90
- data/lib/chef-dk/command/exec.rb +45 -45
- data/lib/chef-dk/command/export.rb +157 -157
- data/lib/chef-dk/command/gem.rb +47 -47
- data/lib/chef-dk/command/generate.rb +120 -120
- data/lib/chef-dk/command/generator_commands.rb +83 -80
- data/lib/chef-dk/command/generator_commands/app.rb +107 -107
- data/lib/chef-dk/command/generator_commands/attribute.rb +37 -37
- data/lib/chef-dk/command/generator_commands/base.rb +148 -148
- data/lib/chef-dk/command/generator_commands/cookbook.rb +153 -153
- data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +100 -100
- data/lib/chef-dk/command/generator_commands/cookbook_file.rb +45 -45
- data/lib/chef-dk/command/generator_commands/generator_generator.rb +177 -177
- data/lib/chef-dk/command/generator_commands/lwrp.rb +36 -36
- data/lib/chef-dk/command/generator_commands/policyfile.rb +127 -127
- data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
- data/lib/chef-dk/command/generator_commands/repo.rb +125 -125
- data/lib/chef-dk/command/generator_commands/template.rb +46 -46
- data/lib/chef-dk/command/install.rb +121 -121
- data/lib/chef-dk/command/provision.rb +438 -438
- data/lib/chef-dk/command/push.rb +118 -118
- data/lib/chef-dk/command/push_archive.rb +126 -126
- data/lib/chef-dk/command/shell_init.rb +180 -180
- data/lib/chef-dk/command/show_policy.rb +165 -165
- data/lib/chef-dk/command/undelete.rb +155 -155
- data/lib/chef-dk/command/update.rb +148 -148
- data/lib/chef-dk/command/verify.rb +106 -29
- data/lib/chef-dk/completions/bash.sh.erb +5 -5
- data/lib/chef-dk/completions/chef.fish.erb +10 -10
- data/lib/chef-dk/completions/zsh.zsh.erb +21 -21
- data/lib/chef-dk/component_test.rb +30 -1
- data/lib/chef-dk/configurable.rb +69 -69
- data/lib/chef-dk/cookbook_metadata.rb +45 -45
- data/lib/chef-dk/cookbook_omnifetch.rb +32 -32
- data/lib/chef-dk/cookbook_profiler/git.rb +151 -151
- data/lib/chef-dk/cookbook_profiler/identifiers.rb +72 -72
- data/lib/chef-dk/cookbook_profiler/null_scm.rb +32 -32
- data/lib/chef-dk/exceptions.rb +129 -129
- data/lib/chef-dk/generator.rb +163 -163
- data/lib/chef-dk/helpers.rb +159 -159
- data/lib/chef-dk/pager.rb +106 -106
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +138 -138
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +54 -54
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +97 -97
- data/lib/chef-dk/policyfile/comparison_base.rb +124 -124
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +154 -154
- data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
- data/lib/chef-dk/policyfile/cookbook_sources.rb +22 -22
- data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +90 -90
- data/lib/chef-dk/policyfile/differ.rb +266 -266
- data/lib/chef-dk/policyfile/dsl.rb +261 -261
- data/lib/chef-dk/policyfile/lister.rb +232 -232
- data/lib/chef-dk/policyfile/null_cookbook_source.rb +45 -45
- data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +124 -124
- data/lib/chef-dk/policyfile/reports/install.rb +70 -70
- data/lib/chef-dk/policyfile/reports/table_printer.rb +58 -58
- data/lib/chef-dk/policyfile/reports/upload.rb +70 -70
- data/lib/chef-dk/policyfile/solution_dependencies.rb +298 -298
- data/lib/chef-dk/policyfile/storage_config.rb +100 -100
- data/lib/chef-dk/policyfile/undo_record.rb +142 -142
- data/lib/chef-dk/policyfile/undo_stack.rb +130 -130
- data/lib/chef-dk/policyfile/uploader.rb +213 -213
- data/lib/chef-dk/policyfile_compiler.rb +419 -419
- data/lib/chef-dk/policyfile_lock.rb +552 -552
- data/lib/chef-dk/policyfile_services/clean_policies.rb +95 -95
- data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +125 -125
- data/lib/chef-dk/policyfile_services/export_repo.rb +421 -421
- data/lib/chef-dk/policyfile_services/install.rb +126 -126
- data/lib/chef-dk/policyfile_services/push.rb +114 -114
- data/lib/chef-dk/policyfile_services/push_archive.rb +204 -204
- data/lib/chef-dk/policyfile_services/rm_policy.rb +142 -142
- data/lib/chef-dk/policyfile_services/rm_policy_group.rb +86 -86
- data/lib/chef-dk/policyfile_services/show_policy.rb +237 -237
- data/lib/chef-dk/policyfile_services/undelete.rb +108 -108
- data/lib/chef-dk/policyfile_services/update_attributes.rb +104 -104
- data/lib/chef-dk/service_exception_inspectors.rb +25 -25
- data/lib/chef-dk/service_exception_inspectors/base.rb +40 -40
- data/lib/chef-dk/service_exception_inspectors/http.rb +121 -121
- data/lib/chef-dk/service_exceptions.rb +143 -143
- data/lib/chef-dk/shell_out.rb +36 -36
- data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +102 -102
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +54 -54
- data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +16 -16
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +28 -28
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +27 -27
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +7 -7
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +58 -58
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/dot-chef-repo.txt +6 -6
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/policies/README.md +24 -24
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/serverspec_spec_helper.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +97 -97
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +12 -12
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +117 -117
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +24 -24
- data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +23 -23
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +27 -27
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +67 -67
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -32
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +3 -3
- data/lib/chef-dk/skeletons/code_generator/templates/default/{LICENSE.apache2.erb → LICENSE.apachev2.erb} +201 -201
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +339 -339
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +674 -674
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +25 -25
- data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -4
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +32 -32
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +7 -7
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +5 -5
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +20 -20
- data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +11 -11
- data/lib/chef-dk/skeletons/code_generator/templates/default/serverspec_default_spec.rb.erb +9 -9
- data/lib/chef-dk/ui.rb +58 -58
- data/lib/chef-dk/version.rb +1 -1
- data/lib/kitchen/provisioner/policyfile_zero.rb +195 -195
- data/omnibus_overrides.rb +19 -11
- data/spec/shared/a_file_generator.rb +125 -125
- data/spec/shared/a_generated_file.rb +12 -12
- data/spec/shared/command_with_ui_object.rb +11 -11
- data/spec/shared/custom_generator_cookbook.rb +130 -130
- data/spec/shared/fixture_cookbook_checksums.rb +47 -47
- data/spec/shared/setup_git_cookbooks.rb +53 -53
- data/spec/spec_helper.rb +51 -51
- data/spec/test_helpers.rb +84 -84
- data/spec/unit/chef_runner_spec.rb +139 -139
- data/spec/unit/cli_spec.rb +357 -357
- data/spec/unit/command/base_spec.rb +173 -169
- data/spec/unit/command/clean_policy_cookbooks_spec.rb +181 -181
- data/spec/unit/command/clean_policy_revisions_spec.rb +181 -181
- data/spec/unit/command/delete_policy_group_spec.rb +207 -207
- data/spec/unit/command/delete_policy_spec.rb +207 -207
- data/spec/unit/command/diff_spec.rb +312 -312
- data/spec/unit/command/env_spec.rb +52 -52
- data/spec/unit/command/exec_spec.rb +179 -179
- data/spec/unit/command/export_spec.rb +200 -200
- data/spec/unit/command/generate_spec.rb +142 -142
- data/spec/unit/command/generator_commands/app_spec.rb +169 -169
- data/spec/unit/command/generator_commands/attribute_spec.rb +32 -32
- data/spec/unit/command/generator_commands/base_spec.rb +136 -136
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +32 -32
- data/spec/unit/command/generator_commands/cookbook_spec.rb +450 -450
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +229 -229
- data/spec/unit/command/generator_commands/lwrp_spec.rb +32 -32
- data/spec/unit/command/generator_commands/policyfile_spec.rb +225 -225
- data/spec/unit/command/generator_commands/recipe_spec.rb +34 -34
- data/spec/unit/command/generator_commands/repo_spec.rb +374 -367
- data/spec/unit/command/generator_commands/template_spec.rb +32 -32
- data/spec/unit/command/install_spec.rb +179 -179
- data/spec/unit/command/provision_spec.rb +592 -592
- data/spec/unit/command/push_archive_spec.rb +153 -153
- data/spec/unit/command/push_spec.rb +199 -199
- data/spec/unit/command/shell_init_spec.rb +329 -329
- data/spec/unit/command/show_policy_spec.rb +235 -235
- data/spec/unit/command/undelete_spec.rb +246 -246
- data/spec/unit/command/update_spec.rb +275 -275
- data/spec/unit/command/verify_spec.rb +15 -6
- data/spec/unit/commands_map_spec.rb +57 -57
- data/spec/unit/component_test_spec.rb +128 -126
- data/spec/unit/configurable_spec.rb +41 -41
- data/spec/unit/cookbook_metadata_spec.rb +98 -98
- data/spec/unit/cookbook_profiler/git_spec.rb +176 -176
- data/spec/unit/cookbook_profiler/identifiers_spec.rb +83 -83
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -9
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -9
- data/spec/unit/fixtures/command/cli_test_command.rb +26 -26
- data/spec/unit/fixtures/command/explicit_path_example.rb +7 -7
- data/spec/unit/fixtures/configurable/test_config_loader.rb +5 -5
- data/spec/unit/fixtures/configurable/test_configurable.rb +10 -10
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1321 -1321
- data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -2987
- data/spec/unit/fixtures/cookbooks_api/universe.json +1 -1
- data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +36 -36
- data/spec/unit/fixtures/dev_cookbooks/README.md +16 -16
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -2
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -5
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -3
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -2
- data/spec/unit/fixtures/example_cookbook/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +5 -5
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -9
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -2
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/generator_spec.rb +119 -120
- data/spec/unit/helpers_spec.rb +92 -92
- data/spec/unit/pager_spec.rb +119 -119
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +93 -93
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -34
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +84 -84
- data/spec/unit/policyfile/comparison_base_spec.rb +343 -343
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +277 -277
- data/spec/unit/policyfile/cookbook_locks_spec.rb +529 -529
- data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +130 -130
- data/spec/unit/policyfile/differ_spec.rb +687 -687
- data/spec/unit/policyfile/lister_spec.rb +272 -272
- data/spec/unit/policyfile/null_cookbook_source_spec.rb +35 -35
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +92 -92
- data/spec/unit/policyfile/reports/install_spec.rb +115 -115
- data/spec/unit/policyfile/reports/upload_spec.rb +96 -96
- data/spec/unit/policyfile/solution_dependencies_spec.rb +145 -145
- data/spec/unit/policyfile/storage_config_spec.rb +172 -172
- data/spec/unit/policyfile/undo_record_spec.rb +260 -260
- data/spec/unit/policyfile/undo_stack_spec.rb +266 -266
- data/spec/unit/policyfile/uploader_spec.rb +410 -410
- data/spec/unit/policyfile_demands_spec.rb +1203 -1203
- data/spec/unit/policyfile_evaluation_spec.rb +642 -642
- data/spec/unit/policyfile_lock_build_spec.rb +1056 -1056
- data/spec/unit/policyfile_lock_install_spec.rb +138 -138
- data/spec/unit/policyfile_lock_serialization_spec.rb +425 -425
- data/spec/unit/policyfile_lock_validation_spec.rb +611 -611
- data/spec/unit/policyfile_services/clean_policies_spec.rb +236 -236
- data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +275 -275
- data/spec/unit/policyfile_services/export_repo_spec.rb +481 -481
- data/spec/unit/policyfile_services/install_spec.rb +211 -211
- data/spec/unit/policyfile_services/push_archive_spec.rb +378 -378
- data/spec/unit/policyfile_services/push_spec.rb +233 -233
- data/spec/unit/policyfile_services/rm_policy_group_spec.rb +241 -241
- data/spec/unit/policyfile_services/rm_policy_spec.rb +266 -266
- data/spec/unit/policyfile_services/show_policy_spec.rb +889 -889
- data/spec/unit/policyfile_services/undelete_spec.rb +304 -304
- data/spec/unit/policyfile_services/update_attributes_spec.rb +217 -217
- data/spec/unit/service_exception_inspectors/base_spec.rb +43 -43
- data/spec/unit/service_exception_inspectors/http_spec.rb +140 -140
- data/spec/unit/shell_out_spec.rb +34 -34
- data/spec/unit/tasks/helpers_spec.rb +75 -0
- data/tasks/bin/bundle-platform +0 -0
- data/tasks/bin/bundle-platform.bat +0 -0
- data/tasks/bin/create-override-gemfile +110 -0
- data/tasks/bundle.rb +27 -11
- data/tasks/bundle_util.rb +6 -5
- data/tasks/dependencies.rb +97 -122
- data/tasks/gemfile_util.rb +357 -66
- data/tasks/helpers.rb +47 -0
- data/tasks/version.rb +1 -5
- data/version_policy.rb +66 -41
- data/warning.txt +9 -9
- metadata +7 -5
- data/Gemfile.windows +0 -34
- data/Gemfile.windows.lock +0 -936
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
module ChefDK
|
|
19
|
-
module ServiceExceptionInspectors
|
|
20
|
-
|
|
21
|
-
class Base
|
|
22
|
-
|
|
23
|
-
attr_reader :exception
|
|
24
|
-
|
|
25
|
-
def initialize(exception)
|
|
26
|
-
@exception = exception
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def message
|
|
30
|
-
exception.message
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def extended_error_info
|
|
34
|
-
""
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
module ChefDK
|
|
19
|
+
module ServiceExceptionInspectors
|
|
20
|
+
|
|
21
|
+
class Base
|
|
22
|
+
|
|
23
|
+
attr_reader :exception
|
|
24
|
+
|
|
25
|
+
def initialize(exception)
|
|
26
|
+
@exception = exception
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def message
|
|
30
|
+
exception.message
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def extended_error_info
|
|
34
|
+
""
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require 'ffi_yajl'
|
|
19
|
-
|
|
20
|
-
module ChefDK
|
|
21
|
-
module ServiceExceptionInspectors
|
|
22
|
-
class HTTP
|
|
23
|
-
|
|
24
|
-
attr_reader :exception
|
|
25
|
-
|
|
26
|
-
def initialize(exception)
|
|
27
|
-
@exception = exception
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def message
|
|
31
|
-
"HTTP #{code} #{response_message}: " + parsed_response_body
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def extended_error_info
|
|
35
|
-
<<-END
|
|
36
|
-
--- REQUEST DATA ----
|
|
37
|
-
#{http_method} #{uri}
|
|
38
|
-
#{request_headers}
|
|
39
|
-
#{req_body}
|
|
40
|
-
|
|
41
|
-
--- RESPONSE DATA ---
|
|
42
|
-
#{code} #{response_message}
|
|
43
|
-
#{response_headers}
|
|
44
|
-
|
|
45
|
-
#{response_body}
|
|
46
|
-
|
|
47
|
-
END
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def response
|
|
51
|
-
exception.response
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def code
|
|
55
|
-
response.code
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def response_message
|
|
59
|
-
response.message
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def response_body
|
|
63
|
-
response.body
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def parsed_response_body
|
|
67
|
-
if response_body && !response_body.empty?
|
|
68
|
-
attempt_error_message_extract
|
|
69
|
-
else
|
|
70
|
-
"(No explanation provided by server)"
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def attempt_error_message_extract
|
|
75
|
-
error_body = FFI_Yajl::Parser.parse(response_body)
|
|
76
|
-
if error_body.respond_to?(:key?) && error_body.key?("error")
|
|
77
|
-
Array(error_body["error"]).join(", ")
|
|
78
|
-
else
|
|
79
|
-
error_body.to_s
|
|
80
|
-
end
|
|
81
|
-
rescue
|
|
82
|
-
response_body
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def response_headers
|
|
86
|
-
headers_s = ""
|
|
87
|
-
response.each_header do |key, value|
|
|
88
|
-
headers_s << key << ": " << value << "\n"
|
|
89
|
-
end
|
|
90
|
-
headers_s
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def request
|
|
94
|
-
exception.chef_rest_request
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def uri
|
|
98
|
-
request.uri.to_s + request.path.to_s
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def http_method
|
|
102
|
-
request.method
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def request_headers
|
|
106
|
-
headers_s = ""
|
|
107
|
-
request.each_header do |key, value|
|
|
108
|
-
headers_s << key << ": " << value << "\n"
|
|
109
|
-
end
|
|
110
|
-
headers_s
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
def req_body
|
|
114
|
-
request.body
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
require 'ffi_yajl'
|
|
19
|
+
|
|
20
|
+
module ChefDK
|
|
21
|
+
module ServiceExceptionInspectors
|
|
22
|
+
class HTTP
|
|
23
|
+
|
|
24
|
+
attr_reader :exception
|
|
25
|
+
|
|
26
|
+
def initialize(exception)
|
|
27
|
+
@exception = exception
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def message
|
|
31
|
+
"HTTP #{code} #{response_message}: " + parsed_response_body
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def extended_error_info
|
|
35
|
+
<<-END
|
|
36
|
+
--- REQUEST DATA ----
|
|
37
|
+
#{http_method} #{uri}
|
|
38
|
+
#{request_headers}
|
|
39
|
+
#{req_body}
|
|
40
|
+
|
|
41
|
+
--- RESPONSE DATA ---
|
|
42
|
+
#{code} #{response_message}
|
|
43
|
+
#{response_headers}
|
|
44
|
+
|
|
45
|
+
#{response_body}
|
|
46
|
+
|
|
47
|
+
END
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def response
|
|
51
|
+
exception.response
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def code
|
|
55
|
+
response.code
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def response_message
|
|
59
|
+
response.message
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def response_body
|
|
63
|
+
response.body
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def parsed_response_body
|
|
67
|
+
if response_body && !response_body.empty?
|
|
68
|
+
attempt_error_message_extract
|
|
69
|
+
else
|
|
70
|
+
"(No explanation provided by server)"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def attempt_error_message_extract
|
|
75
|
+
error_body = FFI_Yajl::Parser.parse(response_body)
|
|
76
|
+
if error_body.respond_to?(:key?) && error_body.key?("error")
|
|
77
|
+
Array(error_body["error"]).join(", ")
|
|
78
|
+
else
|
|
79
|
+
error_body.to_s
|
|
80
|
+
end
|
|
81
|
+
rescue
|
|
82
|
+
response_body
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def response_headers
|
|
86
|
+
headers_s = ""
|
|
87
|
+
response.each_header do |key, value|
|
|
88
|
+
headers_s << key << ": " << value << "\n"
|
|
89
|
+
end
|
|
90
|
+
headers_s
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def request
|
|
94
|
+
exception.chef_rest_request
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def uri
|
|
98
|
+
request.uri.to_s + request.path.to_s
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def http_method
|
|
102
|
+
request.method
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def request_headers
|
|
106
|
+
headers_s = ""
|
|
107
|
+
request.each_header do |key, value|
|
|
108
|
+
headers_s << key << ": " << value << "\n"
|
|
109
|
+
end
|
|
110
|
+
headers_s
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def req_body
|
|
114
|
+
request.body
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
##
|
|
19
|
-
# Exceptions for Service classes have more complex behaviors and more
|
|
20
|
-
# dependencies, so they are split into their own file here.
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
require 'chef-dk/service_exception_inspectors'
|
|
24
|
-
|
|
25
|
-
module ChefDK
|
|
26
|
-
|
|
27
|
-
module NestedExceptionWithInspector
|
|
28
|
-
|
|
29
|
-
attr_reader :cause
|
|
30
|
-
attr_reader :inspector
|
|
31
|
-
|
|
32
|
-
def initialize(message, cause)
|
|
33
|
-
super(message)
|
|
34
|
-
@message = message
|
|
35
|
-
@inspector = inspector_for(cause)
|
|
36
|
-
@cause = cause
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def reason
|
|
40
|
-
"(#{cause.class.name}) #{inspector.message}"
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def extended_error_info
|
|
44
|
-
inspector.extended_error_info
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def message
|
|
48
|
-
@message
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def to_s
|
|
52
|
-
"#{message}\nCaused by: #{reason}"
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
private
|
|
56
|
-
|
|
57
|
-
def inspector_for(exception)
|
|
58
|
-
if exception.respond_to?(:response)
|
|
59
|
-
ServiceExceptionInspectors::HTTP.new(exception)
|
|
60
|
-
else
|
|
61
|
-
ServiceExceptionInspectors::Base.new(exception)
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
# Base class for errors raised by ChefDK::PolicyfileServices objects. Don't
|
|
68
|
-
# raise this directly, create a descriptively-named subclass. You can rescue
|
|
69
|
-
# this to catch all errors from PolicyfileServices objects though.
|
|
70
|
-
class PolicyfileServiceError < StandardError
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
class PolicyfileNotFound < PolicyfileServiceError
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
class LockfileNotFound < PolicyfileServiceError
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
class MalformedLockfile < PolicyfileServiceError
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
class GitError < PolicyfileServiceError
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
class ExportDirNotEmpty < PolicyfileServiceError
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
class InvalidPolicyArchive < PolicyfileServiceError
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
class PolicyfileNestedException < PolicyfileServiceError
|
|
92
|
-
|
|
93
|
-
include NestedExceptionWithInspector
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
class PolicyfileDownloadError < PolicyfileNestedException
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
class PolicyfileInstallError < PolicyfileNestedException
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
class PolicyfileUpdateError < PolicyfileNestedException
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
class PolicyfilePushArchiveError < PolicyfileNestedException
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
class PolicyfilePushError < PolicyfileNestedException
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
class PolicyfileExportRepoError < PolicyfileNestedException
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
class PolicyfileListError < PolicyfileNestedException
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
class PolicyfileCleanError < PolicyfileNestedException
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
class DeletePolicyGroupError < PolicyfileNestedException
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
class DeletePolicyError < PolicyfileNestedException
|
|
125
|
-
end
|
|
126
|
-
class PolicyCookbookCleanError < PolicyfileNestedException
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
class UndeleteError < PolicyfileNestedException
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
class ChefRunnerError < StandardError
|
|
133
|
-
|
|
134
|
-
include NestedExceptionWithInspector
|
|
135
|
-
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
class CookbookNotFound < ChefRunnerError; end
|
|
139
|
-
|
|
140
|
-
class ChefConvergeError < ChefRunnerError; end
|
|
141
|
-
|
|
142
|
-
end
|
|
143
|
-
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
# Exceptions for Service classes have more complex behaviors and more
|
|
20
|
+
# dependencies, so they are split into their own file here.
|
|
21
|
+
##
|
|
22
|
+
|
|
23
|
+
require 'chef-dk/service_exception_inspectors'
|
|
24
|
+
|
|
25
|
+
module ChefDK
|
|
26
|
+
|
|
27
|
+
module NestedExceptionWithInspector
|
|
28
|
+
|
|
29
|
+
attr_reader :cause
|
|
30
|
+
attr_reader :inspector
|
|
31
|
+
|
|
32
|
+
def initialize(message, cause)
|
|
33
|
+
super(message)
|
|
34
|
+
@message = message
|
|
35
|
+
@inspector = inspector_for(cause)
|
|
36
|
+
@cause = cause
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def reason
|
|
40
|
+
"(#{cause.class.name}) #{inspector.message}"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def extended_error_info
|
|
44
|
+
inspector.extended_error_info
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def message
|
|
48
|
+
@message
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def to_s
|
|
52
|
+
"#{message}\nCaused by: #{reason}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
def inspector_for(exception)
|
|
58
|
+
if exception.respond_to?(:response)
|
|
59
|
+
ServiceExceptionInspectors::HTTP.new(exception)
|
|
60
|
+
else
|
|
61
|
+
ServiceExceptionInspectors::Base.new(exception)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Base class for errors raised by ChefDK::PolicyfileServices objects. Don't
|
|
68
|
+
# raise this directly, create a descriptively-named subclass. You can rescue
|
|
69
|
+
# this to catch all errors from PolicyfileServices objects though.
|
|
70
|
+
class PolicyfileServiceError < StandardError
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
class PolicyfileNotFound < PolicyfileServiceError
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
class LockfileNotFound < PolicyfileServiceError
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
class MalformedLockfile < PolicyfileServiceError
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class GitError < PolicyfileServiceError
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
class ExportDirNotEmpty < PolicyfileServiceError
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
class InvalidPolicyArchive < PolicyfileServiceError
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
class PolicyfileNestedException < PolicyfileServiceError
|
|
92
|
+
|
|
93
|
+
include NestedExceptionWithInspector
|
|
94
|
+
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
class PolicyfileDownloadError < PolicyfileNestedException
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
class PolicyfileInstallError < PolicyfileNestedException
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
class PolicyfileUpdateError < PolicyfileNestedException
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
class PolicyfilePushArchiveError < PolicyfileNestedException
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
class PolicyfilePushError < PolicyfileNestedException
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
class PolicyfileExportRepoError < PolicyfileNestedException
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
class PolicyfileListError < PolicyfileNestedException
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
class PolicyfileCleanError < PolicyfileNestedException
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
class DeletePolicyGroupError < PolicyfileNestedException
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
class DeletePolicyError < PolicyfileNestedException
|
|
125
|
+
end
|
|
126
|
+
class PolicyCookbookCleanError < PolicyfileNestedException
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
class UndeleteError < PolicyfileNestedException
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
class ChefRunnerError < StandardError
|
|
133
|
+
|
|
134
|
+
include NestedExceptionWithInspector
|
|
135
|
+
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
class CookbookNotFound < ChefRunnerError; end
|
|
139
|
+
|
|
140
|
+
class ChefConvergeError < ChefRunnerError; end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
|