fog 1.34.0 → 1.35.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +10 -24
- data/CHANGELOG.md +84 -0
- data/CONTRIBUTING.md +1 -1
- data/README.md +4 -20
- data/fog.gemspec +7 -5
- data/lib/fog.rb +1 -0
- data/lib/fog/bin.rb +1 -0
- data/lib/fog/digitalocean/compute_v2.rb +108 -0
- data/lib/fog/digitalocean/models/compute_v2/flavor.rb +17 -0
- data/lib/fog/digitalocean/models/compute_v2/flavors.rb +21 -0
- data/lib/fog/digitalocean/models/compute_v2/image.rb +25 -0
- data/lib/fog/digitalocean/models/compute_v2/images.rb +36 -0
- data/lib/fog/digitalocean/models/compute_v2/region.rb +13 -0
- data/lib/fog/digitalocean/models/compute_v2/regions.rb +21 -0
- data/lib/fog/digitalocean/models/compute_v2/server.rb +166 -0
- data/lib/fog/digitalocean/models/compute_v2/servers.rb +39 -0
- data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +30 -0
- data/lib/fog/digitalocean/models/compute_v2/ssh_keys.rb +35 -0
- data/lib/fog/digitalocean/requests/compute_v2/change_kernel.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/convert_to_snapshot.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/create_server.rb +93 -0
- data/lib/fog/digitalocean/requests/compute_v2/create_ssh_key.rb +47 -0
- data/lib/fog/digitalocean/requests/compute_v2/delete_server.rb +28 -0
- data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +28 -0
- data/lib/fog/digitalocean/requests/compute_v2/disable_backups.rb +45 -0
- data/lib/fog/digitalocean/requests/compute_v2/enable_ipv6.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/enable_private_networking.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/get_droplet_action.rb +36 -0
- data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +43 -0
- data/lib/fog/digitalocean/requests/compute_v2/get_server_details.rb +84 -0
- data/lib/fog/digitalocean/requests/compute_v2/get_ssh_key.rb +34 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_droplet_actions.rb +38 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_flavors.rb +131 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_images.rb +50 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_regions.rb +94 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +28 -0
- data/lib/fog/digitalocean/requests/compute_v2/list_ssh_keys.rb +26 -0
- data/lib/fog/digitalocean/requests/compute_v2/password_reset.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/power_cycle.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/power_off.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/power_on.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/reboot_server.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/rebuild.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/rename.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/resize.rb +48 -0
- data/lib/fog/digitalocean/requests/compute_v2/restore.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/shutdown.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/snapshot.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/transfer_image.rb +44 -0
- data/lib/fog/digitalocean/requests/compute_v2/update_ssh_key.rb +46 -0
- data/lib/fog/digitalocean/requests/compute_v2/upgrade.rb +44 -0
- data/lib/fog/digitalocean/service.rb +51 -0
- data/lib/fog/linode/models/compute/kernels.rb +1 -1
- data/lib/fog/opennebula/models/compute/flavor.rb +13 -13
- data/lib/fog/opennebula/requests/compute/template_pool.rb +14 -11
- data/lib/fog/openstack.rb +2 -0
- data/lib/fog/openstack/core.rb +30 -3
- data/lib/fog/openstack/identity.rb +8 -7
- data/lib/fog/openstack/identity_v3.rb +1 -0
- data/lib/fog/openstack/image.rb +35 -130
- data/lib/fog/openstack/image_v1.rb +142 -0
- data/lib/fog/openstack/image_v2.rb +137 -0
- data/lib/fog/openstack/models/image_v1/image.rb +78 -0
- data/lib/fog/openstack/models/image_v1/images.rb +70 -0
- data/lib/fog/openstack/models/image_v2/image.rb +149 -0
- data/lib/fog/openstack/models/image_v2/images.rb +67 -0
- data/lib/fog/openstack/models/orchestration/stack.rb +5 -0
- data/lib/fog/openstack/models/volume/volume_type.rb +25 -0
- data/lib/fog/openstack/orchestration.rb +1 -0
- data/lib/fog/openstack/requests/compute/server_actions.rb +14 -3
- data/lib/fog/openstack/requests/{image → image_v1}/add_member_to_image.rb +2 -0
- data/lib/fog/openstack/requests/image_v1/create_image.rb +78 -0
- data/lib/fog/openstack/requests/image_v1/delete_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v1/get_image.rb +47 -0
- data/lib/fog/openstack/requests/image_v1/get_image_by_id.rb +34 -0
- data/lib/fog/openstack/requests/image_v1/get_image_members.rb +31 -0
- data/lib/fog/openstack/requests/image_v1/get_shared_images.rb +31 -0
- data/lib/fog/openstack/requests/image_v1/list_public_images.rb +35 -0
- data/lib/fog/openstack/requests/image_v1/list_public_images_detailed.rb +37 -0
- data/lib/fog/openstack/requests/image_v1/remove_member_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v1/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/image_v1/update_image.rb +66 -0
- data/lib/fog/openstack/requests/image_v1/update_image_members.rb +39 -0
- data/lib/fog/openstack/requests/image_v2/add_member_to_image.rb +26 -0
- data/lib/fog/openstack/requests/image_v2/add_tag_to_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/create_image.rb +54 -0
- data/lib/fog/openstack/requests/image_v2/deactivate_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/delete_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/download_image.rb +29 -0
- data/lib/fog/openstack/requests/image_v2/get_image.rb +47 -0
- data/lib/fog/openstack/requests/image_v2/get_image_by_id.rb +34 -0
- data/lib/fog/openstack/requests/image_v2/get_image_members.rb +31 -0
- data/lib/fog/openstack/requests/image_v2/get_member_details.rb +33 -0
- data/lib/fog/openstack/requests/image_v2/get_shared_images.rb +31 -0
- data/lib/fog/openstack/requests/image_v2/list_images.rb +35 -0
- data/lib/fog/openstack/requests/image_v2/reactivate_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/remove_member_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/remove_tag_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/image_v2/update_image.rb +49 -0
- data/lib/fog/openstack/requests/image_v2/update_image_member.rb +34 -0
- data/lib/fog/openstack/requests/image_v2/upload_image.rb +30 -0
- data/lib/fog/openstack/requests/orchestration/patch_stack.rb +37 -0
- data/lib/fog/openstack/requests/volume/create_volume_type.rb +41 -0
- data/lib/fog/openstack/requests/{image/delete_image.rb → volume/delete_volume_type.rb} +6 -6
- data/lib/fog/openstack/requests/volume/get_quota_usage.rb +44 -0
- data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +1 -1
- data/lib/fog/openstack/requests/volume/update_volume_type.rb +41 -0
- data/lib/fog/openstack/volume.rb +5 -0
- data/lib/fog/rackspace/models/compute_v2/server.rb +11 -1
- data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +7 -2
- data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +13 -10
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/models/compute/server.rb +1 -1
- data/lib/tasks/changelog_task.rb +1 -0
- data/spec/fog/openstack/identity_v3/authv3_a.yml +45 -52
- data/spec/fog/openstack/identity_v3/authv3_b.yml +45 -52
- data/spec/fog/openstack/identity_v3/authv3_c.yml +95 -101
- data/spec/fog/openstack/identity_v3/authv3_project.yml +68 -75
- data/spec/fog/openstack/identity_v3/authv3_token.yml +212 -174
- data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +278 -266
- data/spec/fog/openstack/identity_v3/authv3_unscoped_reauth.yml +190 -202
- data/spec/fog/openstack/identity_v3/common_setup.yml +67 -445
- data/spec/fog/openstack/identity_v3/idv3_credential.yml +56 -26
- data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +292 -152
- data/spec/fog/openstack/identity_v3/idv3_domain.yml +99 -49
- data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +239 -119
- data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +414 -205
- data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +259 -136
- data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +474 -472
- data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +679 -626
- data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +536 -269
- data/spec/fog/openstack/identity_v3/idv3_policy.yml +76 -36
- data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +197 -97
- data/spec/fog/openstack/identity_v3/idv3_project.yml +135 -85
- data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +237 -127
- data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +625 -295
- data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +716 -355
- data/spec/fog/openstack/identity_v3/idv3_role.yml +134 -88
- data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +312 -118
- data/spec/fog/openstack/identity_v3/idv3_service.yml +179 -133
- data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +306 -212
- data/spec/fog/openstack/identity_v3/idv3_token.yml +213 -177
- data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +345 -188
- data/spec/fog/openstack/identity_v3/idv3_users.yml +182 -116
- data/spec/fog/openstack/identity_v3_spec.rb +103 -85
- data/spec/fog/openstack/{identity_v3/idv3_other_region.yml → image_v1/common_setup.yml} +50 -93
- data/spec/fog/openstack/image_v1/list_images.yml +54 -0
- data/spec/fog/openstack/image_v1_spec.rb +24 -0
- data/spec/fog/openstack/image_v2/common_setup.yml +144 -0
- data/spec/fog/openstack/image_v2/image_schema.json +190 -0
- data/spec/fog/openstack/image_v2/image_v2_activation.yml +3988 -0
- data/spec/fog/openstack/image_v2/image_v2_create_id.yml +291 -0
- data/spec/fog/openstack/image_v2/image_v2_crud.yml +437 -0
- data/spec/fog/openstack/image_v2/image_v2_member_crudl.yml +451 -0
- data/spec/fog/openstack/image_v2/image_v2_tags.yml +532 -0
- data/spec/fog/openstack/image_v2/image_v2_upload_download.yml +3966 -0
- data/spec/fog/openstack/image_v2/minimal.ova +0 -0
- data/spec/fog/openstack/image_v2_spec.rb +285 -0
- data/spec/fog/openstack/image_v2_upload_spec.rb +74 -0
- data/spec/fog/openstack/shared_context.rb +14 -10
- data/tests/compute/helper.rb +0 -3
- data/tests/digitalocean/requests/compute_v2/list_flavors_tests.rb +25 -0
- data/tests/digitalocean/requests/compute_v2/list_images_tests.rb +25 -0
- data/tests/digitalocean/requests/compute_v2/list_regions_tests.rb +21 -0
- data/tests/digitalocean/requests/compute_v2/server_tests.rb +77 -0
- data/tests/helpers/mock_helper.rb +1 -0
- data/tests/opennebula/models/compute/flavor_tests.rb +1 -1
- data/tests/openstack/requests/orchestration/stack_tests.rb +5 -1
- data/tests/openstack/requests/volume/volume_type_tests.rb +32 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +7 -7
- metadata +160 -236
- data/gemfiles/Gemfile-ruby-1.8.7 +0 -17
- data/lib/fog/bin/xenserver.rb +0 -29
- data/lib/fog/openstack/models/image/image.rb +0 -76
- data/lib/fog/openstack/models/image/images.rb +0 -67
- data/lib/fog/openstack/requests/image/create_image.rb +0 -76
- data/lib/fog/openstack/requests/image/get_image.rb +0 -45
- data/lib/fog/openstack/requests/image/get_image_by_id.rb +0 -32
- data/lib/fog/openstack/requests/image/get_image_members.rb +0 -29
- data/lib/fog/openstack/requests/image/get_shared_images.rb +0 -29
- data/lib/fog/openstack/requests/image/list_public_images.rb +0 -33
- data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +0 -35
- data/lib/fog/openstack/requests/image/remove_member_from_image.rb +0 -23
- data/lib/fog/openstack/requests/image/set_tenant.rb +0 -19
- data/lib/fog/openstack/requests/image/update_image.rb +0 -64
- data/lib/fog/openstack/requests/image/update_image_members.rb +0 -37
- data/lib/fog/xenserver.rb +0 -1
- data/lib/fog/xenserver/CHANGELOG.md +0 -77
- data/lib/fog/xenserver/compute.rb +0 -186
- data/lib/fog/xenserver/core.rb +0 -94
- data/lib/fog/xenserver/examples/README.md +0 -11
- data/lib/fog/xenserver/examples/chage_default_storage_repository.md +0 -99
- data/lib/fog/xenserver/examples/creating_servers.md +0 -168
- data/lib/fog/xenserver/examples/getting_started.md +0 -163
- data/lib/fog/xenserver/examples/networks-and-vlans.rb +0 -44
- data/lib/fog/xenserver/examples/storage_repositories.md +0 -94
- data/lib/fog/xenserver/models/compute/blob.rb +0 -22
- data/lib/fog/xenserver/models/compute/blobs.rb +0 -25
- data/lib/fog/xenserver/models/compute/bond.rb +0 -23
- data/lib/fog/xenserver/models/compute/bonds.rb +0 -25
- data/lib/fog/xenserver/models/compute/console.rb +0 -29
- data/lib/fog/xenserver/models/compute/consoles.rb +0 -25
- data/lib/fog/xenserver/models/compute/crash_dump.rb +0 -19
- data/lib/fog/xenserver/models/compute/crash_dumps.rb +0 -25
- data/lib/fog/xenserver/models/compute/dr_task.rb +0 -17
- data/lib/fog/xenserver/models/compute/dr_tasks.rb +0 -25
- data/lib/fog/xenserver/models/compute/gpu_group.rb +0 -22
- data/lib/fog/xenserver/models/compute/gpu_groups.rb +0 -25
- data/lib/fog/xenserver/models/compute/guest_metrics.rb +0 -26
- data/lib/fog/xenserver/models/compute/host.rb +0 -156
- data/lib/fog/xenserver/models/compute/host_cpu.rb +0 -34
- data/lib/fog/xenserver/models/compute/host_crash_dump.rb +0 -20
- data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +0 -25
- data/lib/fog/xenserver/models/compute/host_metrics.rb +0 -26
- data/lib/fog/xenserver/models/compute/host_patch.rb +0 -25
- data/lib/fog/xenserver/models/compute/host_patchs.rb +0 -25
- data/lib/fog/xenserver/models/compute/hosts.rb +0 -25
- data/lib/fog/xenserver/models/compute/network.rb +0 -93
- data/lib/fog/xenserver/models/compute/networks.rb +0 -29
- data/lib/fog/xenserver/models/compute/pbd.rb +0 -37
- data/lib/fog/xenserver/models/compute/pbds.rb +0 -29
- data/lib/fog/xenserver/models/compute/pci.rb +0 -22
- data/lib/fog/xenserver/models/compute/pcis.rb +0 -25
- data/lib/fog/xenserver/models/compute/pgpu.rb +0 -20
- data/lib/fog/xenserver/models/compute/pgpus.rb +0 -25
- data/lib/fog/xenserver/models/compute/pif.rb +0 -54
- data/lib/fog/xenserver/models/compute/pif_metrics.rb +0 -28
- data/lib/fog/xenserver/models/compute/pifs.rb +0 -29
- data/lib/fog/xenserver/models/compute/pifs_metrics.rb +0 -25
- data/lib/fog/xenserver/models/compute/pool.rb +0 -75
- data/lib/fog/xenserver/models/compute/pool_patch.rb +0 -24
- data/lib/fog/xenserver/models/compute/pool_patchs.rb +0 -25
- data/lib/fog/xenserver/models/compute/pools.rb +0 -29
- data/lib/fog/xenserver/models/compute/role.rb +0 -19
- data/lib/fog/xenserver/models/compute/roles.rb +0 -25
- data/lib/fog/xenserver/models/compute/server.rb +0 -251
- data/lib/fog/xenserver/models/compute/server_appliance.rb +0 -21
- data/lib/fog/xenserver/models/compute/server_appliances.rb +0 -25
- data/lib/fog/xenserver/models/compute/servers.rb +0 -64
- data/lib/fog/xenserver/models/compute/storage_manager.rb +0 -28
- data/lib/fog/xenserver/models/compute/storage_managers.rb +0 -25
- data/lib/fog/xenserver/models/compute/storage_repositories.rb +0 -27
- data/lib/fog/xenserver/models/compute/storage_repository.rb +0 -90
- data/lib/fog/xenserver/models/compute/tunnel.rb +0 -20
- data/lib/fog/xenserver/models/compute/tunnels.rb +0 -25
- data/lib/fog/xenserver/models/compute/vbd.rb +0 -88
- data/lib/fog/xenserver/models/compute/vbd_metrics.rb +0 -25
- data/lib/fog/xenserver/models/compute/vbds.rb +0 -29
- data/lib/fog/xenserver/models/compute/vdi.rb +0 -102
- data/lib/fog/xenserver/models/compute/vdis.rb +0 -25
- data/lib/fog/xenserver/models/compute/vif.rb +0 -56
- data/lib/fog/xenserver/models/compute/vifs.rb +0 -25
- data/lib/fog/xenserver/models/compute/vlan.rb +0 -78
- data/lib/fog/xenserver/models/compute/vlans.rb +0 -35
- data/lib/fog/xenserver/models/compute/vmpp.rb +0 -35
- data/lib/fog/xenserver/models/compute/vmpps.rb +0 -25
- data/lib/fog/xenserver/models/compute/vtpm.rb +0 -18
- data/lib/fog/xenserver/models/compute/vtpms.rb +0 -25
- data/lib/fog/xenserver/parser.rb +0 -34
- data/lib/fog/xenserver/parsers/get_hosts.rb +0 -16
- data/lib/fog/xenserver/parsers/get_networks.rb +0 -16
- data/lib/fog/xenserver/parsers/get_pools.rb +0 -16
- data/lib/fog/xenserver/parsers/get_records.rb +0 -16
- data/lib/fog/xenserver/parsers/get_storage_repositories.rb +0 -16
- data/lib/fog/xenserver/parsers/get_vbds.rb +0 -16
- data/lib/fog/xenserver/parsers/get_vifs.rb +0 -16
- data/lib/fog/xenserver/parsers/get_vms.rb +0 -16
- data/lib/fog/xenserver/requests/compute/clone_server.rb +0 -30
- data/lib/fog/xenserver/requests/compute/create_network.rb +0 -46
- data/lib/fog/xenserver/requests/compute/create_server.rb +0 -144
- data/lib/fog/xenserver/requests/compute/create_sr.rb +0 -88
- data/lib/fog/xenserver/requests/compute/create_vbd.rb +0 -43
- data/lib/fog/xenserver/requests/compute/create_vdi.rb +0 -57
- data/lib/fog/xenserver/requests/compute/create_vif.rb +0 -62
- data/lib/fog/xenserver/requests/compute/create_vlan.rb +0 -43
- data/lib/fog/xenserver/requests/compute/destroy_network.rb +0 -31
- data/lib/fog/xenserver/requests/compute/destroy_record.rb +0 -11
- data/lib/fog/xenserver/requests/compute/destroy_server.rb +0 -20
- data/lib/fog/xenserver/requests/compute/destroy_sr.rb +0 -28
- data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +0 -20
- data/lib/fog/xenserver/requests/compute/destroy_vif.rb +0 -20
- data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +0 -30
- data/lib/fog/xenserver/requests/compute/disable_host.rb +0 -23
- data/lib/fog/xenserver/requests/compute/eject_vbd.rb +0 -17
- data/lib/fog/xenserver/requests/compute/enable_host.rb +0 -22
- data/lib/fog/xenserver/requests/compute/get_record.rb +0 -31
- data/lib/fog/xenserver/requests/compute/get_records.rb +0 -24
- data/lib/fog/xenserver/requests/compute/insert_vbd.rb +0 -17
- data/lib/fog/xenserver/requests/compute/provision_server.rb +0 -17
- data/lib/fog/xenserver/requests/compute/reboot_host.rb +0 -17
- data/lib/fog/xenserver/requests/compute/reboot_server.rb +0 -17
- data/lib/fog/xenserver/requests/compute/scan_sr.rb +0 -17
- data/lib/fog/xenserver/requests/compute/set_affinity.rb +0 -19
- data/lib/fog/xenserver/requests/compute/set_attribute.rb +0 -19
- data/lib/fog/xenserver/requests/compute/shutdown_host.rb +0 -17
- data/lib/fog/xenserver/requests/compute/shutdown_server.rb +0 -17
- data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +0 -24
- data/lib/fog/xenserver/requests/compute/snapshot_server.rb +0 -17
- data/lib/fog/xenserver/requests/compute/start_server.rb +0 -17
- data/lib/fog/xenserver/requests/compute/start_vm.rb +0 -19
- data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +0 -20
- data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +0 -25
- data/lib/fog/xenserver/utilities.rb +0 -8
- data/tests/xenserver/README +0 -21
- data/tests/xenserver/compute_tests.rb +0 -51
- data/tests/xenserver/helper.rb +0 -36
- data/tests/xenserver/models/compute/console_test.rb +0 -35
- data/tests/xenserver/models/compute/consoles_test.rb +0 -19
- data/tests/xenserver/models/compute/host_cpu_tests.rb +0 -58
- data/tests/xenserver/models/compute/host_metrics_tests.rb +0 -48
- data/tests/xenserver/models/compute/host_tests.rb +0 -98
- data/tests/xenserver/models/compute/hosts_tests.rb +0 -22
- data/tests/xenserver/models/compute/network_tests.rb +0 -79
- data/tests/xenserver/models/compute/networks_tests.rb +0 -22
- data/tests/xenserver/models/compute/pbd_tests.rb +0 -76
- data/tests/xenserver/models/compute/pbds_tests.rb +0 -22
- data/tests/xenserver/models/compute/pif_tests.rb +0 -58
- data/tests/xenserver/models/compute/pifs_tests.rb +0 -22
- data/tests/xenserver/models/compute/pool_tests.rb +0 -56
- data/tests/xenserver/models/compute/pools_tests.rb +0 -30
- data/tests/xenserver/models/compute/server_tests.rb +0 -184
- data/tests/xenserver/models/compute/servers_tests.rb +0 -89
- data/tests/xenserver/models/compute/storage_repositories_tests.rb +0 -30
- data/tests/xenserver/models/compute/storage_repository_tests.rb +0 -114
- data/tests/xenserver/models/compute/vbd_tests.rb +0 -115
- data/tests/xenserver/models/compute/vbds_tests.rb +0 -22
- data/tests/xenserver/models/compute/vif_tests.rb +0 -53
- data/tests/xenserver/models/compute/vifs_tests.rb +0 -22
- data/tests/xenserver/models/compute/vlan_tests.rb +0 -76
- data/tests/xenserver/models/compute/vlans_tests.rb +0 -36
- data/tests/xenserver/requests/compute/clone_server_tests.rb +0 -32
- data/tests/xenserver/requests/compute/create_network_tests.rb +0 -20
- data/tests/xenserver/requests/compute/create_server_tests.rb +0 -129
- data/tests/xenserver/requests/compute/create_sr_tests.rb +0 -54
- data/tests/xenserver/requests/compute/create_vdi_tests.rb +0 -80
- data/tests/xenserver/requests/compute/create_vif_tests.rb +0 -88
- data/tests/xenserver/requests/compute/create_vlan_tests.rb +0 -36
- data/tests/xenserver/requests/compute/destroy_network_tests.rb +0 -13
- data/tests/xenserver/requests/compute/destroy_sr_tests.rb +0 -46
- data/tests/xenserver/requests/compute/destroy_vdi_tests.rb +0 -25
- data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +0 -36
- data/tests/xenserver/requests/compute/disable_host_tests.rb +0 -16
- data/tests/xenserver/requests/compute/enable_host_tests.rb +0 -16
- data/tests/xenserver/requests/compute/get_record_tests.rb +0 -15
- data/tests/xenserver/requests/compute/set_attribute_tests.rb +0 -66
- data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +0 -48
- data/tests/xenserver/xenserver_tests.rb +0 -33
@@ -11,19 +11,32 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
11
11
|
|
12
12
|
include_context 'OpenStack specs with VCR'
|
13
13
|
before :all do
|
14
|
+
VCR_USER_ID='a18abc2039d6493aa7239a42033cc7c9'
|
15
|
+
VCR_USER_NAME='admin'
|
16
|
+
VCR_PASSWORD='devstack'
|
17
|
+
VCR_DOMAIN_ID='default'
|
18
|
+
VCR_DOMAIN_NAME='Default'
|
19
|
+
VCR_PROJECT_NAME='admin'
|
20
|
+
VCR_REGION='RegionOne'
|
21
|
+
|
14
22
|
setup_vcr_and_service(
|
15
|
-
|
16
|
-
|
23
|
+
:vcr_directory => 'spec/fog/openstack/identity_v3',
|
24
|
+
:service_class => Fog::Identity::OpenStack::V3,
|
25
|
+
:username => VCR_USER_NAME,
|
26
|
+
:password => VCR_PASSWORD,
|
27
|
+
:project_name => VCR_PROJECT_NAME,
|
28
|
+
:domain_name => VCR_DOMAIN_NAME,
|
29
|
+
:region_name => VCR_REGION
|
17
30
|
)
|
18
31
|
end
|
19
32
|
|
20
33
|
it 'authenticates with password, userid and domain_id' do
|
21
34
|
VCR.use_cassette('authv3_a') do
|
22
35
|
Fog::Identity::OpenStack::V3.new(
|
23
|
-
:openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] ||
|
24
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
25
|
-
:openstack_userid => ENV['OS_USER_ID'] ||
|
26
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
36
|
+
:openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
|
37
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
38
|
+
:openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
|
39
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
27
40
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
28
41
|
end
|
29
42
|
end
|
@@ -31,10 +44,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
31
44
|
it 'authenticates with password, username and domain_id' do
|
32
45
|
VCR.use_cassette('authv3_b') do
|
33
46
|
Fog::Identity::OpenStack::V3.new(
|
34
|
-
:openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] ||
|
35
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
36
|
-
:openstack_username => ENV['OS_USERNAME'] ||
|
37
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
47
|
+
:openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
|
48
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
49
|
+
:openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
|
50
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
38
51
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
39
52
|
end
|
40
53
|
end
|
@@ -42,10 +55,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
42
55
|
it 'authenticates with password, username and domain_name' do
|
43
56
|
VCR.use_cassette('authv3_c') do
|
44
57
|
Fog::Identity::OpenStack::V3.new(
|
45
|
-
:openstack_user_domain => ENV['OS_USER_DOMAIN_NAME'] ||
|
46
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
47
|
-
:openstack_username => ENV['OS_USERNAME'] ||
|
48
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
58
|
+
:openstack_user_domain => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
|
59
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
60
|
+
:openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
|
61
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
49
62
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
50
63
|
end
|
51
64
|
end
|
@@ -60,8 +73,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
60
73
|
@fog = Fog::Identity::OpenStack::V3.new({
|
61
74
|
:openstack_region => ENV['OS_REGION_OTHER']||'europe',
|
62
75
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens",
|
63
|
-
:openstack_userid => ENV['OS_USER_ID'] ||
|
64
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
76
|
+
:openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
|
77
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD
|
65
78
|
})
|
66
79
|
expect(@fog).to_not be_nil
|
67
80
|
end unless endpoints_in_region.empty?
|
@@ -71,15 +84,15 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
71
84
|
VCR.use_cassette('authv3_unscoped_reauth') do
|
72
85
|
|
73
86
|
id_v3 = Fog::Identity::OpenStack::V3.new(
|
74
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
75
|
-
:openstack_userid => ENV['OS_USER_ID'] ||
|
76
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
87
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
88
|
+
:openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
|
89
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
77
90
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
78
91
|
|
79
92
|
auth_params = {:provider => "openstack",
|
80
93
|
:openstack_auth_token => id_v3.credentials[:openstack_auth_token],
|
81
94
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens",
|
82
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
95
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION}
|
83
96
|
@fog2 = Fog::Identity::OpenStack::V3.new(auth_params)
|
84
97
|
|
85
98
|
expect(@fog2).to_not be_nil
|
@@ -92,11 +105,11 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
92
105
|
it 'authenticates with project scope' do
|
93
106
|
VCR.use_cassette('authv3_project') do
|
94
107
|
Fog::Identity::OpenStack::V3.new(
|
95
|
-
:openstack_project_name => ENV['OS_PROJECT_NAME'] ||
|
96
|
-
:openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] ||
|
97
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
98
|
-
:openstack_username => ENV['OS_USERNAME'] ||
|
99
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
108
|
+
:openstack_project_name => ENV['OS_PROJECT_NAME'] || VCR_PROJECT_NAME,
|
109
|
+
:openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
|
110
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
111
|
+
:openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
|
112
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
100
113
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
101
114
|
end
|
102
115
|
end
|
@@ -105,18 +118,18 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
105
118
|
VCR.use_cassette('authv3_unscoped') do
|
106
119
|
|
107
120
|
id_v3 = Fog::Identity::OpenStack::V3.new(
|
108
|
-
:openstack_api_key => ENV['OS_PASSWORD'] ||
|
109
|
-
:openstack_userid => ENV['OS_USER_ID']||
|
110
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
121
|
+
:openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
|
122
|
+
:openstack_userid => ENV['OS_USER_ID']||VCR_USER_ID,
|
123
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
111
124
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
112
125
|
|
113
126
|
# Exchange it for a project-scoped token
|
114
127
|
auth = Fog::Identity::OpenStack::V3.new(
|
115
|
-
:openstack_project_name => ENV['OS_PROJECT_NAME'] ||
|
116
|
-
:openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] ||
|
117
|
-
:openstack_tenant => ENV['OS_USERNAME'] ||
|
128
|
+
:openstack_project_name => ENV['OS_PROJECT_NAME'] || VCR_PROJECT_NAME,
|
129
|
+
:openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
|
130
|
+
:openstack_tenant => ENV['OS_USERNAME'] || VCR_USER_NAME,
|
118
131
|
:openstack_auth_token => id_v3.credentials[:openstack_auth_token],
|
119
|
-
:openstack_region => ENV['OS_REGION_NAME'] ||
|
132
|
+
:openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
|
120
133
|
:openstack_auth_url => "#{@os_auth_url}/auth/tokens")
|
121
134
|
|
122
135
|
token = auth.credentials[:openstack_auth_token]
|
@@ -135,7 +148,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
135
148
|
|
136
149
|
expect { nonexistent_user = @service.users.find_by_id 'u-random-blah' }.to raise_error(Fog::Identity::OpenStack::NotFound)
|
137
150
|
|
138
|
-
admin_user = @service.users.find_by_name ENV['OS_USERNAME'] ||
|
151
|
+
admin_user = @service.users.find_by_name ENV['OS_USERNAME'] || VCR_USER_NAME
|
139
152
|
expect(admin_user.length).to be 1
|
140
153
|
|
141
154
|
users = @service.users
|
@@ -167,8 +180,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
167
180
|
|
168
181
|
# Create a user called foobar
|
169
182
|
foobar_user = @service.users.create(:name => 'foobar',
|
170
|
-
|
171
|
-
|
183
|
+
:email => 'foobar@example.com',
|
184
|
+
:password => 's3cret!')
|
172
185
|
foobar_id = foobar_user.id
|
173
186
|
expect(@service.users.find_by_name('foobar').length).to be 1
|
174
187
|
|
@@ -186,8 +199,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
186
199
|
|
187
200
|
# Try to create the user again
|
188
201
|
expect { @service.users.create(:name => 'baz',
|
189
|
-
|
190
|
-
|
202
|
+
:email => 'foobar@example.com',
|
203
|
+
:password => 's3cret!') }.to raise_error(Excon::Errors::Conflict)
|
191
204
|
|
192
205
|
# Delete the user
|
193
206
|
baz_user.destroy
|
@@ -227,13 +240,13 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
227
240
|
#foobar_user1 = @service.users.find_by_name('foobar1').first
|
228
241
|
#foobar_user1.destroy if foobar_user1
|
229
242
|
foobar_user1 = @service.users.create(:name => 'foobar1',
|
230
|
-
|
231
|
-
|
243
|
+
:email => 'foobar1@example.com',
|
244
|
+
:password => 's3cret!1')
|
232
245
|
#foobar_user2 = @service.users.find_by_name('foobar2').first
|
233
246
|
#foobar_user2.destroy if foobar_user2
|
234
247
|
foobar_user2 = @service.users.create(:name => 'foobar2',
|
235
|
-
|
236
|
-
|
248
|
+
:email => 'foobar2@example.com',
|
249
|
+
:password => 's3cret!2')
|
237
250
|
|
238
251
|
expect(foobar_user1.groups.length).to be 0
|
239
252
|
expect(baz_group.users.length).to be 0
|
@@ -271,10 +284,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
271
284
|
it "gets a token, checks it and then revokes it" do
|
272
285
|
VCR.use_cassette('idv3_token') do
|
273
286
|
auth = {:auth => {:identity => {:methods => %w{password},
|
274
|
-
:password => {:user => {:id => ENV['OS_USER_ID']||
|
275
|
-
:password => ENV['OS_PASSWORD']||
|
276
|
-
:scope => {:project => {:domain => {:name => ENV['OS_USER_DOMAIN_NAME']||
|
277
|
-
:name => ENV['OS_PROJECT_NAME']||
|
287
|
+
:password => {:user => {:id => ENV['OS_USER_ID']||VCR_USER_ID,
|
288
|
+
:password => ENV['OS_PASSWORD']||VCR_PASSWORD}}},
|
289
|
+
:scope => {:project => {:domain => {:name => ENV['OS_USER_DOMAIN_NAME']||VCR_DOMAIN_NAME},
|
290
|
+
:name => ENV['OS_PROJECT_NAME']||VCR_PROJECT_NAME}}}}
|
278
291
|
|
279
292
|
token = @service.tokens.authenticate(auth)
|
280
293
|
expect(token).to_not be_nil
|
@@ -297,9 +310,9 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
297
310
|
begin
|
298
311
|
|
299
312
|
foobar_user = @service.users.create(:name => 'foobar_385',
|
300
|
-
|
301
|
-
|
302
|
-
|
313
|
+
:email => 'foobar_demo@example.com',
|
314
|
+
:domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
|
315
|
+
:password => 's3cret!')
|
303
316
|
|
304
317
|
foobar_role = @service.roles.create(:name => 'foobar_role390')
|
305
318
|
foobar_user.grant_role(foobar_role.id)
|
@@ -308,20 +321,20 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
308
321
|
:openstack_domain_id => foobar_user.domain_id,
|
309
322
|
:openstack_api_key => 's3cret!',
|
310
323
|
:openstack_username => 'foobar_385',
|
311
|
-
:openstack_region => ENV['OS_REGION_NAME']||
|
324
|
+
:openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
|
312
325
|
:openstack_auth_url => auth_url)
|
313
326
|
|
314
327
|
# Test - check the token validity by using it to create a new Fog::Identity::OpenStack::V3 instance
|
315
328
|
token_check = Fog::Identity::OpenStack::V3.new(
|
316
329
|
:openstack_auth_token => nonadmin_v3.auth_token,
|
317
|
-
:openstack_region => ENV['OS_REGION_NAME']||
|
330
|
+
:openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
|
318
331
|
:openstack_auth_url => auth_url)
|
319
332
|
|
320
333
|
expect(token_check).to_not be_nil
|
321
334
|
|
322
335
|
expect { Fog::Identity::OpenStack::V3.new(
|
323
336
|
:openstack_auth_token => 'blahblahblah',
|
324
|
-
:openstack_region => ENV['OS_REGION_NAME']||
|
337
|
+
:openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
|
325
338
|
:openstack_auth_url => auth_url) }.to raise_error(Excon::Errors::NotFound)
|
326
339
|
ensure
|
327
340
|
# Clean up
|
@@ -345,7 +358,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
345
358
|
expect(domains_all).to_not be_nil
|
346
359
|
expect(domains_all.length).to_not be 0
|
347
360
|
|
348
|
-
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||
|
361
|
+
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
|
349
362
|
expect(default_domain).to_not be_nil
|
350
363
|
|
351
364
|
expect { @service.domains.find_by_id 'atlantis' }.to raise_error(Fog::Identity::OpenStack::NotFound)
|
@@ -395,8 +408,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
395
408
|
VCR.use_cassette('idv3_domain_roles_mutation') do
|
396
409
|
begin
|
397
410
|
foobar_user = @service.users.create(:name => 'foobar_role_user',
|
398
|
-
|
399
|
-
|
411
|
+
:email => 'foobar@example.com',
|
412
|
+
:password => 's3cret!')
|
400
413
|
|
401
414
|
# User has no roles initially
|
402
415
|
expect(foobar_user.roles.length).to be 0
|
@@ -423,7 +436,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
423
436
|
foobar_user.revoke_role(foobar_role.id)
|
424
437
|
expect(foobar_user.check_role(foobar_role.id)).to be false
|
425
438
|
ensure
|
426
|
-
foobar_user = @service.users.find_by_name('
|
439
|
+
foobar_user = @service.users.find_by_name('foobar_role_user').first unless foobar_user
|
427
440
|
foobar_user.destroy if foobar_user
|
428
441
|
foobar_role = @service.roles.all.select { |role| role.name == 'foobar_role' }.first unless foobar_role
|
429
442
|
foobar_role.destroy if foobar_role
|
@@ -441,14 +454,14 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
441
454
|
|
442
455
|
# Create a group in this domain
|
443
456
|
foobar_group = @service.groups.create(:name => 'g-foobar',
|
444
|
-
|
445
|
-
|
457
|
+
:description => "Group of Foobar users",
|
458
|
+
:domain_id => foobar_domain.id)
|
446
459
|
|
447
460
|
# Create a user in the domain
|
448
461
|
foobar_user = @service.users.create(:name => 'u-foobar_foobar',
|
449
|
-
|
450
|
-
|
451
|
-
|
462
|
+
:email => 'foobar@example.com',
|
463
|
+
:password => 's3cret!',
|
464
|
+
:domain_id => foobar_domain.id)
|
452
465
|
|
453
466
|
# User has no roles initially
|
454
467
|
expect(foobar_user.roles.length).to be 0
|
@@ -535,14 +548,19 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
535
548
|
baz_role = @service.roles.find_by_id foobar_id
|
536
549
|
expect(baz_role).to_not be_nil
|
537
550
|
expect(baz_role.name).to eq 'baz23'
|
538
|
-
|
539
|
-
|
540
|
-
baz_role.destroy if baz_role
|
551
|
+
baz_role.destroy
|
552
|
+
baz_role = nil
|
541
553
|
# Check that the deletion worked
|
542
554
|
expect { @service.roles.find_by_id foobar_id }.to raise_error(Fog::Identity::OpenStack::NotFound) if foobar_id
|
543
555
|
['foobar23', 'baz23'].each do |role_name|
|
544
556
|
expect(@service.roles.all(:name => role_name).length).to be 0
|
545
557
|
end
|
558
|
+
ensure
|
559
|
+
# Delete the roles
|
560
|
+
foobar_by_name = @service.roles.all(:name => 'foobar23').first
|
561
|
+
foobar_by_name.destroy if foobar_by_name
|
562
|
+
baz_by_name = @service.roles.all(:name => 'baz23').first
|
563
|
+
baz_by_name.destroy if baz_by_name
|
546
564
|
end
|
547
565
|
end
|
548
566
|
end
|
@@ -567,7 +585,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
567
585
|
it "CRUD projects" do
|
568
586
|
VCR.use_cassette('idv3_project_crud') do
|
569
587
|
|
570
|
-
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||
|
588
|
+
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
|
571
589
|
|
572
590
|
begin
|
573
591
|
# Create a project called foobar - should not work without domain id?
|
@@ -602,7 +620,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
602
620
|
it "CRUD & list hierarchical projects" do
|
603
621
|
VCR.use_cassette('idv3_project_hier_crud_list') do
|
604
622
|
|
605
|
-
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||
|
623
|
+
default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
|
606
624
|
|
607
625
|
begin
|
608
626
|
# Create a project called foobar
|
@@ -650,7 +668,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
650
668
|
foobar_kids = @service.projects.find_by_id(foobar_id, :subtree_as_list).subtree
|
651
669
|
expect(foobar_kids.length).to eq 3
|
652
670
|
expect([foobar_kids[0].id,foobar_kids[1].id,foobar_kids[2].id].sort
|
653
|
-
|
671
|
+
).to eq [baz_id, boo_id, booboo_id].sort
|
654
672
|
|
655
673
|
# Create a another sub-project of boo called fooboo and check that it appears in the parent's subtree
|
656
674
|
fooboo_project = @service.projects.create(:name => 'p-fooboo67', :parent_id => boo_id)
|
@@ -714,19 +732,19 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
714
732
|
|
715
733
|
# Create a user
|
716
734
|
foobar_user = @service.users.create(:name => 'u-foobar69',
|
717
|
-
|
718
|
-
|
735
|
+
:email => 'foobar@example.com',
|
736
|
+
:password => 's3cret!')
|
719
737
|
|
720
738
|
# Create a group and add the user to it
|
721
739
|
foobar_group = @service.groups.create(:name => 'g-foobar69',
|
722
|
-
|
740
|
+
:description => "Group of Foobar users")
|
723
741
|
foobar_group.add_user foobar_user.id
|
724
742
|
|
725
743
|
# User has no projects initially
|
726
744
|
expect(foobar_user.projects.length).to be 0
|
727
745
|
expect(@service.role_assignments.all(:user_id => foobar_user.id,
|
728
|
-
|
729
|
-
|
746
|
+
:project_id => foobar_project.id,
|
747
|
+
:effective => true).length).to be 0
|
730
748
|
expect(foobar_project.user_roles(foobar_user.id).length).to be 0
|
731
749
|
|
732
750
|
# Grant role to the user in the new project - this assigns the project to the user
|
@@ -744,8 +762,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
744
762
|
expect(foobar_project.group_roles(foobar_group.id).length).to be 0
|
745
763
|
|
746
764
|
expect(@service.role_assignments.all(:user_id => foobar_user.id,
|
747
|
-
|
748
|
-
|
765
|
+
:project_id => foobar_project.id,
|
766
|
+
:effective => true).length).to be 0
|
749
767
|
|
750
768
|
# Grant role to the group in the new project - this assigns the project to the group
|
751
769
|
foobar_project.grant_role_to_group(baz_role.id, foobar_group.id)
|
@@ -754,8 +772,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
754
772
|
|
755
773
|
# Now we check that a user has the role in that project
|
756
774
|
assignments = @service.role_assignments.all(:user_id => foobar_user.id,
|
757
|
-
|
758
|
-
|
775
|
+
:project_id => foobar_project.id,
|
776
|
+
:effective => true)
|
759
777
|
expect(assignments.length).to be 1
|
760
778
|
expect(assignments.first.role['id']).to eq baz_role.id
|
761
779
|
expect(assignments.first.user['id']).to eq foobar_user.id
|
@@ -859,10 +877,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
859
877
|
begin
|
860
878
|
# Create a endpoint called foobar
|
861
879
|
foobar_endpoint = @service.endpoints.create(:service_id => service.id,
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
880
|
+
:interface => 'internal',
|
881
|
+
:name => 'foobar',
|
882
|
+
:url => 'http://example.com/foobar',
|
883
|
+
:enabled => false)
|
866
884
|
foobar_id = foobar_endpoint.id
|
867
885
|
expect(@service.endpoints.all(:interface => 'internal').select { |endpoint| endpoint.name == 'foobar' }.length).to be 1
|
868
886
|
|
@@ -907,8 +925,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
907
925
|
begin
|
908
926
|
# Create a user
|
909
927
|
foobar_user = @service.users.create(:name => 'u-foobar_cred',
|
910
|
-
|
911
|
-
|
928
|
+
:email => 'foobar@example.com',
|
929
|
+
:password => 's3cret!')
|
912
930
|
project = @service.projects.all.first
|
913
931
|
|
914
932
|
access_key = '9c4e774a-f644-498f-90c4-970b3f817fc5'
|
@@ -926,9 +944,9 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
926
944
|
|
927
945
|
# Create a credential
|
928
946
|
foo_credential = @service.os_credentials.create(:type => 'ec2',
|
929
|
-
|
930
|
-
|
931
|
-
|
947
|
+
:project_id => project.id,
|
948
|
+
:user_id => foobar_user.id,
|
949
|
+
:blob => blob_json)
|
932
950
|
credential_id = foo_credential.id
|
933
951
|
expect(@service.os_credentials.all.select { |credential| credential.type == 'ec2' }.length).to be 1
|
934
952
|
|
@@ -988,7 +1006,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
|
|
988
1006
|
|
989
1007
|
# Create a policy
|
990
1008
|
foo_policy = @service.policies.create(:type => 'application/json',
|
991
|
-
|
1009
|
+
:blob => blob)
|
992
1010
|
policy_id = foo_policy.id
|
993
1011
|
expect(@service.policies.all.select { |policy| policy.type == 'application/json' }.length).to be 1
|
994
1012
|
|
@@ -5,10 +5,10 @@ http_interactions:
|
|
5
5
|
uri: http://devstack.openstack.stack:5000/v3/auth/tokens
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string: ! '{"auth":{"identity":{"methods":["password"],"password":{"user":{"password":"password","
|
8
|
+
string: ! '{"auth":{"identity":{"methods":["password"],"password":{"user":{"password":"password","domain":{"name":"Default"},"name":"admin"}}},"scope":{"project":{"name":"admin","domain":{"name":"Default"}}}}}'
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- fog
|
11
|
+
- fog-core/1.32.1
|
12
12
|
Content-Type:
|
13
13
|
- application/json
|
14
14
|
response:
|
@@ -17,105 +17,23 @@ http_interactions:
|
|
17
17
|
message: ''
|
18
18
|
headers:
|
19
19
|
Date:
|
20
|
-
-
|
20
|
+
- Mon, 21 Sep 2015 17:49:16 GMT
|
21
21
|
Server:
|
22
22
|
- Apache/2.4.7 (Ubuntu)
|
23
23
|
X-Subject-Token:
|
24
|
-
-
|
24
|
+
- 7016a3d2ce5348ae951b1e3d8edaa55d
|
25
25
|
Vary:
|
26
26
|
- X-Auth-Token
|
27
27
|
X-Openstack-Request-Id:
|
28
|
-
- req-
|
28
|
+
- req-c5120fdf-de29-4188-9e0c-c5cea44fb961
|
29
29
|
Content-Length:
|
30
|
-
- '
|
30
|
+
- '5874'
|
31
31
|
Content-Type:
|
32
32
|
- application/json
|
33
33
|
body:
|
34
34
|
encoding: US-ASCII
|
35
|
-
string: ! '{"token": {"methods": ["password"], "
|
36
|
-
"
|
37
|
-
"aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["K9N-CugNRDSarC82lwYYHQ"],
|
38
|
-
"issued_at": "2015-06-23T15:09:15.097078Z"}}'
|
39
|
-
http_version:
|
40
|
-
recorded_at: Tue, 23 Jun 2015 15:09:15 GMT
|
41
|
-
- request:
|
42
|
-
method: get
|
43
|
-
uri: http://devstack.openstack.stack:5000/v3/users/aa9f25defa6d4cafb48466df83106065/projects
|
44
|
-
body:
|
45
|
-
encoding: US-ASCII
|
46
|
-
string: ''
|
47
|
-
headers:
|
48
|
-
User-Agent:
|
49
|
-
- fog/1.31.0 fog-core/1.31.1
|
50
|
-
Content-Type:
|
51
|
-
- application/json
|
52
|
-
Accept:
|
53
|
-
- application/json
|
54
|
-
X-Auth-Token:
|
55
|
-
- 9f7df72efb3749ed8eb12699d16f56cc
|
56
|
-
response:
|
57
|
-
status:
|
58
|
-
code: 200
|
59
|
-
message: ''
|
60
|
-
headers:
|
61
|
-
Date:
|
62
|
-
- Tue, 23 Jun 2015 15:09:15 GMT
|
63
|
-
Server:
|
64
|
-
- Apache/2.4.7 (Ubuntu)
|
65
|
-
Vary:
|
66
|
-
- X-Auth-Token
|
67
|
-
X-Openstack-Request-Id:
|
68
|
-
- req-99d9e960-accc-4943-b647-f0454eb9f9ba
|
69
|
-
Content-Length:
|
70
|
-
- '617'
|
71
|
-
Content-Type:
|
72
|
-
- application/json
|
73
|
-
body:
|
74
|
-
encoding: US-ASCII
|
75
|
-
string: ! '{"links": {"self": "http://devstack.openstack.stack:5000/v3/users/aa9f25defa6d4cafb48466df83106065/projects",
|
76
|
-
"previous": null, "next": null}, "projects": [{"description": null, "links":
|
77
|
-
{"self": "http://devstack.openstack.stack:5000/v3/projects/123ac695d4db400a9001b91bb3b8aa46"},
|
78
|
-
"enabled": true, "id": "123ac695d4db400a9001b91bb3b8aa46", "parent_id": null,
|
79
|
-
"domain_id": "default", "name": "admin"}, {"description": null, "links": {"self":
|
80
|
-
"http://devstack.openstack.stack:5000/v3/projects/3ed7ee0512b641d3bb1fe17fc86d8bff"},
|
81
|
-
"enabled": true, "id": "3ed7ee0512b641d3bb1fe17fc86d8bff", "parent_id": null,
|
82
|
-
"domain_id": "default", "name": "demo"}]}'
|
83
|
-
http_version:
|
84
|
-
recorded_at: Tue, 23 Jun 2015 15:09:15 GMT
|
85
|
-
- request:
|
86
|
-
method: post
|
87
|
-
uri: http://devstack.openstack.stack:5000/v3/auth/tokens
|
88
|
-
body:
|
89
|
-
encoding: UTF-8
|
90
|
-
string: ! '{"auth":{"identity":{"methods":["token"],"token":{"id":"9f7df72efb3749ed8eb12699d16f56cc"}},"scope":{"project":{"name":"admin","domain":{"id":"default"}}}}}'
|
91
|
-
headers:
|
92
|
-
User-Agent:
|
93
|
-
- fog/1.31.0 fog-core/1.31.1
|
94
|
-
Content-Type:
|
95
|
-
- application/json
|
96
|
-
response:
|
97
|
-
status:
|
98
|
-
code: 201
|
99
|
-
message: ''
|
100
|
-
headers:
|
101
|
-
Date:
|
102
|
-
- Tue, 23 Jun 2015 15:09:15 GMT
|
103
|
-
Server:
|
104
|
-
- Apache/2.4.7 (Ubuntu)
|
105
|
-
X-Subject-Token:
|
106
|
-
- 6974d4e66dbb47e9a4ca379c14f706f4
|
107
|
-
Vary:
|
108
|
-
- X-Auth-Token
|
109
|
-
X-Openstack-Request-Id:
|
110
|
-
- req-7111935d-8900-4dff-ba6f-f1f691cb6b48
|
111
|
-
Content-Length:
|
112
|
-
- '5909'
|
113
|
-
Content-Type:
|
114
|
-
- application/json
|
115
|
-
body:
|
116
|
-
encoding: US-ASCII
|
117
|
-
string: ! '{"token": {"methods": ["token", "password"], "roles": [{"id": "6ead57f8ae124996af8b0beb72ff1007",
|
118
|
-
"name": "admin"}], "expires_at": "2015-06-23T16:09:15.097008Z", "project":
|
35
|
+
string: ! '{"token": {"methods": ["password"], "roles": [{"id": "6ead57f8ae124996af8b0beb72ff1007",
|
36
|
+
"name": "admin"}], "expires_at": "2015-09-21T18:49:16.715164Z", "project":
|
119
37
|
{"domain": {"id": "default", "name": "Default"}, "id": "123ac695d4db400a9001b91bb3b8aa46",
|
120
38
|
"name": "admin"}, "catalog": [{"endpoints": [{"region_id": "RegionOne", "url":
|
121
39
|
"http://devstack.openstack.stack:9292", "region": "RegionOne", "interface": "public",
|
@@ -180,8 +98,47 @@ http_interactions:
|
|
180
98
|
"RegionOne", "interface": "admin", "id": "d5f8e0da0f3345529a5fb324d735d4a3"}],
|
181
99
|
"type": "identity_v3", "id": "cd9002bbadfe495d81b5ee4c50768009", "name": "keystone_v3"}],
|
182
100
|
"extras": {}, "user": {"domain": {"id": "default", "name": "Default"}, "id":
|
183
|
-
"aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["
|
184
|
-
"
|
101
|
+
"aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["4kw_GZ0MSiuQ46d2BLs_wQ"],
|
102
|
+
"issued_at": "2015-09-21T17:49:16.715201Z"}}'
|
103
|
+
http_version:
|
104
|
+
recorded_at: Mon, 21 Sep 2015 17:49:16 GMT
|
105
|
+
- request:
|
106
|
+
method: get
|
107
|
+
uri: http://devstack.openstack.stack:9292/
|
108
|
+
body:
|
109
|
+
encoding: US-ASCII
|
110
|
+
string: ''
|
111
|
+
headers:
|
112
|
+
User-Agent:
|
113
|
+
- fog-core/1.32.1
|
114
|
+
Content-Type:
|
115
|
+
- application/json
|
116
|
+
Accept:
|
117
|
+
- application/json
|
118
|
+
X-Auth-Token:
|
119
|
+
- 7016a3d2ce5348ae951b1e3d8edaa55d
|
120
|
+
response:
|
121
|
+
status:
|
122
|
+
code: 300
|
123
|
+
message: ''
|
124
|
+
headers:
|
125
|
+
Content-Type:
|
126
|
+
- application/json; charset=UTF-8
|
127
|
+
Content-Length:
|
128
|
+
- '666'
|
129
|
+
Date:
|
130
|
+
- Mon, 21 Sep 2015 17:49:16 GMT
|
131
|
+
body:
|
132
|
+
encoding: US-ASCII
|
133
|
+
string: ! '{"versions": [{"status": "CURRENT", "id": "v2.3", "links": [{"href":
|
134
|
+
"http://devstack.openstack.stack:9292/v2/", "rel": "self"}]}, {"status": "SUPPORTED",
|
135
|
+
"id": "v2.2", "links": [{"href": "http://devstack.openstack.stack:9292/v2/", "rel":
|
136
|
+
"self"}]}, {"status": "SUPPORTED", "id": "v2.1", "links": [{"href": "http://devstack.openstack.stack:9292/v2/",
|
137
|
+
"rel": "self"}]}, {"status": "SUPPORTED", "id": "v2.0", "links": [{"href":
|
138
|
+
"http://devstack.openstack.stack:9292/v2/", "rel": "self"}]}, {"status": "SUPPORTED",
|
139
|
+
"id": "v1.1", "links": [{"href": "http://devstack.openstack.stack:9292/v1/", "rel":
|
140
|
+
"self"}]}, {"status": "SUPPORTED", "id": "v1.0", "links": [{"href": "http://devstack.openstack.stack:9292/v1/",
|
141
|
+
"rel": "self"}]}]}'
|
185
142
|
http_version:
|
186
|
-
recorded_at:
|
143
|
+
recorded_at: Mon, 21 Sep 2015 17:49:16 GMT
|
187
144
|
recorded_with: VCR 2.9.3
|