Commit Graph

335 Commits

Author SHA1 Message Date
Brandon Schneider
2adb8537e1 Add new iocage API call to clone jails.
If you supply props your output will look like this:

REST Request:
-------------------------------
PUT /sysadm/iocage
{
   "props" : "tag=newtest",
   "jail" : "test",
   "action" : "clonejail"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "iocage",
   "args" : {
      "action" : "clonejail",
      "jail" : "test",
      "props" : "tag=newtest"
   },
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "clonejail": {
      "jail": "test",
      "props": "tag=newtest",
      "success": {
        "Successfully created": " 5e1fe97e-cfba-11e5-8209-d05099728dbf (newtest)"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}

Otherwise iocage will populate it's own values and the props returned by the API will be empty:

REST Request:
-------------------------------
PUT /sysadm/iocage
{
   "action" : "clonejail",
   "jail" : "test"
}

WebSocket Request:
-------------------------------
{
   "args" : {
      "jail" : "test",
      "action" : "clonejail"
   },
   "name" : "iocage",
   "namespace" : "sysadm",
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "clonejail": {
      "jail": "test",
      "props": "",
      "success": {
        "Successfully created": " 89e78032-cfba-11e5-8209-d05099728dbf (2016-02-09@23"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 23:55:18 -06:00
dlavigne
9af28e5369 Doc start action. 2016-02-09 15:38:53 -05:00
dlavigne
e2cea7b05b Doc stop action. 2016-02-09 15:23:54 -05:00
dlavigne
45780390ca Doc install action. 2016-02-09 15:17:23 -05:00
dlavigne
14a79c65a5 Doc create action. 2016-02-09 14:57:40 -05:00
Kris Moore
d087e26854 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 14:54:43 -05:00
Kris Moore
f48954ebf4 Add new API call to stop a guest VM
REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "action" : "stop",
   "name" : "bsdguest"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "args" : {
      "action" : "stop",
      "name" : "bsdguest"
   },
   "name" : "iohyve",
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "stop": {
      "name": "bsdguest"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 14:54:03 -05:00
dlavigne
486cd5d099 Doc issetup action. 2016-02-09 14:53:10 -05:00
Kris Moore
c8b123df65 Add new API call to start a iohyve guest
REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "action" : "start",
   "name" : "bsdguest"
}

WebSocket Request:
-------------------------------
{
   "name" : "iohyve",
   "id" : "fooid",
   "args" : {
      "action" : "start",
      "name" : "bsdguest"
   },
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "start": {
      "name": "bsdguest"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 14:42:56 -05:00
Kris Moore
c5c10a0616 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 14:25:03 -05:00
Kris Moore
e6b285ebfd Add API call to start the iohyve installation of a guest from
an ISO

FYI, this only boots the VM with the ISO, to do the install
the user still needs to run "iohyve console <name>" from the system,
which uses serial mode to bring up a terminal

REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "name" : "bsdguest",
   "iso" : "FreeBSD-10.2-RELEASE-amd64-disc1.iso",
   "action" : "install"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "iohyve",
   "id" : "fooid",
   "args" : {
      "action" : "install",
      "iso" : "FreeBSD-10.2-RELEASE-amd64-disc1.iso",
      "name" : "bsdguest"
   }
}

Response:
-------------------------------
{
  "args": {
    "install": {
      "iso": "FreeBSD-10.2-RELEASE-amd64-disc1.iso",
      "name": "bsdguest"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 14:21:34 -05:00
dlavigne
566e4e35c3 Clarify clonefrom. 2016-02-09 14:13:33 -05:00
dlavigne
f568b58228 Doc setup action. 2016-02-09 14:11:33 -05:00
Kris Moore
bef748977e Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 13:50:22 -05:00
Kris Moore
2fa64a2031 Add API call to create a new iohyve guest
REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "action" : "create",
   "name" : "bsdguest",
   "size" : "10G"
}

WebSocket Request:
-------------------------------
{
   "name" : "iohyve",
   "namespace" : "sysadm",
   "id" : "fooid",
   "args" : {
      "name" : "bsdguest",
      "action" : "create",
      "size" : "10G"
   }
}

Response:
-------------------------------
{
  "args": {
    "create": {
      "name": "bsdguest",
      "size": "10G"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 13:50:08 -05:00
dlavigne
dd0bf124fb Doc createbe action. 2016-02-09 13:13:08 -05:00
dlavigne
4524a7970b Doc activatebe action. 2016-02-09 13:02:31 -05:00
Kris Moore
3c329b4292 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 12:47:07 -05:00
Kris Moore
a36081c77e Add new API call to iohyve, which returns true/false
if iohyve has been setup on the box

REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "action" : "issetup"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "namespace" : "sysadm",
   "args" : {
      "action" : "issetup"
   },
   "name" : "iohyve"
}

Response:
-------------------------------
{
  "args": {
    "issetup": {
      "setup": "true"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 12:46:41 -05:00
JoshDW19
4ed13b1d46 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 12:32:37 -05:00
JoshDW19
3b9d2375e4 Add API call to destroy the "target" boot environment and force unmount it. Any
Verification should be done through the client.

REST Request:
-------------------------------
PUT /sysadm/beadm
{
   "target" : "red",
   "action" : "destroybe"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "args" : {
      "action" : "destroybe",
      "target" : "red"
   },
   "name" : "beadm",
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "destroybe": {
      "target": "red"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
2016-02-09 12:31:32 -05:00
Kris Moore
30ffeccfd4 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 12:08:03 -05:00
Kris Moore
c3c809fcbc Add new API call to do the initial setup of Iohyve
Both the pool/nic are required for setup to complete.

REST Request:
-------------------------------
PUT /sysadm/iohyve
{
   "nic" : "re0",
   "pool" : "tank",
   "action" : "setup"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "name" : "iohyve",
   "args" : {
      "pool" : "tank",
      "nic" : "re0",
      "action" : "setup"
   },
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "setup": {
      "nic": "re0",
      "pool": "tank"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 12:07:12 -05:00
JoshDW19
f58eb8ce08 New API call for creating a new boot environment. An optional flag is shown below.
By specifying clonefrom which passes along the -e flag it will clone from a inactive boot environment.

REST Request:
-------------------------------
PUT /sysadm/beadm
{
   "action" : "createbe",
   "newbe" : "red",
   "clonefrom" : "green"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "args" : {
      "newbe" : "red",
      "clonefrom" : "green",
      "action" : "createbe"
   },
   "namespace" : "sysadm",
   "name" : "beadm"
}

Response:
-------------------------------
{
  "args": {
    "createbe": {
      "clonefrom": "green",
      "newbe": "red"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 11:49:39 -05:00
JoshDW19
6a3ffaa308 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-09 10:36:44 -05:00
JoshDW19
f9e5dc615d API call for activating a different boot environment
REST Request:
-------------------------------
PUT /sysadm/beadm
{
   "target" : "bootthingy",
   "action" : "activatebe"
}

WebSocket Request:
-------------------------------
{
   "name" : "beadm",
   "args" : {
      "action" : "activatebe",
      "target" : "bootthingy"
   },
   "namespace" : "sysadm",
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "activatebe": {
      "target": "bootthingy"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-09 10:35:37 -05:00
Ken Moore
787369def3 Change the default reply code for an invalid subsystem to 400 BadRequest instead of 404 NoContent. 2016-02-09 09:57:50 -05:00
Ken Moore
f775458d31 Merge branch 'master' of github.com:pcbsd/sysadm 2016-02-09 09:19:20 -05:00
Ken Moore
e1b9bc833c Fix up the detection of the localhost address when there is both IPv4 and IPv6 information available for the connection. 2016-02-09 09:18:21 -05:00
dlavigne
6dc31f5254 Doc renamebe action. 2016-02-08 15:25:27 -05:00
Kris Moore
5b140b8c6e Remove bad lock file 2016-02-08 14:27:25 -05:00
JoshDW19
10e9423d61 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-08 14:26:13 -05:00
JoshDW19
6d8815a220 Really cool message because I forgot to include the modified webackend.cpp in the last commit. 2016-02-08 14:25:40 -05:00
JoshDW19
849230bf2f Add API call for BEADM to rename a boot environment
REST Request:
-------------------------------
PUT /sysadm/beadm
{
   "source" : "newname",
   "action" : "renamebe",
   "target" : "bootthingy"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "beadm",
   "id" : "fooid",
   "args" : {
      "source" : "newname",
      "target" : "bootthingy",
      "action" : "renamebe"
   }
}

Response:
-------------------------------
{
  "args": {
    "renamebe": {
      "source": "newname",
      "target": "bootthingy"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
2016-02-08 14:24:16 -05:00
Kris Moore
75fd288768 Added doctoc 2016-02-08 14:12:48 -05:00
Kris Moore
20114a9d04 Add few more line-breaks 2016-02-08 13:31:39 -05:00
Kris Moore
d6ece0f201 Add some line-breaks 2016-02-08 13:31:00 -05:00
Kris Moore
ccd73e7270 Update the various lpreserver API backends, to use new CLI
syntax, and uppdate README with further information about testing
2016-02-08 13:12:06 -05:00
Kris Moore
0300aab643 Update API test script to use 'sudo' if running as user and
needing to pkg install utils
2016-02-08 12:30:27 -05:00
Kris Moore
172962421c Fix required modules section 2016-02-08 11:37:49 -05:00
Kris Moore
1110170081 Update the SysAdm README with much more useful information 2016-02-08 11:35:12 -05:00
dlavigne
48a9463262 Add beadm class. 2016-02-05 13:23:29 -05:00
dlavigne
8f3b7ec2e0 Doc cleanall action. 2016-02-05 13:02:40 -05:00
dlavigne
6b3a2750f8 Doc cleanreleases action. 2016-02-05 12:29:56 -05:00
dlavigne
9c5df4348c Doc cleanreleases action. 2016-02-05 12:11:38 -05:00
dlavigne
8760097189 Doc cleanjails action. 2016-02-05 11:56:34 -05:00
dlavigne
91358a6b35 Doc capjail action. 2016-02-05 11:46:36 -05:00
dlavigne
8f431e81c6 Doc rmiso command. 2016-02-05 11:06:53 -05:00
Kris Moore
23d5136e22 Merge branch 'master' of https://github.com/pcbsd/sysadm 2016-02-05 11:04:09 -05:00
Kris Moore
1ba65b3388 Add new API class and call for 'beadm', with the initial listbes
API call

REST Request:
-------------------------------
PUT /sysadm/beadm
{
   "action" : "listbes"
}

WebSocket Request:
-------------------------------
{
   "name" : "beadm",
   "namespace" : "sysadm",
   "id" : "fooid",
   "args" : {
      "action" : "listbes"
   }
}

Response:
-------------------------------
{
  "args": {
    "listbes": {
      "11.0-CURRENTJAN2016-up-20160128_150853": {
        "active": "NR",
        "date": "2016-01-28",
        "mount": "/",
        "nick": "14:57",
        "space": "10.2G"
      },
      "initial": {
        "active": "-",
        "date": "2016-01-28",
        "mount": "-",
        "nick": "07:00",
        "space": "1.2G"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2016-02-05 11:02:47 -05:00