Project: nova Series: bexar Blueprint: admin-only-api Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/admin-only-api Spec URL: http://etherpad.openstack.org/adminapi Need the ability to deploy an API node that can support administrative features that should not be exposed on the public API interfaces. This could be a separate node or a flag that can be set that only makes the api methods available or not. Project: glance Series: bexar Blueprint: api-add-image Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/glance/+spec/api-add-image Spec URL: None Implement the API call which allows a caller to POST raw image data to Glance API: POST /images/ With HTTP headers storing metadata about the image being added, and the request body being the raw image data. Project: nova Series: bexar Blueprint: audit-logging Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/audit-logging Spec URL: http://wiki.openstack.org/blueprint-nova-logging Log improvements systemwide. Named loggers, appropriate levels, context-awareness, etc. Read the wiki page for more info. Project: glance Series: bexar Blueprint: backend-imports Design: Superseded Lifecycle: Complete Impl: Informational Link: https://blueprints.launchpad.net/glance/+spec/backend-imports Spec URL: None The S3 Backend needs to use boto. While nova uses boto throughout, none of glance uses it at all. It would probably be best that people who use other backends aren't required to also import boto, if only so that we have the precedent that when someone writes JoesWeirdAssBackend clients who don't use JoesWeirdAssBackend aren't required to use JoesWeirdAssBackend's imports. There are two opinions on how we might go around this: The first is to put the imports into the backend class definition, either by adding an __init__ method and instantiating backends or by throwing it into a method called by the @classmethods. The other way is to make glance.teller.backends.get_from_backend import the respective backend based on the scheme. Both ways are pretty ugly. A third way is to import a faked library when one doesn't exist, which is also ugly, but could be used effectively in the test suite. Project: nova Series: bexar Blueprint: bexar-iptables-security-groups Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/bexar-iptables-security-groups Spec URL: http://wiki.openstack.org/Nova/IptablesSecurityGroupsSpec Using libvirt's nwfilter for EC2 Security Groups was a good idea, but due to kernel limitations, it didn't turn out too well. Let's add another backend that uses iptables. Project: nova Series: bexar Blueprint: bexar-iscsi-support-xenapi Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/bexar-iscsi-support-xenapi Spec URL: http://wiki.openstack.org/iSCSISupportXenAPI Implement iSCSI support for XenAPI, so that vm instances running on XCP or XenServer can attach/detach volumes from iSCSI storage repositories Project: nova Series: bexar Blueprint: bexar-xenapi-support-for-glance Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/bexar-xenapi-support-for-glance Spec URL: http://wiki.openstack.org/GlanceSupportForXS This specification covers Nova support for XenServer and XCP through XenAPI. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 5 or SUSE. Implement XenAPI support for Glance so that XenAPI can pull out images from Glance rather than the object-store Project: nova Series: bexar Blueprint: ceph-block-driver Design: Pending Approval Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/ceph-block-driver Spec URL: http://wiki.openstack.org/CephBlockDriver Adding support for persistent block storage via Ceph Rados, in addition to the existing AoE support Project: glance Series: bexar Blueprint: clients Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/glance/+spec/clients Spec URL: None Currently, Nova has two client classes for accessing Parallax and Teller resources. These are located in /nova/image/glance.py. They should be pulled into Glance, under /glance/client.py to allow for better code reuse across projects. Project: nova Series: bexar Blueprint: cow-instances Design: Pending Approval Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/cow-instances Spec URL: http://wiki.openstack.org/CowInstances Right now, instance disks are stored as files in the system and manually partitioned. This leads to very slow load times and a lot of redundant data. Instances should use Copy on Write to conserve space and speed up launch times. Project: nova Series: bexar Blueprint: db-versioning-and-migration Design: Review Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/db-versioning-and-migration Spec URL: http://wiki.openstack.org/BexarDBMigrations Currently there is no notion of database schema versioning, or a sane way of achieving migrations between database changes. This spec looks at an approach and create a plan for implementation. Project: nova Series: bexar Blueprint: diagnostics-per-instance Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/diagnostics-per-instance Spec URL: http://etherpad.openstack.org/guestdiagnostics The ability to show a history of actions that have been performed on a virtual machine, capture the output, and indicate if those actions were successful or not. This could also include interrogating the instance for realtime output. Project: nova Series: bexar Blueprint: easy-api Design: Pending Approval Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/easy-api Spec URL: http://wiki.openstack.org/EasyApi Easy API provides a simple, thin and easily extensible direct mapping of the underlying services to a public REST-like API to allow the quickest path from idea to available feature, it additionally provides tools to take advantage of those new features without additional coding. Project: nova Series: bexar Blueprint: hardware-staging Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/hardware-staging Spec URL: http://wiki.openstack.org/blueprint-hardware-staging# Sometimes hardware just doesn't work as we hope. Rather than letting our users determine it for us, we want to add the ability to add hardware to the system while not adding to the general pool. System users should be able to launch vms on the staged hardware... Project: nova Series: bexar Blueprint: i18n-support Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/i18n-support Spec URL: http://wiki.openstack.org/I18NSupport Internationalization support. Support Japanese messages. Project: nova Series: bexar Blueprint: image-service-use-glance-clients Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/image-service-use-glance-clients Spec URL: None Currently, Nova has its own Glance client implementation. Remove this and use Glance's new client classes. Include faked out classes for when Glance is not installed and run unittests. Project: nova Series: bexar Blueprint: instance-avail-zones Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/instance-avail-zones Spec URL: http://wiki.openstack.org/InstanceAvailabilityZones Support of availability zones for instances. Allows to define zone for running an instance. Project: nova Series: bexar Blueprint: ipv6-support Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/ipv6-support Spec URL: http://wiki.openstack.org/ipv6support Support IPv4 and IPv6 dual protocol stacks. Project: nova Series: bexar Blueprint: microsoft-hyper-v-support Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/microsoft-hyper-v-support Spec URL: http://wiki.openstack.org/MicrosoftHyper-VSupport Microsoft Hyper-V support for OpenStack Project: nova Series: bexar Blueprint: move-ip-allocation Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/move-ip-allocation Spec URL: http://wiki.openstack.org/MoveIpAllocation Ip allocation currently happens in the api layer. Under many networking strategies, there isn't enough information in the api layer to properly assign the ip. The network allocation should happen much further down the stack, once a host has been picked for the instance. Project: nova Series: bexar Blueprint: nova-deployment-tool Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/nova-deployment-tool Spec URL: http://wiki.openstack.org/nova-deployment-tool Develop a deployment tool for easily installing nova to numbers of computers simultaneously. Project: nova Series: bexar Blueprint: nova-paste-deploy Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/nova-paste-deploy Spec URL: http://wiki.openstack.org/blueprint-paste-deploy Use paste.deploy to move application & middleware compositing into a configuration (instead of code). This allows introduction of third- party middlewares at runtime. It also brings library parity with swift. Project: nova Series: bexar Blueprint: openstack-api-parity Design: Pending Approval Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/openstack-api-parity Spec URL: http://etherpad.openstack.org/B2RK0q1CYj There are some differences between the RS 1.0 and the current version of the Openstack API. This blueprint outlines an effort to bring these in sync for Bexar. Read the Full Spec below for implementation considerations. Project: glance Series: bexar Blueprint: port-eventlet-from-nova Design: Pending Approval Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/glance/+spec/port-eventlet-from-nova Spec URL: None Title says it all. Take the recent work from termie and port to Glance, removing all traces of Twisted. We can consider instead using Swift's wsgi work (which also only uses eventlet) but it would be a little more work (bringing in a bunch more stuff from swift.common, etc...) Note that after this work is complete, all Twisted dependencies should be removed for good. Project: nova Series: bexar Blueprint: project-vpn Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/project-vpn Spec URL: http://wiki.openstack.org/ProjectVpn In vlan networking mode, users need a way to access the private network for their instances. This was supported by per-project vpns (code named cloudpipe), but unfortunately has not been maintained properly. Additionally there are a few security issues with the old implementation. Project: nova Series: bexar Blueprint: raw-disk-images Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/raw-disk-images Spec URL: http://wiki.openstack.org/RawDiskImages Currently we assume that all images have a kernel image and a ramdisk. Modern hypervisors on modern VMs can run raw disk images, without the complexity of a separate ramdisk/kernel image. Project: nova Series: bexar Blueprint: rescue-mode Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/rescue-mode Spec URL: http://wiki.openstack.org/RescueMode Develop a feature to allow users to fix file system and configuration errors by: shutting down VM, creating new a VM with rescue image with random password as primary and customer VM disk as secondary. This would not have to connect to console mode as the slice would have the same networking configuration as the “broken” slice and the only difference would be a new root/admin password and the secondary drive attached. This is just a new slice, with the old disk attached. On teardown, replace the 2nd disk as the primary. Project: nova Series: bexar Blueprint: resource-partitioning Design: Obsolete Lifecycle: Complete Impl: Not started Link: https://blueprints.launchpad.net/nova/+spec/resource-partitioning Spec URL: http://wiki.openstack.org/Nova/ResourcePartitioningSpec Partition system resources such as network bandwidth, CPU power, and possibly even storage I/O bandwidth and real RAM in such a way as to give each user a reserved set of resources and allow all users to simultaneously maximize usage of their reserved resources without issue. When working well, this should give similar results of benchmark tests runned anytime on given instances having the same resource limits. For bexar, we aim at CPU partitioning only. Later all exhaustible resources should be partitioned well. Project: nova Series: bexar Blueprint: sheepdog-support Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/sheepdog-support Spec URL: http://wiki.openstack.org/SheepdogSupport Sheepdog is a distributed block storage system for QEMU. This blueprint proposes integrating Sheepdog into OpenStack and providing highly available block volumes for VMs like Amazon EBS. The details about Sheepdog are in http://www.osrg.net/sheepdog/. Project: glance Series: bexar Blueprint: teller-s3-backend Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/glance/+spec/teller-s3-backend Spec URL: None We need to implement an S3 backend for Glance teller. We probably should have had it for Austin. Project: glance Series: bexar Blueprint: unified-api Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/glance/+spec/unified-api Spec URL: None Get rid of concept of Teller and Parallax and consolidate API into a single Glance API. Move Parallax into /glance/registry/ and mark it as the reference implementation for a RESTful web service that acts as a registry for image metadata. Project: nova Series: bexar Blueprint: version-py Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/version-py Spec URL: http://wiki.openstack.org/blueprint-version-py Create nova/version.py file to track version. Project: nova Series: bexar Blueprint: web-based-serial-console Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/web-based-serial-console Spec URL: http://wiki.openstack.org/WebBasedSerialConsole Users need a method to interact with Virtual Machines that works even when the VM's network is dead. Adding web console will allow users to interact with instances that would otherwise be rendered impossible to fix without assistance from cloud providers staff. Project: nova Series: bexar Blueprint: xenapi-raw-disk-images Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xenapi-raw-disk-images Spec URL: http://wiki.openstack.org/XenAPIRawDiskImages The implementation for raw-disk-images only covered libvirt. The same feature needs to be implemented for the XenAPI backend. Project: nova Series: bexar Blueprint: xs-console Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-console Spec URL: http://etherpad.openstack.org/lceacsYzsu The ability to request the system to open a VNC (Virtual Network Computing) console session to a virtual machine in a web browser. Project: nova Series: bexar Blueprint: xs-host-networking-protections Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-host-networking-protections Spec URL: http://wiki.openstack.org/XenServerNetworkingProtections Add the private and/or public IP address to the networking protections (ebtables, arptables, iptables). These rules will also need to be implemented for IPv6. (no arptables for v6 yet) Project: nova Series: bexar Blueprint: xs-lock Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-lock Spec URL: None Lock an instance so it does not start back up even if the user sends a reboot signal to the host. The instance would then be in a suspended and locked state. Project: nova Series: bexar Blueprint: xs-password-reset Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-password-reset Spec URL: None The ability to reset the root/administrator password of an instance out of band. This is currently implemented using xenstore and a guest agent. Project: nova Series: bexar Blueprint: xs-pause Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-pause Spec URL: None XenServer has the ability to pause an instance that will also preserve the instance's memory state. Un-pause, of course, should also be available. This is an admin-only operation. Project: nova Series: bexar Blueprint: xs-snapshots Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-snapshots Spec URL: http://wiki.openstack.org/XenServerSnapshotBlueprint We need the ability for the system for perform the following actions in relation to XenServer and VHDs. • On Demand: The ability to take a bootable snapshot image of a virtual machine at any time. • Scheduled: The ability to take bootable snapshots of a virtual machine on a scheduled basis. • Object storage: The ability to move snapshots to Swift or some other file storage • Restore: The ability to restore a previously taken snapshot to a virtual machine. Project: nova Series: bexar Blueprint: xs-suspend Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-suspend Spec URL: None We need the ability to suspend a instance and lock it so it does not start backup even if the user sends a reboot signal to the host. The instance would then be in a suspended and locked state. Project: nova Series: bexar Blueprint: xs-xenstore Design: Approved Lifecycle: Complete Impl: Implemented Link: https://blueprints.launchpad.net/nova/+spec/xs-xenstore Spec URL: http://wiki.openstack.org/GuestAgentXenStoreCommunication The basic XenAPI module only allows read/write to the xenstore's parameter record. We need to be able to read/write to the live xenstore.