From f0b820407297ebb7e073fd43a90363d86bb0176f Mon Sep 17 00:00:00 2001 From: Michael Still Date: Wed, 17 Sep 2014 17:01:52 +1000 Subject: [PATCH] Re-organize juno specs As discussed at our nova meetings, reorganize the juno specs into three directories: - proposed: things proposed which weren't approved - approved: things we approved but didn't implement - implemented: things approved and implemented The first I suspect is the most controversial. I've done this because I worry about the case where a future developer wants to pick up something dropped by a previous developer, but has trouble finding previous proposed specifications on the topic. Note that the actual proposed specs for Juno are adding in a later commit. Change-Id: Idcf55ca37a83d7098dcb7c2971240c4e8fd23dc8 --- README.rst | 9 ++ doc/source/conf.py | 5 +- doc/source/index.rst | 12 ++- doc/source/redirect.py | 50 +++++++++++ ...all-in-list-operator-to-extra-spec-ops.rst | 0 .../add-virtio-scsi-bus-for-bdm.rst | 0 .../allocation-ratio-to-resource-tracker.rst | 0 specs/juno/{ => approved}/clean-logs.rst | 0 .../cold-migration-with-target.rst | 0 specs/juno/{ => approved}/db2-database.rst | 0 .../ec2-volume-and-snapshot-tags.rst | 0 .../encryption-with-barbican.rst | 0 .../enforce-unique-instance-uuid-in-db.rst | 0 .../input-output-based-numa-scheduling.rst | 0 specs/juno/{ => approved}/io-ops-weight.rst | 0 .../libvirt-driver-class-refactor.rst | 0 .../libvirt-sheepdog-backed-instances.rst | 0 .../libvirt-start-lxc-from-block-devices.rst | 0 .../log-request-id-mappings.rst | 0 .../lvm-ephemeral-storage-encryption.rst | 0 .../make-resource-tracker-use-objects.rst | 0 .../migrate-libvirt-volumes.rst | 0 specs/juno/{ => approved}/nova-pagination.rst | 0 .../persistent-resource-claim.rst | 0 ...-image-snapshots-with-qemu-guest-agent.rst | 0 ...rict-image-isolation-with-defined-keys.rst | 0 ...urn-all-servers-during-multiple-create.rst | 0 .../selecting-subnet-when-creating-vm.rst | 0 .../juno/{ => approved}/server-count-api.rst | 0 .../{ => approved}/standardize-nova-image.rst | 0 .../string-field-max-length.rst | 0 .../support-console-log-migration.rst | 0 specs/juno/{ => approved}/tag-instances.rst | 0 .../use-libvirt-storage-pools.rst | 0 specs/juno/{ => approved}/vif-vhostuser.rst | 0 .../virt-driver-cpu-pinning.rst | 0 .../virt-driver-large-pages.rst | 0 .../vmware-driver-ova-support.rst | 0 .../vmware-ephemeral-disk-support.rst | 0 .../{ => approved}/vmware-spbm-support.rst | 0 .../{ => approved}/vmware-vsan-support.rst | 0 .../websocket-proxy-to-host-security.rst | 0 .../xenapi-set-ipxe-url-as-img-metadata.rst | 0 .../{ => approved}/xenapi-vcpu-topology.rst | 0 .../add-differencing-vhdx-resize-support.rst | 0 .../{ => implemented}/add-ironic-driver.rst | 0 ...ow-image-to-be-specified-during-rescue.rst | 0 .../backportable-db-migrations-juno.rst | 0 .../better-support-for-multiple-networks.rst | 0 .../compute-manager-objects-juno.rst | 0 .../config-drive-image-property.rst | 0 .../convert_ec2_api_to_use_nova_objects.rst | 0 .../cross-service-request-id.rst | 0 .../enabled-qemu-memballoon-stats.rst | 0 .../extensible-resource-tracking.rst | 0 .../find-host-and-evacuate-instance.rst | 0 .../{ => implemented}/hyper-v-console-log.rst | 0 .../{ => implemented}/hyper-v-soft-reboot.rst | 0 .../{ => implemented}/i18n-enablement.rst | 0 .../instance-network-info-hook.rst | 0 .../{ => implemented}/juno-slaveification.rst | 0 .../libvirt-disk-discard-option.rst | 0 .../libvirt-domain-listing-speedup.rst | 0 .../libvirt-driver-domain-metadata.rst | 0 .../libvirt-lxc-user-namespaces.rst | 0 .../libvirt-volume-snap-network-disk.rst | 0 .../move-prep-resize-to-conductor.rst | 0 .../nfv-multiple-if-1-net.rst | 0 .../{ => implemented}/object-subclassing.rst | 0 .../on-demand-compute-update.rst | 0 .../pci-passthrough-sriov.rst | 0 .../per-aggregate-filters.rst | 0 .../rbd-clone-image-handler.rst | 0 .../refactor-network-api.rst | 0 .../remove-cast-to-schedule-run-instance.rst | 0 .../rescue-attach-all-disks.rst | 0 .../return-status-for-hypervisor-node.rst | 0 .../juno/{ => implemented}/scheduler-lib.rst | 0 specs/juno/{ => implemented}/serial-ports.rst | 0 .../{ => implemented}/server-group-quotas.rst | 0 .../servers-list-support-multi-status.rst | 0 .../support-cinderclient-v2.rst | 0 .../{ => implemented}/use-oslo-vmware.rst | 0 .../user-defined-shutdown.rst | 0 specs/juno/{ => implemented}/v2-on-v3-api.rst | 0 .../juno/{ => implemented}/v3-api-schema.rst | 0 .../juno/{ => implemented}/v3-diagnostics.rst | 0 .../virt-driver-numa-placement.rst | 0 .../virt-driver-vcpu-topology.rst | 0 .../{ => implemented}/virt-objects-juno.rst | 0 .../{ => implemented}/vmware-hot-plug.rst | 0 .../vmware-spawn-refactor.rst | 0 specs/juno/redirects | 88 +++++++++++++++++++ tests/test_titles.py | 2 +- 94 files changed, 161 insertions(+), 5 deletions(-) create mode 100644 doc/source/redirect.py rename specs/juno/{ => approved}/add-all-in-list-operator-to-extra-spec-ops.rst (100%) rename specs/juno/{ => approved}/add-virtio-scsi-bus-for-bdm.rst (100%) rename specs/juno/{ => approved}/allocation-ratio-to-resource-tracker.rst (100%) rename specs/juno/{ => approved}/clean-logs.rst (100%) rename specs/juno/{ => approved}/cold-migration-with-target.rst (100%) rename specs/juno/{ => approved}/db2-database.rst (100%) rename specs/juno/{ => approved}/ec2-volume-and-snapshot-tags.rst (100%) rename specs/juno/{ => approved}/encryption-with-barbican.rst (100%) rename specs/juno/{ => approved}/enforce-unique-instance-uuid-in-db.rst (100%) rename specs/juno/{ => approved}/input-output-based-numa-scheduling.rst (100%) rename specs/juno/{ => approved}/io-ops-weight.rst (100%) rename specs/juno/{ => approved}/libvirt-driver-class-refactor.rst (100%) rename specs/juno/{ => approved}/libvirt-sheepdog-backed-instances.rst (100%) rename specs/juno/{ => approved}/libvirt-start-lxc-from-block-devices.rst (100%) rename specs/juno/{ => approved}/log-request-id-mappings.rst (100%) rename specs/juno/{ => approved}/lvm-ephemeral-storage-encryption.rst (100%) rename specs/juno/{ => approved}/make-resource-tracker-use-objects.rst (100%) rename specs/juno/{ => approved}/migrate-libvirt-volumes.rst (100%) rename specs/juno/{ => approved}/nova-pagination.rst (100%) rename specs/juno/{ => approved}/persistent-resource-claim.rst (100%) rename specs/juno/{ => approved}/quiesced-image-snapshots-with-qemu-guest-agent.rst (100%) rename specs/juno/{ => approved}/restrict-image-isolation-with-defined-keys.rst (100%) rename specs/juno/{ => approved}/return-all-servers-during-multiple-create.rst (100%) rename specs/juno/{ => approved}/selecting-subnet-when-creating-vm.rst (100%) rename specs/juno/{ => approved}/server-count-api.rst (100%) rename specs/juno/{ => approved}/standardize-nova-image.rst (100%) rename specs/juno/{ => approved}/string-field-max-length.rst (100%) rename specs/juno/{ => approved}/support-console-log-migration.rst (100%) rename specs/juno/{ => approved}/tag-instances.rst (100%) rename specs/juno/{ => approved}/use-libvirt-storage-pools.rst (100%) rename specs/juno/{ => approved}/vif-vhostuser.rst (100%) rename specs/juno/{ => approved}/virt-driver-cpu-pinning.rst (100%) rename specs/juno/{ => approved}/virt-driver-large-pages.rst (100%) rename specs/juno/{ => approved}/vmware-driver-ova-support.rst (100%) rename specs/juno/{ => approved}/vmware-ephemeral-disk-support.rst (100%) rename specs/juno/{ => approved}/vmware-spbm-support.rst (100%) rename specs/juno/{ => approved}/vmware-vsan-support.rst (100%) rename specs/juno/{ => approved}/websocket-proxy-to-host-security.rst (100%) rename specs/juno/{ => approved}/xenapi-set-ipxe-url-as-img-metadata.rst (100%) rename specs/juno/{ => approved}/xenapi-vcpu-topology.rst (100%) rename specs/juno/{ => implemented}/add-differencing-vhdx-resize-support.rst (100%) rename specs/juno/{ => implemented}/add-ironic-driver.rst (100%) rename specs/juno/{ => implemented}/allow-image-to-be-specified-during-rescue.rst (100%) rename specs/juno/{ => implemented}/backportable-db-migrations-juno.rst (100%) rename specs/juno/{ => implemented}/better-support-for-multiple-networks.rst (100%) rename specs/juno/{ => implemented}/compute-manager-objects-juno.rst (100%) rename specs/juno/{ => implemented}/config-drive-image-property.rst (100%) rename specs/juno/{ => implemented}/convert_ec2_api_to_use_nova_objects.rst (100%) rename specs/juno/{ => implemented}/cross-service-request-id.rst (100%) rename specs/juno/{ => implemented}/enabled-qemu-memballoon-stats.rst (100%) rename specs/juno/{ => implemented}/extensible-resource-tracking.rst (100%) rename specs/juno/{ => implemented}/find-host-and-evacuate-instance.rst (100%) rename specs/juno/{ => implemented}/hyper-v-console-log.rst (100%) rename specs/juno/{ => implemented}/hyper-v-soft-reboot.rst (100%) rename specs/juno/{ => implemented}/i18n-enablement.rst (100%) rename specs/juno/{ => implemented}/instance-network-info-hook.rst (100%) rename specs/juno/{ => implemented}/juno-slaveification.rst (100%) rename specs/juno/{ => implemented}/libvirt-disk-discard-option.rst (100%) rename specs/juno/{ => implemented}/libvirt-domain-listing-speedup.rst (100%) rename specs/juno/{ => implemented}/libvirt-driver-domain-metadata.rst (100%) rename specs/juno/{ => implemented}/libvirt-lxc-user-namespaces.rst (100%) rename specs/juno/{ => implemented}/libvirt-volume-snap-network-disk.rst (100%) rename specs/juno/{ => implemented}/move-prep-resize-to-conductor.rst (100%) rename specs/juno/{ => implemented}/nfv-multiple-if-1-net.rst (100%) rename specs/juno/{ => implemented}/object-subclassing.rst (100%) rename specs/juno/{ => implemented}/on-demand-compute-update.rst (100%) rename specs/juno/{ => implemented}/pci-passthrough-sriov.rst (100%) rename specs/juno/{ => implemented}/per-aggregate-filters.rst (100%) rename specs/juno/{ => implemented}/rbd-clone-image-handler.rst (100%) rename specs/juno/{ => implemented}/refactor-network-api.rst (100%) rename specs/juno/{ => implemented}/remove-cast-to-schedule-run-instance.rst (100%) rename specs/juno/{ => implemented}/rescue-attach-all-disks.rst (100%) rename specs/juno/{ => implemented}/return-status-for-hypervisor-node.rst (100%) rename specs/juno/{ => implemented}/scheduler-lib.rst (100%) rename specs/juno/{ => implemented}/serial-ports.rst (100%) rename specs/juno/{ => implemented}/server-group-quotas.rst (100%) rename specs/juno/{ => implemented}/servers-list-support-multi-status.rst (100%) rename specs/juno/{ => implemented}/support-cinderclient-v2.rst (100%) rename specs/juno/{ => implemented}/use-oslo-vmware.rst (100%) rename specs/juno/{ => implemented}/user-defined-shutdown.rst (100%) rename specs/juno/{ => implemented}/v2-on-v3-api.rst (100%) rename specs/juno/{ => implemented}/v3-api-schema.rst (100%) rename specs/juno/{ => implemented}/v3-diagnostics.rst (100%) rename specs/juno/{ => implemented}/virt-driver-numa-placement.rst (100%) rename specs/juno/{ => implemented}/virt-driver-vcpu-topology.rst (100%) rename specs/juno/{ => implemented}/virt-objects-juno.rst (100%) rename specs/juno/{ => implemented}/vmware-hot-plug.rst (100%) rename specs/juno/{ => implemented}/vmware-spawn-refactor.rst (100%) create mode 100644 specs/juno/redirects diff --git a/README.rst b/README.rst index fd0738f23..df985fb87 100644 --- a/README.rst +++ b/README.rst @@ -14,6 +14,15 @@ The layout of this repository is:: specs// +Where there are two sub-directories: + + specs//approved: specifications approved but not yet implemented + specs//implemented: implemented specifications + +This directory structure allows you to see what we thought about doing, +decided to do, and actually got done. Users interested in functionality in a +given release should only refer to the ``implemented`` directory. + You can find an example spec in ``specs/template.rst``. Specifications are proposed for a given release by adding them to the diff --git a/doc/source/conf.py b/doc/source/conf.py index 93be7bcb9..c85a38e72 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -17,7 +17,7 @@ import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +sys.path.insert(0, os.path.abspath('.')) # -- General configuration ----------------------------------------------------- @@ -26,7 +26,8 @@ import os # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', +extensions = ['redirect', + 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.viewcode', diff --git a/doc/source/index.rst b/doc/source/index.rst index 5943626b9..69ca3d3cc 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -24,13 +24,21 @@ Contents: readme specs/* -Juno approved specs: +June implemented specs: .. toctree:: :glob: :maxdepth: 1 - specs/juno/* + specs/juno/implemented/* + +Juno approved (but not implemented) specs: + +.. toctree:: + :glob: + :maxdepth: 1 + + specs/juno/approved/* ================== Indices and tables diff --git a/doc/source/redirect.py b/doc/source/redirect.py new file mode 100644 index 000000000..099159f28 --- /dev/null +++ b/doc/source/redirect.py @@ -0,0 +1,50 @@ +# A simple sphinx plugin which creates HTML redirections from old names +# to new names. It does this by looking for files named "redirect" in +# the documentation source and using the contents to create simple HTML +# redirection pages for changed filenames. + +import os.path + +from sphinx.application import ENV_PICKLE_FILENAME +from sphinx.util.console import bold + + +def setup(app): + from sphinx.application import Sphinx + if not isinstance(app, Sphinx): + return + app.connect('build-finished', emit_redirects) + + +def process_redirect_file(app, path, ent): + parent_path = path.replace(app.builder.srcdir, app.builder.outdir) + with open(os.path.join(path, ent)) as redirects: + for line in redirects.readlines(): + from_path, to_path = line.rstrip().split(' ') + from_path = from_path.replace('.rst', '.html') + to_path = to_path.replace('.rst', '.html') + + redirected_filename = os.path.join(parent_path, from_path) + redirected_directory = os.path.dirname(redirected_filename) + if not os.path.exists(redirected_directory): + os.makedirs(redirected_directory) + with open(redirected_filename, 'w') as f: + f.write('' + % to_path) + + +def emit_redirects(app, exc): + app.builder.info(bold('scanning %s for redirects...') % app.builder.srcdir) + + def process_directory(path): + for ent in os.listdir(path): + p = os.path.join(path, ent) + if os.path.isdir(p): + process_directory(p) + elif ent == 'redirects': + app.builder.info(' found redirects at %s' % p) + process_redirect_file(app, path, ent) + + process_directory(app.builder.srcdir) + app.builder.info('...done') diff --git a/specs/juno/add-all-in-list-operator-to-extra-spec-ops.rst b/specs/juno/approved/add-all-in-list-operator-to-extra-spec-ops.rst similarity index 100% rename from specs/juno/add-all-in-list-operator-to-extra-spec-ops.rst rename to specs/juno/approved/add-all-in-list-operator-to-extra-spec-ops.rst diff --git a/specs/juno/add-virtio-scsi-bus-for-bdm.rst b/specs/juno/approved/add-virtio-scsi-bus-for-bdm.rst similarity index 100% rename from specs/juno/add-virtio-scsi-bus-for-bdm.rst rename to specs/juno/approved/add-virtio-scsi-bus-for-bdm.rst diff --git a/specs/juno/allocation-ratio-to-resource-tracker.rst b/specs/juno/approved/allocation-ratio-to-resource-tracker.rst similarity index 100% rename from specs/juno/allocation-ratio-to-resource-tracker.rst rename to specs/juno/approved/allocation-ratio-to-resource-tracker.rst diff --git a/specs/juno/clean-logs.rst b/specs/juno/approved/clean-logs.rst similarity index 100% rename from specs/juno/clean-logs.rst rename to specs/juno/approved/clean-logs.rst diff --git a/specs/juno/cold-migration-with-target.rst b/specs/juno/approved/cold-migration-with-target.rst similarity index 100% rename from specs/juno/cold-migration-with-target.rst rename to specs/juno/approved/cold-migration-with-target.rst diff --git a/specs/juno/db2-database.rst b/specs/juno/approved/db2-database.rst similarity index 100% rename from specs/juno/db2-database.rst rename to specs/juno/approved/db2-database.rst diff --git a/specs/juno/ec2-volume-and-snapshot-tags.rst b/specs/juno/approved/ec2-volume-and-snapshot-tags.rst similarity index 100% rename from specs/juno/ec2-volume-and-snapshot-tags.rst rename to specs/juno/approved/ec2-volume-and-snapshot-tags.rst diff --git a/specs/juno/encryption-with-barbican.rst b/specs/juno/approved/encryption-with-barbican.rst similarity index 100% rename from specs/juno/encryption-with-barbican.rst rename to specs/juno/approved/encryption-with-barbican.rst diff --git a/specs/juno/enforce-unique-instance-uuid-in-db.rst b/specs/juno/approved/enforce-unique-instance-uuid-in-db.rst similarity index 100% rename from specs/juno/enforce-unique-instance-uuid-in-db.rst rename to specs/juno/approved/enforce-unique-instance-uuid-in-db.rst diff --git a/specs/juno/input-output-based-numa-scheduling.rst b/specs/juno/approved/input-output-based-numa-scheduling.rst similarity index 100% rename from specs/juno/input-output-based-numa-scheduling.rst rename to specs/juno/approved/input-output-based-numa-scheduling.rst diff --git a/specs/juno/io-ops-weight.rst b/specs/juno/approved/io-ops-weight.rst similarity index 100% rename from specs/juno/io-ops-weight.rst rename to specs/juno/approved/io-ops-weight.rst diff --git a/specs/juno/libvirt-driver-class-refactor.rst b/specs/juno/approved/libvirt-driver-class-refactor.rst similarity index 100% rename from specs/juno/libvirt-driver-class-refactor.rst rename to specs/juno/approved/libvirt-driver-class-refactor.rst diff --git a/specs/juno/libvirt-sheepdog-backed-instances.rst b/specs/juno/approved/libvirt-sheepdog-backed-instances.rst similarity index 100% rename from specs/juno/libvirt-sheepdog-backed-instances.rst rename to specs/juno/approved/libvirt-sheepdog-backed-instances.rst diff --git a/specs/juno/libvirt-start-lxc-from-block-devices.rst b/specs/juno/approved/libvirt-start-lxc-from-block-devices.rst similarity index 100% rename from specs/juno/libvirt-start-lxc-from-block-devices.rst rename to specs/juno/approved/libvirt-start-lxc-from-block-devices.rst diff --git a/specs/juno/log-request-id-mappings.rst b/specs/juno/approved/log-request-id-mappings.rst similarity index 100% rename from specs/juno/log-request-id-mappings.rst rename to specs/juno/approved/log-request-id-mappings.rst diff --git a/specs/juno/lvm-ephemeral-storage-encryption.rst b/specs/juno/approved/lvm-ephemeral-storage-encryption.rst similarity index 100% rename from specs/juno/lvm-ephemeral-storage-encryption.rst rename to specs/juno/approved/lvm-ephemeral-storage-encryption.rst diff --git a/specs/juno/make-resource-tracker-use-objects.rst b/specs/juno/approved/make-resource-tracker-use-objects.rst similarity index 100% rename from specs/juno/make-resource-tracker-use-objects.rst rename to specs/juno/approved/make-resource-tracker-use-objects.rst diff --git a/specs/juno/migrate-libvirt-volumes.rst b/specs/juno/approved/migrate-libvirt-volumes.rst similarity index 100% rename from specs/juno/migrate-libvirt-volumes.rst rename to specs/juno/approved/migrate-libvirt-volumes.rst diff --git a/specs/juno/nova-pagination.rst b/specs/juno/approved/nova-pagination.rst similarity index 100% rename from specs/juno/nova-pagination.rst rename to specs/juno/approved/nova-pagination.rst diff --git a/specs/juno/persistent-resource-claim.rst b/specs/juno/approved/persistent-resource-claim.rst similarity index 100% rename from specs/juno/persistent-resource-claim.rst rename to specs/juno/approved/persistent-resource-claim.rst diff --git a/specs/juno/quiesced-image-snapshots-with-qemu-guest-agent.rst b/specs/juno/approved/quiesced-image-snapshots-with-qemu-guest-agent.rst similarity index 100% rename from specs/juno/quiesced-image-snapshots-with-qemu-guest-agent.rst rename to specs/juno/approved/quiesced-image-snapshots-with-qemu-guest-agent.rst diff --git a/specs/juno/restrict-image-isolation-with-defined-keys.rst b/specs/juno/approved/restrict-image-isolation-with-defined-keys.rst similarity index 100% rename from specs/juno/restrict-image-isolation-with-defined-keys.rst rename to specs/juno/approved/restrict-image-isolation-with-defined-keys.rst diff --git a/specs/juno/return-all-servers-during-multiple-create.rst b/specs/juno/approved/return-all-servers-during-multiple-create.rst similarity index 100% rename from specs/juno/return-all-servers-during-multiple-create.rst rename to specs/juno/approved/return-all-servers-during-multiple-create.rst diff --git a/specs/juno/selecting-subnet-when-creating-vm.rst b/specs/juno/approved/selecting-subnet-when-creating-vm.rst similarity index 100% rename from specs/juno/selecting-subnet-when-creating-vm.rst rename to specs/juno/approved/selecting-subnet-when-creating-vm.rst diff --git a/specs/juno/server-count-api.rst b/specs/juno/approved/server-count-api.rst similarity index 100% rename from specs/juno/server-count-api.rst rename to specs/juno/approved/server-count-api.rst diff --git a/specs/juno/standardize-nova-image.rst b/specs/juno/approved/standardize-nova-image.rst similarity index 100% rename from specs/juno/standardize-nova-image.rst rename to specs/juno/approved/standardize-nova-image.rst diff --git a/specs/juno/string-field-max-length.rst b/specs/juno/approved/string-field-max-length.rst similarity index 100% rename from specs/juno/string-field-max-length.rst rename to specs/juno/approved/string-field-max-length.rst diff --git a/specs/juno/support-console-log-migration.rst b/specs/juno/approved/support-console-log-migration.rst similarity index 100% rename from specs/juno/support-console-log-migration.rst rename to specs/juno/approved/support-console-log-migration.rst diff --git a/specs/juno/tag-instances.rst b/specs/juno/approved/tag-instances.rst similarity index 100% rename from specs/juno/tag-instances.rst rename to specs/juno/approved/tag-instances.rst diff --git a/specs/juno/use-libvirt-storage-pools.rst b/specs/juno/approved/use-libvirt-storage-pools.rst similarity index 100% rename from specs/juno/use-libvirt-storage-pools.rst rename to specs/juno/approved/use-libvirt-storage-pools.rst diff --git a/specs/juno/vif-vhostuser.rst b/specs/juno/approved/vif-vhostuser.rst similarity index 100% rename from specs/juno/vif-vhostuser.rst rename to specs/juno/approved/vif-vhostuser.rst diff --git a/specs/juno/virt-driver-cpu-pinning.rst b/specs/juno/approved/virt-driver-cpu-pinning.rst similarity index 100% rename from specs/juno/virt-driver-cpu-pinning.rst rename to specs/juno/approved/virt-driver-cpu-pinning.rst diff --git a/specs/juno/virt-driver-large-pages.rst b/specs/juno/approved/virt-driver-large-pages.rst similarity index 100% rename from specs/juno/virt-driver-large-pages.rst rename to specs/juno/approved/virt-driver-large-pages.rst diff --git a/specs/juno/vmware-driver-ova-support.rst b/specs/juno/approved/vmware-driver-ova-support.rst similarity index 100% rename from specs/juno/vmware-driver-ova-support.rst rename to specs/juno/approved/vmware-driver-ova-support.rst diff --git a/specs/juno/vmware-ephemeral-disk-support.rst b/specs/juno/approved/vmware-ephemeral-disk-support.rst similarity index 100% rename from specs/juno/vmware-ephemeral-disk-support.rst rename to specs/juno/approved/vmware-ephemeral-disk-support.rst diff --git a/specs/juno/vmware-spbm-support.rst b/specs/juno/approved/vmware-spbm-support.rst similarity index 100% rename from specs/juno/vmware-spbm-support.rst rename to specs/juno/approved/vmware-spbm-support.rst diff --git a/specs/juno/vmware-vsan-support.rst b/specs/juno/approved/vmware-vsan-support.rst similarity index 100% rename from specs/juno/vmware-vsan-support.rst rename to specs/juno/approved/vmware-vsan-support.rst diff --git a/specs/juno/websocket-proxy-to-host-security.rst b/specs/juno/approved/websocket-proxy-to-host-security.rst similarity index 100% rename from specs/juno/websocket-proxy-to-host-security.rst rename to specs/juno/approved/websocket-proxy-to-host-security.rst diff --git a/specs/juno/xenapi-set-ipxe-url-as-img-metadata.rst b/specs/juno/approved/xenapi-set-ipxe-url-as-img-metadata.rst similarity index 100% rename from specs/juno/xenapi-set-ipxe-url-as-img-metadata.rst rename to specs/juno/approved/xenapi-set-ipxe-url-as-img-metadata.rst diff --git a/specs/juno/xenapi-vcpu-topology.rst b/specs/juno/approved/xenapi-vcpu-topology.rst similarity index 100% rename from specs/juno/xenapi-vcpu-topology.rst rename to specs/juno/approved/xenapi-vcpu-topology.rst diff --git a/specs/juno/add-differencing-vhdx-resize-support.rst b/specs/juno/implemented/add-differencing-vhdx-resize-support.rst similarity index 100% rename from specs/juno/add-differencing-vhdx-resize-support.rst rename to specs/juno/implemented/add-differencing-vhdx-resize-support.rst diff --git a/specs/juno/add-ironic-driver.rst b/specs/juno/implemented/add-ironic-driver.rst similarity index 100% rename from specs/juno/add-ironic-driver.rst rename to specs/juno/implemented/add-ironic-driver.rst diff --git a/specs/juno/allow-image-to-be-specified-during-rescue.rst b/specs/juno/implemented/allow-image-to-be-specified-during-rescue.rst similarity index 100% rename from specs/juno/allow-image-to-be-specified-during-rescue.rst rename to specs/juno/implemented/allow-image-to-be-specified-during-rescue.rst diff --git a/specs/juno/backportable-db-migrations-juno.rst b/specs/juno/implemented/backportable-db-migrations-juno.rst similarity index 100% rename from specs/juno/backportable-db-migrations-juno.rst rename to specs/juno/implemented/backportable-db-migrations-juno.rst diff --git a/specs/juno/better-support-for-multiple-networks.rst b/specs/juno/implemented/better-support-for-multiple-networks.rst similarity index 100% rename from specs/juno/better-support-for-multiple-networks.rst rename to specs/juno/implemented/better-support-for-multiple-networks.rst diff --git a/specs/juno/compute-manager-objects-juno.rst b/specs/juno/implemented/compute-manager-objects-juno.rst similarity index 100% rename from specs/juno/compute-manager-objects-juno.rst rename to specs/juno/implemented/compute-manager-objects-juno.rst diff --git a/specs/juno/config-drive-image-property.rst b/specs/juno/implemented/config-drive-image-property.rst similarity index 100% rename from specs/juno/config-drive-image-property.rst rename to specs/juno/implemented/config-drive-image-property.rst diff --git a/specs/juno/convert_ec2_api_to_use_nova_objects.rst b/specs/juno/implemented/convert_ec2_api_to_use_nova_objects.rst similarity index 100% rename from specs/juno/convert_ec2_api_to_use_nova_objects.rst rename to specs/juno/implemented/convert_ec2_api_to_use_nova_objects.rst diff --git a/specs/juno/cross-service-request-id.rst b/specs/juno/implemented/cross-service-request-id.rst similarity index 100% rename from specs/juno/cross-service-request-id.rst rename to specs/juno/implemented/cross-service-request-id.rst diff --git a/specs/juno/enabled-qemu-memballoon-stats.rst b/specs/juno/implemented/enabled-qemu-memballoon-stats.rst similarity index 100% rename from specs/juno/enabled-qemu-memballoon-stats.rst rename to specs/juno/implemented/enabled-qemu-memballoon-stats.rst diff --git a/specs/juno/extensible-resource-tracking.rst b/specs/juno/implemented/extensible-resource-tracking.rst similarity index 100% rename from specs/juno/extensible-resource-tracking.rst rename to specs/juno/implemented/extensible-resource-tracking.rst diff --git a/specs/juno/find-host-and-evacuate-instance.rst b/specs/juno/implemented/find-host-and-evacuate-instance.rst similarity index 100% rename from specs/juno/find-host-and-evacuate-instance.rst rename to specs/juno/implemented/find-host-and-evacuate-instance.rst diff --git a/specs/juno/hyper-v-console-log.rst b/specs/juno/implemented/hyper-v-console-log.rst similarity index 100% rename from specs/juno/hyper-v-console-log.rst rename to specs/juno/implemented/hyper-v-console-log.rst diff --git a/specs/juno/hyper-v-soft-reboot.rst b/specs/juno/implemented/hyper-v-soft-reboot.rst similarity index 100% rename from specs/juno/hyper-v-soft-reboot.rst rename to specs/juno/implemented/hyper-v-soft-reboot.rst diff --git a/specs/juno/i18n-enablement.rst b/specs/juno/implemented/i18n-enablement.rst similarity index 100% rename from specs/juno/i18n-enablement.rst rename to specs/juno/implemented/i18n-enablement.rst diff --git a/specs/juno/instance-network-info-hook.rst b/specs/juno/implemented/instance-network-info-hook.rst similarity index 100% rename from specs/juno/instance-network-info-hook.rst rename to specs/juno/implemented/instance-network-info-hook.rst diff --git a/specs/juno/juno-slaveification.rst b/specs/juno/implemented/juno-slaveification.rst similarity index 100% rename from specs/juno/juno-slaveification.rst rename to specs/juno/implemented/juno-slaveification.rst diff --git a/specs/juno/libvirt-disk-discard-option.rst b/specs/juno/implemented/libvirt-disk-discard-option.rst similarity index 100% rename from specs/juno/libvirt-disk-discard-option.rst rename to specs/juno/implemented/libvirt-disk-discard-option.rst diff --git a/specs/juno/libvirt-domain-listing-speedup.rst b/specs/juno/implemented/libvirt-domain-listing-speedup.rst similarity index 100% rename from specs/juno/libvirt-domain-listing-speedup.rst rename to specs/juno/implemented/libvirt-domain-listing-speedup.rst diff --git a/specs/juno/libvirt-driver-domain-metadata.rst b/specs/juno/implemented/libvirt-driver-domain-metadata.rst similarity index 100% rename from specs/juno/libvirt-driver-domain-metadata.rst rename to specs/juno/implemented/libvirt-driver-domain-metadata.rst diff --git a/specs/juno/libvirt-lxc-user-namespaces.rst b/specs/juno/implemented/libvirt-lxc-user-namespaces.rst similarity index 100% rename from specs/juno/libvirt-lxc-user-namespaces.rst rename to specs/juno/implemented/libvirt-lxc-user-namespaces.rst diff --git a/specs/juno/libvirt-volume-snap-network-disk.rst b/specs/juno/implemented/libvirt-volume-snap-network-disk.rst similarity index 100% rename from specs/juno/libvirt-volume-snap-network-disk.rst rename to specs/juno/implemented/libvirt-volume-snap-network-disk.rst diff --git a/specs/juno/move-prep-resize-to-conductor.rst b/specs/juno/implemented/move-prep-resize-to-conductor.rst similarity index 100% rename from specs/juno/move-prep-resize-to-conductor.rst rename to specs/juno/implemented/move-prep-resize-to-conductor.rst diff --git a/specs/juno/nfv-multiple-if-1-net.rst b/specs/juno/implemented/nfv-multiple-if-1-net.rst similarity index 100% rename from specs/juno/nfv-multiple-if-1-net.rst rename to specs/juno/implemented/nfv-multiple-if-1-net.rst diff --git a/specs/juno/object-subclassing.rst b/specs/juno/implemented/object-subclassing.rst similarity index 100% rename from specs/juno/object-subclassing.rst rename to specs/juno/implemented/object-subclassing.rst diff --git a/specs/juno/on-demand-compute-update.rst b/specs/juno/implemented/on-demand-compute-update.rst similarity index 100% rename from specs/juno/on-demand-compute-update.rst rename to specs/juno/implemented/on-demand-compute-update.rst diff --git a/specs/juno/pci-passthrough-sriov.rst b/specs/juno/implemented/pci-passthrough-sriov.rst similarity index 100% rename from specs/juno/pci-passthrough-sriov.rst rename to specs/juno/implemented/pci-passthrough-sriov.rst diff --git a/specs/juno/per-aggregate-filters.rst b/specs/juno/implemented/per-aggregate-filters.rst similarity index 100% rename from specs/juno/per-aggregate-filters.rst rename to specs/juno/implemented/per-aggregate-filters.rst diff --git a/specs/juno/rbd-clone-image-handler.rst b/specs/juno/implemented/rbd-clone-image-handler.rst similarity index 100% rename from specs/juno/rbd-clone-image-handler.rst rename to specs/juno/implemented/rbd-clone-image-handler.rst diff --git a/specs/juno/refactor-network-api.rst b/specs/juno/implemented/refactor-network-api.rst similarity index 100% rename from specs/juno/refactor-network-api.rst rename to specs/juno/implemented/refactor-network-api.rst diff --git a/specs/juno/remove-cast-to-schedule-run-instance.rst b/specs/juno/implemented/remove-cast-to-schedule-run-instance.rst similarity index 100% rename from specs/juno/remove-cast-to-schedule-run-instance.rst rename to specs/juno/implemented/remove-cast-to-schedule-run-instance.rst diff --git a/specs/juno/rescue-attach-all-disks.rst b/specs/juno/implemented/rescue-attach-all-disks.rst similarity index 100% rename from specs/juno/rescue-attach-all-disks.rst rename to specs/juno/implemented/rescue-attach-all-disks.rst diff --git a/specs/juno/return-status-for-hypervisor-node.rst b/specs/juno/implemented/return-status-for-hypervisor-node.rst similarity index 100% rename from specs/juno/return-status-for-hypervisor-node.rst rename to specs/juno/implemented/return-status-for-hypervisor-node.rst diff --git a/specs/juno/scheduler-lib.rst b/specs/juno/implemented/scheduler-lib.rst similarity index 100% rename from specs/juno/scheduler-lib.rst rename to specs/juno/implemented/scheduler-lib.rst diff --git a/specs/juno/serial-ports.rst b/specs/juno/implemented/serial-ports.rst similarity index 100% rename from specs/juno/serial-ports.rst rename to specs/juno/implemented/serial-ports.rst diff --git a/specs/juno/server-group-quotas.rst b/specs/juno/implemented/server-group-quotas.rst similarity index 100% rename from specs/juno/server-group-quotas.rst rename to specs/juno/implemented/server-group-quotas.rst diff --git a/specs/juno/servers-list-support-multi-status.rst b/specs/juno/implemented/servers-list-support-multi-status.rst similarity index 100% rename from specs/juno/servers-list-support-multi-status.rst rename to specs/juno/implemented/servers-list-support-multi-status.rst diff --git a/specs/juno/support-cinderclient-v2.rst b/specs/juno/implemented/support-cinderclient-v2.rst similarity index 100% rename from specs/juno/support-cinderclient-v2.rst rename to specs/juno/implemented/support-cinderclient-v2.rst diff --git a/specs/juno/use-oslo-vmware.rst b/specs/juno/implemented/use-oslo-vmware.rst similarity index 100% rename from specs/juno/use-oslo-vmware.rst rename to specs/juno/implemented/use-oslo-vmware.rst diff --git a/specs/juno/user-defined-shutdown.rst b/specs/juno/implemented/user-defined-shutdown.rst similarity index 100% rename from specs/juno/user-defined-shutdown.rst rename to specs/juno/implemented/user-defined-shutdown.rst diff --git a/specs/juno/v2-on-v3-api.rst b/specs/juno/implemented/v2-on-v3-api.rst similarity index 100% rename from specs/juno/v2-on-v3-api.rst rename to specs/juno/implemented/v2-on-v3-api.rst diff --git a/specs/juno/v3-api-schema.rst b/specs/juno/implemented/v3-api-schema.rst similarity index 100% rename from specs/juno/v3-api-schema.rst rename to specs/juno/implemented/v3-api-schema.rst diff --git a/specs/juno/v3-diagnostics.rst b/specs/juno/implemented/v3-diagnostics.rst similarity index 100% rename from specs/juno/v3-diagnostics.rst rename to specs/juno/implemented/v3-diagnostics.rst diff --git a/specs/juno/virt-driver-numa-placement.rst b/specs/juno/implemented/virt-driver-numa-placement.rst similarity index 100% rename from specs/juno/virt-driver-numa-placement.rst rename to specs/juno/implemented/virt-driver-numa-placement.rst diff --git a/specs/juno/virt-driver-vcpu-topology.rst b/specs/juno/implemented/virt-driver-vcpu-topology.rst similarity index 100% rename from specs/juno/virt-driver-vcpu-topology.rst rename to specs/juno/implemented/virt-driver-vcpu-topology.rst diff --git a/specs/juno/virt-objects-juno.rst b/specs/juno/implemented/virt-objects-juno.rst similarity index 100% rename from specs/juno/virt-objects-juno.rst rename to specs/juno/implemented/virt-objects-juno.rst diff --git a/specs/juno/vmware-hot-plug.rst b/specs/juno/implemented/vmware-hot-plug.rst similarity index 100% rename from specs/juno/vmware-hot-plug.rst rename to specs/juno/implemented/vmware-hot-plug.rst diff --git a/specs/juno/vmware-spawn-refactor.rst b/specs/juno/implemented/vmware-spawn-refactor.rst similarity index 100% rename from specs/juno/vmware-spawn-refactor.rst rename to specs/juno/implemented/vmware-spawn-refactor.rst diff --git a/specs/juno/redirects b/specs/juno/redirects new file mode 100644 index 000000000..49db86750 --- /dev/null +++ b/specs/juno/redirects @@ -0,0 +1,88 @@ +add-differencing-vhdx-resize-support.rst implemented/add-differencing-vhdx-resize-support.rst +add-ironic-driver.rst implemented/add-ironic-driver.rst +allow-image-to-be-specified-during-rescue.rst implemented/allow-image-to-be-specified-during-rescue.rst +backportable-db-migrations-juno.rst implemented/backportable-db-migrations-juno.rst +better-support-for-multiple-networks.rst implemented/better-support-for-multiple-networks.rst +compute-manager-objects-juno.rst implemented/compute-manager-objects-juno.rst +config-drive-image-property.rst implemented/config-drive-image-property.rst +convert_ec2_api_to_use_nova_objects.rst implemented/convert_ec2_api_to_use_nova_objects.rst +cross-service-request-id.rst implemented/cross-service-request-id.rst +enabled-qemu-memballoon-stats.rst implemented/enabled-qemu-memballoon-stats.rst +extensible-resource-tracking.rst implemented/extensible-resource-tracking.rst +find-host-and-evacuate-instance.rst implemented/find-host-and-evacuate-instance.rst +hyper-v-console-log.rst implemented/hyper-v-console-log.rst +hyper-v-soft-reboot.rst implemented/hyper-v-soft-reboot.rst +i18n-enablement.rst implemented/i18n-enablement.rst +instance-network-info-hook.rst implemented/instance-network-info-hook.rst +juno-slaveification.rst implemented/juno-slaveification.rst +libvirt-disk-discard-option.rst implemented/libvirt-disk-discard-option.rst +libvirt-domain-listing-speedup.rst implemented/libvirt-domain-listing-speedup.rst +libvirt-driver-domain-metadata.rst implemented/libvirt-driver-domain-metadata.rst +libvirt-lxc-user-namespaces.rst implemented/libvirt-lxc-user-namespaces.rst +libvirt-volume-snap-network-disk.rst implemented/libvirt-volume-snap-network-disk.rst +move-prep-resize-to-conductor.rst implemented/move-prep-resize-to-conductor.rst +nfv-multiple-if-1-net.rst implemented/nfv-multiple-if-1-net.rst +object-subclassing.rst implemented/object-subclassing.rst +on-demand-compute-update.rst implemented/on-demand-compute-update.rst +pci-passthrough-sriov.rst implemented/pci-passthrough-sriov.rst +per-aggregate-filters.rst implemented/per-aggregate-filters.rst +rbd-clone-image-handler.rst implemented/rbd-clone-image-handler.rst +refactor-network-api.rst implemented/refactor-network-api.rst +remove-cast-to-schedule-run-instance.rst implemented/remove-cast-to-schedule-run-instance.rst +rescue-attach-all-disks.rst implemented/rescue-attach-all-disks.rst +return-status-for-hypervisor-node.rst implemented/return-status-for-hypervisor-node.rst +scheduler-lib.rst implemented/scheduler-lib.rst +serial-ports.rst implemented/serial-ports.rst +server-group-quotas.rst implemented/server-group-quotas.rst +servers-list-support-multi-status.rst implemented/servers-list-support-multi-status.rst +support-cinderclient-v2.rst implemented/support-cinderclient-v2.rst +use-oslo-vmware.rst implemented/use-oslo-vmware.rst +user-defined-shutdown.rst implemented/user-defined-shutdown.rst +v2-on-v3-api.rst implemented/v2-on-v3-api.rst +v3-api-schema.rst implemented/v3-api-schema.rst +v3-diagnostics.rst implemented/v3-diagnostics.rst +virt-driver-numa-placement.rst implemented/virt-driver-numa-placement.rst +virt-driver-vcpu-topology.rst implemented/virt-driver-vcpu-topology.rst +virt-objects-juno.rst implemented/virt-objects-juno.rst +vmware-hot-plug.rst implemented/vmware-hot-plug.rst +vmware-spawn-refactor.rst implemented/vmware-spawn-refactor.rst +add-all-in-list-operator-to-extra-spec-ops.rst approved/add-all-in-list-operator-to-extra-spec-ops.rst +add-virtio-scsi-bus-for-bdm.rst approved/add-virtio-scsi-bus-for-bdm.rst +allocation-ratio-to-resource-tracker.rst approved/allocation-ratio-to-resource-tracker.rst +clean-logs.rst approved/clean-logs.rst +cold-migration-with-target.rst approved/cold-migration-with-target.rst +db2-database.rst approved/db2-database.rst +ec2-volume-and-snapshot-tags.rst approved/ec2-volume-and-snapshot-tags.rst +encryption-with-barbican.rst approved/encryption-with-barbican.rst +enforce-unique-instance-uuid-in-db.rst approved/enforce-unique-instance-uuid-in-db.rst +input-output-based-numa-scheduling.rst approved/input-output-based-numa-scheduling.rst +io-ops-weight.rst approved/io-ops-weight.rst +libvirt-driver-class-refactor.rst approved/libvirt-driver-class-refactor.rst +libvirt-sheepdog-backed-instances.rst approved/libvirt-sheepdog-backed-instances.rst +libvirt-start-lxc-from-block-devices.rst approved/libvirt-start-lxc-from-block-devices.rst +log-request-id-mappings.rst approved/log-request-id-mappings.rst +lvm-ephemeral-storage-encryption.rst approved/lvm-ephemeral-storage-encryption.rst +make-resource-tracker-use-objects.rst approved/make-resource-tracker-use-objects.rst +migrate-libvirt-volumes.rst approved/migrate-libvirt-volumes.rst +nova-pagination.rst approved/nova-pagination.rst +persistent-resource-claim.rst approved/persistent-resource-claim.rst +quiesced-image-snapshots-with-qemu-guest-agent.rst approved/quiesced-image-snapshots-with-qemu-guest-agent.rst +restrict-image-isolation-with-defined-keys.rst approved/restrict-image-isolation-with-defined-keys.rst +return-all-servers-during-multiple-create.rst approved/return-all-servers-during-multiple-create.rst +selecting-subnet-when-creating-vm.rst approved/selecting-subnet-when-creating-vm.rst +server-count-api.rst approved/server-count-api.rst +standardize-nova-image.rst approved/standardize-nova-image.rst +string-field-max-length.rst approved/string-field-max-length.rst +support-console-log-migration.rst approved/support-console-log-migration.rst +tag-instances.rst approved/tag-instances.rst +use-libvirt-storage-pools.rst approved/use-libvirt-storage-pools.rst +vif-vhostuser.rst approved/vif-vhostuser.rst +virt-driver-cpu-pinning.rst approved/virt-driver-cpu-pinning.rst +virt-driver-large-pages.rst approved/virt-driver-large-pages.rst +vmware-driver-ova-support.rst approved/vmware-driver-ova-support.rst +vmware-ephemeral-disk-support.rst approved/vmware-ephemeral-disk-support.rst +vmware-spbm-support.rst approved/vmware-spbm-support.rst +vmware-vsan-support.rst approved/vmware-vsan-support.rst +websocket-proxy-to-host-security.rst approved/websocket-proxy-to-host-security.rst +xenapi-set-ipxe-url-as-img-metadata.rst approved/xenapi-set-ipxe-url-as-img-metadata.rst +xenapi-vcpu-topology.rst approved/xenapi-vcpu-topology.rst diff --git a/tests/test_titles.py b/tests/test_titles.py index 2972d110d..46f86b9db 100644 --- a/tests/test_titles.py +++ b/tests/test_titles.py @@ -93,7 +93,7 @@ class TestTitles(testtools.TestCase): spec = docutils.core.publish_doctree(template) template_titles = self._get_titles(spec) - files = glob.glob("specs/%s/*" % release) + files = glob.glob("specs/%s/*/*" % release) for filename in files: self.assertTrue(filename.endswith(".rst"), "spec's file must uses 'rst' extension.")