.Net SDK and client side utilities for common openstack providers
Below is a list of required Openstack features and our current progress. We have split off the progress for the Rackspace OpenStack provider and a generic Openstack provider.
| Product | Feature | Rackspace | Openstack |
| General | |||
| Handle ratelimit failures | |||
| Caches auth token | Done | ||
| Re-authenticates if necessary | Done | ||
| Does NOT store username or API key in persistent storage | Done | ||
| RAX:KSKEY authentication | Done | N/A | |
| 90% unit test coverage | |||
| Smoketest with RAX public cloud | Ongoing | ||
| Service catalog — select endpoint | |||
| Wait for status change of object | |||
| Servers/Compute | |||
| List Servers | |||
| Create Server | Done | ||
| Support scheduler hints | |||
| Delete Server | Done | ||
| Update Server | |||
| Support AccessIP | |||
| List addresses | |||
| List addresses by network | |||
| Support IPv6 | |||
| Support DiskConfig on server create | |||
| Support DiskConfig on image create | |||
| Change Admin Password | |||
| Reboot | |||
| Rebuild | |||
| Resize | |||
| Confirm Resized | |||
| Revert Resized | |||
| Create Image | |||
| Rescue | |||
| Unrescue | |||
| List Volumes | |||
| Attach Volume | |||
| Get Details | Done | ||
| List Images | |||
| Get Image Details | |||
| List Flavors | |||
| Get Flavor Details | |||
| Server Bandwidth (RAX) | |||
| List Metadata | Done | ||
| Set Metadata | |||
| Update Metadata | |||
| Delete Metadata | |||
| Cloud Networks | Create Network | ||
| Delete Network | |||
| List Networks | |||
| Create Server attached to Cloud Network | |||
| Handle special 'public' and 'private' networks seamlessly | |||
| Files | |||
| List Containers | |||
| Get Account Metadata | |||
| List Objects in Container | |||
| Object Filters | |||
| Create container | |||
| Delete container | |||
| Update container Metadata | |||
| Get Object | |||
| Create/Update object | |||
| Large object support | |||
| Chunking | |||
| Copy object | |||
| delete object | |||
| Get object metadata | |||
| List CDN Containers | |||
| Enable CDN Container | |||
| List Metadata CDN Container | |||
| Purge CDN Container | |||
| Update CDN container metadata | |||
| CDN Streaming Container | |||
| Purge CDN Object | |||
| Create Static Website | |||
| Load Balancers | |||
| List | |||
| Create | |||
| Update | |||
| Remove | |||
| Get Stats | |||
| List Nodes | |||
| Add Node | |||
| Modify Node | |||
| Remove Node | |||
| List Virtual Ips | |||
| List Allowed Domains | |||
| Add IPV6 IP | |||
| Remove Virtual IP | |||
| List Usage | |||
| Create Access List | |||
| Update Access List | |||
| Dlete Access List | |||
| Monitor Health | |||
| Connections | |||
| HTTP/HTTPS | |||
| Manage Session Persistence | |||
| Log Connections | |||
| Throttle Connections | |||
| Content Caching | |||
| List Protocols | |||
| List Algorithms | |||
| Update SSL termination | |||
| List Metadata | |||
| Add Metadata | |||
| Modify Metadata | |||
| Remove Metadata | |||
| Databases | |||
| List Instances | |||
| Create Instance | |||
| Get instance details | |||
| Delete Instance | |||
| Enable Root User | |||
| List Root Users | |||
| Restart Instance | |||
| Resize Instance | |||
| Resize Instance Volume | |||
| Create Database | |||
| List Databases | |||
| Delete Database | |||
| Create User | |||
| List Users | |||
| Delete Users | |||
| List Flavors | |||
| List Flavor by ID | |||
| DNS | |||
| List all Limits | |||
| List Limit Types | |||
| List specific Limit | |||
| List Domains | |||
| List Domain Details | |||
| List Domain Changes | |||
| export Domain | |||
| create domain | |||
| import domain | |||
| modify domain | |||
| remove domain | |||
| list subdomains | |||
| list records | |||
| search records | |||
| list record details | |||
| add records | |||
| modify records | |||
| remove records | |||
| List PTR Records | |||
| List PTR Record Details | |||
| Add PTR | |||
| Modify PTR | |||
| Remove PTR | |||
| Identity | |||
| List Users | |||
| Get user by name | Done | ||
| get user by id | |||
| add user | |||
| update user | |||
| Delete Users | |||
| list credentials | |||
| get user credentials | |||
| list user global roles | Done | ||
| authenticate token | Done | ||
| get tenants | |||
| Monitoring | |||
| Limits | |||
| Get Account | |||
| Update Account | |||
| Get Limits | |||
| List Audits | |||
| Create Entity | |||
| List Entities | |||
| Get Entity | |||
| Update Entity | |||
| Delete Entity | |||
| Create Check | |||
| Test Check | |||
| Test Check and Include Debug Information | |||
| Test Existing Check | |||
| List Checks | |||
| Get Check | |||
| Update Checks | |||
| Delete Checks | |||
| Create Check Type | |||
| List Check Types | |||
| Get Check Type | |||
| Update Check Type | |||
| Delete Check Type | |||
| Create Alarm | |||
| Test Alarm | |||
| List Alarms | |||
| Get Alarm | |||
| Update Alarm | |||
| Delete Alarm | |||
| Create Notification Plan | |||
| List Notification Plans | |||
| Get Notification Plan | |||
| Update Notification Plans | |||
| Delete Notification Plans | |||
| Create Monitoring Zone | |||
| List Monitoring Zones | |||
| Get Monitoring Zone | |||
| Update Monitoring Zone | |||
| Delete Monitoring Zone | |||
| Traceroute from Monitoring Zone | |||
| List Alarm Notification History | |||
| Get Alarm Notification History | |||
| Create Notification | |||
| Test Notification | |||
| List Notifications | |||
| Get Notifications | |||
| Update Notifications | |||
| Delete Notifications | |||
| Create Notification Type | |||
| List Notification Types | |||
| Get Notification Type | |||
| Update Notification Type | |||
| Delete Notification Type | |||
| List Alarm Changelogs | |||
| Views Get Overview | |||
| List Alarm Examples | |||
| Get Alarm Example | |||
| Evaluate Alarm Example | |||
| List Agents | |||
| List Agent | |||
| List Agent Connections | |||
| List Agent Connection | |||
| Create Agent Token | |||
| List Agent Tokens | |||
| Get Agent Token | |||
| Update Agent Token | |||
| Delete Agent Token |