{"action":"opened","number":70,"pull_request":{"url":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70","id":83089969,"html_url":"https://github.com/InfraSIM/infrasim-compute/pull/70","diff_url":"https://github.com/InfraSIM/infrasim-compute/pull/70.diff","patch_url":"https://github.com/InfraSIM/infrasim-compute/pull/70.patch","issue_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/70","number":70,"state":"open","locked":false,"title":"Feature/integrate qemu ipmi socat","user":{"login":"turtle-fly","id":3271116,"avatar_url":"https://avatars.githubusercontent.com/u/3271116?v=3","gravatar_id":"","url":"https://api.github.com/users/turtle-fly","html_url":"https://github.com/turtle-fly","followers_url":"https://api.github.com/users/turtle-fly/followers","following_url":"https://api.github.com/users/turtle-fly/following{/other_user}","gists_url":"https://api.github.com/users/turtle-fly/gists{/gist_id}","starred_url":"https://api.github.com/users/turtle-fly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turtle-fly/subscriptions","organizations_url":"https://api.github.com/users/turtle-fly/orgs","repos_url":"https://api.github.com/users/turtle-fly/repos","events_url":"https://api.github.com/users/turtle-fly/events{/privacy}","received_events_url":"https://api.github.com/users/turtle-fly/received_events","type":"User","site_admin":false},"body":"    [  ] Enable CBMC\r\n    [  ] Update jinja template of vbmc.conf with more customization\r\n    [  ] Enable socat\r\n    [->] Enable task schedule to start/stop socat, bmc, qemu\r\n    [  ] Scrub infrasim.yml to avoid duplicated definition\r\n\r\n    **Node wise customization**\r\n    Support these attributes defined in yml\r\n\r\n        node_id             # default is 0\r\n        type\r\n        sol_device          # e.g. pty0: ipmi_sim <> socat\r\n        ipmi_console_port   # e.g. 9000: ipmi_sim <> ipmi-console\r\n        bmc_connection_port # e.g. 9002: ipmi_sim <> qemu\r\n        serial_port         # e.g. 9003: socat <> qemu\r\n\r\n        compute:\r\n            numa_control    # True or false to enable numa control\r\n\r\n    Enable attributes init in CNode.init()\r\n\r\n    **Task workspace**\r\n    Enable task workspace to keep runtime status, proc id now\r\n    Update set/get_task_data to set/get_task_directory\r\n    Change task directory to\r\n\r\n        ~/.infrasim/node0/...\r\n\r\n    **Log path**\r\n    Leaves log interface for multiple nodes in the same environment\r\n\r\n        Task.set_log_path()\r\n\r\n    **Fixed minor bugs**\r\n    1. NotImplemented should be NotImplementedError\r\n    2. Join numa control with qemu commandline should use list\r\n    3. Remove socat option \"fork\" to avoid socat's fork when qemu\r\n    is trying to connect, or user shall see multiple socat process\r\n\r\n    **    Enable workspace for a specific node: <HOME>/.infrasim/<node_name>**\r\n\r\n        .infrasim/<node_name>    # Root folder\r\n            data                 # Data folder\r\n                infrasim.yml     # Save runtime infrasim.yml\r\n                vbmc.conf        # Render template with data from infrasim.yml\r\n                vbmc.emu         # Emulation data\r\n                bios.bin         # BIOS\r\n            script               # Script folder\r\n                chassiscontrol\r\n                lancontrol\r\n                startcmd\r\n                stopcmd\r\n                resetcmd\r\n            .pty0                # Serial device, created by socat, not here\r\n            .<node_name>-socat   # pid file of socat\r\n            .<node_name>-ipmi    # pid file of ipmi\r\n            .<node_name>-qemu    # pid file of qemu\r\n\r\n    **What's done in init_workspace()**\r\n\r\n    - Create workspace\r\n    - Create log folder\r\n    - Create sub folder\r\n    - Save infrasim.yml\r\n    - Render vbmc.conf, render scripts\r\n    - Move emulation data, update identifiers, e.g. S/N\r\n    - Move bios.bin\r\n","created_at":"2016-08-29T12:22:17Z","updated_at":"2016-08-29T12:22:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70/commits","review_comments_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70/comments","review_comment_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/comments{/number}","comments_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/70/comments","statuses_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/statuses/c10733b28b30f2b4784eefe269b6fd31f6f9bc96","head":{"label":"turtle-fly:feature/integrate_qemu_ipmi_socat","ref":"feature/integrate_qemu_ipmi_socat","sha":"c10733b28b30f2b4784eefe269b6fd31f6f9bc96","user":{"login":"turtle-fly","id":3271116,"avatar_url":"https://avatars.githubusercontent.com/u/3271116?v=3","gravatar_id":"","url":"https://api.github.com/users/turtle-fly","html_url":"https://github.com/turtle-fly","followers_url":"https://api.github.com/users/turtle-fly/followers","following_url":"https://api.github.com/users/turtle-fly/following{/other_user}","gists_url":"https://api.github.com/users/turtle-fly/gists{/gist_id}","starred_url":"https://api.github.com/users/turtle-fly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turtle-fly/subscriptions","organizations_url":"https://api.github.com/users/turtle-fly/orgs","repos_url":"https://api.github.com/users/turtle-fly/repos","events_url":"https://api.github.com/users/turtle-fly/events{/privacy}","received_events_url":"https://api.github.com/users/turtle-fly/received_events","type":"User","site_admin":false},"repo":{"id":61001172,"name":"infrasim-compute","full_name":"turtle-fly/infrasim-compute","owner":{"login":"turtle-fly","id":3271116,"avatar_url":"https://avatars.githubusercontent.com/u/3271116?v=3","gravatar_id":"","url":"https://api.github.com/users/turtle-fly","html_url":"https://github.com/turtle-fly","followers_url":"https://api.github.com/users/turtle-fly/followers","following_url":"https://api.github.com/users/turtle-fly/following{/other_user}","gists_url":"https://api.github.com/users/turtle-fly/gists{/gist_id}","starred_url":"https://api.github.com/users/turtle-fly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turtle-fly/subscriptions","organizations_url":"https://api.github.com/users/turtle-fly/orgs","repos_url":"https://api.github.com/users/turtle-fly/repos","events_url":"https://api.github.com/users/turtle-fly/events{/privacy}","received_events_url":"https://api.github.com/users/turtle-fly/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/turtle-fly/infrasim-compute","description":"","fork":true,"url":"https://api.github.com/repos/turtle-fly/infrasim-compute","forks_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/forks","keys_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/keys{/key_id}","collaborators_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/teams","hooks_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/hooks","issue_events_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/issues/events{/number}","events_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/events","assignees_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/assignees{/user}","branches_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/branches{/branch}","tags_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/tags","blobs_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/git/refs{/sha}","trees_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/git/trees{/sha}","statuses_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/statuses/{sha}","languages_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/languages","stargazers_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/stargazers","contributors_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/contributors","subscribers_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/subscribers","subscription_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/subscription","commits_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/commits{/sha}","git_commits_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/git/commits{/sha}","comments_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/comments{/number}","issue_comment_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/issues/comments{/number}","contents_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/contents/{+path}","compare_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/compare/{base}...{head}","merges_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/merges","archive_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/downloads","issues_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/issues{/number}","pulls_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/pulls{/number}","milestones_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/milestones{/number}","notifications_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/labels{/name}","releases_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/releases{/id}","deployments_url":"https://api.github.com/repos/turtle-fly/infrasim-compute/deployments","created_at":"2016-06-13T02:26:28Z","updated_at":"2016-06-13T02:26:29Z","pushed_at":"2016-08-29T12:20:24Z","git_url":"git://github.com/turtle-fly/infrasim-compute.git","ssh_url":"git@github.com:turtle-fly/infrasim-compute.git","clone_url":"https://github.com/turtle-fly/infrasim-compute.git","svn_url":"https://github.com/turtle-fly/infrasim-compute","homepage":null,"size":19273,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"InfraSIM:feature/node_in_yml","ref":"feature/node_in_yml","sha":"79e00e5a199eac1b5e57037f0e3c7c840e64b5f0","user":{"login":"InfraSIM","id":15829902,"avatar_url":"https://avatars.githubusercontent.com/u/15829902?v=3","gravatar_id":"","url":"https://api.github.com/users/InfraSIM","html_url":"https://github.com/InfraSIM","followers_url":"https://api.github.com/users/InfraSIM/followers","following_url":"https://api.github.com/users/InfraSIM/following{/other_user}","gists_url":"https://api.github.com/users/InfraSIM/gists{/gist_id}","starred_url":"https://api.github.com/users/InfraSIM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/InfraSIM/subscriptions","organizations_url":"https://api.github.com/users/InfraSIM/orgs","repos_url":"https://api.github.com/users/InfraSIM/repos","events_url":"https://api.github.com/users/InfraSIM/events{/privacy}","received_events_url":"https://api.github.com/users/InfraSIM/received_events","type":"Organization","site_admin":false},"repo":{"id":60502320,"name":"infrasim-compute","full_name":"InfraSIM/infrasim-compute","owner":{"login":"InfraSIM","id":15829902,"avatar_url":"https://avatars.githubusercontent.com/u/15829902?v=3","gravatar_id":"","url":"https://api.github.com/users/InfraSIM","html_url":"https://github.com/InfraSIM","followers_url":"https://api.github.com/users/InfraSIM/followers","following_url":"https://api.github.com/users/InfraSIM/following{/other_user}","gists_url":"https://api.github.com/users/InfraSIM/gists{/gist_id}","starred_url":"https://api.github.com/users/InfraSIM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/InfraSIM/subscriptions","organizations_url":"https://api.github.com/users/InfraSIM/orgs","repos_url":"https://api.github.com/users/InfraSIM/repos","events_url":"https://api.github.com/users/InfraSIM/events{/privacy}","received_events_url":"https://api.github.com/users/InfraSIM/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/InfraSIM/infrasim-compute","description":"","fork":false,"url":"https://api.github.com/repos/InfraSIM/infrasim-compute","forks_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/forks","keys_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/keys{/key_id}","collaborators_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/teams","hooks_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/hooks","issue_events_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/events{/number}","events_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/events","assignees_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/assignees{/user}","branches_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/branches{/branch}","tags_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/tags","blobs_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/git/refs{/sha}","trees_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/git/trees{/sha}","statuses_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/statuses/{sha}","languages_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/languages","stargazers_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/stargazers","contributors_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/contributors","subscribers_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/subscribers","subscription_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/subscription","commits_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/commits{/sha}","git_commits_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/git/commits{/sha}","comments_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/comments{/number}","issue_comment_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/comments{/number}","contents_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/contents/{+path}","compare_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/compare/{base}...{head}","merges_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/merges","archive_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/downloads","issues_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues{/number}","pulls_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls{/number}","milestones_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/milestones{/number}","notifications_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/labels{/name}","releases_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/releases{/id}","deployments_url":"https://api.github.com/repos/InfraSIM/infrasim-compute/deployments","created_at":"2016-06-06T06:01:41Z","updated_at":"2016-08-17T06:28:58Z","pushed_at":"2016-08-25T09:49:49Z","git_url":"git://github.com/InfraSIM/infrasim-compute.git","ssh_url":"git@github.com:InfraSIM/infrasim-compute.git","clone_url":"https://github.com/InfraSIM/infrasim-compute.git","svn_url":"https://github.com/InfraSIM/infrasim-compute","homepage":null,"size":19318,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":3,"forks":7,"open_issues":3,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70"},"html":{"href":"https://github.com/InfraSIM/infrasim-compute/pull/70"},"issue":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/70"},"comments":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/issues/70/comments"},"review_comments":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70/comments"},"review_comment":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/pulls/70/commits"},"statuses":{"href":"https://api.github.com/repos/InfraSIM/infrasim-compute/statuses/c10733b28b30f2b4784eefe269b6fd31f6f9bc96"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":650,"deletions":256,"changed_files":15}}
{"actor":{"display_login":"turtle-fly"}}