OpenStack Mobile iOS Feature List (2010)

Registered by Jay_Clark

This blueprint contains a list of features to be included in the OpenStack Mobile iOS (Universal) client application.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Low
Drafter:
Jay_Clark
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

The list below shows the features requested in 2010:

OpenStack iOS Universal App

Features:

- gracefully handle lack of compute, storage, or CDN APIs
- will use OpenStack/Rackspace style API, not EC2 style
- accounts have provider name, auth endpoint, username, api key (stored in
Keychain)
- sort accounts manually (like Weather app cities)
- try the last auth token before authenticating. store everything locally and
refresh in the background to make the app feel insanely fast.

- setup path (create initial account)
 - choose a provider (Rackspace, Other). providers maintained at
openstack.org/ios/openstack_providers.json
 - if other, ask for all fields. otherwise populate up to username and api
key
 - provider JSON:
  {
   'name': 'Rackspace Cloud',
   'auth_api_endpoint':
'https://auth.api.rackspacecloud.com/v1.0',
   'rss_feeds': [ {
     'name': 'Cloud Servers System Status',
     'url': 'feed://status.rackspacecloud.com'
    }, etc...
   ],
  }
 - create central submission service at openstack.org to allow other
providers to register
  to be on the default list

- API logging (full request and response, ability to email with curl equivalent)

- compute
 - provision ("finish" immediately, store locally and poll in background)
 - reboot
 - delete
 - resize
 - rebuild
 - change password
 - store password locally, with warning that it may be incorrect
 - manage backups
 - launch SSH client app, if installed on device
 - inject files synced from iTunes
 - insert into IP group
 - api metadata
 - local metadata (only if it's eventually support post-create)
  - locally stored URLs associated with the server
  - local media metadata (audio, video, photo)
  - perhaps local metadata could be remote via OpenStack Object
Storage
 - configurable third party API calls with nicely formatted response (think
CloudKick, etc)
 - rescue mode?
 - IP addresses
  - copy to pasteboard
  - ping with justping.com
  - open in Safari
 - save last used options for creating a server as defaults
 - create more than one server with one command (add a tokenizer? example
"servername" where n is 1, 2, 3...n)
 - don't require server name

- storage
 - container/object CRUD
 - upload files synced from iTunes
 - upload from all input devices (photos, video, audio, text, location)
 - remote metadata
 - local metadata? (may not be necessary)
 - metadata from Core Location?
 - use of CDN logs (if OpenStack supports this)

- tertiary features
 - rss reader for status feeds
 - support contact information (if possible on device, make clickable)
 - lots of documentation and links (API guide, setup/deployment guide,
contributor info, user guide, etc)
 - fun stuff (photo slideshow based on an Object Storage container?)
 - video out for media in Object Storage
 - open Object Storage files in other apps
 - build targets and configurations for provider branding (Rackspace Cloud,
for example)

- settings
 - multiple accounts
 - password lock (stored in Keychain)

- third party integrations (need to make this modular somehow, and configurable in
the build targets)
 - Chef
 - Puppet
 - CloudKick (https://support.cloudkick.com/API/Query)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.