├── .gitignore ├── .gitreview ├── .pdkignore ├── .zuul.yaml ├── CHANGELOG.md ├── CONTRIBUTING.rst ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── bindep.txt ├── doc └── requirements.txt ├── examples └── cinder_volume_with_pacemaker.pp ├── lib └── puppet │ ├── provider │ ├── cinder.rb │ ├── cinder_api_paste_ini │ │ └── ini_setting.rb │ ├── cinder_api_uwsgi_config │ │ └── ini_setting.rb │ ├── cinder_config │ │ └── openstackconfig.rb │ ├── cinder_qos │ │ └── openstack.rb │ ├── cinder_rootwrap_config │ │ └── ini_setting.rb │ └── cinder_type │ │ └── openstack.rb │ └── type │ ├── cinder_api_paste_ini.rb │ ├── cinder_api_uwsgi_config.rb │ ├── cinder_config.rb │ ├── cinder_qos.rb │ ├── cinder_rootwrap_config.rb │ └── cinder_type.rb ├── manifests ├── api.pp ├── backend │ ├── defaults.pp │ ├── dellemc_powerflex.pp │ ├── dellemc_powermax.pp │ ├── dellemc_powerstore.pp │ ├── dellemc_sc.pp │ ├── dellemc_unity.pp │ ├── dellemc_xtremio.pp │ ├── emc_vnx.pp │ ├── gpfs.pp │ ├── hpe3par_iscsi.pp │ ├── ibm_svf.pp │ ├── iscsi.pp │ ├── netapp.pp │ ├── nexenta.pp │ ├── nfs.pp │ ├── nvmeof.pp │ ├── pure.pp │ ├── quobyte.pp │ ├── rbd.pp │ ├── san.pp │ ├── solidfire.pp │ └── vstorage.pp ├── backends.pp ├── backup.pp ├── backup │ ├── ceph.pp │ ├── glusterfs.pp │ ├── google.pp │ ├── nfs.pp │ ├── posix.pp │ ├── s3.pp │ └── swift.pp ├── client.pp ├── config.pp ├── coordination.pp ├── cors.pp ├── cron │ └── db_purge.pp ├── db.pp ├── db │ ├── mysql.pp │ ├── postgresql.pp │ └── sync.pp ├── deps.pp ├── glance.pp ├── healthcheck.pp ├── init.pp ├── key_manager.pp ├── key_manager │ ├── barbican.pp │ └── barbican │ │ └── service_user.pp ├── keystone │ ├── auth.pp │ ├── authtoken.pp │ └── service_user.pp ├── logging.pp ├── nova.pp ├── os_brick.pp ├── params.pp ├── policy.pp ├── quota.pp ├── quota_set.pp ├── reports.pp ├── scheduler.pp ├── scheduler │ └── filter.pp ├── setup_test_volume.pp ├── volume.pp └── wsgi │ ├── apache.pp │ └── uwsgi.pp ├── metadata.json ├── releasenotes ├── notes │ ├── Add_missing_portset_param_in_ibm_svf_driver-e8559483db6d9652.yaml │ ├── Add_support_for_ibm_svf_driver-803e3cbfc82e39d9.yaml │ ├── Deprecate-nova_catalog_admin_info-6e006bbd8126ef92.yaml │ ├── Test-volume-permissions-7ca9964fdb8491a2.yaml │ ├── access_log_env_var-f72d94f7a7e13b6e.yaml │ ├── add-backend_availability_zone-parameters-da10215b94d604f0.yaml │ ├── add-cinder-backup-swift-backup_swift_create_storage_policy-ae811a83c2b469ea.yaml │ ├── add-enable-new-services-config-0dffaadac7fa49ea.yaml │ ├── add-enable_force_upload-option-0c91071ed62d1a70.yaml │ ├── add-log_file-for-logging-a9bbd949ed55b7f0.yaml │ ├── add-manage_package-to-rbd-backend-ce4239485895cbd1.yaml │ ├── add-nexenta-edge-06c97283f0216530.yaml │ ├── add-nfs_qcow2_volumes-1398a245687e13fd.yaml │ ├── add-nfs_snapshot_support-1975a23455fd1353.yaml │ ├── add-pool_timeout-option-for-db-804df917277701b0.yaml │ ├── add-rpc_response_timeout-support-da14d27548bac085.yaml │ ├── add-swift-backup-v3-auth-configs-acc652e13f8c836e.yaml │ ├── add-use_journal-option-for-logging-b58b64d730051e28.yaml │ ├── add_db_sync_timeout-bea2ebf6564d0990.yaml │ ├── add_messaging_notification_parameters-871a2345ef981235.yaml │ ├── add_mysql_enable_ndb-option-97f2c1104bed770f.yaml │ ├── add_nas_secure_parameters-780423667cda878a.yaml │ ├── add_new_backup_drivers-05d5e78c15f533de.yaml │ ├── add_oslo_messaging_amqp-d4c4c266e1a904ae.yaml │ ├── add_rabbit_kombu_options-a282d4e697a30c03.yaml │ ├── add_transport_url_parameters-29b87bdc9197a376.yaml │ ├── add_watch_log_file-option-b74553a438d125bc.yaml │ ├── allow_specifying_api_port-b519d1df6d00e71c.yaml │ ├── amqp_auto_delete-b34b1a9e219eb8a0.yaml │ ├── apache-headers-3fe15d86bd121c9d.yaml │ ├── api-keymgr-cleanup-2fd57dc60c2c0288.yaml │ ├── api_key_backend-f3272420502b4206.yaml │ ├── api_log_deprecations-81f5fd0239453011.yaml │ ├── api_paste_ini-separator-0ac0b9090ac1b9e2.yaml │ ├── auth_strategy-92b645b86a6d288c.yaml │ ├── auth_type-fix-f82e0ad146b0fb52.yaml │ ├── authtoken-75874feee752aa5d.yaml │ ├── authtoken_manage_memcache_package-2bd5f785cb28daab.yaml │ ├── backup-concurrency-bedc9f5d4645b0f3.yaml │ ├── backup-nfs-client-e95c8d1051fe1d10.yaml │ ├── backup-quotas-c290c485f66dc1c6.yaml │ ├── backup-swift-swift_catalog_info-cda9cdb7dd3efecb.yaml │ ├── backup_ceph_max_snapshots-88d2ec3d64971ce8.yaml │ ├── backup_swift_service_auth-8dde6a53cd61cd71.yaml │ ├── barbican-356c86ac7a7a327c.yaml │ ├── barbican_service_user-7c554403b68cbcaa.yaml │ ├── block-storage-service-type-92f0892c2c2ca144.yaml │ ├── block_device_backend-877dc1cd0ffab684.yaml │ ├── bug-1986518-2ed0ab4ef3248cd8.yaml │ ├── c-vol-tunables-84ae6003697f9eb9.yaml │ ├── centos-9-support-f7ec9a7304d7404a.yaml │ ├── change-backup-swift-container-4fa57507543fdda3.yaml │ ├── cinder-api-ssl-08f7be7fe02510c7.yaml │ ├── cinder-backend_host-bac88f58b0ce8343.yaml │ ├── cinder-backup-driver-use-classname-910b92dfb6e67697.yaml │ ├── cinder-backup-posix-backup_enable_progress_timer-ff338de76dd9c1d1.yaml │ ├── cinder-volume-active-active-42b8725370be4dc4.yaml │ ├── cinder_api_wsgi-e51e79ab412fc764.yaml │ ├── cinder_v3-aacaa1f385aab7c4.yaml │ ├── cleanup-keymgr-47715ecf4abcf266.yaml │ ├── cleanup-netapp-zed-5c7422e2b7808228.yaml │ ├── configure-auth_strategy-f8005172e383ec94.yaml │ ├── configure_service-e5e355b83ecbeb9f.yaml │ ├── consistent-project-name-769987b2337a8434.yaml │ ├── cors-ec65ae3f0a49fc44.yaml │ ├── cron-ensure-bd3b9d51d459ffbe.yaml │ ├── default-domain-aa57e4969162dc52.yaml │ ├── default-val-quota_set-auth-url-fa7b58f3db7e35b2.yaml │ ├── default-value-change-keymgr_backend-4a627bb17e688e18.yaml │ ├── default_availability_zone-undef-by-default-fac8174e8e54db38.yaml │ ├── dellemc-driver-cleanup-7c8f149c4b71ce4b.yaml │ ├── dellemc-vnx-deprecate-storage_vnx_pool_name-a89ae51a3e4f73df.yaml │ ├── dellsc-driver-a7cd300a24a64b01.yaml │ ├── dellsc_iscsi_driver-deprecate-a428e372280c44e4.yaml │ ├── deprecate-backend-default-8713501a34f871d3.yaml │ ├── deprecate-backup-tms-9413ed39fe7c47c6.yaml │ ├── deprecate-cinder-api-os_region_name-812ccb925f867a52.yaml │ ├── deprecate-cinder-backend_host-8998890a80cbf783.yaml │ ├── deprecate-cinder-qos-e47dcf3da78f37f9.yaml │ ├── deprecate-dell-storage-drivers-caracal-cc59ab61edeee1bf.yaml │ ├── deprecate-drivers-in-default-f4a7c69ea9415375.yaml │ ├── deprecate-glustefs-volume-driver-a1cce111ead9d015.yaml │ ├── deprecate-hpelefthand-support-4a42657e453a6c51.yaml │ ├── deprecate-iscsi-parameters-9b091c7207694e4c.yaml │ ├── deprecate-netapp-7mode-a241386379e2a93b.yaml │ ├── deprecate-netapp-eseries-cc877c5705f34931.yaml │ ├── deprecate-netapp_copyoffload_tool_path-02f160e6dc687df1.yaml │ ├── deprecate-nexenta-edge-b10e6c19c02d26eb.yaml │ ├── deprecate-nfs_disk_util-86f779f46ddd0163.yaml │ ├── deprecate-powerstore_appliances-1a3ef9166d1b35ad.yaml │ ├── deprecate-queens-parameters-a9cbd23131f763d8.yaml │ ├── deprecate-quobyte-346d56455c680d64.yaml │ ├── deprecate-rabbit_heartbeat_in_pthread-22c5dd53f5f1e005.yaml │ ├── deprecate-san-f10faba4dedcec43.yaml │ ├── deprecate-service-validation-f30611c72f3a484d.yaml │ ├── deprecate-v2-api-a6fd143635d2f3a5.yaml │ ├── deprecate-veritas_hyperscale-062d5009c5e8f6c5.yaml │ ├── deprecate-vmware-9628bcac0e2435e6.yaml │ ├── deprecate-volume-v3-user-cb5c833a5b18f007.yaml │ ├── deprecate-vstorage-f5f1738d44104db7.yaml │ ├── deprecate-watch_log_file-8554d796827fb5f4.yaml │ ├── deprecate_allow_insecure_clients-option-ac8a4c45923291c0.yaml │ ├── deprecate_auth_params-e34ba5123cee9060.yaml │ ├── deprecate_auth_uri_parameter-a30b9e7c7d8cee38.yaml │ ├── deprecate_backup_topic_option-1832f8a9d21285ae.yaml │ ├── deprecate_bdd_driver-77e30c51eb46f08e.yaml │ ├── deprecate_cluster_id-8d9838a9ef8932bf.yaml │ ├── deprecate_database_min_pool_size-option-b7eb9678dc29cd9d.yaml │ ├── deprecate_database_options-3abedcf672a6650f.yaml │ ├── deprecate_host-44c7d007f7a5ea71.yaml │ ├── deprecate_idle_timeout_parameter-9c3ffa59d2ddb8b3.yaml │ ├── deprecate_liberty-192d873c0d039e21.yaml │ ├── deprecate_pki_related_parameters-b09c74b4d98224c2.yaml │ ├── deprecate_revocation_cache_time_parameter-8db72b4538599f5d.yaml │ ├── deprecate_rpc_backend_parameter-a192bd1166eb4ff2.yaml │ ├── deprecate_sf_enable_volume_mapping-parmater-a5d9c17aa551601e.yaml │ ├── deprecate_signing_dir_parameter-76123a45ef21398a.yaml │ ├── deprecating_management_of_rabbit_resources-6e324c9e6eeff990.yaml │ ├── disable-apache-ssl-091f33cd0d64294e.yaml │ ├── drop-fedora-797a1e2a02292ab8.yaml │ ├── drop_qpid-b392d711dda1579c.yaml │ ├── emc-vnx-new-driver-3bf454673e5ba9bb.yaml │ ├── emc_vnx_deprecate_iscsi_ip_address-773b9c158c7751b7.yaml │ ├── emc_vnx_driver-359208e3eeeaabf7.yaml │ ├── enable_cancel_on_failover-1098f32930dfb254.yaml │ ├── eqlx-driver-removal-a76440e19622a1e4.yaml │ ├── executor_thread_pool_size-5daabf2eb43dfdd4.yaml │ ├── external_hooks_support-473735fcfe15bc5d.yaml │ ├── fix-backend_host-usage-316f4fb0f2ef6dae.yaml │ ├── fix-dellemc-driver-paths-04b5792a3534e4c4.yaml │ ├── fix-volume-type-name-0e39f0e2f3e44264.yaml │ ├── fix_multiple_rbd-e70b48e788387fa8.yaml │ ├── glance-opts-26bd0abe8173cc8c.yaml │ ├── gpfs-volume-backend-name-5047746591b15231.yaml │ ├── hc-enable_by_file_paths-b3bbf78328e6e062.yaml │ ├── healthcheck-allowed_source_ranges-f4df3240281651aa.yaml │ ├── healthcheck-defa567494511d16.yaml │ ├── healthcheck-ignore_proxied_requests-67cee8cfbb4c16a7.yaml │ ├── host_config-d58e1bb4c2aff303.yaml │ ├── hp3par-deprecations-b3cf23bdc905c6d9.yaml │ ├── hpelefthand-backend-driver-c21eb554abef11e6.yaml │ ├── httpd-logs-piped-syslog-794d78fd3dfea4ac.yaml │ ├── image-opts-0788de32c2bb3454.yaml │ ├── image_conversion_disable-d6ae242febbf67f6.yaml │ ├── image_volume_cache-882c9d2b842c3c0f.yaml │ ├── internal_tenant-733c568ffd415bd0.yaml │ ├── introduce_new_class_for_cinder_backend_defaults-f1f63f755dfdef47.yaml │ ├── iscsi-lvm_type-d93a331e9b2ce273.yaml │ ├── keymgr-opts-a22700480639d3db.yaml │ ├── keystone-auth-name-04bbc48dfe77959c.yaml │ ├── keystone-authtoken-interface-9da7455a49e59ad7.yaml │ ├── keystone-authtoken-memcached-47d5145d2b4d9b67.yaml │ ├── keystone-authtoken-service_type-c3963a3f6064050c.yaml │ ├── keystone-v3-support-cinder_type-09357cfcf7834e80.yaml │ ├── keystone_authtoken-service_token_roles-e698dd87b9cd2598.yaml │ ├── log-json-58d08df226673d3c.yaml │ ├── max_over_subscription_ratio-c025d4bad81160f4.yaml │ ├── max_request_body_size-a199b5c1e0d2f104.yaml │ ├── migrate-policy-format-from-json-to-yaml-85a629873cdaf4ea.yaml │ ├── more-scheduler-opts-7f53704ed415f9be.yaml │ ├── move-cinder-ceilometer-to-init-efb8ebbdca98519c.yaml │ ├── move-keymgr-params-to-init-a745c0eed3062392.yaml │ ├── multiplier-opts-e30673503dc64554.yaml │ ├── netapp_deprecate_storage_pools_and_volume_list_params-3cbe9ed8f4d7b281.yaml │ ├── netapp_deprecation_newton-34c2b89e6d4d3c82.yaml │ ├── nexenta-params-update-2411fefa01ee20aa.yaml │ ├── nfs-client-package-13acd2b8b0acb7fe.yaml │ ├── notification-retry-dafd2c1b861dd831.yaml │ ├── nvmeof-new-params-9e107a437811853b.yaml │ ├── nvmeof-reserved_percentage-4609d4aae48b5e37.yaml │ ├── openstack_db_tag-a0c3d09e892eade0.yaml │ ├── os-brick-wait_mpath_device-bff9501f0e5225d6.yaml │ ├── os_brick-cbe9075c663bb2a8.yaml │ ├── os_workers_for_worker_count-2e3b0ae4257dad7b.yaml │ ├── oslo-reports-ca22920b4392b6e8.yaml │ ├── oslo_policy-enforce_scope-6a23a798b4bfbdb0.yaml │ ├── policy-dirs-9addb26cee0b0a4d.yaml │ ├── policy-enforce_new_defaults-3a27b144e3d65abf.yaml │ ├── policy_default_rule-91ea720f662c95ce.yaml │ ├── policy_purge_config-030d52fdcecdaa05.yaml │ ├── powerflex-timeout-options-b1f353bdb570d825.yaml │ ├── powermax-driver-d428e372280c44e6.yaml │ ├── powermax-timeout-options-99e0c13f0b71b2e2.yaml │ ├── powerstore-driver-c6cd300a24a64b01.yaml │ ├── prepare-to-change-apache-ssl-9b553e3246b4658f.yaml │ ├── properties-hash-840c382dd23bcdbf.yaml │ ├── provider-deprecate-at-params-65e1ed50038822d3.yaml │ ├── ps-driver-d428e372280c44e7.yaml │ ├── puppet-8-008cb1cab8168dda.yaml │ ├── puppet4-mysql-func-e66797f83b328609.yaml │ ├── pure_add_iscsi_cidr_list-aab9045dcf9a4f83.yaml │ ├── pure_host_personality-f4165f778cf9c423.yaml │ ├── pure_nvme-b471de69aba7dbe7.yaml │ ├── purestorage-handle-imagecache-6c2d78f91746bdbf.yaml │ ├── purestorage_updated_params-b0f474d9ab08c37e.yaml │ ├── pymysql-e57bf1f0289dd426.yaml │ ├── quota-per_volume_size_limit-8d40ab1b86af0f71.yaml │ ├── rabbit-connection-params-deprecation-1e13e36113051959.yaml │ ├── rabbit-quorum-queue-8ba93415db4ec17f.yaml │ ├── rabbit_qos_prefetch_count-11fc96c4347c7e12.yaml │ ├── rabbit_transient_queues_ttl-046d931781e0a101.yaml │ ├── rabbit_transient_quorum_queue-7b82ac1b95003242.yaml │ ├── rabbitmq-heartbeat-over-pthread-a37f57a835c6291b.yaml │ ├── rbd-deferred-deletion-17e67e13aa2d062b.yaml │ ├── rbd-opts-8e6856ca90979340.yaml │ ├── rbd_concurrent_flatten_operations-8916b5ddd45b14d5.yaml │ ├── rebrand-vxflexos-powerflex-vxflexos-driver-abc8e372280c44e7.yaml │ ├── release-note-ubuntu-py3-ac37054ad95865df.yaml │ ├── remove-amqp1-c99a5ccc0871ad59.yaml │ ├── remove-amqp_allow_insecure_clients-ae101375aaa7161f.yaml │ ├── remove-api-v1-2987e0317436bc69.yaml │ ├── remove-auth-uri-d7426ce0677222c8.yaml │ ├── remove-backend_host-2471b0efdca3d310.yaml │ ├── remove-backup-tsm-f10b3673ecf2836f.yaml │ ├── remove-centos-8-10aadccce5509340.yaml │ ├── remove-cinder-api-os_region_name-c9c8b474d380c31f.yaml │ ├── remove-cinder-ceilometer-8b670329334c4b10.yaml │ ├── remove-cinder-qos-21d4a58b54e9076b.yaml │ ├── remove-database-params-3de49cb544163921.yaml │ ├── remove-dellsc_iscsi-5d185d574d75b8f6.yaml │ ├── remove-deprecated-63f92fcce2c35685.yaml │ ├── remove-deprecated-logging-28acd6cbd8d1a61a.yaml │ ├── remove-deprecated-nova_catalog_admin_info-de323f732b3ecddc.yaml │ ├── remove-deprecated-params-b1a3fa4eda688331.yaml │ ├── remove-enable_v3_api-c896c222204303a8.yaml │ ├── remove-glusterfs-volume-driver-cb403cb7973cc30a.yaml │ ├── remove-hpelefthand-support-aad4190684256154.yaml │ ├── remove-nexenta-edge-bd90249388eae3b0.yaml │ ├── remove-nfs_disk_util-78a168271a2dd7c7.yaml │ ├── remove-nova-auth_section-a20916204ad00c73.yaml │ ├── remove-powerstore_appliances-36212e32db70ca44.yaml │ ├── remove-puppet-6-4dad1252ad1441f2.yaml │ ├── remove-service-validation-badea962c3a0394e.yaml │ ├── remove-sf_enable_volume_mapping-a0159f78226d2a19.yaml │ ├── remove-tenant_id-from-endpoint-url-c1034329f9698936.yaml │ ├── remove-v2-api-a416e6422d54c5f8.yaml │ ├── remove-veritas_hyperscale-bf6af00ea5cbc876.yaml │ ├── remove-vmware-925ec2a7fae94f77.yaml │ ├── remove-volume-type-resource-types-16c2cf296c0f4472.yaml │ ├── remove-volume-v3-user-636ad41564330a3b.yaml │ ├── remove-watch_log_file-9cba8f18fd794f0b.yaml │ ├── remove_all_hp3par-1e928df13471cf13.yaml │ ├── remove_deprecated_backup_topic-87135ef21d091345.yaml │ ├── remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml │ ├── remove_deprecated_enable_v1_v2_api_option-135a8933ef7613d0.yaml │ ├── remove_deprecated_iscsi_ip_address_from_emc_vnx-e65fe0132cb2a334.yaml │ ├── remove_deprecated_keystone_revocation_cache_time_option-afa98558c36ec5d0.yaml │ ├── remove_deprecated_keystone_signing_dir_option-8bd391581062a2fc.yaml │ ├── remove_deprecated_pki_related_options-946463c40567938a.yaml │ ├── remove_deprecated_rabbitmq_class-1093ef35d8713561.yaml │ ├── remove_idle_timeout_option-9c249adc032bf35b.yaml │ ├── remove_old_authtoken_options-e619dc4773a373af.yaml │ ├── remove_qpid-0b446db43fdea617.yaml │ ├── remove_verbose-f932b850028aa72f.yaml │ ├── replace-cinder-quota-set-cli-a27182ee64f64e9f.yaml │ ├── require-nova-password-06929462c62cc63a.yaml │ ├── reserved_percentage-82ea6b1474219ffc.yaml │ ├── restart-apache-6b5d1e4ef37b7ff6.yaml │ ├── rootwrap-528e073dd00263cb.yaml │ ├── san_api_port-8aa8ee7690bd5632.yaml │ ├── sc-driver-ab28e372280c44e6.yaml │ ├── sc-driver-d428e372280c44e8.yaml │ ├── sc-driver-exclude-domain-a428e372280c44e8.yaml │ ├── scaleio-deprecate-abc8e372280c44e4.yaml │ ├── scaleio-driver-03440249221925be.yaml │ ├── service_default_for_rabbit_parameters-9e9e44984ce18b84.yaml │ ├── service_token-94dd15b7ee9af228.yaml │ ├── service_token_roles_required-92618e63dceeb2bd.yaml │ ├── solidfire-cleanup-yoga-96b3279af73b339f.yaml │ ├── solidfire-cleanup-zed-2a42ff1071490a87.yaml │ ├── solidfire-opts-608d3135644f195e.yaml │ ├── solidfire-service-defaults-765ceeb5bec4eddd.yaml │ ├── solidfire_glance-e3bc65c5ff6a634d.yaml │ ├── stop-reading-authtoken-opts-62dcd2713f7b8dfd.yaml │ ├── support-s3-backup-driver-c9ee22bdb14a374c.yaml │ ├── switch_to_oslo-0c527b4a9d4d5c93.yaml │ ├── system_scope-barbican_service_user-8b435777fa3757d2.yaml │ ├── system_scope-keystone-d9a9cc0c614cd433.yaml │ ├── system_scope-nova-6507548249009928.yaml │ ├── type-cleanup-1f5f2a0ace244c4f.yaml │ ├── type_providers-4f316d6b119c4d38.yaml │ ├── ubuntu-jammy-c488c09b470b2482.yaml │ ├── ubuntu-noble-be263e73d9e656fd.yaml │ ├── unity-driver-cb1f1e959c5a419f.yaml │ ├── use-reno-1caaec4ba5aa4285.yaml │ ├── use_forwarded_for-9390c34f298ebae3.yaml │ ├── uwsgi-7c8ef5c5191ea850.yaml │ ├── verbose-deprecation-c1356f67dccdff3a.yaml │ ├── veritas-hyperscale-driver-5c4030867bc68e69.yaml │ ├── vmax-driver-d428e372280c44e5.yaml │ ├── vmax-driver-d428e372280c44e6.yaml │ ├── vmax-driver-deprecate-d428e372280c44e4.yaml │ ├── vmdk-use-service-default-e8ab854fa81cf40c.yaml │ ├── vnx-opts-0f54da4879ed8084.yaml │ ├── volume_type-125be2a2e5b466aa.yaml │ ├── vstorage_backend-8df2b782b903d3ba.yaml │ ├── vxflexos-driver-abc8e372280c44e6.yaml │ ├── vxflexos-driver-deprecate-f428e372280c44e4.yaml │ ├── wsgi_process_options-228abceca6a02d99.yaml │ ├── xtremio-add-ports-option-6d6e98fb90b906fe.yaml │ ├── xtremio-driver-abc8e372280c44e6.yaml │ ├── xtremio-driver-b7cd300a24a64b01.yaml │ ├── xtremio-iscsi-remove-deprecated-01fc5f2d63b0fdb7.yaml │ └── xtremio_iscsi_driver-deprecate-c428e372280c44e4.yaml └── source │ ├── 2023.1.rst │ ├── 2023.2.rst │ ├── 2024.1.rst │ ├── 2024.2.rst │ ├── 2025.1.rst │ ├── _static │ └── .placeholder │ ├── conf.py │ ├── index.rst │ ├── mitaka.rst │ ├── newton.rst │ ├── ocata.rst │ ├── pike.rst │ ├── queens.rst │ ├── rocky.rst │ ├── stein.rst │ ├── train.rst │ ├── unreleased.rst │ ├── ussuri.rst │ ├── victoria.rst │ ├── wallaby.rst │ ├── xena.rst │ ├── yoga.rst │ └── zed.rst ├── setup.cfg ├── setup.py ├── spec ├── acceptance │ ├── 10_basic_cinder_spec.rb │ └── 99_cinder_config_spec.rb ├── classes │ ├── cinder_api_spec.rb │ ├── cinder_backend_defaults_spec.rb │ ├── cinder_backends_spec.rb │ ├── cinder_backup_ceph_spec.rb │ ├── cinder_backup_glusterfs_spec.rb │ ├── cinder_backup_google_spec.rb │ ├── cinder_backup_nfs_spec.rb │ ├── cinder_backup_posix_spec.rb │ ├── cinder_backup_s3_spec.rb │ ├── cinder_backup_spec.rb │ ├── cinder_backup_swift_spec.rb │ ├── cinder_client_spec.rb │ ├── cinder_config_spec.rb │ ├── cinder_coordination_spec.rb │ ├── cinder_cors_spec.rb │ ├── cinder_cron_db_purge_spec.rb │ ├── cinder_db_mysql_spec.rb │ ├── cinder_db_postgresql_spec.rb │ ├── cinder_db_spec.rb │ ├── cinder_db_sync_spec.rb │ ├── cinder_glance_spec.rb │ ├── cinder_healthcheck_spec.rb │ ├── cinder_init_spec.rb │ ├── cinder_key_manager_barbican_service_user_spec.rb │ ├── cinder_key_manager_barbican_spec.rb │ ├── cinder_key_manager_spec.rb │ ├── cinder_keystone_auth_spec.rb │ ├── cinder_keystone_authtoken_spec.rb │ ├── cinder_keystone_service_user_spec.rb │ ├── cinder_logging_spec.rb │ ├── cinder_nova_spec.rb │ ├── cinder_os_brick_spec.rb │ ├── cinder_policy_spec.rb │ ├── cinder_quota_spec.rb │ ├── cinder_reports_spec.rb │ ├── cinder_scheduler_filter_spec.rb │ ├── cinder_scheduler_spec.rb │ ├── cinder_setup_test_volume_spec.rb │ ├── cinder_volume_spec.rb │ ├── cinder_wsgi_apache_spec.rb │ └── cinder_wsgi_uwsgi_spec.rb ├── defines │ ├── cinder_backend_dellemc_powerflex_spec.rb │ ├── cinder_backend_dellemc_powermax_spec.rb │ ├── cinder_backend_dellemc_powerstore_spec.rb │ ├── cinder_backend_dellemc_sc_spec.rb │ ├── cinder_backend_dellemc_unity_spec.rb │ ├── cinder_backend_dellemc_xtremio_spec.rb │ ├── cinder_backend_emc_vnx_spec.rb │ ├── cinder_backend_gpfs_spec.rb │ ├── cinder_backend_hpe3par_iscsi_spec.rb │ ├── cinder_backend_ibm_svf_spec.rb │ ├── cinder_backend_iscsi_spec.rb │ ├── cinder_backend_netapp_spec.rb │ ├── cinder_backend_nexenta_spec.rb │ ├── cinder_backend_nfs_spec.rb │ ├── cinder_backend_nvmeof_spec.rb │ ├── cinder_backend_pure_spec.rb │ ├── cinder_backend_quobyte_spec.rb │ ├── cinder_backend_rbd_spec.rb │ ├── cinder_backend_san_spec.rb │ ├── cinder_backend_solidfire_spec.rb │ ├── cinder_backend_vstorage_spec.rb │ └── cinder_quota_set_spec.rb ├── shared_examples.rb ├── spec_helper.rb ├── spec_helper_acceptance.rb ├── type_aliases │ └── cephconf_spec.rb └── unit │ ├── provider │ ├── cinder_api_paste_ini │ │ └── ini_setting_spec.rb │ ├── cinder_api_uwsgi_config │ │ └── ini_setting_spec.rb │ ├── cinder_config │ │ └── openstackconfig_spec.rb │ ├── cinder_qos │ │ └── openstack_spec.rb │ ├── cinder_rootwrap_config │ │ └── ini_setting_spec.rb │ └── cinder_type │ │ └── openstack_spec.rb │ └── type │ ├── cinder_api_paste_ini_spec.rb │ ├── cinder_api_uwsgi_config_spec.rb │ ├── cinder_config_spec.rb │ ├── cinder_qos_spec.rb │ ├── cinder_rootwrap_config_spec.rb │ └── cinder_type_spec.rb ├── tox.ini └── types └── cephconf.pp /.gitignore: -------------------------------------------------------------------------------- 1 | # Add patterns in here to exclude files created by tools integrated with this 2 | # repository, such as test frameworks from the project's recommended workflow, 3 | # rendered documentation and package builds. 4 | # 5 | # Don't add patterns to exclude files created by preferred personal tools 6 | # (editors, IDEs, your operating system itself even). These should instead be 7 | # maintained outside the repository, for example in a ~/.gitignore file added 8 | # with: 9 | # 10 | # git config --global core.excludesfile '~/.gitignore' 11 | 12 | pkg/ 13 | Gemfile.lock 14 | vendor/ 15 | spec/fixtures/ 16 | .vagrant/ 17 | .bundle/ 18 | coverage/ 19 | .idea/ 20 | *.iml 21 | /openstack 22 | /log 23 | 24 | # Files created by releasenotes build 25 | releasenotes/build 26 | .tox 27 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=review.opendev.org 3 | port=29418 4 | project=openstack/puppet-cinder.git 5 | -------------------------------------------------------------------------------- /.pdkignore: -------------------------------------------------------------------------------- 1 | # common list used in puppetlabs repos 2 | .git/ 3 | .*.sw[op] 4 | .metadata 5 | .yardoc 6 | .yardwarns 7 | *.iml 8 | /.bundle/ 9 | /.idea/ 10 | /.vagrant/ 11 | /coverage/ 12 | /bin/ 13 | /doc/ 14 | /Gemfile.local 15 | /Gemfile.lock 16 | /junit/ 17 | /log/ 18 | /pkg/ 19 | /spec/fixtures/manifests/ 20 | /spec/fixtures/modules/* 21 | /tmp/ 22 | /vendor/ 23 | /convert_report.txt 24 | /update_report.txt 25 | .DS_Store 26 | .project 27 | .envrc 28 | /inventory.yaml 29 | /spec/fixtures/litmus_inventory.yaml 30 | /.fixtures.yml 31 | /Gemfile 32 | /.gitattributes 33 | /.gitignore 34 | /.pdkignore 35 | /.puppet-lint.rc 36 | /Rakefile 37 | /rakelib/ 38 | /.rspec 39 | /..yml 40 | /.yardopts 41 | /spec/ 42 | /.vscode/ 43 | /.sync.yml 44 | /.devcontainer/ 45 | # OpenStack-specific files 46 | /bindep.txt 47 | /.gitreview 48 | /releasenotes/ 49 | /setup.cfg 50 | /setup.py 51 | /tox.ini 52 | /.zuul.yaml 53 | -------------------------------------------------------------------------------- /.zuul.yaml: -------------------------------------------------------------------------------- 1 | - project: 2 | templates: 3 | - puppet-openstack-check-jobs 4 | - puppet-openstack-module-unit-jobs 5 | - puppet-openstack-integration-jobs-all 6 | - puppet-openstack-litmus-jobs 7 | - release-notes-jobs-python3 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.rst: -------------------------------------------------------------------------------- 1 | The source repository for this project can be found at: 2 | 3 | https://opendev.org/openstack/puppet-cinder 4 | 5 | Pull requests submitted through GitHub are not monitored. 6 | 7 | To start contributing to OpenStack, follow the steps in the contribution guide 8 | to set up and use Gerrit: 9 | 10 | https://docs.openstack.org/contributors/code-and-documentation/quick-start.html 11 | 12 | Bugs should be filed on Launchpad: 13 | 14 | https://bugs.launchpad.net/puppet-cinder 15 | 16 | For more specific information about contributing to this repository, see the 17 | Puppet OpenStack contributor guide: 18 | 19 | https://docs.openstack.org/puppet-openstack-guide/latest/contributor/contributing.html 20 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source ENV['GEM_SOURCE'] || "https://rubygems.org" 2 | 3 | group :development, :test, :system_tests do 4 | spec_helper_dir = '/home/zuul/src/opendev.org/openstack/puppet-openstack_spec_helper' 5 | if File.directory?(spec_helper_dir) 6 | if ENV['ZUUL_PROJECT'] == 'openstack/puppet-openstack_spec_helper' 7 | gem 'puppet-openstack_spec_helper', 8 | :path => '../..', 9 | :require => 'false' 10 | else 11 | gem 'puppet-openstack_spec_helper', 12 | :path => spec_helper_dir, 13 | :require => 'false' 14 | end 15 | else 16 | spec_helper_version = ENV['ZUUL_BRANCH'] || "master" 17 | gem 'puppet-openstack_spec_helper', 18 | :git => 'https://opendev.org/openstack/puppet-openstack_spec_helper', 19 | :ref => spec_helper_version, 20 | :require => 'false' 21 | end 22 | end 23 | 24 | if facterversion = ENV['FACTER_GEM_VERSION'] 25 | gem 'facter', facterversion, :require => false 26 | else 27 | gem 'facter', :require => false 28 | end 29 | 30 | if puppetversion = ENV['PUPPET_GEM_VERSION'] 31 | gem 'puppet', puppetversion, :require => false 32 | else 33 | gem 'puppet', :require => false 34 | end 35 | 36 | # vim:ft=ruby 37 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'puppet-openstack_spec_helper/rake_tasks' 2 | -------------------------------------------------------------------------------- /bindep.txt: -------------------------------------------------------------------------------- 1 | # This is a cross-platform list tracking distribution packages needed by tests; 2 | # see https://docs.openstack.org/infra/bindep/ for additional information. 3 | 4 | libxml2-devel [test platform:rpm] 5 | libxml2-dev [test platform:dpkg] 6 | libxslt-devel [test platform:rpm] 7 | libxslt1-dev [test platform:dpkg] 8 | ruby-devel [test platform:rpm] 9 | ruby-dev [test platform:dpkg] 10 | zlib1g-dev [test platform:dpkg] 11 | zlib-devel [test platform:rpm] 12 | puppet [build] 13 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # This is required for the docs build jobs 2 | sphinx>=3.5.1 # BSD 3 | openstackdocstheme>=2.2.7 # Apache-2.0 4 | 5 | # This is required for the releasenotes build jobs 6 | reno>=3.2.0 # Apache-2.0 7 | -------------------------------------------------------------------------------- /examples/cinder_volume_with_pacemaker.pp: -------------------------------------------------------------------------------- 1 | # Example: managing cinder controller services with pacemaker 2 | # 3 | # By setting enabled to false, these services will not be started at boot. By setting 4 | # manage_service to false, puppet will not kill these services on every run. This 5 | # allows the Pacemaker resource manager to dynamically determine on which node each 6 | # service should run. 7 | # 8 | # The puppet commands below would ideally be applied to at least three nodes. 9 | # 10 | # Note that cinder-api is associated with the virtual IP address as 11 | # it is called from external services. The remaining services connect to the 12 | # database and/or message broker independently. 13 | # 14 | # Example pacemaker resource configuration commands (configured once per cluster): 15 | # 16 | # sudo pcs resource create cinder_vip ocf:heartbeat:IPaddr2 params ip=192.0.2.3 \ 17 | # cidr_netmask=24 op monitor interval=10s 18 | # 19 | # sudo pcs resource create cinder_api_service lsb:openstack-cinder-api 20 | # sudo pcs resource create cinder_scheduler_service lsb:openstack-cinder-scheduler 21 | # 22 | # sudo pcs constraint colocation add cinder_api_service with cinder_vip 23 | 24 | class { 'cinder': 25 | database_connection => 'mysql://cinder:secret_block_password@openstack-controller.example.com/cinder', 26 | } 27 | 28 | class { 'cinder::api': 29 | keystone_password => 'CINDER_PW', 30 | keystone_user => 'cinder', 31 | enabled => false, 32 | manage_service => false, 33 | } 34 | 35 | class { 'cinder::scheduler': 36 | enabled => false, 37 | manage_service => false, 38 | } 39 | 40 | -------------------------------------------------------------------------------- /lib/puppet/provider/cinder.rb: -------------------------------------------------------------------------------- 1 | require 'puppet/provider/openstack' 2 | require 'puppet/provider/openstack/auth' 3 | 4 | class Puppet::Provider::Cinder < Puppet::Provider::Openstack 5 | 6 | extend Puppet::Provider::Openstack::Auth 7 | 8 | end 9 | -------------------------------------------------------------------------------- /lib/puppet/provider/cinder_api_paste_ini/ini_setting.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.type(:cinder_api_paste_ini).provide( 2 | :ini_setting, 3 | :parent => Puppet::Type.type(:openstack_config).provider(:ini_setting) 4 | ) do 5 | 6 | def self.file_path 7 | '/etc/cinder/api-paste.ini' 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /lib/puppet/provider/cinder_api_uwsgi_config/ini_setting.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.type(:cinder_api_uwsgi_config).provide( 2 | :ini_setting, 3 | :parent => Puppet::Type.type(:openstack_config).provider(:ini_setting) 4 | ) do 5 | 6 | def self.file_path 7 | '/etc/cinder/cinder-api-uwsgi.ini' 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /lib/puppet/provider/cinder_config/openstackconfig.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.type(:cinder_config).provide( 2 | :openstackconfig, 3 | :parent => Puppet::Type.type(:openstack_config).provider(:ruby) 4 | ) do 5 | 6 | def self.file_path 7 | '/etc/cinder/cinder.conf' 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /lib/puppet/provider/cinder_rootwrap_config/ini_setting.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.type(:cinder_rootwrap_config).provide( 2 | :ini_setting, 3 | :parent => Puppet::Type.type(:openstack_config).provider(:ini_setting) 4 | ) do 5 | 6 | def self.file_path 7 | '/etc/cinder/rootwrap.conf' 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_api_paste_ini.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_api_paste_ini) do 2 | 3 | ensurable 4 | 5 | newparam(:name, :namevar => true) do 6 | desc 'Section/setting name to manage from /etc/cinder/api-paste.ini' 7 | newvalues(/\S+\/\S+/) 8 | end 9 | 10 | newproperty(:value) do 11 | desc 'The value of the setting to be defined.' 12 | munge do |value| 13 | value = value.to_s.strip 14 | value.capitalize! if value =~ /^(true|false)$/i 15 | value 16 | end 17 | 18 | def is_to_s( currentvalue ) 19 | if resource.secret? 20 | return '[old secret redacted]' 21 | else 22 | return currentvalue 23 | end 24 | end 25 | 26 | def should_to_s( newvalue ) 27 | if resource.secret? 28 | return '[new secret redacted]' 29 | else 30 | return newvalue 31 | end 32 | end 33 | end 34 | 35 | newparam(:secret, :boolean => true) do 36 | desc 'Whether to hide the value from Puppet logs. Defaults to `false`.' 37 | 38 | newvalues(:true, :false) 39 | 40 | defaultto false 41 | end 42 | 43 | newparam(:ensure_absent_val) do 44 | desc 'A value that is specified as the value property will behave as if ensure => absent was specified' 45 | defaultto('') 46 | end 47 | 48 | newparam(:key_val_separator) do 49 | desc 'The separator string to use between each setting name and value.' 50 | defaultto('=') 51 | end 52 | 53 | autorequire(:anchor) do 54 | ['cinder::install::end'] 55 | end 56 | 57 | end 58 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_api_uwsgi_config.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_api_uwsgi_config) do 2 | 3 | ensurable 4 | 5 | newparam(:name, :namevar => true) do 6 | desc 'Section/setting name to manage from /etc/cinder/cnder-api-uwsgi.ini' 7 | newvalues(/\S+\/\S+/) 8 | end 9 | 10 | newparam(:ensure_absent_val) do 11 | desc 'A value that is specified as the value property will behave as if ensure => absent was specified' 12 | defaultto('') 13 | end 14 | 15 | newproperty(:value) do 16 | desc 'The value of the setting to be defined.' 17 | munge do |value| 18 | value = value.to_s.strip 19 | value.capitalize! if value =~ /^(true|false)$/i 20 | value 21 | end 22 | newvalues(/^[\S ]*$/) 23 | end 24 | 25 | autorequire(:anchor) do 26 | ['cinder::install::end'] 27 | end 28 | 29 | end 30 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_config.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_config) do 2 | 3 | ensurable 4 | 5 | newparam(:name, :namevar => true) do 6 | desc 'Section/setting name to manage from cinder.conf' 7 | newvalues(/\S+\/\S+/) 8 | end 9 | 10 | newproperty(:value, :array_matching => :all) do 11 | desc 'The value of the setting to be defined.' 12 | def insync?(is) 13 | return true if @should.empty? 14 | return false unless is.is_a? Array 15 | return false unless is.length == @should.length 16 | return ( 17 | is & @should == is or 18 | is & @should.map(&:to_s) == is 19 | ) 20 | end 21 | munge do |value| 22 | value = value.to_s.strip 23 | value.capitalize! if value =~ /^(true|false)$/i 24 | value 25 | end 26 | 27 | def is_to_s( currentvalue ) 28 | if resource.secret? 29 | return '[old secret redacted]' 30 | else 31 | return currentvalue 32 | end 33 | end 34 | 35 | def should_to_s( newvalue ) 36 | if resource.secret? 37 | return '[new secret redacted]' 38 | else 39 | return newvalue 40 | end 41 | end 42 | end 43 | 44 | newparam(:secret, :boolean => true) do 45 | desc 'Whether to hide the value from Puppet logs. Defaults to `false`.' 46 | 47 | newvalues(:true, :false) 48 | 49 | defaultto false 50 | end 51 | 52 | newparam(:ensure_absent_val) do 53 | desc 'A value that is specified as the value property will behave as if ensure => absent was specified' 54 | defaultto('') 55 | end 56 | 57 | autorequire(:anchor) do 58 | ['cinder::install::end'] 59 | end 60 | 61 | end 62 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_qos.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_qos) do 2 | 3 | desc 'Type for managing cinder QOS.' 4 | 5 | ensurable 6 | 7 | newparam(:name, :namevar => true) do 8 | newvalues(/\S+/) 9 | end 10 | 11 | newproperty(:associations, :array_matching => :all) do 12 | desc 'The cinder Types associations. Should be an array' 13 | defaultto [] 14 | def insync?(is) 15 | return false unless is.is_a? Array 16 | is.sort == should.sort 17 | end 18 | validate do |value| 19 | raise ArgumentError, "Types name doesn't match" unless value.match(/^[-\w]+$/) 20 | end 21 | end 22 | 23 | newproperty(:properties) do 24 | desc "The set of volume qos properties" 25 | validate do |value| 26 | if value.is_a?(Hash) 27 | return true 28 | else 29 | raise ArgumentError, "Invalid properties #{value}. Requires a Hash, not a #{value.class}" 30 | end 31 | end 32 | end 33 | 34 | newparam(:consumer) do 35 | desc 'The consumer QOS' 36 | defaultto('') 37 | end 38 | 39 | autorequire(:cinder_qos) do 40 | self[:associations] if self[:associations] 41 | end 42 | 43 | autorequire(:anchor) do 44 | ['cinder::service::end'] 45 | end 46 | end 47 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_rootwrap_config.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_rootwrap_config) do 2 | 3 | ensurable 4 | 5 | newparam(:name, :namevar => true) do 6 | desc 'Section/setting name to manage from /etc/cinder/rootwrap.conf' 7 | newvalues(/\S+\/\S+/) 8 | end 9 | 10 | newparam(:ensure_absent_val) do 11 | desc 'A value that is specified as the value property will behave as if ensure => absent was specified' 12 | defaultto('') 13 | end 14 | 15 | newproperty(:value) do 16 | desc 'The value of the setting to be defined.' 17 | munge do |value| 18 | value = value.to_s.strip 19 | value.capitalize! if value =~ /^(true|false)$/i 20 | value 21 | end 22 | newvalues(/^[\S ]*$/) 23 | end 24 | 25 | autorequire(:anchor) do 26 | ['cinder::install::end'] 27 | end 28 | 29 | end 30 | -------------------------------------------------------------------------------- /lib/puppet/type/cinder_type.rb: -------------------------------------------------------------------------------- 1 | Puppet::Type.newtype(:cinder_type) do 2 | 3 | desc 'Type for managing cinder types.' 4 | 5 | ensurable 6 | 7 | newparam(:name, :namevar => true) do 8 | newvalues(/\S+/) 9 | end 10 | 11 | newproperty(:properties) do 12 | desc "The set of volume type properties" 13 | validate do |value| 14 | if value.is_a?(Hash) 15 | return true 16 | else 17 | raise ArgumentError, "Invalid properties #{value}. Requires a Hash, not a #{value.class}" 18 | end 19 | end 20 | end 21 | 22 | newparam(:is_public, :boolean => true) do 23 | desc 'Whether the type is public or not. Default to `true`' 24 | newvalues(:true, :false) 25 | defaultto true 26 | end 27 | 28 | newproperty(:access_project_ids, :array_matching => :all) do 29 | desc 'Project ids which have access to private cinder type. Should be an array, [project1, project2, ...]' 30 | def insync?(is) 31 | return false unless is.is_a? Array 32 | is.sort == should.sort 33 | end 34 | end 35 | 36 | autorequire(:anchor) do 37 | ['cinder::service::end'] 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /manifests/backend/defaults.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::backend::defaults 2 | # 3 | # Cinder backend defaults 4 | # 5 | # === Parameters 6 | # 7 | # [*use_multipath_for_image_xfer*] 8 | # (Optional) Whether to use multipath during create-volume-from-image and 9 | # copy-volume-to-image operations. 10 | # Defaults to $facts['os_service_default'] 11 | # 12 | # [*image_volume_cache_enabled*] 13 | # (Optional) Enable Cinder's image cache function. 14 | # Defaults to $facts['os_service_default'], 15 | # 16 | # [*image_volume_cache_max_size_gb*] 17 | # (Optional) Max size of the image volume cache in GB. 18 | # Defaults to $facts['os_service_default'], 19 | # 20 | # [*image_volume_cache_max_count*] 21 | # (Optional) Max number of entries allowed in the image volume cache. 22 | # Defaults to $facts['os_service_default'], 23 | # 24 | class cinder::backend::defaults ( 25 | $use_multipath_for_image_xfer = $facts['os_service_default'], 26 | $image_volume_cache_enabled = $facts['os_service_default'], 27 | $image_volume_cache_max_size_gb = $facts['os_service_default'], 28 | $image_volume_cache_max_count = $facts['os_service_default'], 29 | ) { 30 | 31 | include cinder::deps 32 | 33 | cinder_config { 34 | 'backend_defaults/use_multipath_for_image_xfer': value => $use_multipath_for_image_xfer; 35 | 'backend_defaults/image_volume_cache_enabled': value => $image_volume_cache_enabled; 36 | 'backend_defaults/image_volume_cache_max_size_gb': value => $image_volume_cache_max_size_gb; 37 | 'backend_defaults/image_volume_cache_max_count': value => $image_volume_cache_max_count; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /manifests/backends.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::backends 2 | # 3 | # Class to set the enabled_backends list 4 | # 5 | # === Parameters 6 | # 7 | # [*enabled_backends*] 8 | # (Required) a list of ini sections to enable. 9 | # This should contain names used in cinder::backend::* resources. 10 | # Example: ['volume1', 'volume2', 'sata3'] 11 | # Defaults to undef 12 | # 13 | # [*backend_host*] 14 | # (optional) Backend override of host value. 15 | # Defaults to $facts['os_service_default'] 16 | # 17 | # Author: Andrew Woodward 18 | class cinder::backends ( 19 | Array[String[1], 1] $enabled_backends, 20 | $backend_host = $facts['os_service_default'], 21 | ) { 22 | 23 | include cinder::deps 24 | 25 | # Maybe this could be extended to dynamically find the enabled names 26 | cinder_config { 27 | 'DEFAULT/enabled_backends': value => join($enabled_backends, ','); 28 | } 29 | 30 | $enabled_backends.each |$backend| { 31 | # Avoid colliding with code in backend/rbd.pp 32 | unless defined(Cinder_config["${backend}/backend_host"]) { 33 | cinder_config { 34 | "${backend}/backend_host": value => $backend_host; 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /manifests/backup/glusterfs.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::backup::glusterfs 2 | # 3 | # Setup Cinder to backup volumes into GlusterFS 4 | # 5 | # === Parameters 6 | # 7 | # [*backup_driver*] 8 | # (Optional) The backup driver for GlisterFS backend. 9 | # Defaults to 'cinder.backup.drivers.glusterfs.GlusterfsBackupDriver'. 10 | # 11 | # [*glusterfs_backup_mount_point*] 12 | # (optional) Base dir container mount point for gluster share. 13 | # Defaults to $facts['os_service_default'] 14 | # 15 | # [*glusterfs_backup_share*] 16 | # (optional) GlusterFS share in : format. 17 | # Eg: 1.2.3.4:backup_vol 18 | # Defaults to $facts['os_service_default'] 19 | # 20 | # === Author(s) 21 | # 22 | # Nate Potter 23 | # 24 | # === Copyright 25 | # 26 | # Copyright (C) 2016 Intel 27 | # 28 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 29 | # not use this file except in compliance with the License. You may obtain 30 | # a copy of the License at 31 | # 32 | # http://www.apache.org/licenses/LICENSE-2.0 33 | # 34 | # Unless required by applicable law or agreed to in writing, software 35 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 36 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 37 | # License for the specific language governing permissions and limitations 38 | # under the License. 39 | # 40 | # 41 | class cinder::backup::glusterfs ( 42 | $backup_driver = 'cinder.backup.drivers.glusterfs.GlusterfsBackupDriver', 43 | $glusterfs_backup_mount_point = $facts['os_service_default'], 44 | $glusterfs_backup_share = $facts['os_service_default'], 45 | ) { 46 | 47 | include cinder::deps 48 | 49 | cinder_config { 50 | 'DEFAULT/backup_driver': value => $backup_driver; 51 | 'DEFAULT/glusterfs_backup_mount_point': value => $glusterfs_backup_mount_point; 52 | 'DEFAULT/glusterfs_backup_share': value => $glusterfs_backup_share; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /manifests/client.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::client 2 | # 3 | # Installs Cinder python client. 4 | # 5 | # === Parameters 6 | # 7 | # [*package_ensure*] 8 | # (Optional) Ensure state for package. 9 | # Defaults to 'present'. 10 | # 11 | class cinder::client( 12 | $package_ensure = 'present' 13 | ) { 14 | 15 | include cinder::deps 16 | include cinder::params 17 | 18 | package { 'python-cinderclient': 19 | ensure => $package_ensure, 20 | name => $::cinder::params::client_package, 21 | tag => 'openstack', 22 | } 23 | 24 | include openstacklib::openstackclient 25 | } 26 | -------------------------------------------------------------------------------- /manifests/config.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::config 2 | # 3 | # This class is used to manage arbitrary cinder configurations. 4 | # 5 | # example xxx_config 6 | # (optional) Allow configuration of arbitrary cinder configurations. 7 | # The value is a hash of xxx_config resources. Example: 8 | # { 'DEFAULT/foo' => { value => 'fooValue'}, 9 | # 'DEFAULT/bar' => { value => 'barValue'} 10 | # } 11 | # 12 | # In yaml format, Example: 13 | # xxx_config: 14 | # DEFAULT/foo: 15 | # value: fooValue 16 | # DEFAULT/bar: 17 | # value: barValue 18 | # 19 | # === Parameters 20 | # 21 | # [*cinder_config*] 22 | # (optional) Allow configuration of cinder.conf configurations. 23 | # Defaults to empty hash'{}' 24 | # 25 | # [*api_paste_ini_config*] 26 | # (optional) Allow configuration of api-paste.ini configurations. 27 | # 28 | # [*cinder_rootwrap_config*] 29 | # (optional) Allow configuration of rootwrap.conf configurations. 30 | # 31 | # NOTE: The configuration MUST NOT be already handled by this module 32 | # or Puppet catalog compilation will fail with duplicate resources. 33 | # 34 | class cinder::config ( 35 | Hash $cinder_config = {}, 36 | Hash $api_paste_ini_config = {}, 37 | Hash $cinder_rootwrap_config = {}, 38 | ) { 39 | 40 | include cinder::deps 41 | 42 | create_resources('cinder_config', $cinder_config) 43 | create_resources('cinder_api_paste_ini', $api_paste_ini_config) 44 | create_resources('cinder_rootwrap_config', $cinder_rootwrap_config) 45 | } 46 | -------------------------------------------------------------------------------- /manifests/coordination.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::coordination 2 | # 3 | # Setup and configure Cinder coordination settings. 4 | # 5 | # === Parameters 6 | # 7 | # [*backend_url*] 8 | # (Optional) Coordination backend URL. 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | class cinder::coordination ( 12 | $backend_url = $facts['os_service_default'], 13 | ) { 14 | 15 | include cinder::deps 16 | 17 | oslo::coordination{ 'cinder_config': 18 | backend_url => $backend_url 19 | } 20 | 21 | # all coordination settings should be applied and all packages should be 22 | # installed before service startup 23 | Oslo::Coordination['cinder_config'] -> Anchor['cinder::service::begin'] 24 | } 25 | -------------------------------------------------------------------------------- /manifests/cors.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::cors 2 | # 3 | # Configure the cinder cors 4 | # 5 | # === Parameters 6 | # 7 | # [*allowed_origin*] 8 | # (Optional) Indicate whether this resource may be shared with the domain 9 | # received in the requests "origin" header. 10 | # (string value) 11 | # Defaults to $facts['os_service_default']. 12 | # 13 | # [*allow_credentials*] 14 | # (Optional) Indicate that the actual request can include user credentials. 15 | # (boolean value) 16 | # Defaults to $facts['os_service_default']. 17 | # 18 | # [*expose_headers*] 19 | # (Optional) Indicate which headers are safe to expose to the API. 20 | # (list value) 21 | # Defaults to $facts['os_service_default']. 22 | # 23 | # [*max_age*] 24 | # (Optional) Maximum cache age of CORS preflight requests. 25 | # (integer value) 26 | # Defaults to $facts['os_service_default']. 27 | # 28 | # [*allow_methods*] 29 | # (Optional) Indicate which methods can be used during the actual request. 30 | # (list value) 31 | # Defaults to $facts['os_service_default']. 32 | # 33 | # [*allow_headers*] 34 | # (Optional) Indicate which header field names may be used during the actual 35 | # request. 36 | # (list value) 37 | # Defaults to $facts['os_service_default']. 38 | # 39 | class cinder::cors ( 40 | $allowed_origin = $facts['os_service_default'], 41 | $allow_credentials = $facts['os_service_default'], 42 | $expose_headers = $facts['os_service_default'], 43 | $max_age = $facts['os_service_default'], 44 | $allow_methods = $facts['os_service_default'], 45 | $allow_headers = $facts['os_service_default'], 46 | ) { 47 | 48 | include cinder::deps 49 | 50 | oslo::cors { 'cinder_config': 51 | allowed_origin => $allowed_origin, 52 | allow_credentials => $allow_credentials, 53 | expose_headers => $expose_headers, 54 | max_age => $max_age, 55 | allow_methods => $allow_methods, 56 | allow_headers => $allow_headers, 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /manifests/db/mysql.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::db::mysql 2 | # 3 | # The cinder::db::mysql class creates a MySQL database for cinder. 4 | # It must be used on the MySQL server 5 | # 6 | # === Parameters 7 | # 8 | # [*password*] 9 | # (Required) password to connect to the database. 10 | # 11 | # [*dbname*] 12 | # (Optional) name of the database. 13 | # Defaults to 'cinder'. 14 | # 15 | # [*user*] 16 | # (Optional) user to connect to the database. 17 | # Defaults to 'cinder'. 18 | # 19 | # [*host*] 20 | # (Optional) the default source host user is allowed to connect from. 21 | # Defaults to 'localhost' 22 | # 23 | # [*allowed_hosts*] 24 | # (Optional) other hosts the user is allowed to connect from. 25 | # Defaults to undef. 26 | # 27 | # [*charset*] 28 | # (Optional) the database charset. 29 | # Defaults to 'utf8' 30 | # 31 | # [*collate*] 32 | # (Optional) the database collation. 33 | # Defaults to 'utf8_general_ci' 34 | # 35 | class cinder::db::mysql ( 36 | String[1] $password, 37 | $dbname = 'cinder', 38 | $user = 'cinder', 39 | $host = '127.0.0.1', 40 | $allowed_hosts = undef, 41 | $charset = 'utf8', 42 | $collate = 'utf8_general_ci', 43 | ) { 44 | 45 | include cinder::deps 46 | 47 | openstacklib::db::mysql { 'cinder': 48 | user => $user, 49 | password => $password, 50 | dbname => $dbname, 51 | host => $host, 52 | charset => $charset, 53 | collate => $collate, 54 | allowed_hosts => $allowed_hosts, 55 | } 56 | 57 | Anchor['cinder::db::begin'] 58 | ~> Class['cinder::db::mysql'] 59 | ~> Anchor['cinder::db::end'] 60 | } 61 | -------------------------------------------------------------------------------- /manifests/db/postgresql.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::db::postgresql 2 | # 3 | # Class that configures postgresql for cinder 4 | # Requires the Puppetlabs postgresql module. 5 | # 6 | # === Parameters 7 | # 8 | # [*password*] 9 | # (Required) Password to connect to the database. 10 | # 11 | # [*dbname*] 12 | # (Optional) Name of the database. 13 | # Defaults to 'cinder'. 14 | # 15 | # [*user*] 16 | # (Optional) User to connect to the database. 17 | # Defaults to 'cinder'. 18 | # 19 | # [*encoding*] 20 | # (Optional) The charset to use for the database. 21 | # Default to undef. 22 | # 23 | # [*privileges*] 24 | # (Optional) Privileges given to the database user. 25 | # Default to 'ALL' 26 | # 27 | class cinder::db::postgresql( 28 | $password, 29 | $dbname = 'cinder', 30 | $user = 'cinder', 31 | $encoding = undef, 32 | $privileges = 'ALL', 33 | ) { 34 | 35 | include cinder::deps 36 | 37 | openstacklib::db::postgresql { 'cinder': 38 | password => $password, 39 | dbname => $dbname, 40 | user => $user, 41 | encoding => $encoding, 42 | privileges => $privileges, 43 | } 44 | 45 | Anchor['cinder::db::begin'] 46 | ~> Class['cinder::db::postgresql'] 47 | ~> Anchor['cinder::db::end'] 48 | } 49 | -------------------------------------------------------------------------------- /manifests/db/sync.pp: -------------------------------------------------------------------------------- 1 | # 2 | # Class to execute cinder dbsync 3 | # 4 | # == Parameters 5 | # 6 | # [*extra_params*] 7 | # (Optional) String of extra command line parameters to append 8 | # to the cinder-manage db sync command. These will be inserted 9 | # in the command line between 'cinder-manage' and 'db sync'. 10 | # Defaults to undef 11 | # 12 | # [*db_sync_timeout*] 13 | # (Optional) Timeout for the execution of the db_sync 14 | # Defaults to 300 15 | # 16 | class cinder::db::sync( 17 | $extra_params = undef, 18 | $db_sync_timeout = 300, 19 | ) { 20 | 21 | include cinder::deps 22 | include cinder::params 23 | 24 | exec { 'cinder-manage db_sync': 25 | command => "cinder-manage ${extra_params} db sync", 26 | path => ['/bin', '/usr/bin'], 27 | user => $::cinder::params::user, 28 | refreshonly => true, 29 | try_sleep => 5, 30 | tries => 10, 31 | timeout => $db_sync_timeout, 32 | logoutput => 'on_failure', 33 | subscribe => [ 34 | Anchor['cinder::install::end'], 35 | Anchor['cinder::config::end'], 36 | Anchor['cinder::dbsync::begin'] 37 | ], 38 | notify => Anchor['cinder::dbsync::end'], 39 | tag => 'openstack-db', 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /manifests/healthcheck.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::healthcheck 2 | # 3 | # Configure oslo_middleware options in healthcheck section 4 | # 5 | # == Params 6 | # 7 | # [*detailed*] 8 | # (Optional) Show more detailed information as part of the response. 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | # [*backends*] 12 | # (Optional) Additional backends that can perform health checks and report 13 | # that information back as part of a request. 14 | # Defaults to $facts['os_service_default'] 15 | # 16 | # [*allowed_source_ranges*] 17 | # (Optional) A list of network addresses to limit source ip allowed to access 18 | # healthcheck information. 19 | # Defaults to $facts['os_service_default'] 20 | # 21 | # [*ignore_proxied_requests*] 22 | # (Optional) Ignore requests with proxy headers 23 | # Defaults to $facts['os_service_default'] 24 | # 25 | # [*disable_by_file_path*] 26 | # (Optional) Check the presence of a file to determine if an application 27 | # is running on a port. 28 | # Defaults to $facts['os_service_default'] 29 | # 30 | # [*disable_by_file_paths*] 31 | # (Optional) Check the presence of a file to determine if an application 32 | # is running on a port. Expects a "port:path" list of strings. 33 | # Defaults to $facts['os_service_default'] 34 | # 35 | # [*enable_by_file_paths*] 36 | # (Optional) Check the presence of files. Used by EnableByFilesHealthcheck 37 | # plugin. 38 | # Defaults to $facts['os_service_default'] 39 | # 40 | class cinder::healthcheck ( 41 | $detailed = $facts['os_service_default'], 42 | $backends = $facts['os_service_default'], 43 | $allowed_source_ranges = $facts['os_service_default'], 44 | $ignore_proxied_requests = $facts['os_service_default'], 45 | $disable_by_file_path = $facts['os_service_default'], 46 | $disable_by_file_paths = $facts['os_service_default'], 47 | $enable_by_file_paths = $facts['os_service_default'], 48 | ) { 49 | 50 | include cinder::deps 51 | 52 | oslo::healthcheck { 'cinder_config': 53 | detailed => $detailed, 54 | backends => $backends, 55 | allowed_source_ranges => $allowed_source_ranges, 56 | ignore_proxied_requests => $ignore_proxied_requests, 57 | disable_by_file_path => $disable_by_file_path, 58 | disable_by_file_paths => $disable_by_file_paths, 59 | enable_by_file_paths => $enable_by_file_paths, 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /manifests/key_manager.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::key_manager 2 | # 3 | # Setup and configure Key Manager options 4 | # 5 | # === Parameters 6 | # 7 | # [*backend*] 8 | # (Optional) Specify the key manager implementation. 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | class cinder::key_manager ( 12 | $backend = $facts['os_service_default'], 13 | ) { 14 | 15 | include cinder::deps 16 | 17 | oslo::key_manager { 'cinder_config': 18 | backend => $backend, 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /manifests/os_brick.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::os_brick 2 | # 3 | # Configure os_brick options 4 | # 5 | # === Parameters: 6 | # 7 | # [*lock_path*] 8 | # (Optional) Directory to use for os-brick lock files. 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | # [*wait_mpath_device_attempts*] 12 | # (Optional) Number of attempts for the multipath device to be ready for I/O 13 | # after it was created. 14 | # Defaults to $facts['os_service_default'] 15 | # 16 | # [*wait_mpath_device_interval*] 17 | # (Optional) Interval value to wait for multipath device to be ready for I/O. 18 | # Defaults to $facts['os_service_default'] 19 | # 20 | class cinder::os_brick( 21 | $lock_path = $facts['os_service_default'], 22 | $wait_mpath_device_attempts = $facts['os_service_default'], 23 | $wait_mpath_device_interval = $facts['os_service_default'], 24 | ) { 25 | 26 | oslo::os_brick { 'cinder_config': 27 | lock_path => $lock_path, 28 | wait_mpath_device_attempts => $wait_mpath_device_attempts, 29 | wait_mpath_device_interval => $wait_mpath_device_interval, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /manifests/quota.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::quota 2 | # 3 | # Setup and configure Cinder quotas. 4 | # 5 | # === Parameters 6 | # 7 | # [*quota_volumes*] 8 | # (Optional) Number of volumes allowed per project. 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | # [*quota_snapshots*] 12 | # (Optional) Number of volume snapshots allowed per project. 13 | # Defaults to $facts['os_service_default'] 14 | # 15 | # [*quota_gigabytes*] 16 | # (Optional) Number of volume gigabytes (snapshots are also included) 17 | # allowed per project. 18 | # Defaults to $facts['os_service_default']. 19 | # 20 | # [*quota_backups*] 21 | # (Optional) Number of volume backups allowed per project. 22 | # Defaults to $facts['os_service_default']. 23 | # 24 | # [*quota_backup_gigabytes*] 25 | # (Optional) Number of backup gigabytes allowed per project. 26 | # Defaults to $facts['os_service_default']. 27 | # 28 | # [*quota_driver*] 29 | # (Optional) Default driver to use for quota checks. 30 | # Defaults to $facts['os_service_default']. 31 | # 32 | # [*per_volume_size_limit*] 33 | # (Optional) Max size allowed per volume, in gigabytes 34 | # Defaults to $facts['os_service_default']. 35 | # 36 | class cinder::quota ( 37 | $quota_volumes = $facts['os_service_default'], 38 | $quota_snapshots = $facts['os_service_default'], 39 | $quota_gigabytes = $facts['os_service_default'], 40 | $quota_backups = $facts['os_service_default'], 41 | $quota_backup_gigabytes = $facts['os_service_default'], 42 | $quota_driver = $facts['os_service_default'], 43 | $per_volume_size_limit = $facts['os_service_default'], 44 | ) { 45 | 46 | include cinder::deps 47 | 48 | cinder_config { 49 | 'DEFAULT/quota_volumes': value => $quota_volumes; 50 | 'DEFAULT/quota_snapshots': value => $quota_snapshots; 51 | 'DEFAULT/quota_gigabytes': value => $quota_gigabytes; 52 | 'DEFAULT/quota_backups': value => $quota_backups; 53 | 'DEFAULT/quota_backup_gigabytes': value => $quota_backup_gigabytes; 54 | 'DEFAULT/quota_driver': value => $quota_driver; 55 | 'DEFAULT/per_volume_size_limit': value => $per_volume_size_limit; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /manifests/reports.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::reports 2 | # 3 | # Configure oslo_reports options 4 | # 5 | # === Parameters 6 | # 7 | # [*log_dir*] 8 | # (Optional) Path to a log directory where to create a file 9 | # Defaults to $facts['os_service_default'] 10 | # 11 | # [*file_event_handler*] 12 | # (Optional) The path to a file to watch for changes to trigger the reports. 13 | # Defaults to $facts['os_service_default'] 14 | # 15 | # [*file_event_handler_interval*] 16 | # (Optional) How many seconds to wait between pools when file_event_handler 17 | # is set. 18 | # Defaults to $facts['os_service_default'] 19 | # 20 | class cinder::reports( 21 | $log_dir = $facts['os_service_default'], 22 | $file_event_handler = $facts['os_service_default'], 23 | $file_event_handler_interval = $facts['os_service_default'], 24 | ) { 25 | 26 | include cinder::deps 27 | 28 | oslo::reports { 'cinder_config': 29 | log_dir => $log_dir, 30 | file_event_handler => $file_event_handler, 31 | file_event_handler_interval => $file_event_handler_interval, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /manifests/setup_test_volume.pp: -------------------------------------------------------------------------------- 1 | # == Class: cinder::setup_test_volume 2 | # 3 | # Setup a volume group on a loop device for test purposes. 4 | # 5 | # === Parameters 6 | # 7 | # [*volume_name*] 8 | # (Optional) Volume group name. 9 | # Defaults to 'cinder-volumes'. 10 | # 11 | # [*size*] 12 | # (Optional) Volume group size. 13 | # Defaults to '4G'. 14 | # 15 | # [*loopback_device*] 16 | # (Optional) Loop device name. 17 | # Defaults to '/dev/loop2'. 18 | # 19 | # [*volume_path*] 20 | # (Optional) Volume image location. 21 | # Defaults to '/var/lib/cinder'. 22 | # 23 | class cinder::setup_test_volume( 24 | String[1] $volume_name = 'cinder-volumes', 25 | Stdlib::Absolutepath $volume_path = '/var/lib/cinder', 26 | $size = '4G', 27 | $loopback_device = '/dev/loop2' 28 | ) { 29 | 30 | include cinder::deps 31 | 32 | ensure_packages ( 'lvm2', { 33 | ensure => present, 34 | }) 35 | Package<| title == 'lvm2' |> { tag +> 'cinder-support-package' } 36 | 37 | exec { "create_${volume_path}/${volume_name}": 38 | command => "dd if=/dev/zero of=\"${volume_path}/${volume_name}\" bs=1 count=0 seek=${size}", 39 | path => ['/bin','/usr/bin','/sbin','/usr/sbin'], 40 | unless => "stat ${volume_path}/${volume_name}", 41 | require => Anchor['cinder::install::end'], 42 | subscribe => Package['lvm2'] 43 | } 44 | ~> file { "${volume_path}/${volume_name}": 45 | mode => '0640', 46 | } 47 | ~> exec { "losetup ${loopback_device} ${volume_path}/${volume_name}": 48 | command => "losetup ${loopback_device} ${volume_path}/${volume_name} && udevadm settle", 49 | path => ['/bin','/usr/bin','/sbin','/usr/sbin'], 50 | unless => "losetup ${loopback_device}", 51 | refreshonly => true, 52 | } 53 | ~> exec { "pvcreate ${loopback_device}": 54 | path => ['/bin','/usr/bin','/sbin','/usr/sbin'], 55 | unless => "pvs ${loopback_device}", 56 | refreshonly => true, 57 | } 58 | ~> exec { "vgcreate ${volume_name} ${loopback_device}": 59 | path => ['/bin','/usr/bin','/sbin','/usr/sbin'], 60 | unless => "vgs ${volume_name}", 61 | refreshonly => true, 62 | } 63 | -> Anchor['cinder::service::begin'] 64 | } 65 | -------------------------------------------------------------------------------- /manifests/wsgi/uwsgi.pp: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2021 Thomas Goirand 3 | # 4 | # Author: Thomas Goirand 5 | # 6 | # == Class: cinder::wsgi::uwsgi 7 | # 8 | # Configure the UWSGI service for Cinder API. 9 | # 10 | # == Parameters 11 | # 12 | # [*processes*] 13 | # (Optional) Number of processes. 14 | # Defaults to $facts['os_workers']. 15 | # 16 | # [*threads*] 17 | # (Optional) Number of threads. 18 | # Defaults to 32. 19 | # 20 | # [*listen_queue_size*] 21 | # (Optional) Socket listen queue size. 22 | # Defaults to 100 23 | # 24 | class cinder::wsgi::uwsgi ( 25 | $processes = $facts['os_workers'], 26 | $threads = 32, 27 | $listen_queue_size = 100, 28 | ){ 29 | 30 | include cinder::deps 31 | 32 | if $facts['os']['name'] != 'Debian'{ 33 | warning('This class is only valid for Debian, as other operating systems are not using uwsgi by default.') 34 | } 35 | 36 | cinder_api_uwsgi_config { 37 | 'uwsgi/processes': value => $processes; 38 | 'uwsgi/threads': value => $threads; 39 | 'uwsgi/listen': value => $listen_queue_size; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Puppet Labs and OpenStack Contributors", 3 | "dependencies": [ 4 | { 5 | "name": "puppetlabs/inifile", 6 | "version_requirement": ">=2.0.0 <7.0.0" 7 | }, 8 | { 9 | "name": "openstack/keystone", 10 | "version_requirement": ">=26.0.0 <27.0.0" 11 | }, 12 | { 13 | "name": "puppetlabs/stdlib", 14 | "version_requirement": ">=5.0.0 <10.0.0" 15 | }, 16 | { 17 | "name": "openstack/openstacklib", 18 | "version_requirement": ">=26.0.0 <27.0.0" 19 | }, 20 | { 21 | "name": "openstack/oslo", 22 | "version_requirement": ">=26.0.0 <27.0.0" 23 | } 24 | ], 25 | "description": "Installs and configures OpenStack Cinder (Block Storage).", 26 | "issues_url": "https://bugs.launchpad.net/puppet-cinder", 27 | "license": "Apache-2.0", 28 | "name": "openstack-cinder", 29 | "operatingsystem_support": [ 30 | { 31 | "operatingsystem": "Debian", 32 | "operatingsystemrelease": [ 33 | "12" 34 | ] 35 | }, 36 | { 37 | "operatingsystem": "RedHat", 38 | "operatingsystemrelease": [ 39 | "9" 40 | ] 41 | }, 42 | { 43 | "operatingsystem": "CentOS", 44 | "operatingsystemrelease": [ 45 | "9" 46 | ] 47 | }, 48 | { 49 | "operatingsystem": "Ubuntu", 50 | "operatingsystemrelease": [ 51 | "24.04" 52 | ] 53 | } 54 | ], 55 | "project_page": "https://launchpad.net/puppet-cinder", 56 | "requirements": [ 57 | { 58 | "name": "puppet", 59 | "version_requirement": ">= 7.0.0 < 9.0.0" 60 | } 61 | ], 62 | "source": "https://opendev.org/openstack/puppet-cinder.git", 63 | "summary": "Puppet module for OpenStack Cinder", 64 | "version": "26.0.0" 65 | } 66 | -------------------------------------------------------------------------------- /releasenotes/notes/Add_missing_portset_param_in_ibm_svf_driver-e8559483db6d9652.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add ``storwize_portset`` parameter to Cinder IBM Spectrum virtualize 5 | family (Svf) driver. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/Add_support_for_ibm_svf_driver-803e3cbfc82e39d9.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add support for Cinder IBM Spectrum virtualize family (Svf) driver. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/Deprecate-nova_catalog_admin_info-6e006bbd8126ef92.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The nova_catalog_admin_info parameter was deprecated from cinder and is no 5 | longer being used in the cinder code-base. So, the parameter with the same 6 | name in the api.pp manifest was set as deprecated as well. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/Test-volume-permissions-7ca9964fdb8491a2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | security: 3 | - Set the permissions of the file used as backend 4 | for the test volume to 0640, to avoid giving read 5 | permissions to any user on created volumes. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/access_log_env_var-f72d94f7a7e13b6e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add the ``access_log_env_var`` parameter to the ``cinder::wsgi::apache`` 5 | class to allow filtering logs (eg. suppress healthecks) 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-backend_availability_zone-parameters-da10215b94d604f0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add new "backend_availability_zone" parameter to every volume 5 | backend. The parameters are optional, and when set they override the 6 | DEFAULT/storage_availability_zone for the corresponding backend. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/add-cinder-backup-swift-backup_swift_create_storage_policy-ae811a83c2b469ea.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added parameter backup_swift_create_storage_policy to cinder::backup::swift 5 | class. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-enable-new-services-config-0dffaadac7fa49ea.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added new parameter cinder::enable_new_services that can be used to set 5 | the enable_new_services configuration option in the DEFAULT section. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-enable_force_upload-option-0c91071ed62d1a70.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added ability to set ``enable_force_upload`` option in the ``cinder`` class 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add-log_file-for-logging-a9bbd949ed55b7f0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add the log_file option for logging. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add-manage_package-to-rbd-backend-ce4239485895cbd1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added ``manage_package`` parameter to RBD backend to not install ceph-common 5 | if set to false. (Default: true) 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-nexenta-edge-06c97283f0216530.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add support for Nexenta Edge backend with iSCSI. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/add-nfs_qcow2_volumes-1398a245687e13fd.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add new parameter "nfs_qcow2_volumes" to configure that create 4 | volumes as QCOW2 files rather than raw files. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add-nfs_snapshot_support-1975a23455fd1353.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add new parameter "nfs_snapshot_support", which enables support 4 | for snapshots on the NFS driver. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add-pool_timeout-option-for-db-804df917277701b0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Adds the pool_timeout option for configuring oslo.db. This will 5 | configure this value for pool_timeout with SQLAlchemy. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-rpc_response_timeout-support-da14d27548bac085.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Adds support for rpc_response_timeout option. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/add-swift-backup-v3-auth-configs-acc652e13f8c836e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added config options to cinder::backup::swift for V3 4 | authentication. The options added are backup_swift_user_domain, 5 | backup_swift_project_domain, and backup_swift_project. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add-use_journal-option-for-logging-b58b64d730051e28.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Adds the use_journal option for configuring oslo.log. This will enable 5 | passing the logs to journald. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add_db_sync_timeout-bea2ebf6564d0990.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Adds db_sync_timeout parameter to db sync. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/add_messaging_notification_parameters-871a2345ef981235.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add new parameter "notification_topics", AMQP topic used 4 | for OpenStack notifications. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add_mysql_enable_ndb-option-97f2c1104bed770f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add mysql_enable_ndb parameter to select mysql storage engine. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/add_nas_secure_parameters-780423667cda878a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add new "nas_secure_file_operations" and "nas_secure_file_permissions" 4 | parameters for controlling the similarly named settings in the NFS and 5 | NetApp driver back ends. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add_new_backup_drivers-05d5e78c15f533de.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added new manifests to configure cinder backup drivers 4 | for GlusterFS, Google Cloud Storage, Posix filesystem, 5 | and Tivoli Storage Manager. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/add_oslo_messaging_amqp-d4c4c266e1a904ae.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add support for oslo_messaging_amqp backend via puppet-oslo resource 4 | -------------------------------------------------------------------------------- /releasenotes/notes/add_rabbit_kombu_options-a282d4e697a30c03.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Adds the kombu_failover_strategy option for configuring oslo.messaging.rabbit. 5 | This will determines how the next RabbitMQ node is chosen in case the one we 6 | are currently connected to becomes unavailable. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/add_transport_url_parameters-29b87bdc9197a376.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add oslo.messaging transport_url parameters via puppet-oslo resource -------------------------------------------------------------------------------- /releasenotes/notes/add_watch_log_file-option-b74553a438d125bc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::logging::watch_log_file`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/allow_specifying_api_port-b519d1df6d00e71c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - A new parameter allows changing the port that the 4 | cinder API service listens on. If it is changed, 5 | don't forget to update the catalog URLs. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/amqp_auto_delete-b34b1a9e219eb8a0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add a new ``amqp_auto_delete`` parameter, so that transient queues are 5 | automatically deleted. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/apache-headers-3fe15d86bd121c9d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::wsgi::apache`` class now supports customizing 5 | request/response headers added by apache. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/api-keymgr-cleanup-2fd57dc60c2c0288.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following parameters of the ``cinder::api`` class have been removed. 5 | Use the same parameters of the ``cinder`` class. 6 | 7 | - ``keymgr_encryption_api_url`` 8 | - ``keymgr_encryption_auth_url`` 9 | - ``keymgr_backend`` 10 | -------------------------------------------------------------------------------- /releasenotes/notes/api_key_backend-f3272420502b4206.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | keymgr_api_class is now deprecated in favor of keymgr_backend, with 5 | full backward compatibility for users. 6 | keymgr_backend is set to cinder.keymgr.conf_key_mgr.ConfKeyManager 7 | by default and configure key_manager/backend instead of 8 | key_manager/api_class. It reflects what openstack/cinder did in Queens 9 | cycle. 10 | -------------------------------------------------------------------------------- /releasenotes/notes/api_log_deprecations-81f5fd0239453011.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - enable_v1_api and enable_v2_api are deprecated (no parameters to 4 | subistitute) 5 | -------------------------------------------------------------------------------- /releasenotes/notes/api_paste_ini-separator-0ac0b9090ac1b9e2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``key_val_separator`` parameter has been added to 5 | the ``cinder_api_paste_ini`` resource type. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/auth_strategy-92b645b86a6d288c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - keystone_enabled is deprecated in favor of auth_strategy 4 | -------------------------------------------------------------------------------- /releasenotes/notes/auth_type-fix-f82e0ad146b0fb52.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | Now the ``cinder::nova`` class set credential parameters like username even 5 | if auth_type is not ``password``. This fixes the problem with the other 6 | auth_type value like ``v3password``. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/authtoken-75874feee752aa5d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Configure keystonemiddleware in a consistent way with all options required for Keystone v3. 4 | deprecations: 5 | - cinder::api::auth_type is deprecated, use cinder::keystone::authtoken::auth_type instead. 6 | - cinder::api::identity_uri is deprecated, use cinder::keystone::authtoken::auth_url instead. 7 | - cinder::api::auth_uri is deprecated, use cinder::keystone::authtoken::auth_uri instead. 8 | - cinder::api::keystone_tenant is deprecated, use cinder::keystone::authtoken::project_name instead. 9 | - cinder::api::keystone_user is deprecated, use cinder::keystone::authtoken::username instead. 10 | - cinder::api::keystone_password is deprecated, use cinder::keystone::authtoken::password instead. 11 | - cinder::api::memcached_servers is deprecated, use cinder::keystone::authtoken::memcached_servers instead. 12 | -------------------------------------------------------------------------------- /releasenotes/notes/authtoken_manage_memcache_package-2bd5f785cb28daab.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Passes parameter to keystone authtoken define to manage python-memcache package install. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/backup-concurrency-bedc9f5d4645b0f3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following two parameters have been added to the ``cinder::backup`` 5 | class, to support the corresponding parameters to define concurrency of 6 | cinder-backup. 7 | 8 | - ``backup_workers`` 9 | - ``backup_max_operations`` 10 | -------------------------------------------------------------------------------- /releasenotes/notes/backup-nfs-client-e95c8d1051fe1d10.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backup::nfs`` class now ensures that the nfs client package 5 | is installed. The new ``package_ensure`` parameter has been added so that 6 | the package state can be customized. 7 | 8 | -------------------------------------------------------------------------------- /releasenotes/notes/backup-quotas-c290c485f66dc1c6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Now the ``cinder::quota`` class supports parameters about backup quotas. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/backup-swift-swift_catalog_info-cda9cdb7dd3efecb.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::backup::swift::swift_catalog_info`` parameter was added 5 | to set info to lookup swift service in the service catalog. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/backup_ceph_max_snapshots-88d2ec3d64971ce8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::backup::backup_ceph_max_snapshots`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/backup_swift_service_auth-8dde6a53cd61cd71.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backup::swift`` class now supports 5 | the ``backup_swift_service_auth`` parameter, which controls 6 | the ``[DEFAULT] backup_swift_service_auth`` option in cinder.conf. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/barbican-356c86ac7a7a327c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Allow to configure Key Manager api class parameter to communicate with Barbican. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/barbican_service_user-7c554403b68cbcaa.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameter and class have been added, to support usage of 5 | the service token feature with the Barbican key manager. 6 | 7 | - The ``cinder::key_manager::barbican::send_service_user_token`` parameter 8 | - The ``cinder::key_manager::barbican::service_user`` class 9 | -------------------------------------------------------------------------------- /releasenotes/notes/block-storage-service-type-92f0892c2c2ca144.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::keystone::auth`` class now manages the block-storage service 5 | type and its endpoints. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/block_device_backend-877dc1cd0ffab684.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add support of Block Device backend for Cinder. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/bug-1986518-2ed0ab4ef3248cd8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | `Bug #1986518 `_: 5 | The ``cinder::backend::iscsi`` defined resource type now modifies 6 | the ``/etc/tgt/targets.conf`` file in Ubuntu and Debian, so that cinder can 7 | set up iscsi targets correctly. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/c-vol-tunables-84ae6003697f9eb9.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::volume`` class now supports the following parameters. 5 | 6 | - ``migration_create_volume_timeout_secs`` 7 | - ``volume_service_inithost_offload`` 8 | - ``reinit_driver_count`` 9 | - ``init_host_max_objects_retrieval`` 10 | - ``backend_stats_polling_interval`` 11 | -------------------------------------------------------------------------------- /releasenotes/notes/centos-9-support-f7ec9a7304d7404a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Now this module supports CentOS 9 and Red Hat Enterprise Linux 9. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/change-backup-swift-container-4fa57507543fdda3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - | 4 | Changed the default value of cinder::backup::swift::backup_swift_container 5 | to volumebackups. This matches the default from tht and removes a warning. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder-api-ssl-08f7be7fe02510c7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - The SSL-related options were removed from init.pp and added to api.pp 4 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder-backend_host-bac88f58b0ce8343.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | Fixed the ``cinder::backend_host`` parameter which was ignored when its 5 | value is defined in class definitions. 6 | Because of this, the ``cinder`` class should be declared before 7 | the ``cinder::backends`` class if the ``cinder::backend_host`` parameter is 8 | set. 9 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder-backup-driver-use-classname-910b92dfb6e67697.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | The ability to specify a Cinder backup driver by module name was deprecated 5 | in the Queens release and the ability has now been removed in Cinder. This 6 | fix updates the defaults to use the full module name, for example 7 | ``cinder.backup.drivers.swift.SwiftBackupDriver``. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder-backup-posix-backup_enable_progress_timer-ff338de76dd9c1d1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | The ``cinder::backup::posix::backup_enable_progress_timer`` parameter has 5 | been described in parameter but been invalid. Now the parameter is 6 | implemented as a valid paramater. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder-volume-active-active-42b8725370be4dc4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add support for configuring the settings necessary for running the 5 | cinder-volume service in active-active mode. This includes configuring the 6 | cluster name, and the backend URL used for distributed coordination. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder_api_wsgi-e51e79ab412fc764.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add WSGI support for Cinder API with Apache. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/cinder_v3-aacaa1f385aab7c4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add Cinder API v3 support. 4 | It will activate v2 Keystone resources by default from now, 5 | allow to activate cinder v3 api, enabled by default, 6 | allow to manage Keystone resources for Cinder v3 API, enabled by default. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/cleanup-keymgr-47715ecf4abcf266.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following parameters of the ``cinder`` class have been removed. 5 | 6 | - ``keymgr_backend`` 7 | - ``keymgr_encryption_api_url`` 8 | - ``keymgr_encryption_auth_url`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/cleanup-netapp-zed-5c7422e2b7808228.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following parameters of the ``cinder::backend::netapp`` defined 5 | resource type have been removed. 6 | 7 | - ``netapp_vfiler`` 8 | - ``netapp_partner_backend_name`` 9 | - ``netapp_webservice_path`` 10 | - ``netapp_controller_ips`` 11 | - ``netapp_sa_password`` 12 | -------------------------------------------------------------------------------- /releasenotes/notes/configure-auth_strategy-f8005172e383ec94.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - auth_strategy will now be configured in cinder.conf 4 | with the value passed for cinder::api::auth_strategy 5 | -------------------------------------------------------------------------------- /releasenotes/notes/configure_service-e5e355b83ecbeb9f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::keystone::auth::configure_service_v3`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/consistent-project-name-769987b2337a8434.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The default value of cinder::nova::project_name is changed from 'service' 5 | to 'services'. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/cors-ec65ae3f0a49fc44.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::cors`` class has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/cron-ensure-bd3b9d51d459ffbe.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::cron::db_purge::ensure`` parameter has been added, so 5 | that status of the cron job can be customized. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/default-domain-aa57e4969162dc52.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | issues: 3 | - | 4 | Keystone v2.0 API was removed so we need to set a default value 5 | for user_domain_name and project_domain name, which will be 6 | Default as it is already in some other classes in modules. 7 | 8 | -------------------------------------------------------------------------------- /releasenotes/notes/default-val-quota_set-auth-url-fa7b58f3db7e35b2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The default value for cinder::quota_set::os_auth_url is now changed from 5 | http://127.0.0.1:5000/v2.0/ to http://127.0.0.1:5000/v3/ 6 | -------------------------------------------------------------------------------- /releasenotes/notes/default-value-change-keymgr_backend-4a627bb17e688e18.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The default value of cinder::api::keymgr_backend is changed from the invalid 5 | value cinder.keymgr.conf_key_mgr.ConfKeyManager to service default. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/default_availability_zone-undef-by-default-fac8174e8e54db38.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Usage of `false` for the ``cinder::default_availability_zone`` parameter 5 | has been deprecated and will be removed in a future release. Use ``undef`` 6 | (which is the new default value) instead. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/dellemc-driver-cleanup-7c8f149c4b71ce4b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following resource types have been removed. 5 | 6 | - ``cinder::backend::scaleio`` 7 | - ``cinder::backend::dellemc_vxflexos`` 8 | - ``cinder::backend::dellemc_vmax_iscsi`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/dellemc-vnx-deprecate-storage_vnx_pool_name-a89ae51a3e4f73df.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - storage_vnx_pool_name is deprecated and will be removed in a future release. 4 | Please use storage_vnx_pool_names instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/dellsc-driver-a7cd300a24a64b01.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added Dell EMC SC multipath support 4 | This change implements the documented best practice to use multipath 5 | with a Cinder deployment by setting a Cinder configuration setting 6 | to ensure that multipath is appropriately used by the Dell EMC 7 | SC iSCSI driver. Multipath is true by default. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/dellsc_iscsi_driver-deprecate-a428e372280c44e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::backend::dellsc_iscsi is deprecated and will be 4 | removed in the V-release, use new resource 5 | cinder::backend::dellemc_sc instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-backend-default-8713501a34f871d3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - Configurations that are setting backend config in ``[DEFAULT]`` 4 | section are now not supported. You should use ``enabled_backends`` 5 | option to set up backends. No volume service(s) started successfully 6 | otherwise. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-backup-tms-9413ed39fe7c47c6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::backup::tsm`` class has been deprecated and has no effect, 5 | because TSM driver has been removed from cinder. This class will be removed 6 | completely in a future release. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-cinder-api-os_region_name-812ccb925f867a52.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The cinder::api::os_region_name parameter was deprecated and has no effect. 5 | Use cinder::nova::region_name instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-cinder-backend_host-8998890a80cbf783.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::backend_host`` parameter has been deprecated and will be 5 | remove in a future release. Use the ``cinder::backends::backend_host`` 6 | parameter instead. 7 | 8 | - | 9 | Passing a false value for ``cinder::backends::backend_host`` has been 10 | deprecated. Use ``$::os_service_default`` instead. 11 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-cinder-qos-e47dcf3da78f37f9.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::qos`` resource type has been deprecated. 5 | Use the ``cinder_qos`` class directly instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-dell-storage-drivers-caracal-cc59ab61edeee1bf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following defined resource types have been deprecated and will be 5 | removed in a future release. These support options for the storage drivers 6 | which are no longer supported because of product EOL. 7 | 8 | - ``cinder::backends::delemc_sc`` 9 | - ``cinder::backends::delemc_xtremio`` 10 | - ``cinder::backends::emc_vnx`` 11 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-drivers-in-default-f4a7c69ea9415375.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Support for drivers in the Cinder.conf DEFAULT section is deprecated 4 | and will be removed after the Newton release. Please update your puppet 5 | implementations to use cinder\:\:backend instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-glustefs-volume-driver-a1cce111ead9d015.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Support for GlusterFS volume driver has been deprecated and will be removed 5 | in a future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-hpelefthand-support-4a42657e453a6c51.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The support for HPE Lefthand driver has been deprecated and will be removed 5 | in a future release, in favor of removal of Lefthand driver from cinder. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-iscsi-parameters-9b091c7207694e4c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The iscsi_ip_address parameter is no longer supported, and has been 5 | replaced by a corresponding target_ip_address parameter. This is due 6 | to cinder's removal of support for the iscsi_ip_address option during 7 | the Stein cycle. 8 | deprecations: 9 | - | 10 | The following parameters are deprecated because support for them was 11 | removed from cinder during the Stein cycle. 12 | * iscsi_ip_address 13 | * iscsi_port 14 | * iscsi_helper 15 | * iscsi_protocol 16 | They are replaced by the following parameters. 17 | * target_ip_address 18 | * target_port 19 | * target_helper 20 | * target_protocol 21 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-netapp-7mode-a241386379e2a93b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following parameters of the ``cinder::backend::netapp`` resource type 5 | have been deprecated and have no effect now. 6 | 7 | - ``netapp_vfiler`` 8 | - ``netapp_partner_backend_name`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-netapp-eseries-cc877c5705f34931.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following parameters of the ``cinder::backend::netapp`` resource type 5 | have been deprecated and have no effect now. 6 | 7 | - ``netapp_webservice_path`` 8 | - ``netapp_controller_ips`` 9 | - ``netapp_sa_password`` 10 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-netapp_copyoffload_tool_path-02f160e6dc687df1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::backend::netapp::netapp_copyoffload_tool_path`` parameter has 5 | been deprecated and will be removed in a future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-nexenta-edge-b10e6c19c02d26eb.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Support for Nexenta Edge Driver has been deprecated and will be removed in 5 | a future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-nfs_disk_util-86f779f46ddd0163.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::backend::nfs_disk_util`` parameter has been deprecated and 5 | has no effect. This parameter has had no effect since Havana release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-powerstore_appliances-1a3ef9166d1b35ad.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::dellemc_powerstore::powerstore_appliances`` 5 | parameter has been deprecated and has no effect now. This parameter will be 6 | removed in a future release. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-queens-parameters-a9cbd23131f763d8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following parameters are deprecated because support for them was 5 | removed from cinder during the Queens cycle. 6 | * glance_api_version 7 | * nova_catalog_info 8 | * os_privileged_user_name 9 | * os_privileged_user_password 10 | * os_privileged_user_tenant 11 | * os_privileged_user_auth_url 12 | 13 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-quobyte-346d56455c680d64.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Support for the Quobyte volume driver has been deprecated, because 5 | the driver is now marked unsupported. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-rabbit_heartbeat_in_pthread-22c5dd53f5f1e005.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::rabbit_heartbeat_in_pthread`` parameter has been deprecated 5 | and will be removed in the future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-san-f10faba4dedcec43.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::backend::san`` defined resource type has been deprecated and 5 | will be removed in a future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-service-validation-f30611c72f3a484d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The service validation feature of the ``cinder::api`` class is deprecated, 5 | and the ``cinder::api::validate`` parameter has no effect now. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-v2-api-a6fd143635d2f3a5.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | If any keystone resources for volume v2 API have been created, all of these 5 | resources should be manually deleted during upgrade. 6 | 7 | deprecations: 8 | - | 9 | The support for cinder v2 API has been deprecated. The resource for cinder 10 | v2 API(service, endpoint, user and role assignment) is no longer managed. 11 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-veritas_hyperscale-062d5009c5e8f6c5.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Support for Veritas HyperScale Block Stoage driver has been deprecated and 5 | will be removed in a future release. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-vmware-9628bcac0e2435e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following implementations have been deprecated and will be removed 5 | in a future release. 6 | 7 | - ``cinder::vmware`` class 8 | - ``cinder::backend::vmdk`` defined resource type 9 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-volume-v3-user-cb5c833a5b18f007.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Management of cinder v3 user by the ``cinder::keystone::auth`` class has 5 | been deprecated and will be removed in a future release. Because of this 6 | change the following parameters of the auth class have been deprecated. 7 | 8 | - ``password_user_v3`` 9 | - ``email_user_v3`` 10 | - ``auth_name_v3`` 11 | - ``tenant_user_v3`` 12 | - ``roles_v3`` 13 | - ``system_scope_v3`` 14 | - ``system_roles_v3`` 15 | - ``configure_user_v3`` 16 | - ``configure_user_role_v3`` 17 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-vstorage-f5f1738d44104db7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Support for VZStorageDriver has been deprecated. The driver has 5 | been marked unsupported in cinder for multiple releases. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate-watch_log_file-8554d796827fb5f4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The ``cinder::logging::watch_log_file`` parameter has been deprecated. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_allow_insecure_clients-option-ac8a4c45923291c0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - allow_insecure_clients option is now deprecated for removal, the 4 | parameter has no effect. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_auth_params-e34ba5123cee9060.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Drop deprecated parameters for authentification to use identity_uri 4 | and auth_uri by default. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_auth_uri_parameter-a30b9e7c7d8cee38.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - auth_uri is deprecated and will be removed in a future release. 4 | Please use www_authenticate_uri instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_backup_topic_option-1832f8a9d21285ae.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - The backup_topic parameter is deprecated. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_bdd_driver-77e30c51eb46f08e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - The block device driver backend is deprecated in P 4 | and will be removed in the future. Pleasse use LVM 5 | driver with LIO iSCSI target for same purpose. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_cluster_id-8d9838a9ef8932bf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cluster_id parameter is deprecated. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_database_min_pool_size-option-b7eb9678dc29cd9d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - database_min_pool_size option is now deprecated for removal, the 4 | parameter has no effect. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_database_options-3abedcf672a6650f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following options have been deprecated, as those options have been 5 | moved to cinder::db class. 6 | 7 | - ``cinder::database_connection`` 8 | - ``cinder::database_idle_timeout`` 9 | - ``cinder::database_max_overflow`` 10 | - ``cinder::database_max_pool_size`` 11 | - ``cinder::database_max_retries`` 12 | - ``cinder::database_retry_interval`` 13 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_host-44c7d007f7a5ea71.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - host option is deprecated, backend_host 4 | option is added instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_idle_timeout_parameter-9c3ffa59d2ddb8b3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - database_idle_timeout is deprecated and will be removed in a future 4 | release. Please use database_connection_recycle_time instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_liberty-192d873c0d039e21.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Remove code deprecated in liberty cycle. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_pki_related_parameters-b09c74b4d98224c2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - check_revocations_for_cached option is now deprecated for removal, the 4 | parameter has no effect. 5 | - hash_algorithms option is now deprecated for removal, the parameter 6 | has no effect. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_revocation_cache_time_parameter-8db72b4538599f5d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - revocation_cache_time option is now deprecated for removal, the 4 | parameter has no effect. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_rpc_backend_parameter-a192bd1166eb4ff2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::rpc_backend is deprecated and will be removed in a future 4 | release. Please use cinder::default_transport_url instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_sf_enable_volume_mapping-parmater-a5d9c17aa551601e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Solidfire option sf_enable_volume_mapping is deprecated and will be 4 | removed in a future release. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecate_signing_dir_parameter-76123a45ef21398a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - signing_dir option is now deprecated for removal, the 4 | parameter has no effect. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/deprecating_management_of_rabbit_resources-6e324c9e6eeff990.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Deprecating the management of rabbitmq resources. 4 | It will be dropped in the next release. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/disable-apache-ssl-091f33cd0d64294e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Default value of the ``cinder::wsgi::apache::ssl`` parameter has been 5 | changed from ``true`` to ``false`` and now ssl is disabled by default. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/drop-fedora-797a1e2a02292ab8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Fedora is no longer supported. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/drop_qpid-b392d711dda1579c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Drop all Qpid support, it was removed from Oslo in Mitaka. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/emc-vnx-new-driver-3bf454673e5ba9bb.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - The default volume driver for cinder::backend::emc_vnx has been changed to be newton-compatible. 4 | - A new parameter, 'storage_protocol' has been added to cinder::backend::emc_vnx to be newton-compatible. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/emc_vnx_deprecate_iscsi_ip_address-773b9c158c7751b7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Deprecate iscsi_ip_address parameter in cinder::backend::emc_vnx 4 | - Deprecate iscsi_ip_address parameter in cinder::volume::emc_vnx 5 | -------------------------------------------------------------------------------- /releasenotes/notes/emc_vnx_driver-359208e3eeeaabf7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - allow to configure previously hardcoded parameters 4 | and add more options in emc vnx. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/enable_cancel_on_failover-1098f32930dfb254.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::rabbit_enable_cancel_on_failover`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Remove eqlx define and class. 4 | - Remove all eqlx parameters in define and class. 5 | - Remove all tests related to eqlx. 6 | - Remove all references to eqlx in docs 7 | -------------------------------------------------------------------------------- /releasenotes/notes/executor_thread_pool_size-5daabf2eb43dfdd4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::executor_thread_pool_size`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/external_hooks_support-473735fcfe15bc5d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - moves all dependencies to an external class. 4 | This allows keystone to be installed and managed 5 | via external mechanisms like venvs or docker. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/fix-backend_host-usage-316f4fb0f2ef6dae.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | Fixes `bug 1753596 5 | `__ so the backend_host 6 | option is set in each cinder-volume backend driver's section, and not in 7 | the DEFAULT section where the option isn't relevant. 8 | other: 9 | - | 10 | A previous deprecation notice stated the host option was deprecated in 11 | favor of the backend_host option. This was misleading because the note 12 | failed to clarify this only applied to options in the cinder-volume 13 | backend driver sections. In the DEFAULT section, the host option is not 14 | deprecated, and the backend_host option isn't relevant. 15 | -------------------------------------------------------------------------------- /releasenotes/notes/fix-dellemc-driver-paths-04b5792a3534e4c4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | Update the driver paths for several Dell EMC backends. 5 | Fixes `bug 1785085 6 | `__. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/fix-volume-type-name-0e39f0e2f3e44264.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | The following defined resource types now create volume types according to 5 | the ``volume_backend_name`` parameter, instead of resource names. 6 | 7 | - ``cinder::backend::dellemc_powerflex`` 8 | - ``cinder::backend::netapp`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/fix_multiple_rbd-e70b48e788387fa8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - Fixes `bug 1526533 4 | `__ so we're 5 | able to deploy multiple RBD backends with multiple users. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/glance-opts-26bd0abe8173cc8c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to the ``cinder::glance`` class. 5 | 6 | - ``allowed_direct_url_schemes`` 7 | - ``verify_glance_signatures`` 8 | - ``glance_catalog_info`` 9 | - ``glance_core_properties`` 10 | -------------------------------------------------------------------------------- /releasenotes/notes/gpfs-volume-backend-name-5047746591b15231.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::backend::gpfs::volume_backend_name`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/hc-enable_by_file_paths-b3bbf78328e6e062.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::healthcheck::enable_by_file_paths`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/healthcheck-allowed_source_ranges-f4df3240281651aa.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::healthcheck::allowed_source_ranges`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/healthcheck-defa567494511d16.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::healthcheck`` class has been added. This class manages 5 | parameters of healthcheck middlware in oslo.middleware. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/healthcheck-ignore_proxied_requests-67cee8cfbb4c16a7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::healthcheck::ignore_proxied_requests`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/host_config-d58e1bb4c2aff303.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Allow customization of DEFAULT/host. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/hp3par-deprecations-b3cf23bdc905c6d9.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Deprecate hp3par_iscsi define and class. 4 | - Deprecate all hp3par parameters in define and class 5 | features: 6 | - add hpe3par parameters in h3par_iscsi define and class. 7 | - add hpe3par_iscsi define and class 8 | - add tests for define and class hpe3par_iscsi 9 | -------------------------------------------------------------------------------- /releasenotes/notes/hpelefthand-backend-driver-c21eb554abef11e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - add hplefthand backend driver 4 | -------------------------------------------------------------------------------- /releasenotes/notes/httpd-logs-piped-syslog-794d78fd3dfea4ac.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added parameters for advanced configuration of httpd access and error log 5 | destinations including piped logging and syslog (see `mod_syslog`). Note 6 | that mod_syslog requires Apache2 >= 2.5.0. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/image-opts-0788de32c2bb3454.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder`` class now supports the following three new parameters. 5 | 6 | - ``image_compress_on_upload`` 7 | - ``image_conversion_cpu_limit`` 8 | - ``image_conversion_address_space_limit`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/image_conversion_disable-d6ae242febbf67f6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::image_conversion_disable`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/image_volume_cache-882c9d2b842c3c0f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Support for the image volume cache options has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/internal_tenant-733c568ffd415bd0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Now the ``cinder`` class supports the following two parameters. 5 | 6 | - ``cinder_internal_tenant_project_id`` 7 | - ``cinder_internal_tenant_user_id`` 8 | -------------------------------------------------------------------------------- /releasenotes/notes/introduce_new_class_for_cinder_backend_defaults-f1f63f755dfdef47.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Introduce a new Class cinder::backend::defaults, that provides a 5 | way to configure parameters for all cinder backends in [backend_defaults] 6 | section of cinder configuration file. 7 | This parameter ``use_multipath_for_image_xfer`` is supported currently. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/iscsi-lvm_type-d93a331e9b2ce273.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::iscsi::lvm_type`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/keymgr-opts-a22700480639d3db.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::key_manager`` class has been added. This class manages 5 | basic options of key managers. 6 | 7 | - | 8 | The new ``cinder::key_manager::barbican`` class has been added. This class 9 | manages options of BarbicanKeyManager. 10 | 11 | deprecations: 12 | - | 13 | The ``cinder::api::keymgr_backend`` parameter has been deprecated. Use 14 | the ``cinder::key_manager`` class. 15 | 16 | - | 17 | The following parameters of the ``cinder`` class have been deprecated in 18 | favor of the new ``cinder::key_manager::barbican`` class. 19 | 20 | - ``keymgr_encryption_api_url`` 21 | - ``keymgr_encryption_auth_url`` 22 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone-auth-name-04bbc48dfe77959c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - The keystone auth class has been updated to provide a default service_name 4 | to allow a user to specify a custom auth_name that may not contain the 5 | name of the service. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone-authtoken-interface-9da7455a49e59ad7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::keystone::authtoken::interface`` parameter has been 5 | added, which can be used to set the interface parameter in authtoken 6 | middleware. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone-authtoken-memcached-47d5145d2b4d9b67.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - Added the ability to manage the memcached servers 4 | for keystone_authtoken in cinder::api 5 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone-authtoken-service_type-c3963a3f6064050c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::keystone::authtoken::service_type`` parameter has been 5 | added to configure the service_type parameter in authtoken middleware. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone-v3-support-cinder_type-09357cfcf7834e80.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Keystone v3 support is added to the cinder_type 4 | provider. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/keystone_authtoken-service_token_roles-e698dd87b9cd2598.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | New hieradata, cinder::keystone::authtoken::service_token_roles, is 5 | introduced so that specific role can be assigned to the service user 6 | who can use service token feature. 7 | - | 8 | New hieradata, cinder::keystone::roles, roles_v2 and roles_v3 are 9 | introduced to configure customized role for cinder user in keystone 10 | identity. 11 | -------------------------------------------------------------------------------- /releasenotes/notes/log-json-58d08df226673d3c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Expose use_json logging parameter, which enables JSON formatted logging. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/max_over_subscription_ratio-c025d4bad81160f4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``max_over_subscription_ratio`` parameter has been added to 5 | the following defined resource types. 6 | 7 | - ``cinder::backend::dellemc_powermax`` 8 | - ``cinder::backend::dellemc_powerstore`` 9 | - ``cinder::backend::dellemc_unity`` 10 | - ``cinder::backend::dellemc_xtremio`` 11 | - ``cinder::backend::emc_vnx`` 12 | - ``cinder::backend::hpe3par_iscsi`` 13 | - ``cinder::backend::ibm_svf`` 14 | - ``cinder::backend::iscsi`` 15 | - ``cinder::backend::netapp`` 16 | - ``cinder::backend::nvmeof`` 17 | - ``cinder::backend::nfs`` 18 | - ``cinder::backend::pure`` 19 | - ``cinder::backend::rbd`` 20 | - ``cinder::backend::solidfire`` 21 | -------------------------------------------------------------------------------- /releasenotes/notes/max_request_body_size-a199b5c1e0d2f104.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add support to configure `[oslo_middleware]/max_request_body_size` with 5 | `$max_request_body_size`. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/migrate-policy-format-from-json-to-yaml-85a629873cdaf4ea.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Now policy.yaml is used by default instead of policy.json. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/more-scheduler-opts-7f53704ed415f9be.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to the ``cinder::scheduler`` 5 | class. 6 | 7 | - ``driver_init_wait_time`` 8 | - ``host_manager`` 9 | - ``max_attempts`` 10 | 11 | - | 12 | The following parameters have been added to 13 | the ``cinder::scheduler::filter`` class. 14 | 15 | - ``default_weighers`` 16 | - ``weight_handler`` 17 | 18 | deprecations: 19 | - | 20 | The ``cinder::scheduler::scheduler_driver`` parameter has been deprecated, 21 | in favor of the new ``driver`` parameter. 22 | 23 | - | 24 | The ``cinder::scheduler::filter::scheduler_default_filters`` parameter has 25 | been deprecated, in favor of the new ``default_filters`` parameter. 26 | -------------------------------------------------------------------------------- /releasenotes/notes/move-cinder-ceilometer-to-init-efb8ebbdca98519c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The cinder::ceilometer class is deprecated and has no effect. The parameters 5 | notification_transport_url, notification_driver and notification_topics has 6 | been moved to the cinder class. The default value of notification_driver has 7 | been changed, you need to explicitly set it to messagingv2 or another driver 8 | that you want to use. 9 | deprecations: 10 | - | 11 | The cinder::ceilometer class is deprecated and has no effect. The parameters 12 | for this class has been moved to the cinder class. 13 | -------------------------------------------------------------------------------- /releasenotes/notes/move-keymgr-params-to-init-a745c0eed3062392.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | Cinder's Key Manager parameters have moved from cinder::api to 5 | the cinder class. The following parameters are deprecated: 6 | * cinder::api::keymgr_backend 7 | * cinder::api::keymgr_encryption_api_url 8 | * cinder::api::keymgr_encryption_auth_url 9 | They are replaced by the following new parameters: 10 | * cinder::keymgr_backend 11 | * cinder::keymgr_encryption_api_url 12 | * cinder::keymgr_encryption_auth_url 13 | fixes: 14 | - | 15 | Cinder's Key Manager parameters are no longer associated with just the 16 | cinder-api service. The parameters are always configured so that the 17 | cinder-volume and cinder-backup services can also access the Key Manager. 18 | Fixes `bug 1886081 ` 19 | -------------------------------------------------------------------------------- /releasenotes/notes/multiplier-opts-e30673503dc64554.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following three parameters have been added to 5 | the ``cinder::scheduler::filter`` class. 6 | 7 | - ``capacity_weight_multiplier`` 8 | - ``allocated_capacity_weight_multiplier`` 9 | - ``volume_number_multiplier`` 10 | -------------------------------------------------------------------------------- /releasenotes/notes/netapp_deprecate_storage_pools_and_volume_list_params-3cbe9ed8f4d7b281.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - netapp_storage_pools parameter is deprecated in favor 4 | of netapp_pool_name_search_pattern. 5 | - netapp_volume_list parameter is deprecated in favor 6 | of netapp_pool_name_search_pattern. -------------------------------------------------------------------------------- /releasenotes/notes/netapp_deprecation_newton-34c2b89e6d4d3c82.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - netapp_eseries_host_type parameter is deprecated in favor 4 | of netapp_host_type. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/nexenta-params-update-2411fefa01ee20aa.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - allow to configure previously hardcoded parameter 4 | and add more options in nexenta backend. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/nfs-client-package-13acd2b8b0acb7fe.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::nfs`` defined resource type now ensures that the nfs 5 | client package is installed. The new ``package_ensure`` parameter has been 6 | added so that the package state can be customized. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/notification-retry-dafd2c1b861dd831.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::notification_retry`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/nvmeof-new-params-9e107a437811853b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add new parameters ``nvmeof_conn_info_version``, ``lvm_share_target``, and 5 | ``target_secondary_ip_addresses`` to ``cinder::backend::nvmeof``. 6 | - | 7 | Default ``cinder::backend::nvmeof::target_port`` to ``4420``, making it an 8 | optional parameter now. 9 | -------------------------------------------------------------------------------- /releasenotes/notes/nvmeof-reserved_percentage-4609d4aae48b5e37.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::nvmeof::reserved_percentage`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/openstack_db_tag-a0c3d09e892eade0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add openstack-db tag to Exec that run db-sync. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/os-brick-wait_mpath_device-bff9501f0e5225d6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to the ``cinder::os_brick`` 5 | class. 6 | 7 | - ``wait_mpath_device_attempts`` 8 | - ``wait_mpath_device_interval`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/os_brick-cbe9075c663bb2a8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::os_brick`` class has been added. This class manages 5 | the ``[os_brick]`` options. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/os_workers_for_worker_count-2e3b0ae4257dad7b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Parameters that control the number of spawned child processes for 4 | distributing processing have had their default value changed from 5 | ::processorcount to ::os_workers. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/oslo-reports-ca22920b4392b6e8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::reports`` class has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/oslo_policy-enforce_scope-6a23a798b4bfbdb0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::policy::enforce_scope`` parameter has been added to 5 | support the corresponding parameter in oslo.policy library. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/policy-dirs-9addb26cee0b0a4d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | There is now a new policy_dirs parameter in the cinder::policy class, 5 | so one can set a custom path. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/policy-enforce_new_defaults-3a27b144e3d65abf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::policy::enforce_new_defaults`` parameter has been 5 | added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/policy_default_rule-91ea720f662c95ce.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::policy::policy_default_rule`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/policy_purge_config-030d52fdcecdaa05.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Adds new purge_config parameter. When set to true, the policy file is 5 | cleared during configuration process. This allows to remove any existing 6 | rules before applying them or clean the file when all policies got removed. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/powerflex-timeout-options-b1f353bdb570d825.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to 5 | the ``cinder::backend::dellemc_powerflex`` defined resource type. 6 | 7 | - ``rest_api_connect_timeout`` 8 | - ``rest_api_read_timeout`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/powermax-driver-d428e372280c44e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add new PowerMax backend driver options to support 4 | both iSCSI and FC options.` 5 | -------------------------------------------------------------------------------- /releasenotes/notes/powermax-timeout-options-99e0c13f0b71b2e2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to 5 | the ``cinder::backend::dellemc_powermax`` defined resource type. 6 | 7 | - ``rest_api_connect_timeout`` 8 | - ``rest_api_read_timeout`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/powerstore-driver-c6cd300a24a64b01.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add Dell EMC PowerStore backend cinder driver support 4 | -------------------------------------------------------------------------------- /releasenotes/notes/prepare-to-change-apache-ssl-9b553e3246b4658f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Default value of the ``cinder::wsgi::apache::ssl`` parameter will be 5 | changed from ``true`` to ``false`` in a future release. Make sure 6 | the parameter is set to the desired value. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/properties-hash-840c382dd23bcdbf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``properties`` property of ``cinder_type`` resource and ``cinder_qos`` 5 | resource now accepts Hash values instead of Array values. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/provider-deprecate-at-params-65e1ed50038822d3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - | 4 | The following resource types have been using the credential written in 5 | the ``[keystone_authtoken]`` section of ``cinder.conf``. However this 6 | behavior has been deprecated and now these resource types first look for 7 | the yaml files in ``/etc/openstack/puppet``. Make sure one of 8 | ``clouds.yaml`` or ``admin-clouds.yaml`` (which is created by 9 | puppet-keystone) is created in that directory. 10 | 11 | - ``cinder_type`` 12 | - ``cinder_qos`` 13 | -------------------------------------------------------------------------------- /releasenotes/notes/ps-driver-d428e372280c44e7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - Fixes `bug 1758133 4 | `__ 5 | to use the new driver path for Dell EMC PS Driver. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/puppet-8-008cb1cab8168dda.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | This module now officially supports Puppet 8. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/puppet4-mysql-func-e66797f83b328609.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | This module now requires a puppetlabs-mysql version >= 6.0.0 5 | -------------------------------------------------------------------------------- /releasenotes/notes/pure_add_iscsi_cidr_list-aab9045dcf9a4f83.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add new parameter ``cinder::backend::pure::pure_iscsi_cidr_list`` 5 | which allows setting of the pure_iscsi_cidr_list option on the managed 6 | cinder backend for PureStorage. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/pure_host_personality-f4165f778cf9c423.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``pure_host_personality`` parameter has been added to 5 | ``cinder::backend::pure`` 6 | -------------------------------------------------------------------------------- /releasenotes/notes/pure_nvme-b471de69aba7dbe7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add support for NVMe to ``cinder::backend::pure_storage_protocol``. 5 | Add new parameter ``cinder::backend::pure::pure_nvme_transport`` 6 | which defines the NVMe transport layer used when the NVMe 7 | driver is selected. This only supports ``roce`` at this time. 8 | Add new parameter ``cinder::backend::pure::pure_nvme_cidr`` 9 | which allows setting of the pure_nvme_cidr option on the managed 10 | cinder backend for PureStorage. 11 | Add new parameter ``cinder::backend::pure::pure_nvme_cidr_list`` 12 | which allows setting of the pure_nvme_cidr_list option on the managed 13 | cinder backend for PureStorage. 14 | -------------------------------------------------------------------------------- /releasenotes/notes/purestorage-handle-imagecache-6c2d78f91746bdbf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add new parameter cinder::backend::pure::image_volume_cache_enabled 5 | Allows setting of the image_volume_cache_enabled option on the managed 6 | Cinder backend for PureStorage. The option defaults to True if unset. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/purestorage_updated_params-b0f474d9ab08c37e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add new parameter ``cinder::backend::pure::pure_eradicate_on_delete`` 5 | which allows setting of the pure_eradicate_on_delete option on 6 | the managed cinder backend for PureStorage. 7 | - | 8 | Add new parameter ``cinder::backend::pure::pure_iscsi_cidr`` 9 | which allows setting of the pure_iscsi_cidr option on the managed 10 | cinder backend for PureStorage. 11 | -------------------------------------------------------------------------------- /releasenotes/notes/pymysql-e57bf1f0289dd426.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Support of PyMySQL driver for MySQL backend. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/quota-per_volume_size_limit-8d40ab1b86af0f71.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::quota`` class now supports the ``per_volume_size_limit`` 5 | parameter, which defines max size allowed per volume. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbit-connection-params-deprecation-1e13e36113051959.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::rabbit_host, cinder::rabbit_hosts, cinder::rabbit_password, 4 | cinder::rabbit_port, cinder::rabbit_userid and cinder::rabbit_virtual_host 5 | are deprecated. cinder::default_transport_url should be used to configure 6 | the messaging backend connection information. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbit-quorum-queue-8ba93415db4ec17f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder`` class now supports options for quorum queues in RabbitMQ. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbit_qos_prefetch_count-11fc96c4347c7e12.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::rabbit_qos_prefetch_count`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbit_transient_queues_ttl-046d931781e0a101.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | A new parameter ``rabbit_transient_queues_ttl`` has been added to the 5 | cinder class to configure how long transient queue should stay until 6 | they are automatically deleted. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbit_transient_quorum_queue-7b82ac1b95003242.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::rabbit_transient_quorum_queue`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/rabbitmq-heartbeat-over-pthread-a37f57a835c6291b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Allow users to run the RabbitMQ heartbeat over a native python thread in the 5 | oslo.messaging RabbitMQ driver, by using the `rabbit_heartbeat_in_pthread` 6 | option in configuration. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/rbd-deferred-deletion-17e67e13aa2d062b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backends::rbd`` defined resource type now supports options 5 | used by the deferred deletion feature. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/rbd-opts-8e6856ca90979340.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters have been added to the ``cinder::backend::rbd`` 5 | resource type. 6 | 7 | - ``report_dynamic_total_capacity`` 8 | - ``rbd_exclusive_cinder_pool`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/rbd_concurrent_flatten_operations-8916b5ddd45b14d5.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::backends::rbd::rbd_concurrent_flatten_operations`` option 5 | has been added. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/rebrand-vxflexos-powerflex-vxflexos-driver-abc8e372280c44e7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Adding support for PowerFlex cinder driver. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/release-note-ubuntu-py3-ac37054ad95865df.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | prelude: > 3 | In this release Ubuntu has moved all projects that supported it to python3 4 | which means that there will be a lot of changes. The Puppet OpenStack project 5 | does not test the upgrade path from python2 to python3 packages so there might 6 | be manual steps required when moving to the python3 packages. 7 | upgrade: 8 | - | 9 | Ubuntu packages are now using python3, the upgrade path is not tested by 10 | Puppet OpenStack. Manual steps may be required when upgrading. 11 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-amqp1-c99a5ccc0871ad59.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Support for amqp1 messaging driver has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-amqp_allow_insecure_clients-ae101375aaa7161f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::amqp_allow_insecure_clients`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-api-v1-2987e0317436bc69.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Keystone catalog entries for Cinder's v1 API are no longer created, 5 | but existing entries will not be automatically deleted. 6 | deprecations: 7 | - | 8 | The following parameters associated with the v1 API are deprecated. 9 | * configure_endpoint 10 | * public_url 11 | * internal_url 12 | * admin_url 13 | * service_name 14 | * service_type 15 | * service_description 16 | fixes: 17 | - | 18 | The keystone service and endpoint for Cinder's API v1 are no longer 19 | created. Cinder removed support for its v1 API in Queens. 20 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-auth-uri-d7426ce0677222c8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated parameter auth_uri is now removed, please use www_authenticate_uri. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-backend_host-2471b0efdca3d310.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend_host`` parameter has been removed. 5 | Use the ``cinder::backends::backend_host`` parameter instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-backup-tsm-f10b3673ecf2836f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backup::tsm`` class has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-centos-8-10aadccce5509340.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | CentOS 8 Stream is no longer supported by this module. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-cinder-api-os_region_name-c9c8b474d380c31f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::api::os_region_name`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-cinder-ceilometer-8b670329334c4b10.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The cinder::ceilometer class is removed, set the parameters in the cinder 5 | class directly instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-cinder-qos-21d4a58b54e9076b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::qos`` defined resource type has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-database-params-3de49cb544163921.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following parameters of the ``cinder`` class have been removed. 5 | 6 | - ``database_min_pool_size`` 7 | - ``database_connection`` 8 | - ``database_idle_timeout`` 9 | - ``database_max_overflow`` 10 | - ``database_max_pool_size`` 11 | - ``database_max_retries`` 12 | - ``database_retry_interval`` 13 | 14 | - | 15 | The ``database_min_pool_size`` parameter of the ``cinder::db`` class has 16 | been removed. 17 | 18 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-dellsc_iscsi-5d185d574d75b8f6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend::dellsc_iscsi`` defined resource type has been 5 | removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-deprecated-63f92fcce2c35685.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated parameters cinder::rabbit_host, cinder::rabbit_hosts, cinder::rabbit_password, 5 | cinder::rabbit_port, cinder::rabbit_userid, cinder::rabbit_virtual_host and cinder::rpc_backend 6 | is removed. Please use cinder::default_transport_url instead. 7 | - | 8 | The deprecated parameters cinder::use_ssl, cinder::cert_file, cinder::key_file and cinder::ca_file 9 | is removed. You should now set them in the cinder::api class. 10 | - | 11 | The deprecated parameter cinder::api::validation_options is removed. 12 | - | 13 | The deprecated parameter netapp_eseries_host_type in cinder::backend::netapp is removed. 14 | Please use netapp_host_type instead. 15 | - | 16 | The deprecated parameters netapp_storage_pool and netapp_volume_list in cinder::backend::netapp is 17 | removed. Please use netapp_pool_name_search_pattern instead. 18 | - | 19 | The deprecated parameter cinder::backend::rbd::volume_tmp_dir is removed. 20 | Please use cinder::image_conversion_dir instead. 21 | - | 22 | The deprecated parameters os_password, os_tenant_name, os_username, os_auth_url and os_region_name 23 | in cinder::type_set is removed. 24 | - | 25 | The deprecated parameters os_password, os_tenant_name, os_username and os_auth_url in 26 | cinder::vmware is removed. 27 | - | 28 | The deprecated parameters os_password, os_tenant_name, os_userne, os_auth_url and os_region_name 29 | in cinder::type is removed. 30 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-deprecated-logging-28acd6cbd8d1a61a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated parameters use_syslog, use_stderr, log_facility, log_dir and 5 | debug in the init class is now removed. Please set them in the logging class. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-deprecated-nova_catalog_admin_info-de323f732b3ecddc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated cinder::api::nova_catalog_admin_info parameter has been 5 | removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-deprecated-params-b1a3fa4eda688331.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated parameter cinder::api::keymgr_api_class is removed. 5 | Please use the cinder::api::keymgr_backend parameter. 6 | - | 7 | The deprecated parameters nova_catalog_info, os_privileged_user_name, 8 | os_privileged_user_password, os_privileged_user_tenant, os_privileged_user_auth_url 9 | and privileged_user in cinder::api is removed. 10 | - | 11 | The deprecated cinder::backend::bdd block device driver is removed. 12 | - | 13 | The deprecated parameters excluded_domain_ip, iscsi_ip_address and iscsi_port in 14 | cinder::backend::dellsc_iscsi is removed. 15 | Please use the excluded_domain_ips, target_ip_address and target_port parameters. 16 | - | 17 | The deprecated parameter storage_vnx_pool_name in cinder::backend::emc_vnx is removed. 18 | Please use the storage_vnx_pool_names parameter. 19 | - | 20 | The deprecated parameters iscsi_ip_address, iscsi_helper and iscsi_protocol in 21 | cinder::backend::iscsi is removed. Please use target_ip_address, target_helper 22 | and target_protocol. 23 | - | 24 | The deprecated parameter cinder::glance::glance_api_version is removed. 25 | - | 26 | The deprecated parameters configure_endpoint, public_url, internal_url, admin_url, 27 | service_name, service_type and service_description in cinder::keystone::auth is removed. 28 | These were used to configure Cinder V1 which is removed, see corresponding parameters 29 | for Cinder V2 and Cinder V3. 30 | deprecations: 31 | - | 32 | The cinder::type_set class is deprecated, please use the cinder_type resource. 33 | - | 34 | The cinder::type class is deprecated, please use the cinder_type resource. 35 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-enable_v3_api-c896c222204303a8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::enable_v3_api`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-glusterfs-volume-driver-cb403cb7973cc30a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend::glusterfs`` resource type has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-hpelefthand-support-aad4190684256154.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The support for HPE Lefthand driver has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-nexenta-edge-bd90249388eae3b0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Support for Nexenta Edge Driver has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-nfs_disk_util-78a168271a2dd7c7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend::nfs::nfs_disk_util`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-nova-auth_section-a20916204ad00c73.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::nova::auth_section`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-powerstore_appliances-36212e32db70ca44.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend::dellemc_powerstore::powerstore_appliances`` 5 | parameter has been removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-puppet-6-4dad1252ad1441f2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Puppet 6 is no longer supported. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-service-validation-badea962c3a0394e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::api::validate`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-sf_enable_volume_mapping-a0159f78226d2a19.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backend::solidfire:sf_enable_volume_mapping`` parameter has 5 | been removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-tenant_id-from-endpoint-url-c1034329f9698936.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Default values of the ``cinder::keystone::auth::*_url_v3`` parameters have 5 | been updated and now these no longer include the ``%(tenant_id)s`` 6 | template. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-v2-api-a416e6422d54c5f8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The parameters for v2 API support have been removed from 5 | the ``cinder::keystone::auth`` class. 6 | 7 | deprecations: 8 | - | 9 | The ``cinder::enable_v3_api`` parameter has been deprecated. 10 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-veritas_hyperscale-bf6af00ea5cbc876.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Support for Veritas HyperScale Block Storage driver has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-vmware-925ec2a7fae94f77.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Support for VMWare storage driver has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-volume-type-resource-types-16c2cf296c0f4472.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::type`` resource type and the ``cinder::type_set`` resource 5 | type have been removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-volume-v3-user-636ad41564330a3b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Management of cinder v3 user by the ``cinder::keystone::auth`` class has 5 | been removed. Because of the removal, the following parameters of the auth 6 | class have been removed. 7 | 8 | - ``password_user_v3`` 9 | - ``email_user_v3`` 10 | - ``auth_name_v3`` 11 | - ``tenant_user_v3`` 12 | - ``roles_v3`` 13 | - ``system_scope_v3`` 14 | - ``system_roles_v3`` 15 | - ``configure_user_v3`` 16 | - ``configure_user_role_v3`` 17 | -------------------------------------------------------------------------------- /releasenotes/notes/remove-watch_log_file-9cba8f18fd794f0b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::logging::watch_log_file`` parameter has been removed. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_all_hp3par-1e928df13471cf13.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Remove hp3par_iscsi define and class. 4 | - Remove all hp3par parameters in define and class. 5 | - Remove all tests related to hp3par. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_backup_topic-87135ef21d091345.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Remove deprecated cinder::backup::backup_topic option. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | 5 | Removing all deprecated cinder::volume::-classes for setting up backends. 6 | Please replace old classes with the backend-defines. 7 | 8 | * Removed cinder::volume::dellsc_iscsi, use cinder::backend::dellsc_iscsi 9 | * Removed cinder::volume::emc_vnx, use cinder::backend::emc_vnc 10 | * Removed cinder::volume::glusterfs, use cinder::backend::glusterfs 11 | * Removed cinder::volume::gpfs, use cinder::backend::gpfs 12 | * Removed cinder::volume::hpe3par_iscsi, use cinder::backend::hpe3par_iscsi 13 | * Removed cinder::volume::iscsi, use cinder::backend::iscsi 14 | * Removed cinder::volume::netapp, use cinder::backend::netapp 15 | * Removed cinder::volume::nexenta, use cinder::backend::nexenta 16 | * Removed cinder::volume::nfs, use cinder::backend::nfs 17 | * Removed cinder::volume::pure, use cinder::backend::pure 18 | * Removed cinder::volume::quobyte, use cinder::backend::quobyte 19 | * Removed cinder::volume::rbd, use cinder::backend::rbd 20 | * Removed cinder::volume::san, use cinder::backend::san 21 | * Removed cinder::volume::solidfire, use cinder::backend::solidfire 22 | * Removed cinder::volume::vmdk, use cinder::backend::vmdk 23 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_enable_v1_v2_api_option-135a8933ef7613d0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Remove deprecated cinder::enable_v1_api option. 4 | - Remove deprecated cinder::enable_v2_api option. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_iscsi_ip_address_from_emc_vnx-e65fe0132cb2a334.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - Deprecated cinder::backend::emc_vnx::iscsi_ip_address had no effect. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_keystone_revocation_cache_time_option-afa98558c36ec5d0.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - Deprecated keystone::authtoken::revocation_cache_time option has been removed. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_keystone_signing_dir_option-8bd391581062a2fc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - Deprecated keystone authtoken signing_dir option is removed in Pike. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_pki_related_options-946463c40567938a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The deprecated pki related options check_revocations_for_cached and 5 | hash_algorithms option has been removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_deprecated_rabbitmq_class-1093ef35d8713561.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Remove deprecated cinder rabbitmq class. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_idle_timeout_option-9c249adc032bf35b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - Deprecated idle_timeout option has been removed. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_old_authtoken_options-e619dc4773a373af.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - removed deprecated cinder::api::keystone_user 4 | - removed deprecated cinder::api::keystone_password 5 | - removed deprecated cinder::api::keystone_tenant 6 | - removed deprecated cinder::api::auth_uri 7 | - removed deprecated cinder::api::identity_uri 8 | - removed deprecated cinder::api::memcached_servers 9 | - removed deprecated cinder::api::keystone_enabled 10 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_qpid-0b446db43fdea617.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - Remove QPID messaging support. 4 | Qpid messaging driver is removed from oslo.messaging so we won't support 5 | anymore. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/remove_verbose-f932b850028aa72f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - The verbose option was marked to be removed in Ocata, 4 | in Newton the option was deprecated. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/replace-cinder-quota-set-cli-a27182ee64f64e9f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Replace cinder quota-set cli for class with openstack cli quota, 4 | It uses --class option to exec resources class quota. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/require-nova-password-06929462c62cc63a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Default value of the ``cinder::nova::auth_type`` parameter has been updated 5 | and now the auth_type option is set to ``password`` by default. 6 | 7 | - | 8 | The ``cinder::nova::password`` parameter is now required. 9 | 10 | deprecations: 11 | - | 12 | The ``cinder::nova::auth_section`` parameter has been deprecated and will 13 | be removed. 14 | -------------------------------------------------------------------------------- /releasenotes/notes/reserved_percentage-82ea6b1474219ffc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``reserved_percentage`` parameter has been added. Note that 5 | the parameter is available in the defined resource types for the volume 6 | drivers which actually uses the option. 7 | -------------------------------------------------------------------------------- /releasenotes/notes/restart-apache-6b5d1e4ef37b7ff6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | Notify Apache in case the API is served in that context when the API is 5 | supposed to be restarted, for instance due to configuration changes. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/rootwrap-528e073dd00263cb.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder_rootwrap_config`` resource has been added. This resource 5 | can be used to manage contents of ``rootwrap.conf`` 6 | 7 | - | 8 | The new ``cinder::config::cinder_rootwrap_config`` parameter has been 9 | added. This parameter accepts arbitrary configuration of ``rootwrap.conf``. 10 | -------------------------------------------------------------------------------- /releasenotes/notes/san_api_port-8aa8ee7690bd5632.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::san`` defined type now supports the ``san_api_port`` 5 | parameter. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/sc-driver-ab28e372280c44e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added Dell EMC SC backend driver config that supports 4 | both iSCSI and FC options. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/sc-driver-d428e372280c44e8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - Fixes `bug 1758145 4 | `__ 5 | to ignore the excluded_domain_ip Dell EMC SC Driver when blank. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/sc-driver-exclude-domain-a428e372280c44e8.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - The Dell EMC SC configuration option excluded_domain_ip has been deprecated 4 | and will be removed in a future release. Deployments should now migrate to 5 | the option excluded_domain_ips for equivalent functionality. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/scaleio-deprecate-abc8e372280c44e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::backend:scaleio is deprecated and will be 4 | removed in the W-release, use new resource 5 | cinder::backend::dellemc_vxflexos instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/scaleio-driver-03440249221925be.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add EMC ScaleIO backend driver support 4 | -------------------------------------------------------------------------------- /releasenotes/notes/service_default_for_rabbit_parameters-9e9e44984ce18b84.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Switch rabbit related parameters to $::os_service_default. 4 | - Add kombu_compression parameter. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/service_token-94dd15b7ee9af228.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | New class, cinder::keystone::service_user, is introduced to configure 5 | parameters to service token feature. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/service_token_roles_required-92618e63dceeb2bd.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Service_token_roles_required missing in the server config file which 4 | allows backwards compatibility to ensure that the service tokens are 5 | compared against a list of possible roles for validity. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/solidfire-cleanup-yoga-96b3279af73b339f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The following parameters of the ``cinder::backend::solidfire`` resource 5 | type have been deprecated and have no effect now. 6 | 7 | - ``sf_template_account_name`` 8 | - ``sf_allow_template_caching`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/solidfire-cleanup-zed-2a42ff1071490a87.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following deprecated parameters of the ``cinder::backend::solidfire`` 5 | defined resource type have been removed. 6 | 7 | - ``sf_template_account_name`` 8 | - ``sf_allow_template_caching`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/solidfire-opts-608d3135644f195e.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::solidfire`` defined type now supports the following 5 | new parameters. 6 | 7 | - ``sf_provisioning_calc`` 8 | - ``sf_cluster_pairing_timeout`` 9 | - ``sf_volume_pairing_timeout`` 10 | - ``sf_api_request_timeout`` 11 | - ``sf_volume_clone_timeout`` 12 | - ``sf_volume_create_timeout`` 13 | -------------------------------------------------------------------------------- /releasenotes/notes/solidfire-service-defaults-765ceeb5bec4eddd.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Switch SolidFire backend parameters to $::os_service_default. 4 | fixes: 5 | - Fixes `bug 1605368 6 | `__ 7 | such that the parameter sf_svip is not include when not set. 8 | other: 9 | - Increase code testing coverage for SolidFire backend module. 10 | -------------------------------------------------------------------------------- /releasenotes/notes/solidfire_glance-e3bc65c5ff6a634d.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add glance caching options for soldifire. 4 | -------------------------------------------------------------------------------- /releasenotes/notes/stop-reading-authtoken-opts-62dcd2713f7b8dfd.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The following resource types no longer attempts to load user credentials 5 | from the ``[keystone_authtoken]`` section in ``cinder.conf``. 6 | 7 | - ``cinder_type`` 8 | - ``cinder_qos`` 9 | -------------------------------------------------------------------------------- /releasenotes/notes/support-s3-backup-driver-c9ee22bdb14a374c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Add support for configuring the S3 backup driver. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/switch_to_oslo-0c527b4a9d4d5c93.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Switch to puppet-oslo resource usage (instead of 4 | manual configuration file editing). 5 | -------------------------------------------------------------------------------- /releasenotes/notes/system_scope-barbican_service_user-8b435777fa3757d2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::key_manager::barbican::service_user`` class now supports 5 | the ``system_scope`` parameter. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/system_scope-keystone-d9a9cc0c614cd433.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::keystone::auth`` class now supports the following new 5 | parameters to define system-scoped roles. 6 | 7 | - ``system_scope`` 8 | - ``system_roles`` 9 | - ``system_scope_v3`` 10 | - ``system_roles_v3`` 11 | 12 | - | 13 | The ``system_scope`` parameter has been added to the following classes. 14 | 15 | - ``cinder::keystone::authtoken`` 16 | - ``cinder::keystone::service_user`` 17 | -------------------------------------------------------------------------------- /releasenotes/notes/system_scope-nova-6507548249009928.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``sysem_scope`` parameter has been added to the ``cinder::nova`` 5 | class. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/type-cleanup-1f5f2a0ace244c4f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::type`` resource type and the ``cinder::type_set`` resource 5 | type have been removed. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/type_providers-4f316d6b119c4d38.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | other: 3 | - Replace defines for managing cinder types with providers. 4 | It replaces Exec resources bu Ruby providers using openstacklib. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/ubuntu-jammy-c488c09b470b2482.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | This module now supports Ubuntu 22.04 (Jammy Jellyfish). 5 | 6 | upgrade: 7 | - | 8 | This module no longer supports Ubuntu 20.04 (Focal Fossa). 9 | -------------------------------------------------------------------------------- /releasenotes/notes/ubuntu-noble-be263e73d9e656fd.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Ubuntu 24.04 is now formally supported. 5 | 6 | upgrade: 7 | - | 8 | Ubuntu 22.04 is no longer supported. 9 | -------------------------------------------------------------------------------- /releasenotes/notes/unity-driver-cb1f1e959c5a419f.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add Dell EMC Unity backend cinder driver support 4 | -------------------------------------------------------------------------------- /releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Release notes are no longer maintained by hand, we now use the reno tool to 4 | manage them. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/use_forwarded_for-9390c34f298ebae3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The new ``cinder::api::use_forwarded_for`` parameter has been added. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/uwsgi-7c8ef5c5191ea850.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | A new class cinder::wsgi::uwsgi exist to allow configuring uwsgi in 5 | operating systems that support this (ie: currently Debian). This helps 6 | configuring the number of processes, threads and listen socket. 7 | Also, a new cinder_api_wsgi_config provider now exist. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/verbose-deprecation-c1356f67dccdff3a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - verbose option is now deprecated for removal, the 4 | parameter has no effect. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/veritas-hyperscale-driver-5c4030867bc68e69.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add support for Veritas hyperscale backend 4 | -------------------------------------------------------------------------------- /releasenotes/notes/vmax-driver-d428e372280c44e5.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add Dell EMC VMAX backend driver support 4 | -------------------------------------------------------------------------------- /releasenotes/notes/vmax-driver-d428e372280c44e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - Fixes `bug 1731309 4 | `__ 5 | to ensure package dependency of pywben for VMAX driver. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/vmax-driver-deprecate-d428e372280c44e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::backend::dellemc_vmax_iscsi is not supported anymore, 4 | use resource cinder::backend::dellemc_powermax resource instead. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/vmdk-use-service-default-e8ab854fa81cf40c.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | The ``cinder::backends::vmdk::volume_foler`` parameter and 5 | the ``cinder::backends::vmdk::task_poll_interval`` parameter now default 6 | to the service default values. Make sure these parameters are set if 7 | the previous default value should be used. 8 | -------------------------------------------------------------------------------- /releasenotes/notes/vnx-opts-0f54da4879ed8084.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | The ``cinder::backend::emc_vnx`` resource type now supports the following 5 | parameters of EMC VNX driver. 6 | 7 | - ``destroy_empty_storage_group`` 8 | - ``iscsi_initiators`` 9 | - ``io_port_list`` 10 | - ``initiator_auto_deregistration`` 11 | - ``force_delete_lun_in_storagegroup`` 12 | - ``ignore_pool_full_threshold`` 13 | - ``vnx_async_migrate`` 14 | -------------------------------------------------------------------------------- /releasenotes/notes/volume_type-125be2a2e5b466aa.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - manage_volume_type is a new parameter present in every Cinder backend. 4 | When set to True, it will manage the Cinder Volume type for the backend. 5 | For backward compatibility, it is set to False by default. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/vstorage_backend-8df2b782b903d3ba.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - | 4 | Added VStorage backend support. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/vxflexos-driver-abc8e372280c44e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added support for VxFlexOS backend driver 4 | -------------------------------------------------------------------------------- /releasenotes/notes/vxflexos-driver-deprecate-f428e372280c44e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - VxFlexOS is rebranded to Powerflex. 4 | cinder::backend::dellemc_vxflexos is deprecated and will be removed in 5 | W-Release. Use rebranded resource cinder::backend::dellemc_powerflex. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/wsgi_process_options-228abceca6a02d99.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add parameter to apacher_wsgi to allow overwrite 4 | and/or add additional wsgi process options. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/xtremio-add-ports-option-6d6e98fb90b906fe.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | fixes: 3 | - | 4 | `Bug #1915800 `_: 5 | Add support for ports filtering in XtremIO driver. -------------------------------------------------------------------------------- /releasenotes/notes/xtremio-driver-abc8e372280c44e6.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Added Dell EMC XtremIO backend driver config that supports 4 | both iSCSI and FC options. 5 | -------------------------------------------------------------------------------- /releasenotes/notes/xtremio-driver-b7cd300a24a64b01.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | features: 3 | - Add Dell EMC XtremIO backend cinder iscsi driver support 4 | -------------------------------------------------------------------------------- /releasenotes/notes/xtremio-iscsi-remove-deprecated-01fc5f2d63b0fdb7.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | upgrade: 3 | - | 4 | Remove deprecated cinder::backend::dellemc_xtremio_iscsi. Use 5 | cinder::backend::dellemc_xtremio instead. 6 | -------------------------------------------------------------------------------- /releasenotes/notes/xtremio_iscsi_driver-deprecate-c428e372280c44e4.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | deprecations: 3 | - cinder::backend::delemc_xtremio_iscsi is deprecated and will be 4 | removed in the V-release, use new 5 | resource cinder::backend::dellemc_xtremio instead. 6 | -------------------------------------------------------------------------------- /releasenotes/source/2023.1.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | 2023.1 Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: unmaintained/2023.1 7 | -------------------------------------------------------------------------------- /releasenotes/source/2023.2.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | 2023.2 Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/2023.2 7 | -------------------------------------------------------------------------------- /releasenotes/source/2024.1.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | 2024.1 Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/2024.1 7 | -------------------------------------------------------------------------------- /releasenotes/source/2024.2.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | 2024.2 Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/2024.2 7 | -------------------------------------------------------------------------------- /releasenotes/source/2025.1.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | 2025.1 Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/2025.1 7 | -------------------------------------------------------------------------------- /releasenotes/source/_static/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openstack/puppet-cinder/d27923d9c08c077291ef2a6631b7050e3512135c/releasenotes/source/_static/.placeholder -------------------------------------------------------------------------------- /releasenotes/source/index.rst: -------------------------------------------------------------------------------- 1 | ======================================= 2 | Welcome to puppet-cinder Release Notes! 3 | ======================================= 4 | 5 | Contents 6 | ======== 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | unreleased 12 | 2025.1 13 | 2024.2 14 | 2024.1 15 | 2023.2 16 | 2023.1 17 | zed 18 | yoga 19 | xena 20 | wallaby 21 | victoria 22 | ussuri 23 | train 24 | stein 25 | rocky 26 | queens 27 | pike 28 | ocata 29 | newton 30 | mitaka 31 | 32 | Indices and tables 33 | ================== 34 | 35 | * :ref:`genindex` 36 | * :ref:`search` 37 | -------------------------------------------------------------------------------- /releasenotes/source/mitaka.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Mitaka Series Release Notes 3 | ============================ 4 | 5 | .. release-notes:: 6 | :branch: origin/stable/mitaka 7 | -------------------------------------------------------------------------------- /releasenotes/source/newton.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Newton Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: origin/stable/newton 7 | -------------------------------------------------------------------------------- /releasenotes/source/ocata.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Ocata Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: origin/stable/ocata 7 | -------------------------------------------------------------------------------- /releasenotes/source/pike.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Pike Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: stable/pike 7 | -------------------------------------------------------------------------------- /releasenotes/source/queens.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Queens Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: stable/queens 7 | -------------------------------------------------------------------------------- /releasenotes/source/rocky.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Rocky Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: stable/rocky 7 | -------------------------------------------------------------------------------- /releasenotes/source/stein.rst: -------------------------------------------------------------------------------- 1 | =================================== 2 | Stein Series Release Notes 3 | =================================== 4 | 5 | .. release-notes:: 6 | :branch: stable/stein 7 | -------------------------------------------------------------------------------- /releasenotes/source/train.rst: -------------------------------------------------------------------------------- 1 | ========================== 2 | Train Series Release Notes 3 | ========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/train 7 | -------------------------------------------------------------------------------- /releasenotes/source/unreleased.rst: -------------------------------------------------------------------------------- 1 | ============================== 2 | Current Series Release Notes 3 | ============================== 4 | 5 | .. release-notes:: 6 | -------------------------------------------------------------------------------- /releasenotes/source/ussuri.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | Ussuri Series Release Notes 3 | =========================== 4 | 5 | .. release-notes:: 6 | :branch: stable/ussuri 7 | -------------------------------------------------------------------------------- /releasenotes/source/victoria.rst: -------------------------------------------------------------------------------- 1 | ============================= 2 | Victoria Series Release Notes 3 | ============================= 4 | 5 | .. release-notes:: 6 | :branch: stable/victoria 7 | -------------------------------------------------------------------------------- /releasenotes/source/wallaby.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Wallaby Series Release Notes 3 | ============================ 4 | 5 | .. release-notes:: 6 | :branch: unmaintained/wallaby 7 | -------------------------------------------------------------------------------- /releasenotes/source/xena.rst: -------------------------------------------------------------------------------- 1 | ========================= 2 | Xena Series Release Notes 3 | ========================= 4 | 5 | .. release-notes:: 6 | :branch: unmaintained/xena 7 | -------------------------------------------------------------------------------- /releasenotes/source/yoga.rst: -------------------------------------------------------------------------------- 1 | ========================= 2 | Yoga Series Release Notes 3 | ========================= 4 | 5 | .. release-notes:: 6 | :branch: unmaintained/yoga 7 | -------------------------------------------------------------------------------- /releasenotes/source/zed.rst: -------------------------------------------------------------------------------- 1 | ======================== 2 | Zed Series Release Notes 3 | ======================== 4 | 5 | .. release-notes:: 6 | :branch: unmaintained/zed 7 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = puppet-cinder 3 | summary = Puppet module for OpenStack Cinder 4 | description_file = 5 | README.md 6 | author = OpenStack 7 | author_email = openstack-discuss@lists.openstack.org 8 | home_page = https://docs.openstack.org/puppet-openstack-guide/latest 9 | license = Apache License, Version 2.0 10 | classifier = 11 | Intended Audience :: Developers 12 | Intended Audience :: Information Technology 13 | Intended Audience :: System Administrators 14 | License :: OSI Approved :: Apache Software License 15 | Operating System :: POSIX :: Linux 16 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013 Hewlett-Packard Development Company, L.P. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 12 | # implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | import setuptools 17 | 18 | setuptools.setup( 19 | setup_requires=['pbr>=2.0.0'], 20 | py_modules=[], 21 | pbr=True) 22 | -------------------------------------------------------------------------------- /spec/acceptance/10_basic_cinder_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper_acceptance' 2 | 3 | describe 'basic cinder' do 4 | 5 | context 'default parameters' do 6 | 7 | it 'should work with no errors' do 8 | pp= <<-EOS 9 | include openstack_integration 10 | include openstack_integration::repos 11 | include openstack_integration::apache 12 | include openstack_integration::rabbitmq 13 | include openstack_integration::mysql 14 | include openstack_integration::memcached 15 | include openstack_integration::keystone 16 | include openstack_integration::cinder 17 | 18 | cinder_type { 'testvolumetype' : 19 | properties => { 20 | 'k' => 'v', 21 | 'key1' => 'val1', 22 | 'key2' => ' True' 23 | } 24 | } 25 | 26 | cinder_type { 'qostype1': 27 | ensure => present 28 | } 29 | cinder_type { 'qostype2': 30 | ensure => present 31 | } 32 | cinder_qos { 'testqos1': 33 | properties => { 34 | 'key1' => 'val1', 35 | 'key2' => 'val2', 36 | } 37 | } 38 | cinder_qos { 'testqos2': 39 | associations => ['qostype1', 'qostype2'] 40 | } 41 | EOS 42 | 43 | 44 | # Run it twice to test for idempotency 45 | apply_manifest(pp, :catch_failures => true) 46 | apply_manifest(pp, :catch_changes => true) 47 | end 48 | 49 | describe port(8776) do 50 | it { is_expected.to be_listening } 51 | end 52 | 53 | describe cron do 54 | it { is_expected.to have_entry('1 0 * * * cinder-manage db purge 30 >>/var/log/cinder/cinder-rowsflush.log 2>&1').with_user('cinder') } 55 | end 56 | 57 | 58 | end 59 | end 60 | -------------------------------------------------------------------------------- /spec/classes/cinder_backend_defaults_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::backend::defaults' do 4 | 5 | shared_examples 'cinder backend defaults' do 6 | 7 | context 'with defaults' do 8 | it 'should configure cinder with default backend_defaults parameters' do 9 | is_expected.to contain_cinder_config('backend_defaults/use_multipath_for_image_xfer').with_value('') 10 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_enabled').with_value('') 11 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_max_size_gb').with_value('') 12 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_max_count').with_value('') 13 | end 14 | end 15 | 16 | context 'with parameters' do 17 | let(:params) do 18 | { 19 | :use_multipath_for_image_xfer => true, 20 | :image_volume_cache_enabled => true, 21 | :image_volume_cache_max_size_gb => 100, 22 | :image_volume_cache_max_count => 101, 23 | } 24 | end 25 | 26 | it 'should configure cinder with user defined backend_defaults parameters' do 27 | is_expected.to contain_cinder_config('backend_defaults/use_multipath_for_image_xfer').with_value(true) 28 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_enabled').with_value(true) 29 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_max_size_gb').with_value(100) 30 | is_expected.to contain_cinder_config('backend_defaults/image_volume_cache_max_count').with_value(101) 31 | end 32 | end 33 | end 34 | 35 | on_supported_os({ 36 | :supported_os => OSDefaults.get_supported_os 37 | }).each do |os,facts| 38 | context "on #{os}" do 39 | let (:facts) do 40 | facts.merge!(OSDefaults.get_facts()) 41 | end 42 | 43 | it_behaves_like 'cinder backend defaults' 44 | end 45 | end 46 | end 47 | -------------------------------------------------------------------------------- /spec/classes/cinder_client_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::client' do 4 | let :params do 5 | {} 6 | end 7 | 8 | let :default_params do 9 | { 10 | :package_ensure => 'present' 11 | } 12 | end 13 | 14 | shared_examples 'cinder client' do 15 | let :p do 16 | default_params.merge(params) 17 | end 18 | 19 | it { is_expected.to contain_class('cinder::deps') } 20 | it { is_expected.to contain_class('cinder::params') } 21 | 22 | it 'installs cinder client package' do 23 | is_expected.to contain_package('python-cinderclient').with( 24 | :name => platform_params[:client_package_name], 25 | :ensure => p[:package_ensure], 26 | :tag => 'openstack', 27 | ) 28 | end 29 | 30 | it { is_expected.to contain_class('openstacklib::openstackclient') } 31 | end 32 | 33 | on_supported_os({ 34 | :supported_os => OSDefaults.get_supported_os 35 | }).each do |os,facts| 36 | context "on #{os}" do 37 | let (:facts) do 38 | facts.merge(OSDefaults.get_facts()) 39 | end 40 | 41 | let(:platform_params) do 42 | case facts[:os]['family'] 43 | when 'Debian' 44 | { :client_package_name => 'python3-cinderclient' } 45 | when 'RedHat' 46 | { :client_package_name => 'python3-cinderclient' } 47 | end 48 | end 49 | 50 | it_behaves_like 'cinder client' 51 | end 52 | end 53 | end 54 | -------------------------------------------------------------------------------- /spec/classes/cinder_config_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::config' do 4 | let(:config_hash) do { 5 | 'DEFAULT/foo' => { 'value' => 'fooValue' }, 6 | 'DEFAULT/bar' => { 'value' => 'barValue' }, 7 | 'DEFAULT/baz' => { 'ensure' => 'absent' } 8 | } 9 | end 10 | 11 | shared_examples 'cinder_config' do 12 | let :params do 13 | { :cinder_config => config_hash } 14 | end 15 | 16 | it { is_expected.to contain_class('cinder::deps') } 17 | 18 | it 'configures arbitrary cinder-config configurations' do 19 | is_expected.to contain_cinder_config('DEFAULT/foo').with_value('fooValue') 20 | is_expected.to contain_cinder_config('DEFAULT/bar').with_value('barValue') 21 | is_expected.to contain_cinder_config('DEFAULT/baz').with_ensure('absent') 22 | end 23 | end 24 | 25 | shared_examples 'cinder_api_paste_ini' do 26 | let :params do 27 | { :api_paste_ini_config => config_hash } 28 | end 29 | 30 | it 'configures arbitrary cinder-api-paste-ini configurations' do 31 | is_expected.to contain_cinder_api_paste_ini('DEFAULT/foo').with_value('fooValue') 32 | is_expected.to contain_cinder_api_paste_ini('DEFAULT/bar').with_value('barValue') 33 | is_expected.to contain_cinder_api_paste_ini('DEFAULT/baz').with_ensure('absent') 34 | end 35 | end 36 | 37 | shared_examples 'cinder_rootwrap_config' do 38 | let :params do 39 | { :cinder_rootwrap_config => config_hash } 40 | end 41 | 42 | it 'configures arbitrary cinder-rootwrap-config configurations' do 43 | is_expected.to contain_cinder_rootwrap_config('DEFAULT/foo').with_value('fooValue') 44 | is_expected.to contain_cinder_rootwrap_config('DEFAULT/bar').with_value('barValue') 45 | is_expected.to contain_cinder_rootwrap_config('DEFAULT/baz').with_ensure('absent') 46 | end 47 | end 48 | 49 | on_supported_os({ 50 | :supported_os => OSDefaults.get_supported_os 51 | }).each do |os,facts| 52 | context "on #{os}" do 53 | let (:facts) do 54 | facts.merge!(OSDefaults.get_facts()) 55 | end 56 | 57 | it_behaves_like 'cinder_config' 58 | it_behaves_like 'cinder_api_paste_ini' 59 | it_behaves_like 'cinder_rootwrap_config' 60 | end 61 | end 62 | end 63 | -------------------------------------------------------------------------------- /spec/classes/cinder_coordination_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::coordination' do 4 | shared_examples 'cinder::coordination' do 5 | context 'with default parameters' do 6 | it { 7 | is_expected.to contain_oslo__coordination('cinder_config').with( 8 | :backend_url => '' 9 | ) 10 | } 11 | end 12 | 13 | context 'with specified parameters' do 14 | let :params do 15 | { 16 | :backend_url => 'etcd3+http://127.0.0.1:2379', 17 | } 18 | end 19 | 20 | it { 21 | is_expected.to contain_oslo__coordination('cinder_config').with( 22 | :backend_url => 'etcd3+http://127.0.0.1:2379' 23 | ) 24 | } 25 | end 26 | end 27 | 28 | on_supported_os({ 29 | :supported_os => OSDefaults.get_supported_os 30 | }).each do |os,facts| 31 | context "on #{os}" do 32 | let (:facts) do 33 | facts.merge(OSDefaults.get_facts()) 34 | end 35 | 36 | it_behaves_like 'cinder::coordination' 37 | end 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /spec/classes/cinder_cors_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::cors' do 4 | 5 | shared_examples_for 'cinder::cors' do 6 | it 'configure cors default params' do 7 | is_expected.to contain_oslo__cors('cinder_config').with( 8 | :allowed_origin => '', 9 | :allow_credentials => '', 10 | :expose_headers => '', 11 | :max_age => '', 12 | :allow_methods => '', 13 | :allow_headers => '', 14 | ) 15 | end 16 | 17 | context 'with specific parameters' do 18 | let :params do 19 | { :allowed_origin => '*', 20 | :allow_credentials => true, 21 | :expose_headers => 'Content-Language,Expires', 22 | :max_age => 3600, 23 | :allow_methods => 'GET,POST,PUT,DELETE,OPTIONS', 24 | :allow_headers => 'Content-Type,Cache-Control', 25 | } 26 | end 27 | 28 | it 'configure cors params' do 29 | is_expected.to contain_oslo__cors('cinder_config').with( 30 | :allowed_origin => '*', 31 | :allow_credentials => true, 32 | :expose_headers => 'Content-Language,Expires', 33 | :max_age => 3600, 34 | :allow_methods => 'GET,POST,PUT,DELETE,OPTIONS', 35 | :allow_headers => 'Content-Type,Cache-Control', 36 | ) 37 | end 38 | end 39 | end 40 | 41 | on_supported_os({ 42 | :supported_os => OSDefaults.get_supported_os 43 | }).each do |os,facts| 44 | context "on #{os}" do 45 | let (:facts) do 46 | facts.merge!(OSDefaults.get_facts()) 47 | end 48 | 49 | it_behaves_like 'cinder::cors' 50 | end 51 | end 52 | 53 | end 54 | -------------------------------------------------------------------------------- /spec/classes/cinder_db_postgresql_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::db::postgresql' do 4 | shared_examples 'cinder::db::postgresql' do 5 | let :req_params do 6 | { :password => 'cinderpass' } 7 | end 8 | 9 | let :pre_condition do 10 | 'include postgresql::server' 11 | end 12 | 13 | context 'with only required parameters' do 14 | let :params do 15 | req_params 16 | end 17 | 18 | it { is_expected.to contain_class('cinder::deps') } 19 | 20 | it { is_expected.to contain_openstacklib__db__postgresql('cinder').with( 21 | :user => 'cinder', 22 | :password => 'cinderpass', 23 | :dbname => 'cinder', 24 | :encoding => nil, 25 | :privileges => 'ALL', 26 | )} 27 | end 28 | end 29 | 30 | on_supported_os({ 31 | :supported_os => OSDefaults.get_supported_os 32 | }).each do |os,facts| 33 | context "on #{os}" do 34 | let (:facts) do 35 | facts.merge(OSDefaults.get_facts({ 36 | # puppet-postgresql requires the service_provider fact provided by 37 | # puppetlabs-postgresql. 38 | :service_provider => 'systemd' 39 | })) 40 | end 41 | 42 | it_behaves_like 'cinder::db::postgresql' 43 | end 44 | end 45 | 46 | end 47 | -------------------------------------------------------------------------------- /spec/classes/cinder_db_sync_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::db::sync' do 4 | shared_examples 'cinder-dbsync' do 5 | 6 | it { is_expected.to contain_class('cinder::deps') } 7 | 8 | it 'runs cinder-manage db_sync' do 9 | is_expected.to contain_exec('cinder-manage db_sync').with( 10 | :command => 'cinder-manage db sync', 11 | :user => 'cinder', 12 | :path => ['/bin', '/usr/bin'], 13 | :refreshonly => 'true', 14 | :try_sleep => 5, 15 | :tries => 10, 16 | :timeout => 300, 17 | :logoutput => 'on_failure', 18 | :subscribe => ['Anchor[cinder::install::end]', 19 | 'Anchor[cinder::config::end]', 20 | 'Anchor[cinder::dbsync::begin]'], 21 | :notify => 'Anchor[cinder::dbsync::end]', 22 | :tag => 'openstack-db', 23 | ) 24 | end 25 | 26 | context "overriding params" do 27 | let :params do 28 | { 29 | :extra_params => '--config-file /etc/cinder/cinder.conf', 30 | :db_sync_timeout => 750, 31 | } 32 | end 33 | 34 | it { 35 | is_expected.to contain_exec('cinder-manage db_sync').with( 36 | :command => 'cinder-manage --config-file /etc/cinder/cinder.conf db sync', 37 | :user => 'cinder', 38 | :path => ['/bin', '/usr/bin'], 39 | :refreshonly => 'true', 40 | :try_sleep => 5, 41 | :tries => 10, 42 | :timeout => 750, 43 | :logoutput => 'on_failure', 44 | :subscribe => ['Anchor[cinder::install::end]', 45 | 'Anchor[cinder::config::end]', 46 | 'Anchor[cinder::dbsync::begin]'], 47 | :notify => 'Anchor[cinder::dbsync::end]', 48 | :tag => 'openstack-db', 49 | ) 50 | } 51 | end 52 | end 53 | 54 | on_supported_os({ 55 | :supported_os => OSDefaults.get_supported_os 56 | }).each do |os,facts| 57 | context "on #{os}" do 58 | let (:facts) do 59 | facts.merge(OSDefaults.get_facts()) 60 | end 61 | 62 | it_behaves_like 'cinder-dbsync' 63 | end 64 | end 65 | end 66 | -------------------------------------------------------------------------------- /spec/classes/cinder_healthcheck_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::healthcheck' do 4 | 5 | shared_examples_for 'cinder::healthcheck' do 6 | 7 | context 'with default parameters' do 8 | let :params do 9 | {} 10 | end 11 | 12 | it 'configures default values' do 13 | is_expected.to contain_oslo__healthcheck('cinder_config').with( 14 | :detailed => '', 15 | :backends => '', 16 | :allowed_source_ranges => '', 17 | :ignore_proxied_requests => '', 18 | :disable_by_file_path => '', 19 | :disable_by_file_paths => '', 20 | :enable_by_file_paths => '', 21 | ) 22 | end 23 | end 24 | 25 | context 'with specific parameters' do 26 | let :params do 27 | { 28 | :detailed => true, 29 | :backends => ['disable_by_file'], 30 | :allowed_source_ranges => ['10.0.0.0/24', '10.0.1.0/24'], 31 | :ignore_proxied_requests => false, 32 | :disable_by_file_path => '/etc/cinder/healthcheck/disabled', 33 | :disable_by_file_paths => ['8776:/etc/cinder/healthcheck/disabled'], 34 | :enable_by_file_paths => ['/etc/cinder/healthcheck/enabled'], 35 | } 36 | end 37 | 38 | it 'configures specified values' do 39 | is_expected.to contain_oslo__healthcheck('cinder_config').with( 40 | :detailed => true, 41 | :backends => ['disable_by_file'], 42 | :allowed_source_ranges => ['10.0.0.0/24', '10.0.1.0/24'], 43 | :ignore_proxied_requests => false, 44 | :disable_by_file_path => '/etc/cinder/healthcheck/disabled', 45 | :disable_by_file_paths => ['8776:/etc/cinder/healthcheck/disabled'], 46 | :enable_by_file_paths => ['/etc/cinder/healthcheck/enabled'], 47 | ) 48 | end 49 | end 50 | end 51 | 52 | on_supported_os({ 53 | :supported_os => OSDefaults.get_supported_os 54 | }).each do |os,facts| 55 | context "on #{os}" do 56 | let (:facts) do 57 | facts.merge!(OSDefaults.get_facts()) 58 | end 59 | 60 | it_configures 'cinder::healthcheck' 61 | end 62 | end 63 | 64 | end 65 | -------------------------------------------------------------------------------- /spec/classes/cinder_key_manager_barbican_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::key_manager::barbican' do 4 | shared_examples 'cinder::key_manager::barbican' do 5 | context 'with default parameters' do 6 | it { 7 | is_expected.to contain_oslo__key_manager__barbican('cinder_config').with( 8 | :barbican_endpoint => '', 9 | :barbican_api_version => '', 10 | :auth_endpoint => '', 11 | :retry_delay => '', 12 | :number_of_retries => '', 13 | :barbican_endpoint_type => '', 14 | :barbican_region_name => '', 15 | :send_service_user_token => '', 16 | ) 17 | } 18 | end 19 | 20 | context 'with specified parameters' do 21 | let :params do 22 | { 23 | :barbican_endpoint => 'http://localhost:9311/', 24 | :barbican_api_version => 'v1', 25 | :auth_endpoint => 'http://localhost:5000', 26 | :retry_delay => 1, 27 | :number_of_retries => 60, 28 | :barbican_endpoint_type => 'public', 29 | :barbican_region_name => 'regionOne', 30 | :send_service_user_token => true, 31 | } 32 | end 33 | 34 | it { 35 | is_expected.to contain_oslo__key_manager__barbican('cinder_config').with( 36 | :barbican_endpoint => 'http://localhost:9311/', 37 | :barbican_api_version => 'v1', 38 | :auth_endpoint => 'http://localhost:5000', 39 | :retry_delay => 1, 40 | :number_of_retries => 60, 41 | :barbican_endpoint_type => 'public', 42 | :barbican_region_name => 'regionOne', 43 | :send_service_user_token => true, 44 | ) 45 | } 46 | end 47 | end 48 | 49 | on_supported_os({ 50 | :supported_os => OSDefaults.get_supported_os 51 | }).each do |os,facts| 52 | context "on #{os}" do 53 | let (:facts) do 54 | facts.merge(OSDefaults.get_facts()) 55 | end 56 | 57 | it_behaves_like 'cinder::key_manager::barbican' 58 | end 59 | end 60 | end 61 | -------------------------------------------------------------------------------- /spec/classes/cinder_key_manager_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::key_manager' do 4 | shared_examples 'cinder::key_manager' do 5 | context 'with default parameters' do 6 | it { 7 | is_expected.to contain_oslo__key_manager('cinder_config').with( 8 | :backend => '' 9 | ) 10 | } 11 | end 12 | 13 | context 'with specified parameters' do 14 | let :params do 15 | { 16 | :backend => 'barbican' 17 | } 18 | end 19 | 20 | it { 21 | is_expected.to contain_oslo__key_manager('cinder_config').with( 22 | :backend => 'barbican' 23 | ) 24 | } 25 | end 26 | end 27 | 28 | on_supported_os({ 29 | :supported_os => OSDefaults.get_supported_os 30 | }).each do |os,facts| 31 | context "on #{os}" do 32 | let (:facts) do 33 | facts.merge(OSDefaults.get_facts()) 34 | end 35 | 36 | it_behaves_like 'cinder::key_manager' 37 | end 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /spec/classes/cinder_os_brick_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::os_brick' do 4 | 5 | shared_examples 'cinder::os_brick' do 6 | 7 | context 'with defaults' do 8 | it 'configures the default values' do 9 | is_expected.to contain_oslo__os_brick('cinder_config').with( 10 | :lock_path => '', 11 | :wait_mpath_device_attempts => '', 12 | :wait_mpath_device_interval => '', 13 | ) 14 | end 15 | end 16 | 17 | context 'with parameters overridden' do 18 | let :params do 19 | { 20 | :lock_path => '/var/lib/openstack/lock', 21 | :wait_mpath_device_attempts => 4, 22 | :wait_mpath_device_interval => 1, 23 | } 24 | end 25 | 26 | it 'configures the overridden values' do 27 | is_expected.to contain_oslo__os_brick('cinder_config').with( 28 | :lock_path => '/var/lib/openstack/lock', 29 | :wait_mpath_device_attempts => 4, 30 | :wait_mpath_device_interval => 1, 31 | ) 32 | end 33 | end 34 | end 35 | 36 | on_supported_os({ 37 | :supported_os => OSDefaults.get_supported_os 38 | }).each do |os,facts| 39 | context "on #{os}" do 40 | let (:facts) do 41 | facts.merge!(OSDefaults.get_facts()) 42 | end 43 | 44 | include_examples 'cinder::os_brick' 45 | end 46 | end 47 | end 48 | -------------------------------------------------------------------------------- /spec/classes/cinder_reports_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::reports' do 4 | shared_examples 'cinder::reports' do 5 | context 'with default parameters' do 6 | it { 7 | is_expected.to contain_oslo__reports('cinder_config').with( 8 | :log_dir => '', 9 | :file_event_handler => '', 10 | :file_event_handler_interval => '', 11 | ) 12 | } 13 | end 14 | 15 | context 'with specified parameters' do 16 | let :params do 17 | { 18 | :log_dir => '/var/log/cinder', 19 | :file_event_handler => '/var/tmp/cinder/reports', 20 | :file_event_handler_interval => 1, 21 | } 22 | end 23 | 24 | it { 25 | is_expected.to contain_oslo__reports('cinder_config').with( 26 | :log_dir => '/var/log/cinder', 27 | :file_event_handler => '/var/tmp/cinder/reports', 28 | :file_event_handler_interval => 1, 29 | ) 30 | } 31 | end 32 | end 33 | 34 | on_supported_os({ 35 | :supported_os => OSDefaults.get_supported_os 36 | }).each do |os,facts| 37 | context "on #{os}" do 38 | let (:facts) do 39 | facts.merge(OSDefaults.get_facts()) 40 | end 41 | 42 | it_behaves_like 'cinder::reports' 43 | end 44 | end 45 | end 46 | -------------------------------------------------------------------------------- /spec/classes/cinder_setup_test_volume_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::setup_test_volume' do 4 | shared_examples 'cinder::setup_test_volume' do 5 | it { is_expected.to contain_package('lvm2').with( 6 | :ensure => 'installed', 7 | :tag => 'cinder-support-package' 8 | )} 9 | 10 | it { 11 | is_expected.to contain_exec('create_/var/lib/cinder/cinder-volumes').with( 12 | :command => 'dd if=/dev/zero of="/var/lib/cinder/cinder-volumes" bs=1 count=0 seek=4G', 13 | :path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], 14 | :unless => 'stat /var/lib/cinder/cinder-volumes', 15 | ) 16 | is_expected.to contain_exec('losetup /dev/loop2 /var/lib/cinder/cinder-volumes').with( 17 | :command => 'losetup /dev/loop2 /var/lib/cinder/cinder-volumes && udevadm settle', 18 | :path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], 19 | :unless => 'losetup /dev/loop2', 20 | ) 21 | is_expected.to contain_exec('pvcreate /dev/loop2').with( 22 | :path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], 23 | :unless => 'pvs /dev/loop2', 24 | :refreshonly => true, 25 | ) 26 | is_expected.to contain_exec('vgcreate cinder-volumes /dev/loop2').with( 27 | :path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], 28 | :unless => 'vgs cinder-volumes', 29 | :refreshonly => true, 30 | ) 31 | } 32 | 33 | it { is_expected.to contain_file('/var/lib/cinder/cinder-volumes').with_mode('0640') } 34 | end 35 | 36 | on_supported_os({ 37 | :supported_os => OSDefaults.get_supported_os 38 | }).each do |os,facts| 39 | context "on #{os}" do 40 | let (:facts) do 41 | facts.merge!(OSDefaults.get_facts()) 42 | end 43 | 44 | it_behaves_like 'cinder::setup_test_volume' 45 | end 46 | end 47 | end 48 | -------------------------------------------------------------------------------- /spec/classes/cinder_wsgi_uwsgi_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::wsgi::uwsgi' do 4 | 5 | shared_examples 'cinder::wsgi::uwsgi' do 6 | context 'with default parameters' do 7 | it { 8 | should contain_class('cinder::deps') 9 | } 10 | 11 | it { 12 | is_expected.to contain_cinder_api_uwsgi_config('uwsgi/processes').with_value(facts[:os_workers]) 13 | is_expected.to contain_cinder_api_uwsgi_config('uwsgi/threads').with_value('32') 14 | is_expected.to contain_cinder_api_uwsgi_config('uwsgi/listen').with_value('100') 15 | } 16 | end 17 | end 18 | 19 | on_supported_os({ 20 | :supported_os => OSDefaults.get_supported_os 21 | }).each do |os,facts| 22 | context "on #{os}" do 23 | let (:facts) do 24 | facts.merge!(OSDefaults.get_facts({ 25 | :os_workers => 8, 26 | })) 27 | end 28 | it_behaves_like 'cinder::wsgi::uwsgi' 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /spec/defines/cinder_backend_quobyte_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'cinder::backend::quobyte' do 4 | shared_examples 'cinder::backend::quobyte' do 5 | let(:title) {'myquobyte'} 6 | 7 | let :params do 8 | { 9 | :quobyte_volume_url => 'quobyte://quobyte.cluster.example.com/volume-name', 10 | :quobyte_qcow2_volumes => false, 11 | :quobyte_sparsed_volumes => true, 12 | :backend_availability_zone => 'my_zone', 13 | } 14 | end 15 | 16 | it { is_expected.to contain_cinder_config('myquobyte/volume_driver').with( 17 | :value => 'cinder.volume.drivers.quobyte.QuobyteDriver' 18 | )} 19 | 20 | it { is_expected.to contain_cinder_config('myquobyte/quobyte_volume_url').with( 21 | :value => 'quobyte://quobyte.cluster.example.com/volume-name' 22 | )} 23 | 24 | it { 25 | is_expected.to contain_cinder_config('myquobyte/quobyte_qcow2_volumes').with_value(false) 26 | is_expected.to contain_cinder_config('myquobyte/quobyte_sparsed_volumes').with_value(true) 27 | is_expected.to contain_cinder_config('myquobyte/backend_availability_zone').with_value('my_zone') 28 | is_expected.to contain_cinder_config('myquobyte/image_volume_cache_enabled').with_value('') 29 | is_expected.to contain_cinder_config('myquobyte/image_volume_cache_max_size_gb').with_value('') 30 | is_expected.to contain_cinder_config('myquobyte/image_volume_cache_max_count').with_value('') 31 | } 32 | 33 | context 'quobyte backend with cinder type' do 34 | before do 35 | params.merge!( :manage_volume_type => true ) 36 | end 37 | 38 | it { is_expected.to contain_cinder_type('myquobyte').with( 39 | :ensure => 'present', 40 | :properties => {'volume_backend_name' => 'myquobyte'} 41 | )} 42 | end 43 | end 44 | 45 | on_supported_os({ 46 | :supported_os => OSDefaults.get_supported_os 47 | }).each do |os,facts| 48 | context "on #{os}" do 49 | let (:facts) do 50 | facts.merge(OSDefaults.get_facts()) 51 | end 52 | 53 | it_behaves_like 'cinder::backend::quobyte' 54 | end 55 | end 56 | end 57 | -------------------------------------------------------------------------------- /spec/defines/cinder_quota_set_spec.rb: -------------------------------------------------------------------------------- 1 | #Author: Craig DeLatte 2 | 3 | require 'spec_helper' 4 | 5 | describe 'cinder::quota_set' do 6 | let(:title) {'hippo'} 7 | 8 | let :params do 9 | { 10 | :os_password => 'asdf', 11 | :os_tenant_name => 'admin', 12 | :os_username => 'admin', 13 | :os_auth_url => 'http://127.127.127.1:5000/v3/', 14 | :quota_volumes => '10', 15 | :quota_snapshots => '10', 16 | :quota_gigabytes => '1000', 17 | :class_name => 'default', 18 | } 19 | end 20 | 21 | shared_examples 'cinder::quota_set' do 22 | context 'with specified parameters' do 23 | it { is_expected.to contain_exec('openstack quota set --class default').with( 24 | :command => "openstack quota set --class default --volumes 10 --snapshots 10 --gigabytes 1000 --volume-type 'hippo'", 25 | :environment => [ 26 | 'OS_TENANT_NAME=admin', 27 | 'OS_USERNAME=admin', 28 | 'OS_PASSWORD=asdf', 29 | 'OS_AUTH_URL=http://127.127.127.1:5000/v3/', 30 | ], 31 | :onlyif => 'openstack quota show --class default | grep -qP -- -1', 32 | :require => 'Anchor[cinder::service::end]', 33 | )} 34 | end 35 | 36 | context 'with region name set' do 37 | before do 38 | params.merge!( :os_region_name => 'test' ) 39 | end 40 | 41 | it { is_expected.to contain_exec('openstack quota set --class default').with( 42 | :command => "openstack quota set --class default --volumes 10 --snapshots 10 --gigabytes 1000 --volume-type 'hippo'", 43 | :environment => [ 44 | 'OS_TENANT_NAME=admin', 45 | 'OS_USERNAME=admin', 46 | 'OS_PASSWORD=asdf', 47 | 'OS_AUTH_URL=http://127.127.127.1:5000/v3/', 48 | 'OS_REGION_NAME=test', 49 | ], 50 | :onlyif => 'openstack quota show --class default | grep -qP -- -1', 51 | :require => 'Anchor[cinder::service::end]', 52 | )} 53 | end 54 | end 55 | 56 | on_supported_os({ 57 | :supported_os => OSDefaults.get_supported_os 58 | }).each do |os,facts| 59 | context "on #{os}" do 60 | let (:facts) do 61 | facts.merge!(OSDefaults.get_facts()) 62 | end 63 | 64 | it_behaves_like 'cinder::quota_set' 65 | end 66 | end 67 | end 68 | -------------------------------------------------------------------------------- /spec/shared_examples.rb: -------------------------------------------------------------------------------- 1 | shared_examples_for "a Puppet::Error" do |description| 2 | it "with message matching #{description.inspect}" do 3 | expect { is_expected.to have_class_count(1) }.to raise_error(Puppet::Error, description) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | # Load libraries here to simulate how they live together in a real puppet run (for provider unit tests) 2 | $LOAD_PATH.push(File.join(File.dirname(__FILE__), 'fixtures', 'modules', 'inifile', 'lib')) 3 | $LOAD_PATH.push(File.join(File.dirname(__FILE__), 'fixtures', 'modules', 'openstacklib', 'lib')) 4 | require 'puppetlabs_spec_helper/module_spec_helper' 5 | require 'shared_examples' 6 | require 'puppet-openstack_spec_helper/facts' 7 | 8 | fixture_path = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures')) 9 | 10 | RSpec.configure do |c| 11 | c.alias_it_should_behave_like_to :it_configures, 'configures' 12 | c.alias_it_should_behave_like_to :it_raises, 'raises' 13 | 14 | c.module_path = File.join(fixture_path, 'modules') 15 | end 16 | 17 | at_exit { RSpec::Puppet::Coverage.report! } 18 | -------------------------------------------------------------------------------- /spec/spec_helper_acceptance.rb: -------------------------------------------------------------------------------- 1 | require 'puppet-openstack_spec_helper/litmus_spec_helper' 2 | -------------------------------------------------------------------------------- /spec/type_aliases/cephconf_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe 'Cinder::CephConf' do 4 | describe 'valid types' do 5 | context 'with valid types' do 6 | [ 7 | '/etc/ceph/ceph.conf', 8 | '/etc/ceph.conf', 9 | '/ceph.conf', 10 | '/etc/ceph/foo/ceph.conf', 11 | '/etc/ceph/foo.conf', 12 | ].each do |value| 13 | describe value.inspect do 14 | it { is_expected.to allow_value(value) } 15 | end 16 | end 17 | end 18 | end 19 | 20 | describe 'invalid types' do 21 | context 'with garbage inputs' do 22 | [ 23 | 'etc/ceph/ceph.conf', 24 | 'ceph.conf', 25 | '/etc/ceph/ceph.config', 26 | '/etc/ceph/ceph', 27 | '', 28 | ].each do |value| 29 | describe value.inspect do 30 | it { is_expected.not_to allow_value(value) } 31 | end 32 | end 33 | end 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /spec/unit/provider/cinder_api_paste_ini/ini_setting_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | provider_class = Puppet::Type.type(:cinder_api_paste_ini).provider(:ini_setting) 3 | describe provider_class do 4 | 5 | it 'should allow setting to be set explicitly' do 6 | resource = Puppet::Type::Cinder_api_paste_ini.new( 7 | {:name => 'dude/foo', :value => 'bar'} 8 | ) 9 | provider = provider_class.new(resource) 10 | expect(provider.section).to eq('dude') 11 | expect(provider.setting).to eq('foo') 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /spec/unit/provider/cinder_api_uwsgi_config/ini_setting_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | provider_class = Puppet::Type.type(:cinder_api_uwsgi_config).provider(:ini_setting) 4 | describe provider_class do 5 | 6 | it 'should default to the default setting when no other one is specified' do 7 | resource = Puppet::Type::Cinder_api_uwsgi_config.new( 8 | {:name => 'DEFAULT/foo', :value => 'bar'} 9 | ) 10 | provider = provider_class.new(resource) 11 | expect(provider.section).to eq('DEFAULT') 12 | expect(provider.setting).to eq('foo') 13 | end 14 | 15 | it 'should allow setting to be set explicitly' do 16 | resource = Puppet::Type::Cinder_api_uwsgi_config.new( 17 | {:name => 'dude/foo', :value => 'bar'} 18 | ) 19 | provider = provider_class.new(resource) 20 | expect(provider.section).to eq('dude') 21 | expect(provider.setting).to eq('foo') 22 | end 23 | 24 | it 'should ensure absent when is specified as a value' do 25 | resource = Puppet::Type::Cinder_api_uwsgi_config.new( 26 | {:name => 'dude/foo', :value => ''} 27 | ) 28 | provider = provider_class.new(resource) 29 | provider.exists? 30 | expect(resource[:ensure]).to eq :absent 31 | end 32 | 33 | it 'should ensure absent when value matches ensure_absent_val' do 34 | resource = Puppet::Type::Cinder_api_uwsgi_config.new( 35 | {:name => 'dude/foo', :value => 'foo', :ensure_absent_val => 'foo' } 36 | ) 37 | provider = provider_class.new(resource) 38 | provider.exists? 39 | expect(resource[:ensure]).to eq :absent 40 | end 41 | 42 | end 43 | -------------------------------------------------------------------------------- /spec/unit/provider/cinder_config/openstackconfig_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | provider_class = Puppet::Type.type(:cinder_config).provider(:openstackconfig) 3 | describe provider_class do 4 | 5 | it 'should default to the default setting when no other one is specified' do 6 | resource = Puppet::Type::Cinder_config.new( 7 | {:name => 'DEFAULT/foo', :value => 'bar'} 8 | ) 9 | provider = provider_class.new(resource) 10 | expect(provider.section).to eq('DEFAULT') 11 | expect(provider.setting).to eq('foo') 12 | end 13 | 14 | it 'should allow setting to be set explicitly' do 15 | resource = Puppet::Type::Cinder_config.new( 16 | {:name => 'dude/foo', :value => 'bar'} 17 | ) 18 | provider = provider_class.new(resource) 19 | expect(provider.section).to eq('dude') 20 | expect(provider.setting).to eq('foo') 21 | end 22 | 23 | it 'should ensure absent when is specified as a value' do 24 | resource = Puppet::Type::Cinder_config.new( 25 | {:name => 'dude/foo', :value => ''} 26 | ) 27 | provider = provider_class.new(resource) 28 | provider.exists? 29 | expect(resource[:ensure]).to eq :absent 30 | end 31 | 32 | it 'should ensure absent when value matches ensure_absent_val' do 33 | resource = Puppet::Type::Cinder_config.new( 34 | {:name => 'dude/foo', :value => 'foo', :ensure_absent_val => 'foo' } 35 | ) 36 | provider = provider_class.new(resource) 37 | provider.exists? 38 | expect(resource[:ensure]).to eq :absent 39 | end 40 | 41 | end 42 | -------------------------------------------------------------------------------- /spec/unit/provider/cinder_rootwrap_config/ini_setting_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | provider_class = Puppet::Type.type(:cinder_rootwrap_config).provider(:ini_setting) 4 | describe provider_class do 5 | 6 | it 'should default to the default setting when no other one is specified' do 7 | resource = Puppet::Type::Cinder_rootwrap_config.new( 8 | {:name => 'DEFAULT/foo', :value => 'bar'} 9 | ) 10 | provider = provider_class.new(resource) 11 | expect(provider.section).to eq('DEFAULT') 12 | expect(provider.setting).to eq('foo') 13 | end 14 | 15 | it 'should allow setting to be set explicitly' do 16 | resource = Puppet::Type::Cinder_rootwrap_config.new( 17 | {:name => 'dude/foo', :value => 'bar'} 18 | ) 19 | provider = provider_class.new(resource) 20 | expect(provider.section).to eq('dude') 21 | expect(provider.setting).to eq('foo') 22 | end 23 | 24 | it 'should ensure absent when is specified as a value' do 25 | resource = Puppet::Type::Cinder_rootwrap_config.new( 26 | {:name => 'dude/foo', :value => ''} 27 | ) 28 | provider = provider_class.new(resource) 29 | provider.exists? 30 | expect(resource[:ensure]).to eq :absent 31 | end 32 | 33 | it 'should ensure absent when value matches ensure_absent_val' do 34 | resource = Puppet::Type::Cinder_rootwrap_config.new( 35 | {:name => 'dude/foo', :value => 'foo', :ensure_absent_val => 'foo' } 36 | ) 37 | provider = provider_class.new(resource) 38 | provider.exists? 39 | expect(resource[:ensure]).to eq :absent 40 | end 41 | 42 | end 43 | -------------------------------------------------------------------------------- /spec/unit/type/cinder_api_paste_ini_spec.rb: -------------------------------------------------------------------------------- 1 | require 'puppet' 2 | require 'puppet/type/cinder_api_paste_ini' 3 | 4 | describe 'Puppet::Type.type(:cinder_api_paste_ini)' do 5 | before :each do 6 | @cinder_api_paste_ini = Puppet::Type.type(:cinder_api_paste_ini).new(:name => 'DEFAULT/foo', :value => 'bar') 7 | end 8 | 9 | it 'should accept a valid value' do 10 | @cinder_api_paste_ini[:value] = 'bar' 11 | expect(@cinder_api_paste_ini[:value]).to eq('bar') 12 | end 13 | 14 | it 'should autorequire the package that install the file' do 15 | catalog = Puppet::Resource::Catalog.new 16 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::install::end') 17 | catalog.add_resource anchor, @cinder_api_paste_ini 18 | dependency = @cinder_api_paste_ini.autorequire 19 | expect(dependency.size).to eq(1) 20 | expect(dependency[0].target).to eq(@cinder_api_paste_ini) 21 | expect(dependency[0].source).to eq(anchor) 22 | end 23 | 24 | end 25 | -------------------------------------------------------------------------------- /spec/unit/type/cinder_config_spec.rb: -------------------------------------------------------------------------------- 1 | require 'puppet' 2 | require 'puppet/type/cinder_config' 3 | 4 | describe 'Puppet::Type.type(:cinder_config)' do 5 | before :each do 6 | @cinder_config = Puppet::Type.type(:cinder_config).new(:name => 'DEFAULT/foo', :value => 'bar') 7 | end 8 | 9 | it 'should require a name' do 10 | expect { 11 | Puppet::Type.type(:cinder_config).new({}) 12 | }.to raise_error(Puppet::Error, 'Title or name must be provided') 13 | end 14 | 15 | it 'should not expect a name with whitespace' do 16 | expect { 17 | Puppet::Type.type(:cinder_config).new(:name => 'f oo') 18 | }.to raise_error(Puppet::Error, /Parameter name failed/) 19 | end 20 | 21 | it 'should fail when there is no section' do 22 | expect { 23 | Puppet::Type.type(:cinder_config).new(:name => 'foo') 24 | }.to raise_error(Puppet::Error, /Parameter name failed/) 25 | end 26 | 27 | it 'should not require a value when ensure is absent' do 28 | Puppet::Type.type(:cinder_config).new(:name => 'DEFAULT/foo', :ensure => :absent) 29 | end 30 | 31 | it 'should accept a valid value' do 32 | @cinder_config[:value] = 'bar' 33 | expect(@cinder_config[:value]).to eq(['bar']) 34 | end 35 | 36 | it 'should accept a value with whitespace' do 37 | @cinder_config[:value] = 'b ar' 38 | expect(@cinder_config[:value]).to eq(['b ar']) 39 | end 40 | 41 | it 'should accept valid ensure values' do 42 | @cinder_config[:ensure] = :present 43 | expect(@cinder_config[:ensure]).to eq(:present) 44 | @cinder_config[:ensure] = :absent 45 | expect(@cinder_config[:ensure]).to eq(:absent) 46 | end 47 | 48 | it 'should not accept invalid ensure values' do 49 | expect { 50 | @cinder_config[:ensure] = :latest 51 | }.to raise_error(Puppet::Error, /Invalid value/) 52 | end 53 | 54 | it 'should autorequire the package that install the file' do 55 | catalog = Puppet::Resource::Catalog.new 56 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::install::end') 57 | catalog.add_resource anchor, @cinder_config 58 | dependency = @cinder_config.autorequire 59 | expect(dependency.size).to eq(1) 60 | expect(dependency[0].target).to eq(@cinder_config) 61 | expect(dependency[0].source).to eq(anchor) 62 | end 63 | 64 | end 65 | -------------------------------------------------------------------------------- /spec/unit/type/cinder_qos_spec.rb: -------------------------------------------------------------------------------- 1 | require 'puppet' 2 | require 'puppet/type/cinder_qos' 3 | 4 | describe Puppet::Type.type(:cinder_qos) do 5 | 6 | before :each do 7 | Puppet::Type.rmtype(:cinder_qos) 8 | end 9 | 10 | it 'should reject an invalid property value' do 11 | incorrect_input = { 12 | :name => 'test_qos', 13 | :properties => ['some_key1 = some_value2'] 14 | } 15 | expect { Puppet::Type.type(:cinder_type).new(incorrect_input) }.to raise_error(Puppet::ResourceError, /Invalid properties/) 16 | end 17 | 18 | it 'should default to no properties and no associations' do 19 | catalog = Puppet::Resource::Catalog.new 20 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::service::end') 21 | correct_input = { 22 | :name => 'test_qos', 23 | } 24 | cinder_qos = Puppet::Type.type(:cinder_qos).new(correct_input) 25 | expect(cinder_qos[:properties]).to eq(nil) 26 | expect(cinder_qos[:associations]).to eq([]) 27 | 28 | catalog.add_resource anchor, cinder_qos 29 | dependency = cinder_qos.autorequire 30 | expect(dependency.size).to eq(1) 31 | expect(dependency[0].target).to eq(cinder_qos) 32 | expect(dependency[0].source).to eq(anchor) 33 | end 34 | 35 | 36 | it 'should autorequire cinder-api service' do 37 | catalog = Puppet::Resource::Catalog.new 38 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::service::end') 39 | properties = {'read_iops' => 'value1', 'write_iops' => 'value2'} 40 | correct_input = { 41 | :name => 'test_qos', 42 | :properties => properties, 43 | } 44 | cinder_qos = Puppet::Type.type(:cinder_qos).new(correct_input) 45 | expect(cinder_qos[:properties]).to eq(properties) 46 | 47 | catalog.add_resource anchor, cinder_qos 48 | dependency = cinder_qos.autorequire 49 | expect(dependency.size).to eq(1) 50 | expect(dependency[0].target).to eq(cinder_qos) 51 | expect(dependency[0].source).to eq(anchor) 52 | end 53 | end 54 | -------------------------------------------------------------------------------- /spec/unit/type/cinder_type_spec.rb: -------------------------------------------------------------------------------- 1 | require 'puppet' 2 | require 'puppet/type/cinder_type' 3 | 4 | describe Puppet::Type.type(:cinder_type) do 5 | 6 | before :each do 7 | Puppet::Type.rmtype(:cinder_type) 8 | end 9 | 10 | it 'should reject an invalid property value' do 11 | incorrect_input = { 12 | :name => 'test_type', 13 | :properties => ['some_key1 = some_value2'] 14 | } 15 | expect { Puppet::Type.type(:cinder_type).new(incorrect_input) }.to raise_error(Puppet::ResourceError, /Invalid properties/) 16 | end 17 | 18 | it 'should default to no properties' do 19 | catalog = Puppet::Resource::Catalog.new 20 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::service::end') 21 | correct_input = { 22 | :name => 'test_type', 23 | } 24 | cinder_type = Puppet::Type.type(:cinder_type).new(correct_input) 25 | expect(cinder_type[:properties]).to eq(nil) 26 | 27 | catalog.add_resource anchor, cinder_type 28 | dependency = cinder_type.autorequire 29 | expect(dependency.size).to eq(1) 30 | expect(dependency[0].target).to eq(cinder_type) 31 | expect(dependency[0].source).to eq(anchor) 32 | end 33 | 34 | 35 | it 'should autorequire cinder-api service' do 36 | catalog = Puppet::Resource::Catalog.new 37 | anchor = Puppet::Type.type(:anchor).new(:name => 'cinder::service::end') 38 | properties = {'some_key1' => 'value', 'some_key2' => 'value1,value2'} 39 | correct_input = { 40 | :name => 'test_type', 41 | :properties => properties, 42 | } 43 | cinder_type = Puppet::Type.type(:cinder_type).new(correct_input) 44 | expect(cinder_type[:properties]).to eq(properties) 45 | 46 | catalog.add_resource anchor, cinder_type 47 | dependency = cinder_type.autorequire 48 | expect(dependency.size).to eq(1) 49 | expect(dependency[0].target).to eq(cinder_type) 50 | expect(dependency[0].source).to eq(anchor) 51 | end 52 | end 53 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | minversion = 3.1 3 | skipsdist = True 4 | envlist = releasenotes 5 | ignore_basepython_conflict = True 6 | 7 | [testenv] 8 | basepython = python3 9 | 10 | [testenv:releasenotes] 11 | deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} 12 | -r{toxinidir}/doc/requirements.txt 13 | commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html 14 | -------------------------------------------------------------------------------- /types/cephconf.pp: -------------------------------------------------------------------------------- 1 | type Cinder::CephConf = Pattern[/^\/([^\n\/\0]+\/*)*[^\n\/\0]+\.conf$/] 2 | --------------------------------------------------------------------------------