{"action":"created","issue":{"url":"https://api.github.com/repos/allegro/ralph/issues/1840","labels_url":"https://api.github.com/repos/allegro/ralph/issues/1840/labels{/name}","comments_url":"https://api.github.com/repos/allegro/ralph/issues/1840/comments","events_url":"https://api.github.com/repos/allegro/ralph/issues/1840/events","html_url":"https://github.com/allegro/ralph/issues/1840","id":112794817,"number":1840,"title":"REP5: Issues","user":{"login":"mkurek","id":107437,"avatar_url":"https://avatars.githubusercontent.com/u/107437?v=3","gravatar_id":"","url":"https://api.github.com/users/mkurek","html_url":"https://github.com/mkurek","followers_url":"https://api.github.com/users/mkurek/followers","following_url":"https://api.github.com/users/mkurek/following{/other_user}","gists_url":"https://api.github.com/users/mkurek/gists{/gist_id}","starred_url":"https://api.github.com/users/mkurek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkurek/subscriptions","organizations_url":"https://api.github.com/users/mkurek/orgs","repos_url":"https://api.github.com/users/mkurek/repos","events_url":"https://api.github.com/users/mkurek/events{/privacy}","received_events_url":"https://api.github.com/users/mkurek/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/allegro/ralph/labels/REP","name":"REP","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-22T12:43:17Z","updated_at":"2015-10-27T07:51:34Z","closed_at":null,"body":"## Introduction\r\nThis is continuation of #1803 (CMDB Interface)\r\n\r\nIn Ralph 2.0 each CI could have attached incidents, problems and changed (from Jira). According to #1803 we want to move this functionality to Ralph NG. This REP will describe technical details of this feature.\r\n\r\n## CMDB 2.0\r\n\r\nIn current CMDB version (Ralph 2.0) there are incidents, problems and changes, which use the same base class (but are stored in different database tables). Each of this models has exactly the same fields:\r\n* cis (many to many for CI)\r\n* summary\r\n* description (don't know what's the difference between summary and description)\r\n* jira_id \r\n* status\r\n* assignee\r\n* analysis (don't know what's the purpose of this field - IMO it's rather impact than analysis)\r\n* problems (ditto)\r\n* priority\r\n* issue_type\r\n* created / updated / resolved / planned_start / planned_end date\r\n\r\n## Hardware failures\r\n\r\nThere is new feature request, to store (assets) hardware failures in Ralph NG (both for DC and BO assets). Each failure should have the following fields:\r\n* failure type (for example hard drive, RAM, power supply etc)\r\n* description\r\n* jira (or probably general purpose) ticket id\r\n* status \r\n\r\n## Proposed architecture\r\n\r\n![img_20151022_143014](https://cloud.githubusercontent.com/assets/107437/10665179/91e8bd26-78c9-11e5-86ca-f4305f3cfb66.jpg)\r\n\r\nNotes:\r\n* `Issue` is generic type for problems, incidents, changes and failures.\r\n* `Failure` is inheriting from `Issue`, adding one additional field: `failure_type`, which is foreign key to additional table `FailureType`\r\n* `FailureType` contains name and `ContentType` - particular failure type could be assigned only to failure for one base object type, for example controller crash could be reported only for data center asset\r\n* `Issue` could be attached to multiple `BaseObject`s (probably all with the same type)\r\n* status has only few valid choices (use `dj.choices`), for example open, closed, resolved etc.\r\n* choosing 'failure' issue type forces to use `Failure` type; using `Failure` class forcing to use `failure` type;\r\n\r\n## Discussion\r\n* is failure proper name for it?\r\n* should failure inherit from issue?\r\n* dependency and conditions between issue type and inheriting is a little bit complicated\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/allegro/ralph/issues/comments/151404705","html_url":"https://github.com/allegro/ralph/issues/1840#issuecomment-151404705","issue_url":"https://api.github.com/repos/allegro/ralph/issues/1840","id":151404705,"user":{"login":"vi4m","id":552398,"avatar_url":"https://avatars.githubusercontent.com/u/552398?v=3","gravatar_id":"","url":"https://api.github.com/users/vi4m","html_url":"https://github.com/vi4m","followers_url":"https://api.github.com/users/vi4m/followers","following_url":"https://api.github.com/users/vi4m/following{/other_user}","gists_url":"https://api.github.com/users/vi4m/gists{/gist_id}","starred_url":"https://api.github.com/users/vi4m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vi4m/subscriptions","organizations_url":"https://api.github.com/users/vi4m/orgs","repos_url":"https://api.github.com/users/vi4m/repos","events_url":"https://api.github.com/users/vi4m/events{/privacy}","received_events_url":"https://api.github.com/users/vi4m/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T07:51:34Z","updated_at":"2015-10-27T07:51:34Z","body":"I propose to change Issues -> Operations, or 'Service Operations'.  \r\n"}}