{"action":"created","comment":{"url":"https://api.github.com/repos/xcat2/xcat-core/pulls/comments/48123617","id":48123617,"diff_hunk":"@@ -0,0 +1,358 @@\n+#!/bin/bash\n+#-------------------------------------------------------------------------------\n+#=head1  confignetwork\n+#=head2  Used on Redhat only. Configure bond/vlan/linux bridge/ on the nodes\n+#\n+#  You can configure nicdevice,nictypes,nicips,nicnetworks in nics table\n+#  Then you can run the following commands on MN:\n+#       updatenode noderange confignetwork\n+#\n+#  \n+#\n+#=cut\n+#-------------------------------------------------------------------------------\n+\n+\n+# load library \n+if [ \"$(uname -s|tr 'A-Z' 'a-z')\" = \"linux\" ];then\n+   str_dir_name=`dirname $0`\n+   . $str_dir_name/xcatlib.sh\n+   . $str_dir_name/nicsutils\n+fi\n+\n+\n+######################################################################\n+#\n+# OS support\n+# Check OS version and get the directory of network configuration file\n+#\n+#####################################################################\n+str_os_type=`uname | tr 'A-Z' 'a-z'`\n+nwdir=''\n+isRedhat=0\n+isDebian=0\n+isSLES=0\n+if [ \"$str_os_type\" = \"linux\" ];then\n+    str_temp=`echo $OSVER | grep -E '(sles|suse)'`\n+    if [ -f \"/etc/redhat-release\" ];then\n+        isRedhat=1\n+        nwdir=\"/etc/sysconfig/network-scripts\"\n+    elif [ -f \"/etc/SuSE-release\" -o -n \"$str_temp\" ];then\n+        isSLES=1\n+        nwdir=\"/etc/sysconfig/network\"\n+        log_error \"Only supports RHEL\" \"error\"\n+    elif [ -f \"/etc/debian_version\" ];then\n+        nwdir=\"/etc/network/interfaces.d\"\n+        isDebian=1","path":"xCAT/postscripts/confignetwork","position":46,"original_position":46,"commit_id":"f8178de0ed86c3e950b98079be760604ca1a7dec","original_commit_id":"f8178de0ed86c3e950b98079be760604ca1a7dec","user":{"login":"neo954","id":12424088,"avatar_url":"https://avatars.githubusercontent.com/u/12424088?v=3","gravatar_id":"","url":"https://api.github.com/users/neo954","html_url":"https://github.com/neo954","followers_url":"https://api.github.com/users/neo954/followers","following_url":"https://api.github.com/users/neo954/following{/other_user}","gists_url":"https://api.github.com/users/neo954/gists{/gist_id}","starred_url":"https://api.github.com/users/neo954/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neo954/subscriptions","organizations_url":"https://api.github.com/users/neo954/orgs","repos_url":"https://api.github.com/users/neo954/repos","events_url":"https://api.github.com/users/neo954/events{/privacy}","received_events_url":"https://api.github.com/users/neo954/received_events","type":"User","site_admin":false},"body":"Should this script complain non-supported Linux distribution and die here as well?","created_at":"2015-12-21T08:02:10Z","updated_at":"2015-12-21T08:02:10Z","html_url":"https://github.com/xcat2/xcat-core/pull/469#discussion_r48123617","pull_request_url":"https://api.github.com/repos/xcat2/xcat-core/pulls/469","_links":{"self":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/comments/48123617"},"html":{"href":"https://github.com/xcat2/xcat-core/pull/469#discussion_r48123617"},"pull_request":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/469"}}},"pull_request":{"url":"https://api.github.com/repos/xcat2/xcat-core/pulls/469","id":51762435,"html_url":"https://github.com/xcat2/xcat-core/pull/469","diff_url":"https://github.com/xcat2/xcat-core/pull/469.diff","patch_url":"https://github.com/xcat2/xcat-core/pull/469.patch","issue_url":"https://api.github.com/repos/xcat2/xcat-core/issues/469","number":469,"state":"open","locked":false,"title":"support configuring bond/vlan/bridge for RH7","user":{"login":"bybai","id":6743951,"avatar_url":"https://avatars.githubusercontent.com/u/6743951?v=3","gravatar_id":"","url":"https://api.github.com/users/bybai","html_url":"https://github.com/bybai","followers_url":"https://api.github.com/users/bybai/followers","following_url":"https://api.github.com/users/bybai/following{/other_user}","gists_url":"https://api.github.com/users/bybai/gists{/gist_id}","starred_url":"https://api.github.com/users/bybai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bybai/subscriptions","organizations_url":"https://api.github.com/users/bybai/orgs","repos_url":"https://api.github.com/users/bybai/repos","events_url":"https://api.github.com/users/bybai/events{/privacy}","received_events_url":"https://api.github.com/users/bybai/received_events","type":"User","site_admin":false},"body":"1, add nicdevice column in nics table, refer to code changes in DBobjectdefs.pm  and Schema.pm.\r\n2, script confignetwork: it is framework to configure bond/vlan/bridge\r\n3, script nicsutils: it is network lib for confignetwork to configure bond/vlan/bridge\r\n\r\nMinidesign:\r\nhttps://github.com/xcat2/xcat-core/wiki/cofignetwork_for_RH7\r\n\r\nUnit test:\r\n```\r\n~]# chdef bybc0609  nictypes.eth2=ethernet nictypes.eth3=ethernet nictypes.bond0=bond nictypes.bond0.1=vlan nictypes.bond0.2=vlan nictypes.br1=bridge nictypes.br2=bridge  nictypes.bond0=bond nicdevice.bond0=\"eth2|eth3\" nicdevice.bond0.1=bond0 nicdevice.bond0.2=bond0 nicdevice.br1=bond0.1 nicdevice.br2=bond0.2 nicips.br1=30.5.106.9 nicips.br2=40.5.106.9 nicnetworks.br1=\"30_0_0_0-255_0_0_0\" nicnetworks.br2=\"40_0_0_0-255_0_0_0\"\r\n\r\n1 object definitions have been created or modified.\r\n\r\n~]# tabdump nics\r\n\r\n#node,nicips,nichostnamesuffixes,nichostnameprefixes,nictypes,niccustomscripts,nicnetworks,nicaliases,nicextraparams,nicdevice,comments,disable\r\n\r\n\"bybc0609\",\"br1!30.5.106.9,br2!40.5.106.9\",,,\"br1!bridge,eth2!ethernet,eth3!ethernet,bond0.2!vlan,bond0!bond,br2!bridge,bond0.1!vlan\",,\"br1!30_0_0_0-255_0_0_0,br2!40_0_0_0-255_0_0_0\",,,\"br1!bond0.1,bond0!eth2|eth3,bond0.2!bond0,br2!bond0.2,bond0.1!bond0\",,\r\n\r\n~]# updatenode bybc0609 confignetwork\r\nbybc0609: xcatdsklspost: downloaded postscripts successfully\r\nbybc0609: Wed Nov 25 01:50:45 EST 2015 Running postscript: confignetwork\r\nbybc0609: [I]: NetworkManager is inactive.\r\nbybc0609: [I]: All nics and device list:\r\nbybc0609: [I]: bond0 eth2@eth3\r\nbybc0609: [I]: bond0.2 bond0\r\nbybc0609: [I]: bond0.1 bond0\r\nbybc0609: [I]: br1 bond0.1\r\nbybc0609: [I]: br2 bond0.2\r\nbybc0609: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nbybc0609: configure nic and its device : bond0 eth2@eth3\r\nbybc0609: [I]: input args is \"ifname=bond0 mports=eth2,eth3 ifcmd=bond\"\r\nbybc0609: [I]: expand_ports eth2,eth3\r\nbybc0609: [I]: create_bond_interface ifname=bond0 slave_ports=eth2,eth3\r\nbybc0609: [I]: Pickup xcatnet, \"\", from NICNETWORKS for interface \"bond0\".\r\nbybc0609: [I]: [bond.down] >> 64: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN mode DEFAULT\r\nbybc0609: [I]: [bond.down] >> link/ether 9a:4d:89:64:9d:42 brd ff:ff:ff:ff:ff:ff\r\nbybc0609: [I]: [bond.slavesAft] >>\r\nbybc0609: [I]: [slave]: >> 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000\r\nbybc0609: [I]: [slave]: >> link/ether 42:47:0a:05:6a:09 brd ff:ff:ff:ff:ff:ff\r\nbybc0609: [I]: create_persistent_ifcfg ifname=eth2 inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,SLAVE=yes,MASTER=bond0,BOOTPROTO=none\r\nbybc0609: ['ifcfg-eth2']\r\nbybc0609: [I]: >> DEVICE=\"eth2\"\r\nbybc0609: [I]: >> BOOTPROTO=\"none\"\r\nbybc0609: [I]: >> NAME=\"eth2\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: [I]: >> SLAVE=\"yes\"\r\nbybc0609: [I]: >> MASTER=\"bond0\"\r\nbybc0609: [I]: [slave]: >> 5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000\r\nbybc0609: [I]: [slave]: >> link/ether 42:82:0a:05:6a:09 brd ff:ff:ff:ff:ff:ff\r\nbybc0609: [I]: create_persistent_ifcfg ifname=eth3 inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,SLAVE=yes,MASTER=bond0,BOOTPROTO=none\r\nbybc0609: ['ifcfg-eth3']\r\nbybc0609: [I]: >> DEVICE=\"eth3\"\r\nbybc0609: [I]: >> BOOTPROTO=\"none\"\r\nbybc0609: [I]: >> NAME=\"eth3\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: [I]: >> SLAVE=\"yes\"\r\nbybc0609: [I]: >> MASTER=\"bond0\"\r\nbybc0609: [I]: [bond.slavesNew] >> eth2 eth3\r\nbybc0609: [I]: [ip.link] >> 64: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT\r\nbybc0609: [I]: [ip.link] >> link/ether 42:47:0a:05:6a:09 brd ff:ff:ff:ff:ff:ff\r\nbybc0609: [I]: create_persistent_ifcfg ifname=bond0 xcatnet= inattrs=ONBOOT=yes,USERCTL=no,TYPE=Bond,BONDING_MASTER=yes,BONDING_OPTS='mode=802.3ad miimon=100',BOOTPROTO=none,DHCLIENTARGS='-timeout 200'\r\nbybc0609: ['ifcfg-bond0']\r\nbybc0609: [I]: >> DEVICE=\"bond0\"\r\nbybc0609: [I]: >> BOOTPROTO=\"none\"\r\nbybc0609: [I]: >> NAME=\"bond0\"\r\nbybc0609: [I]: >> BONDING_MASTER=\"yes\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Bond\"\r\nbybc0609: [I]: >> BONDING_OPTS=\"mode=802.3ad miimon=100\"\r\nbybc0609: [I]: >> DHCLIENTARGS=\"-timeout 200\"\r\nbybc0609: [S]: return code on host bybc0609 equals to 0\r\nbybc0609: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nbybc0609: configure nic and its device : bond0.2 bond0\r\nbybc0609: [I]: create_vlan_interface ifname=bond0 vlanid=2\r\nbybc0609: [I]: Pickup xcatnet, \"\", from NICNETWORKS for interface \"bond0\".\r\nbybc0609: [I]: create_persistent_ifcfg ifname=bond0.2 xcatnet= inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,VLAN=yes\r\nbybc0609: ['ifcfg-bond0.2']\r\nbybc0609: [I]: >> DEVICE=\"bond0.2\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> NAME=\"bond0.2\"\r\nbybc0609: [I]: >> VLAN=\"yes\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nbybc0609: configure nic and its device : bond0.1 bond0\r\nbybc0609: [I]: create_vlan_interface ifname=bond0 vlanid=1\r\nbybc0609: [I]: Pickup xcatnet, \"\", from NICNETWORKS for interface \"bond0\".\r\nbybc0609: [I]: create_persistent_ifcfg ifname=bond0.1 xcatnet= inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,VLAN=yes\r\nbybc0609: ['ifcfg-bond0.1']\r\nbybc0609: [I]: >> DEVICE=\"bond0.1\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> NAME=\"bond0.1\"\r\nbybc0609: [I]: >> VLAN=\"yes\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nbybc0609: configure nic and its device : br1 bond0.1\r\nbybc0609: [I]: create_bridge_interface ifname=br1 _brtype=bridge _port=bond0.1 _pretype=vlan\r\nbybc0609: [I]: Pickup xcatnet, \"30_0_0_0-255_0_0_0\", from NICNETWORKS for interface \"br1\".\r\nbybc0609: [I]: create_raw_vlan_interface ifname=bond0.1 _bridge=br1 _mtu=\r\nbybc0609: [I]: create_persistent_ifcfg ifname=bond0.1 inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,VLAN=yes,BRIDGE=br1\r\nbybc0609: ['ifcfg-bond0.1']\r\nbybc0609: [I]: >> DEVICE=\"bond0.1\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> NAME=\"bond0.1\"\r\nbybc0609: [I]: >> VLAN=\"yes\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: [I]: >> BRIDGE=\"br1\"\r\nbybc0609: [I]: brctl addbr br1\r\nbybc0609: [I]: brctl addif br1 bond0.1\r\nbybc0609: [I]: migrate_ip ifname=br1 sports=bond0.1\r\nbybc0609: [I]: create_persistent_ifcfg ifname=br1 xcatnet=30_0_0_0-255_0_0_0 inattrs=ONBOOT=yes,TYPE=Bridge\r\nbybc0609: ['ifcfg-br1']\r\nbybc0609: [I]: >> DEVICE=\"br1\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> IPADDR=\"30.5.106.9\"\r\nbybc0609: [I]: >> NETMASK=\"255.0.0.0\"\r\nbybc0609: [I]: >> NAME=\"br1\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> TYPE=\"Bridge\"\r\nbybc0609: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nbybc0609: configure nic and its device : br2 bond0.2\r\nbybc0609: [I]: create_bridge_interface ifname=br2 _brtype=bridge _port=bond0.2 _pretype=vlan\r\nbybc0609: [I]: Pickup xcatnet, \"40_0_0_0-255_0_0_0\", from NICNETWORKS for interface \"br2\".\r\nbybc0609: [I]: create_raw_vlan_interface ifname=bond0.2 _bridge=br2 _mtu=\r\nbybc0609: [I]: create_persistent_ifcfg ifname=bond0.2 inattrs=ONBOOT=yes,USERCTL=no,TYPE=Ethernet,VLAN=yes,BRIDGE=br2\r\nbybc0609: ['ifcfg-bond0.2']\r\nbybc0609: [I]: >> DEVICE=\"bond0.2\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> NAME=\"bond0.2\"\r\nbybc0609: [I]: >> VLAN=\"yes\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> USERCTL=\"no\"\r\nbybc0609: [I]: >> TYPE=\"Ethernet\"\r\nbybc0609: [I]: >> BRIDGE=\"br2\"\r\nbybc0609: [I]: brctl addbr br2\r\nbybc0609: [I]: brctl addif br2 bond0.2\r\nbybc0609: [I]: migrate_ip ifname=br2 sports=bond0.2\r\nbybc0609: [I]: create_persistent_ifcfg ifname=br2 xcatnet=40_0_0_0-255_0_0_0 inattrs=ONBOOT=yes,TYPE=Bridge\r\nbybc0609: ['ifcfg-br2']\r\nbybc0609: [I]: >> DEVICE=\"br2\"\r\nbybc0609: [I]: >> BOOTPROTO=\"static\"\r\nbybc0609: [I]: >> IPADDR=\"40.5.106.9\"\r\nbybc0609: [I]: >> NETMASK=\"255.0.0.0\"\r\nbybc0609: [I]: >> NAME=\"br2\"\r\nbybc0609: [I]: >> ONBOOT=\"yes\"\r\nbybc0609: [I]: >> TYPE=\"Bridge\"\r\nbybc0609: Postscript: confignetwork exited with code 0\r\nbybc0609: Running of postscripts has completed.\r\n```","created_at":"2015-11-25T07:59:09Z","updated_at":"2015-12-21T08:02:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f9c3564586a1386df1ec3b13781dc0083025af8e","assignee":{"login":"daniceexi","id":10385985,"avatar_url":"https://avatars.githubusercontent.com/u/10385985?v=3","gravatar_id":"","url":"https://api.github.com/users/daniceexi","html_url":"https://github.com/daniceexi","followers_url":"https://api.github.com/users/daniceexi/followers","following_url":"https://api.github.com/users/daniceexi/following{/other_user}","gists_url":"https://api.github.com/users/daniceexi/gists{/gist_id}","starred_url":"https://api.github.com/users/daniceexi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniceexi/subscriptions","organizations_url":"https://api.github.com/users/daniceexi/orgs","repos_url":"https://api.github.com/users/daniceexi/repos","events_url":"https://api.github.com/users/daniceexi/events{/privacy}","received_events_url":"https://api.github.com/users/daniceexi/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/xcat2/xcat-core/milestones/6","html_url":"https://github.com/xcat2/xcat-core/milestones/2.12","labels_url":"https://api.github.com/repos/xcat2/xcat-core/milestones/6/labels","id":1369794,"number":6,"title":"2.12","description":null,"creator":{"login":"zet809","id":8222144,"avatar_url":"https://avatars.githubusercontent.com/u/8222144?v=3","gravatar_id":"","url":"https://api.github.com/users/zet809","html_url":"https://github.com/zet809","followers_url":"https://api.github.com/users/zet809/followers","following_url":"https://api.github.com/users/zet809/following{/other_user}","gists_url":"https://api.github.com/users/zet809/gists{/gist_id}","starred_url":"https://api.github.com/users/zet809/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zet809/subscriptions","organizations_url":"https://api.github.com/users/zet809/orgs","repos_url":"https://api.github.com/users/zet809/repos","events_url":"https://api.github.com/users/zet809/events{/privacy}","received_events_url":"https://api.github.com/users/zet809/received_events","type":"User","site_admin":false},"open_issues":47,"closed_issues":21,"state":"open","created_at":"2015-10-22T07:51:37Z","updated_at":"2015-12-21T06:45:08Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/xcat2/xcat-core/pulls/469/commits","review_comments_url":"https://api.github.com/repos/xcat2/xcat-core/pulls/469/comments","review_comment_url":"https://api.github.com/repos/xcat2/xcat-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xcat2/xcat-core/issues/469/comments","statuses_url":"https://api.github.com/repos/xcat2/xcat-core/statuses/f8178de0ed86c3e950b98079be760604ca1a7dec","head":{"label":"bybai:confignetworknew","ref":"confignetworknew","sha":"f8178de0ed86c3e950b98079be760604ca1a7dec","user":{"login":"bybai","id":6743951,"avatar_url":"https://avatars.githubusercontent.com/u/6743951?v=3","gravatar_id":"","url":"https://api.github.com/users/bybai","html_url":"https://github.com/bybai","followers_url":"https://api.github.com/users/bybai/followers","following_url":"https://api.github.com/users/bybai/following{/other_user}","gists_url":"https://api.github.com/users/bybai/gists{/gist_id}","starred_url":"https://api.github.com/users/bybai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bybai/subscriptions","organizations_url":"https://api.github.com/users/bybai/orgs","repos_url":"https://api.github.com/users/bybai/repos","events_url":"https://api.github.com/users/bybai/events{/privacy}","received_events_url":"https://api.github.com/users/bybai/received_events","type":"User","site_admin":false},"repo":{"id":40161258,"name":"xcat-core","full_name":"bybai/xcat-core","owner":{"login":"bybai","id":6743951,"avatar_url":"https://avatars.githubusercontent.com/u/6743951?v=3","gravatar_id":"","url":"https://api.github.com/users/bybai","html_url":"https://github.com/bybai","followers_url":"https://api.github.com/users/bybai/followers","following_url":"https://api.github.com/users/bybai/following{/other_user}","gists_url":"https://api.github.com/users/bybai/gists{/gist_id}","starred_url":"https://api.github.com/users/bybai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bybai/subscriptions","organizations_url":"https://api.github.com/users/bybai/orgs","repos_url":"https://api.github.com/users/bybai/repos","events_url":"https://api.github.com/users/bybai/events{/privacy}","received_events_url":"https://api.github.com/users/bybai/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bybai/xcat-core","description":"Code repo for xCAT core packages","fork":true,"url":"https://api.github.com/repos/bybai/xcat-core","forks_url":"https://api.github.com/repos/bybai/xcat-core/forks","keys_url":"https://api.github.com/repos/bybai/xcat-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bybai/xcat-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bybai/xcat-core/teams","hooks_url":"https://api.github.com/repos/bybai/xcat-core/hooks","issue_events_url":"https://api.github.com/repos/bybai/xcat-core/issues/events{/number}","events_url":"https://api.github.com/repos/bybai/xcat-core/events","assignees_url":"https://api.github.com/repos/bybai/xcat-core/assignees{/user}","branches_url":"https://api.github.com/repos/bybai/xcat-core/branches{/branch}","tags_url":"https://api.github.com/repos/bybai/xcat-core/tags","blobs_url":"https://api.github.com/repos/bybai/xcat-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bybai/xcat-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bybai/xcat-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/bybai/xcat-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bybai/xcat-core/statuses/{sha}","languages_url":"https://api.github.com/repos/bybai/xcat-core/languages","stargazers_url":"https://api.github.com/repos/bybai/xcat-core/stargazers","contributors_url":"https://api.github.com/repos/bybai/xcat-core/contributors","subscribers_url":"https://api.github.com/repos/bybai/xcat-core/subscribers","subscription_url":"https://api.github.com/repos/bybai/xcat-core/subscription","commits_url":"https://api.github.com/repos/bybai/xcat-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/bybai/xcat-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/bybai/xcat-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/bybai/xcat-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/bybai/xcat-core/contents/{+path}","compare_url":"https://api.github.com/repos/bybai/xcat-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bybai/xcat-core/merges","archive_url":"https://api.github.com/repos/bybai/xcat-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bybai/xcat-core/downloads","issues_url":"https://api.github.com/repos/bybai/xcat-core/issues{/number}","pulls_url":"https://api.github.com/repos/bybai/xcat-core/pulls{/number}","milestones_url":"https://api.github.com/repos/bybai/xcat-core/milestones{/number}","notifications_url":"https://api.github.com/repos/bybai/xcat-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bybai/xcat-core/labels{/name}","releases_url":"https://api.github.com/repos/bybai/xcat-core/releases{/id}","created_at":"2015-08-04T03:26:05Z","updated_at":"2015-08-04T03:26:12Z","pushed_at":"2015-12-14T07:00:30Z","git_url":"git://github.com/bybai/xcat-core.git","ssh_url":"git@github.com:bybai/xcat-core.git","clone_url":"https://github.com/bybai/xcat-core.git","svn_url":"https://github.com/bybai/xcat-core","homepage":null,"size":181290,"stargazers_count":0,"watchers_count":0,"language":"Perl","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":"xcat2:master","ref":"master","sha":"9efc3cac00f8d29daa3abf2a2c5bf76c634bd88b","user":{"login":"xcat2","id":10124414,"avatar_url":"https://avatars.githubusercontent.com/u/10124414?v=3","gravatar_id":"","url":"https://api.github.com/users/xcat2","html_url":"https://github.com/xcat2","followers_url":"https://api.github.com/users/xcat2/followers","following_url":"https://api.github.com/users/xcat2/following{/other_user}","gists_url":"https://api.github.com/users/xcat2/gists{/gist_id}","starred_url":"https://api.github.com/users/xcat2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xcat2/subscriptions","organizations_url":"https://api.github.com/users/xcat2/orgs","repos_url":"https://api.github.com/users/xcat2/repos","events_url":"https://api.github.com/users/xcat2/events{/privacy}","received_events_url":"https://api.github.com/users/xcat2/received_events","type":"Organization","site_admin":false},"repo":{"id":27747508,"name":"xcat-core","full_name":"xcat2/xcat-core","owner":{"login":"xcat2","id":10124414,"avatar_url":"https://avatars.githubusercontent.com/u/10124414?v=3","gravatar_id":"","url":"https://api.github.com/users/xcat2","html_url":"https://github.com/xcat2","followers_url":"https://api.github.com/users/xcat2/followers","following_url":"https://api.github.com/users/xcat2/following{/other_user}","gists_url":"https://api.github.com/users/xcat2/gists{/gist_id}","starred_url":"https://api.github.com/users/xcat2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xcat2/subscriptions","organizations_url":"https://api.github.com/users/xcat2/orgs","repos_url":"https://api.github.com/users/xcat2/repos","events_url":"https://api.github.com/users/xcat2/events{/privacy}","received_events_url":"https://api.github.com/users/xcat2/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/xcat2/xcat-core","description":"Code repo for xCAT core packages","fork":false,"url":"https://api.github.com/repos/xcat2/xcat-core","forks_url":"https://api.github.com/repos/xcat2/xcat-core/forks","keys_url":"https://api.github.com/repos/xcat2/xcat-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xcat2/xcat-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xcat2/xcat-core/teams","hooks_url":"https://api.github.com/repos/xcat2/xcat-core/hooks","issue_events_url":"https://api.github.com/repos/xcat2/xcat-core/issues/events{/number}","events_url":"https://api.github.com/repos/xcat2/xcat-core/events","assignees_url":"https://api.github.com/repos/xcat2/xcat-core/assignees{/user}","branches_url":"https://api.github.com/repos/xcat2/xcat-core/branches{/branch}","tags_url":"https://api.github.com/repos/xcat2/xcat-core/tags","blobs_url":"https://api.github.com/repos/xcat2/xcat-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xcat2/xcat-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xcat2/xcat-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/xcat2/xcat-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xcat2/xcat-core/statuses/{sha}","languages_url":"https://api.github.com/repos/xcat2/xcat-core/languages","stargazers_url":"https://api.github.com/repos/xcat2/xcat-core/stargazers","contributors_url":"https://api.github.com/repos/xcat2/xcat-core/contributors","subscribers_url":"https://api.github.com/repos/xcat2/xcat-core/subscribers","subscription_url":"https://api.github.com/repos/xcat2/xcat-core/subscription","commits_url":"https://api.github.com/repos/xcat2/xcat-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/xcat2/xcat-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/xcat2/xcat-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/xcat2/xcat-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/xcat2/xcat-core/contents/{+path}","compare_url":"https://api.github.com/repos/xcat2/xcat-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xcat2/xcat-core/merges","archive_url":"https://api.github.com/repos/xcat2/xcat-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xcat2/xcat-core/downloads","issues_url":"https://api.github.com/repos/xcat2/xcat-core/issues{/number}","pulls_url":"https://api.github.com/repos/xcat2/xcat-core/pulls{/number}","milestones_url":"https://api.github.com/repos/xcat2/xcat-core/milestones{/number}","notifications_url":"https://api.github.com/repos/xcat2/xcat-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xcat2/xcat-core/labels{/name}","releases_url":"https://api.github.com/repos/xcat2/xcat-core/releases{/id}","created_at":"2014-12-09T03:21:50Z","updated_at":"2015-12-18T07:06:52Z","pushed_at":"2015-12-21T06:45:09Z","git_url":"git://github.com/xcat2/xcat-core.git","ssh_url":"git@github.com:xcat2/xcat-core.git","clone_url":"https://github.com/xcat2/xcat-core.git","svn_url":"https://github.com/xcat2/xcat-core","homepage":null,"size":181634,"stargazers_count":22,"watchers_count":22,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":38,"mirror_url":null,"open_issues_count":62,"forks":38,"open_issues":62,"watchers":22,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/469"},"html":{"href":"https://github.com/xcat2/xcat-core/pull/469"},"issue":{"href":"https://api.github.com/repos/xcat2/xcat-core/issues/469"},"comments":{"href":"https://api.github.com/repos/xcat2/xcat-core/issues/469/comments"},"review_comments":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/469/comments"},"review_comment":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xcat2/xcat-core/pulls/469/commits"},"statuses":{"href":"https://api.github.com/repos/xcat2/xcat-core/statuses/f8178de0ed86c3e950b98079be760604ca1a7dec"}}}}