)]}'
{"BIND/package/Classes/BIND.yaml":[{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":17,"context_line":"  sys: io.murano.system"},{"line_number":18,"context_line":"  conf: io.murano.configuration"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Name: BIND"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Extends: std:Application"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_2dad3888","line":20,"updated":"2016-06-25 04:59:48.000000000","message":"Bind","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  zoneName:"},{"line_number":29,"context_line":"    Contract: $.string().notNull()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  dnssecKey:"},{"line_number":32,"context_line":"    Contract: $.string().notNull()"},{"line_number":33,"context_line":"    Usage: InOut"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_0da83c76","line":31,"updated":"2016-06-25 04:59:48.000000000","message":"dnsSecKey","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"}],"BIND/package/Classes/Bind.yaml":[{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"f35255fc10fdded48c4701af4512187d2f71ff1e","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"  _reviewIps:"},{"line_number":66,"context_line":"    Body:"},{"line_number":67,"context_line":"      - $.privateIp: $._getIp4ForNetwork($.environment.defaultNetworks.environment)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  _addSecurityGroupRules:"},{"line_number":70,"context_line":"    Body:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3aaa91ec_11fa5c75","line":67,"updated":"2016-06-29 16:37:32.000000000","message":"It would be nicer to return IP instead of having a side effect","commit_id":"fef8bee95ea2390c2c58620aff77b97b4fd38ffb"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"d153b14e3ec1fe326085a431f0ff095996c7a633","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"  _reviewIps:"},{"line_number":66,"context_line":"    Body:"},{"line_number":67,"context_line":"      - $.privateIp: $._getIp4ForNetwork($.environment.defaultNetworks.environment)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  _addSecurityGroupRules:"},{"line_number":70,"context_line":"    Body:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3aaa91ec_7294578a","line":67,"in_reply_to":"3aaa91ec_11fa5c75","updated":"2016-06-30 14:01:31.000000000","message":"Done","commit_id":"fef8bee95ea2390c2c58620aff77b97b4fd38ffb"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"f35255fc10fdded48c4701af4512187d2f71ff1e","unresolved":false,"context_lines":[{"line_number":95,"context_line":"          - $.report(\u0027BIND configured\u0027)"},{"line_number":96,"context_line":"          - $.setAttr(deployed, true)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"  report:"},{"line_number":99,"context_line":"    Arguments:"},{"line_number":100,"context_line":"      - message:"},{"line_number":101,"context_line":"          Contract: $.string().notNull()"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3aaa91ec_71e3e0d9","line":98,"updated":"2016-06-29 16:37:32.000000000","message":"If you really need this method it should be private (start with underscore) to be consistent with the rest","commit_id":"fef8bee95ea2390c2c58620aff77b97b4fd38ffb"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"d153b14e3ec1fe326085a431f0ff095996c7a633","unresolved":false,"context_lines":[{"line_number":95,"context_line":"          - $.report(\u0027BIND configured\u0027)"},{"line_number":96,"context_line":"          - $.setAttr(deployed, true)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"  report:"},{"line_number":99,"context_line":"    Arguments:"},{"line_number":100,"context_line":"      - message:"},{"line_number":101,"context_line":"          Contract: $.string().notNull()"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3aaa91ec_b2e19f2c","line":98,"in_reply_to":"3aaa91ec_71e3e0d9","updated":"2016-06-30 14:01:31.000000000","message":"Done","commit_id":"fef8bee95ea2390c2c58620aff77b97b4fd38ffb"}],"Clearwater/BIND/package/Classes/BIND.yaml":[{"author":{"_account_id":13149,"name":"Dmytro Dovbii","email":"dmanddov@gmail.com","username":"Ddovbii"},"change_message_id":"fa51445931fc9c04d4443eb5e4e96d5e2dd09970","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Methods:"},{"line_number":36,"context_line":"  .init:"},{"line_number":37,"context_line":"    Body:"},{"line_number":38,"context_line":"      - $._environment: $.find(std:Environment).require()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  _createReplacements:"},{"line_number":41,"context_line":"    Body:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_eace8758","line":38,"range":{"start_line":38,"start_character":6,"end_line":38,"end_character":8},"updated":"2016-06-14 09:13:54.000000000","message":"JFYI: you don\u0027t need to use dash if the block body consists of a single structure","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"},{"author":{"_account_id":13149,"name":"Dmytro Dovbii","email":"dmanddov@gmail.com","username":"Ddovbii"},"change_message_id":"fa51445931fc9c04d4443eb5e4e96d5e2dd09970","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":96,"context_line":"        Then:"},{"line_number":97,"context_line":"          - $.report(\u0027DNS server deploy started\u0027)"},{"line_number":98,"context_line":"          - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":99,"context_line":"          - $.report(\u0027Add security rules\u0027)"},{"line_number":100,"context_line":"          - $._addSecurityGroupRules()"},{"line_number":101,"context_line":"          # TODO: delete namespace dependency in query"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_0ab31399","line":98,"updated":"2016-06-14 09:13:54.000000000","message":"I suggest to move it to .init(). What do you think?","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"6ecefb3fb8a9e6624239abb5ed0e8075d92ed914","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":96,"context_line":"        Then:"},{"line_number":97,"context_line":"          - $.report(\u0027DNS server deploy started\u0027)"},{"line_number":98,"context_line":"          - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":99,"context_line":"          - $.report(\u0027Add security rules\u0027)"},{"line_number":100,"context_line":"          - $._addSecurityGroupRules()"},{"line_number":101,"context_line":"          # TODO: delete namespace dependency in query"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_f1ae777f","line":98,"in_reply_to":"7aa08908_0ab31399","updated":"2016-06-14 15:33:08.000000000","message":"It can becomes undefined behaviour (order of .init() calls is undefined)","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  conf: io.murano.configuration"},{"line_number":19,"context_line":"  cw: com.mirantis.clearwater"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Name: BIND"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Extends: std:Application"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_1298cebf","line":21,"updated":"2016-06-21 15:52:29.000000000","message":"Can you rename it to Bind?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  conf: io.murano.configuration"},{"line_number":19,"context_line":"  cw: com.mirantis.clearwater"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Name: BIND"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Extends: std:Application"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_9a0f9c2d","line":21,"in_reply_to":"5a9d85d2_1298cebf","updated":"2016-06-23 13:28:29.000000000","message":"Don\u0027t think so, it\u0027s abbreviation.","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    Body:"},{"line_number":55,"context_line":"      - $gateIp: $network.describe().gateway"},{"line_number":56,"context_line":"      - $gateParts: $gateIp.split(\u0027.\u0027)"},{"line_number":57,"context_line":"      - $netAddr: list($gateParts[0], $gateParts[1], $gateParts[2]).join(\u0027.\u0027)"},{"line_number":58,"context_line":"      - For: ip"},{"line_number":59,"context_line":"        In: $.instance.ipAddresses"},{"line_number":60,"context_line":"        Do:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_925f9ee4","line":57,"updated":"2016-06-21 15:52:29.000000000","message":"$gateParts.take(3).join(\u0027.\u0027)","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    Body:"},{"line_number":55,"context_line":"      - $gateIp: $network.describe().gateway"},{"line_number":56,"context_line":"      - $gateParts: $gateIp.split(\u0027.\u0027)"},{"line_number":57,"context_line":"      - $netAddr: list($gateParts[0], $gateParts[1], $gateParts[2]).join(\u0027.\u0027)"},{"line_number":58,"context_line":"      - For: ip"},{"line_number":59,"context_line":"        In: $.instance.ipAddresses"},{"line_number":60,"context_line":"        Do:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_5403550d","line":57,"in_reply_to":"5a9d85d2_925f9ee4","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":62,"context_line":"          - $netInstanceAddr: list($ipParts[0], $ipParts[1], $ipParts[2]).join(\u0027.\u0027)"},{"line_number":63,"context_line":"          - If: $netInstanceAddr \u003d $netAddr"},{"line_number":64,"context_line":"            Then:"},{"line_number":65,"context_line":"              - Return: $ip"},{"line_number":66,"context_line":"  _reviewIps:"},{"line_number":67,"context_line":"    Body:"},{"line_number":68,"context_line":"      - $.privateIp: $._getIp4ForNetwork($._environment.defaultNetworks.environment)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_3db67b3d","line":65,"updated":"2016-06-21 15:52:29.000000000","message":"- $netAddr: $gateIp.split(\u0027.\u0027).take(3)\n- Return: $.instance.ipAddresses.where(list($.split(\u0027.\u0027).take(3)) \u003d $netAddr).first(null)","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"          - $netInstanceAddr: list($ipParts[0], $ipParts[1], $ipParts[2]).join(\u0027.\u0027)"},{"line_number":63,"context_line":"          - If: $netInstanceAddr \u003d $netAddr"},{"line_number":64,"context_line":"            Then:"},{"line_number":65,"context_line":"              - Return: $ip"},{"line_number":66,"context_line":"  _reviewIps:"},{"line_number":67,"context_line":"    Body:"},{"line_number":68,"context_line":"      - $.privateIp: $._getIp4ForNetwork($._environment.defaultNetworks.environment)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_1903c810","line":65,"in_reply_to":"5a9d85d2_3db67b3d","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"  _addSecurityGroupRules:"},{"line_number":85,"context_line":"    Body:"},{"line_number":86,"context_line":"      - $parentRules: $._parentApp.getSecurityGroupRules()"},{"line_number":87,"context_line":"      - $componentRules: $._createSecurityGroupRules()"},{"line_number":88,"context_line":"      - $rules: $parentRules + $componentRules"},{"line_number":89,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_388de97b","line":86,"updated":"2016-06-21 15:52:29.000000000","message":"Why can\u0027t parent application insert those rule by itself?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"  _addSecurityGroupRules:"},{"line_number":85,"context_line":"    Body:"},{"line_number":86,"context_line":"      - $parentRules: $._parentApp.getSecurityGroupRules()"},{"line_number":87,"context_line":"      - $componentRules: $._createSecurityGroupRules()"},{"line_number":88,"context_line":"      - $rules: $parentRules + $componentRules"},{"line_number":89,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_742771b6","line":86,"in_reply_to":"5a9d85d2_388de97b","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":96,"context_line":"        Then:"},{"line_number":97,"context_line":"          - $.report(\u0027DNS server deploy started\u0027)"},{"line_number":98,"context_line":"          - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":99,"context_line":"          - $.report(\u0027Add security rules\u0027)"},{"line_number":100,"context_line":"          - $._addSecurityGroupRules()"},{"line_number":101,"context_line":"          # TODO: delete namespace dependency in query"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_d8582535","line":98,"updated":"2016-06-21 15:52:29.000000000","message":"ClearWater is a parent object so it can be obtained through $.find(cw:Clearwater). But i don\u0027t think it is the right approach anyway because then you cannot deploy BIND without Clearwater which is not good. The solution that I see is not to instantiate LinuxMuranoInstance here. Instead it should come from the user input","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":96,"context_line":"        Then:"},{"line_number":97,"context_line":"          - $.report(\u0027DNS server deploy started\u0027)"},{"line_number":98,"context_line":"          - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":99,"context_line":"          - $.report(\u0027Add security rules\u0027)"},{"line_number":100,"context_line":"          - $._addSecurityGroupRules()"},{"line_number":101,"context_line":"          # TODO: delete namespace dependency in query"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_b458b933","line":98,"in_reply_to":"5a9d85d2_d8582535","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"}],"Clearwater/Clearwater/package/Classes/Clearwater.yaml":[{"author":{"_account_id":20773,"name":"Valerii Kovalchuk","email":"kovvalole@gmail.com","username":"vakovalchuk"},"change_message_id":"ed239ae1e29a8fc66fe08ec590da6a71629c4731","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  flavorName:"},{"line_number":37,"context_line":"    Contract: $.string().notNull()"},{"line_number":38,"context_line":"  components:"},{"line_number":39,"context_line":"    Contract: [$.class(std:Application).notNull()]"},{"line_number":40,"context_line":"    Default: []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9abb7d3a_17b27894","line":39,"range":{"start_line":39,"start_character":26,"end_line":39,"end_character":27},"updated":"2016-05-30 16:40:38.000000000","message":"looks like using \u0027:\u0027 inside plain scalar is prohibited. I get this error: while scanning a plain scalar in \"\u003cstring\u003e\", line 39, column 16: Contract: [$.class(std:Application).notNull()] ^ found unexpected \u0027:\u0027 in \"\u003cstring\u003e\", line 39, column 27: Contract: [$.class(std:Application).notNull()] ^ Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details","commit_id":"b3e3f16a595c18a45ad94b1f9842b4323b4ea1a2"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"aac3a37c590586aab6548e1e1ac0f616cbef76e0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  flavorName:"},{"line_number":37,"context_line":"    Contract: $.string().notNull()"},{"line_number":38,"context_line":"  components:"},{"line_number":39,"context_line":"    Contract: [$.class(std:Application).notNull()]"},{"line_number":40,"context_line":"    Default: []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9abb7d3a_9d004703","line":39,"range":{"start_line":39,"start_character":26,"end_line":39,"end_character":27},"in_reply_to":"9abb7d3a_17b27894","updated":"2016-05-30 17:08:24.000000000","message":"Yep, yaml parser bug","commit_id":"b3e3f16a595c18a45ad94b1f9842b4323b4ea1a2"},{"author":{"_account_id":13149,"name":"Dmytro Dovbii","email":"dmanddov@gmail.com","username":"Ddovbii"},"change_message_id":"fa51445931fc9c04d4443eb5e4e96d5e2dd09970","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Namespaces:"},{"line_number":14,"context_line":"  \u003d: com.mirantis.clearwater"},{"line_number":15,"context_line":"  std: io.murano"},{"line_number":16,"context_line":"  res: io.murano.resources"},{"line_number":17,"context_line":"  sys: io.murano.system"},{"line_number":18,"context_line":"  conf: io.murano.configuration"},{"line_number":19,"context_line":"  dns: com.mirantis.network.dns"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Name: Clearwater"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_2571e00c","line":19,"range":{"start_line":16,"start_character":0,"end_line":19,"end_character":31},"updated":"2016-06-14 09:13:54.000000000","message":"not used","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Properties:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  externalNetwork:"},{"line_number":28,"context_line":"    Contract: $"},{"line_number":29,"context_line":"    Usage: Out"},{"line_number":30,"context_line":"  keypair:"},{"line_number":31,"context_line":"    Contract: $.string()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_52e1b1cf","line":28,"updated":"2016-06-21 15:52:29.000000000","message":"Why do we need so generic contract here? Also are you sure we need to persist this property in object model?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Properties:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  externalNetwork:"},{"line_number":28,"context_line":"    Contract: $"},{"line_number":29,"context_line":"    Usage: Out"},{"line_number":30,"context_line":"  keypair:"},{"line_number":31,"context_line":"    Contract: $.string()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_8e9ac961","line":28,"in_reply_to":"5a9d85d2_52e1b1cf","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    Contract: $.class(dns:BIND).notNull()"},{"line_number":44,"context_line":"  ellisApp:"},{"line_number":45,"context_line":"    Contract: $.class(components:Ellis)"},{"line_number":46,"context_line":"    Usage: InOut"},{"line_number":47,"context_line":"  components:"},{"line_number":48,"context_line":"    Contract:"},{"line_number":49,"context_line":"      - $.class(cw_base:ClearwaterComponentBase).notNull()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_3d731b4f","line":46,"updated":"2016-06-21 15:52:29.000000000","message":"If you\u0027re always creating the instance in the .init method then it is Out instead of InOut (you ignore the input). This also applies to other properties","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    Contract: $.class(dns:BIND).notNull()"},{"line_number":44,"context_line":"  ellisApp:"},{"line_number":45,"context_line":"    Contract: $.class(components:Ellis)"},{"line_number":46,"context_line":"    Usage: InOut"},{"line_number":47,"context_line":"  components:"},{"line_number":48,"context_line":"    Contract:"},{"line_number":49,"context_line":"      - $.class(cw_base:ClearwaterComponentBase).notNull()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_ae9fc54e","line":46,"in_reply_to":"5a9d85d2_3d731b4f","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    Body:"},{"line_number":102,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":103,"context_line":"        Then:"},{"line_number":104,"context_line":"          - $.externalNetwork: $._environment.defaultNetworks.environment.describe()"},{"line_number":105,"context_line":"          - $.dnssecKey: base64encode($.dnssecKey)"},{"line_number":106,"context_line":"          - $.report(\u0027Start Clearwater deploy\u0027)"},{"line_number":107,"context_line":"          - $.dnsApp.doDeploy()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_52ba51c1","line":104,"updated":"2016-06-21 15:52:29.000000000","message":"Why do we need describe() here?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    Body:"},{"line_number":102,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":103,"context_line":"        Then:"},{"line_number":104,"context_line":"          - $.externalNetwork: $._environment.defaultNetworks.environment.describe()"},{"line_number":105,"context_line":"          - $.dnssecKey: base64encode($.dnssecKey)"},{"line_number":106,"context_line":"          - $.report(\u0027Start Clearwater deploy\u0027)"},{"line_number":107,"context_line":"          - $.dnsApp.doDeploy()"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_8ee809b6","line":104,"in_reply_to":"5a9d85d2_52ba51c1","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":104,"context_line":"          - $.externalNetwork: $._environment.defaultNetworks.environment.describe()"},{"line_number":105,"context_line":"          - $.dnssecKey: base64encode($.dnssecKey)"},{"line_number":106,"context_line":"          - $.report(\u0027Start Clearwater deploy\u0027)"},{"line_number":107,"context_line":"          - $.dnsApp.doDeploy()"},{"line_number":108,"context_line":"          - $.ellisApp.doDeploy()"},{"line_number":109,"context_line":"          - $.components.pselect($.doDeploy())"},{"line_number":110,"context_line":"          - $.report(\u0027Clearwater deployed\u0027)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_bd026b6d","line":107,"updated":"2016-06-21 15:52:29.000000000","message":"What is the reason to have doDeploy instead of normal deploy method?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":104,"context_line":"          - $.externalNetwork: $._environment.defaultNetworks.environment.describe()"},{"line_number":105,"context_line":"          - $.dnssecKey: base64encode($.dnssecKey)"},{"line_number":106,"context_line":"          - $.report(\u0027Start Clearwater deploy\u0027)"},{"line_number":107,"context_line":"          - $.dnsApp.doDeploy()"},{"line_number":108,"context_line":"          - $.ellisApp.doDeploy()"},{"line_number":109,"context_line":"          - $.components.pselect($.doDeploy())"},{"line_number":110,"context_line":"          - $.report(\u0027Clearwater deployed\u0027)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_6eeb1db1","line":107,"in_reply_to":"5a9d85d2_bd026b6d","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"}],"Clearwater/Clearwater/package/Classes/components/base/ClearwaterComponentBase.yaml":[{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":45,"context_line":"          Contract: $.int().notNull()"},{"line_number":46,"context_line":"          Default: 0"},{"line_number":47,"context_line":"    Body:"},{"line_number":48,"context_line":"      - $instance: new(res:LinuxMuranoInstance, $this,"},{"line_number":49,"context_line":"          name \u003d\u003e format(\"{0}-{1}\", $._componentName, $index),"},{"line_number":50,"context_line":"          flavor \u003d\u003e $._parentApp.flavorName,"},{"line_number":51,"context_line":"          image \u003d\u003e $._parentApp.osImageName,"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_12c5695a","line":48,"updated":"2016-06-21 15:52:29.000000000","message":"ditto","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  _init:"},{"line_number":58,"context_line":"    Body:"},{"line_number":59,"context_line":"      - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":60,"context_line":"      - $._dnsApp: $._environment.applications.where($ is dns:BIND).first().require()"},{"line_number":61,"context_line":"      - $.privateNetwork: $._environment.defaultNetworks.environment"},{"line_number":62,"context_line":"      - $.instances: $.instances.append($._createInstance())"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_92803948","line":59,"updated":"2016-06-21 15:52:29.000000000","message":"there is find() for that. Environment may contain several ClearWater apps. Also I doubt you need it at all","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  _init:"},{"line_number":58,"context_line":"    Body:"},{"line_number":59,"context_line":"      - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":60,"context_line":"      - $._dnsApp: $._environment.applications.where($ is dns:BIND).first().require()"},{"line_number":61,"context_line":"      - $.privateNetwork: $._environment.defaultNetworks.environment"},{"line_number":62,"context_line":"      - $.instances: $.instances.append($._createInstance())"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_1a9f2cb5","line":59,"in_reply_to":"5a9d85d2_92803948","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":96,"context_line":"          - $netInstanceAddr: list($ipParts[0], $ipParts[1], $ipParts[2]).join(\u0027.\u0027)"},{"line_number":97,"context_line":"          - If: $netInstanceAddr \u003d $netAddr"},{"line_number":98,"context_line":"            Then:"},{"line_number":99,"context_line":"              - Return: $ip"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  _reviewIps:"},{"line_number":102,"context_line":"    Arguments:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_3e2cb1aa","line":99,"updated":"2016-06-21 15:52:29.000000000","message":"See my comment for the same method in BIND app. Also this code could be put into some helper static method without doing copy-paste","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":96,"context_line":"          - $netInstanceAddr: list($ipParts[0], $ipParts[1], $ipParts[2]).join(\u0027.\u0027)"},{"line_number":97,"context_line":"          - If: $netInstanceAddr \u003d $netAddr"},{"line_number":98,"context_line":"            Then:"},{"line_number":99,"context_line":"              - Return: $ip"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  _reviewIps:"},{"line_number":102,"context_line":"    Arguments:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_eeeeedb2","line":99,"in_reply_to":"5a9d85d2_3e2cb1aa","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    Body:"},{"line_number":110,"context_line":"      - $parentRules: $._parentApp.getSecurityGroupRules()"},{"line_number":111,"context_line":"      - $componentRules: $._createSecurityGroupRules()"},{"line_number":112,"context_line":"      - $rules: $parentRules + $componentRules"},{"line_number":113,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_b2de153d","line":112,"updated":"2016-06-21 15:52:29.000000000","message":"why the parent cannot do it by itself?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    Body:"},{"line_number":110,"context_line":"      - $parentRules: $._parentApp.getSecurityGroupRules()"},{"line_number":111,"context_line":"      - $componentRules: $._createSecurityGroupRules()"},{"line_number":112,"context_line":"      - $rules: $parentRules + $componentRules"},{"line_number":113,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_da5e4411","line":112,"in_reply_to":"5a9d85d2_b2de153d","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"0de4f8374b9e1604a234c2b4fea5756ed8ec1d77","unresolved":false,"context_lines":[{"line_number":113,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  doDeploy:"},{"line_number":117,"context_line":"    Body:"},{"line_number":118,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":119,"context_line":"        Then:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5a9d85d2_d20f612c","line":116,"updated":"2016-06-21 15:52:29.000000000","message":"why not deploy?","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"806c6d01b639cbed1f40cae12cc7e1afce7595f2","unresolved":false,"context_lines":[{"line_number":113,"context_line":"      - $._environment.securityGroupManager.addGroupIngress($rules)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  doDeploy:"},{"line_number":117,"context_line":"    Body:"},{"line_number":118,"context_line":"      - If: not $.getAttr(deployed, false)"},{"line_number":119,"context_line":"        Then:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_4e13c1b8","line":116,"in_reply_to":"5a9d85d2_d20f612c","updated":"2016-06-23 13:28:29.000000000","message":"Done","commit_id":"8dd0a839969b58cb32d66474ee3e1a1b4d991e19"}],"Clearwater/Ellis/package/Classes/Ellis.yaml":[{"author":{"_account_id":13149,"name":"Dmytro Dovbii","email":"dmanddov@gmail.com","username":"Ddovbii"},"change_message_id":"fa51445931fc9c04d4443eb5e4e96d5e2dd09970","unresolved":false,"context_lines":[{"line_number":50,"context_line":"      - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":51,"context_line":"      - $._dnsApp: $._environment.applications.where($ is dns:BIND).first().require()"},{"line_number":52,"context_line":"      - $.privateNetwork: $._environment.defaultNetworks.environment"},{"line_number":53,"context_line":"      - $.instances: $.instances.append($._createInstance())"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  deploy:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_a5a03043","line":53,"updated":"2016-06-14 09:13:54.000000000","message":"all instances will have name \u0027Ellis\u0027. Please generate some part of name randomly or add index","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"}],"Clearwater/Homer/package/Classes/Homer.yaml":[{"author":{"_account_id":13149,"name":"Dmytro Dovbii","email":"dmanddov@gmail.com","username":"Ddovbii"},"change_message_id":"fa51445931fc9c04d4443eb5e4e96d5e2dd09970","unresolved":false,"context_lines":[{"line_number":50,"context_line":"      - $._parentApp: $._environment.applications.where($ is cw:Clearwater).first().require()"},{"line_number":51,"context_line":"      - $._dnsApp: $._environment.applications.where($ is dns:BIND).first().require()"},{"line_number":52,"context_line":"      - $.privateNetwork: $._environment.defaultNetworks.environment"},{"line_number":53,"context_line":"      - $.instances: $.instances.append($._createInstance())"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  deploy:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7aa08908_65364804","line":53,"updated":"2016-06-14 09:13:54.000000000","message":"ditto","commit_id":"7a7cc5c1c5c5e91b8062b1e2754c2df91a47ce5d"}],"Clearwater/import.sh":[{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"64cad59a2b3f44c8db08fa17c226551fe04f6148","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":"for p in $(find . -type d -depth 1); do"},{"line_number":3,"context_line":"    echo $p;"},{"line_number":4,"context_line":"    pushd $p/package;"}],"source_content_type":"text/x-sh","patch_set":15,"id":"5a9d85d2_9a8375cc","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":19},"updated":"2016-06-20 14:13:37.000000000","message":"This file looks unrelated. devstack has this functionality and I believe it\u0027s not required here","commit_id":"05812f0506af8fcf048ca2a5ef420bb455b3a750"},{"author":{"_account_id":20364,"name":"Konstantin Snihyr","email":"konstantin.lex@gmail.com","username":"ksnihyr"},"change_message_id":"5d7d277c3beac4a6b1c25908e445ab673b766cbf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":"for p in $(find . -type d -depth 1); do"},{"line_number":3,"context_line":"    echo $p;"},{"line_number":4,"context_line":"    pushd $p/package;"}],"source_content_type":"text/x-sh","patch_set":15,"id":"5a9d85d2_360d103f","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":19},"in_reply_to":"5a9d85d2_9a8375cc","updated":"2016-06-21 09:53:58.000000000","message":"Deleted.","commit_id":"05812f0506af8fcf048ca2a5ef420bb455b3a750"}],"Clearwater/package/Classes/Clearwater.yaml":[{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":14,"context_line":"  \u003d: com.mirantis.clearwater"},{"line_number":15,"context_line":"  std: io.murano"},{"line_number":16,"context_line":"  dns: com.mirantis.network.dns"},{"line_number":17,"context_line":"  cw_base: com.mirantis.clearwater.components.base"},{"line_number":18,"context_line":"  components: com.mirantis.clearwater.components"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_4de364d9","line":17,"updated":"2016-06-25 04:59:48.000000000","message":"cwBase","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Properties:"},{"line_number":26,"context_line":"  keypair:"},{"line_number":27,"context_line":"    Contract: $.string()"},{"line_number":28,"context_line":"    Default: null"},{"line_number":29,"context_line":"  osImageName:"},{"line_number":30,"context_line":"    Contract: $.string().notNull()"},{"line_number":31,"context_line":"  flavorName:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_8de9ccb9","line":28,"updated":"2016-06-25 04:59:48.000000000","message":"null is the default for Default, no need to write it explicitly","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  components:"},{"line_number":39,"context_line":"    Contract:"},{"line_number":40,"context_line":"      - $.class(cw_base:ClearwaterComponentBase).notNull()"},{"line_number":41,"context_line":"    Default: []"},{"line_number":42,"context_line":"    Usage: Out"},{"line_number":43,"context_line":"  etcdClusterIp:"},{"line_number":44,"context_line":"    Contract: $.string().notNull()"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_edd4d0ec","line":41,"updated":"2016-06-25 04:59:48.000000000","message":"No need for such Default","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":88,"context_line":"          - $.report(\u0027Start Clearwater deploy\u0027)"},{"line_number":89,"context_line":"          - $._environment.securityGroupManager.addGroupIngress($.getSecurityGroupRules())"},{"line_number":90,"context_line":"          - $.dnsApp.deploy()"},{"line_number":91,"context_line":"          - $.ellis: new(components:Ellis, $this, parent \u003d\u003e $this)"},{"line_number":92,"context_line":"          - $.ellis.deploy()"},{"line_number":93,"context_line":"          - $.components:"},{"line_number":94,"context_line":"            - new(components:Bono, $this, parent \u003d\u003e $this)"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_2df2589a","line":91,"updated":"2016-06-25 04:59:48.000000000","message":"Can this be done in .init instead?\nAlso no need for the parent property because you already pass $this as an owner and component can get their owner through find() function","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":91,"context_line":"          - $.ellis: new(components:Ellis, $this, parent \u003d\u003e $this)"},{"line_number":92,"context_line":"          - $.ellis.deploy()"},{"line_number":93,"context_line":"          - $.components:"},{"line_number":94,"context_line":"            - new(components:Bono, $this, parent \u003d\u003e $this)"},{"line_number":95,"context_line":"            - new(components:Sprout, $this, parent \u003d\u003e $this)"},{"line_number":96,"context_line":"            - new(components:Homer, $this, parent \u003d\u003e $this)"},{"line_number":97,"context_line":"            - new(components:Ralf, $this, parent \u003d\u003e $this)"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_8d00ac67","line":94,"updated":"2016-06-25 04:59:48.000000000","message":"ditto","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"}],"Clearwater/package/Classes/components/base/ClearwaterComponentBase.yaml":[{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":26,"context_line":"      - $.class(res:LinuxMuranoInstance)"},{"line_number":27,"context_line":"    Usage: Out"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  parent:"},{"line_number":30,"context_line":"    Contract: $.class(cw:Clearwater).notNull()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Methods:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_6d15809a","line":29,"updated":"2016-06-25 04:59:48.000000000","message":"No need for this property. Instead the parent (owner) can be find through $.find(cw:ClearWater)","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"58daa328ae066d8625919676b724cff84b655312","unresolved":false,"context_lines":[{"line_number":54,"context_line":"          assignFloatingIp \u003d\u003e true)"},{"line_number":55,"context_line":"      - Return: $instance"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  _init:"},{"line_number":58,"context_line":"    Body:"},{"line_number":59,"context_line":"      - $.privateNetwork: $._environment.defaultNetworks.environment"},{"line_number":60,"context_line":"      - $.instances: $.instances.append($._createInstance())"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_ed2970e7","line":57,"updated":"2016-06-25 04:59:48.000000000","message":"both .init and _init is confusing","commit_id":"c1cb5e481df0bb54618ccc293f05533a55aa2204"},{"author":{"_account_id":7226,"name":"Stan Lagun","email":"stan.lagun@gmail.com","username":"istalker2"},"change_message_id":"f35255fc10fdded48c4701af4512187d2f71ff1e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Properties:"},{"line_number":24,"context_line":"  instances:"},{"line_number":25,"context_line":"    Contract:"},{"line_number":26,"context_line":"      - $.class(res:LinuxMuranoInstance)"},{"line_number":27,"context_line":"    Usage: Out"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Methods:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3aaa91ec_546a1282","line":26,"updated":"2016-06-29 16:37:32.000000000","message":"Could you please explain why it\u0027s a list? I see that it is only initialized from _setUp with just a single instance.","commit_id":"fef8bee95ea2390c2c58620aff77b97b4fd38ffb"}]}
