{"action":"created","issue":{"url":"https://api.github.com/repos/fog/fog/issues/3412","labels_url":"https://api.github.com/repos/fog/fog/issues/3412/labels{/name}","comments_url":"https://api.github.com/repos/fog/fog/issues/3412/comments","events_url":"https://api.github.com/repos/fog/fog/issues/3412/events","html_url":"https://github.com/fog/fog/pull/3412","id":55087411,"number":3412,"title":"Port Rackspace Orchestration implementation to OpenStack","user":{"login":"bzwei","id":7047579,"avatar_url":"https://avatars.githubusercontent.com/u/7047579?v=3","gravatar_id":"","url":"https://api.github.com/users/bzwei","html_url":"https://github.com/bzwei","followers_url":"https://api.github.com/users/bzwei/followers","following_url":"https://api.github.com/users/bzwei/following{/other_user}","gists_url":"https://api.github.com/users/bzwei/gists{/gist_id}","starred_url":"https://api.github.com/users/bzwei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bzwei/subscriptions","organizations_url":"https://api.github.com/users/bzwei/orgs","repos_url":"https://api.github.com/users/bzwei/repos","events_url":"https://api.github.com/users/bzwei/events{/privacy}","received_events_url":"https://api.github.com/users/bzwei/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-01-21T22:31:53Z","updated_at":"2015-02-04T04:26:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/fog/fog/pulls/3412","html_url":"https://github.com/fog/fog/pull/3412","diff_url":"https://github.com/fog/fog/pull/3412.diff","patch_url":"https://github.com/fog/fog/pull/3412.patch"},"body":"The goal of this PR is to enhance existing OpenStack Orchestration support to include more information such as resources, events, and template. Since recently added support for Rackspace Orchestration has included all needed features, it is quite natural to port its implementations to OpenStack.\r\n\r\nMost of the code for Rackspace can be copied to OpenStack without modification except the namespace. The only enhance I made is to support `CFN` template format in OpenStack. This is done in model `Template` and `Templates`.\r\n\r\nThe conflict comes from the existing OpenStack `Stack` and Rackspace `Stack`. The old OpenStack `Stack` class has attributes needed to create a stack, while Rackspace `Stack` class has attributes associated with a resulting stack. One common attribute named `template` is a raw string in OpenStack `Stack` but a `Template` class in Rackspace `Stack`. It is very hard to merge the old attributes with the new ones without naming conflicts. More importantly it is logically not right to have two kinds of attributes mixed in one class.\r\n\r\nI want to keep the implementation of OpenStack Orchestration as close as possible to \r\nRackspace Orchestration because we should extract both implementations to a common place in the future. Therefore I override the old OpenStack `Stack` class with the Rackspace one. Other related classes are `Stacks`, and `create_stack`, `update_stack`, `delete_stack`, `list_stack_data` under `requests`. This as a result breaks the backward compatibility. This is the major concern, thus requires attentions and guidances from Fog project collaborators.\r\n\r\nAnother matter is the tests. I do not add any tests for OpenStack Orchestration because this work is simply a porting of existing code. Plus I don't see test examples in Rackspace Orchestration that I can follow. These features however are manually tested and examples are given in the `orchestration.md `document. However, I temporarily commented out tests in `openstack/requests/orchestration/stack_tests` because of above mentioned changes."},"comment":{"url":"https://api.github.com/repos/fog/fog/issues/comments/72788795","html_url":"https://github.com/fog/fog/pull/3412#issuecomment-72788795","issue_url":"https://api.github.com/repos/fog/fog/issues/3412","id":72788795,"user":{"login":"bzwei","id":7047579,"avatar_url":"https://avatars.githubusercontent.com/u/7047579?v=3","gravatar_id":"","url":"https://api.github.com/users/bzwei","html_url":"https://github.com/bzwei","followers_url":"https://api.github.com/users/bzwei/followers","following_url":"https://api.github.com/users/bzwei/following{/other_user}","gists_url":"https://api.github.com/users/bzwei/gists{/gist_id}","starred_url":"https://api.github.com/users/bzwei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bzwei/subscriptions","organizations_url":"https://api.github.com/users/bzwei/orgs","repos_url":"https://api.github.com/users/bzwei/repos","events_url":"https://api.github.com/users/bzwei/events{/privacy}","received_events_url":"https://api.github.com/users/bzwei/received_events","type":"User","site_admin":false},"created_at":"2015-02-04T04:26:58Z","updated_at":"2015-02-04T04:26:58Z","body":"I committed updates to solve the backward comparability issue. The build failed at OpenStack compute which seems not related to this update. I'll take a closer look."}}