I like this concept. I wonder if the base64 encoding is really necessary.
Here's what our internal tool reads. I would love to see something that
could work in both environments with very little adjustment.
This example uses openstack, thus the 'user-data-files' is unnecessary, and
the main resources might look different also.
{
"resources": [
{
"name": "openshift-node1",
"count": "1",
"flavor": "m1.medium",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'primary', 'zone':
'east'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "
my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "
my.dockerregistry.com:8888",
"ansible-group": ["nodes", "OSEv3"]
}
},
{
"name": "openshift-node2",
"count": "1",
"flavor": "m1.medium",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'primary', 'zone':
'west'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "
my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "
my.dockerregistry.com:8888",
"ansible-group": ["nodes", "OSEv3", "repo_host"]
}
},
{
"name": "openshift-master",
"count": "1",
"flavor": "m1.large",
"image": "rhel-guest-image-7.1-20150224.0.x86_64",
"metadata": {
"product_type": "openshift",
"deployment_type": "openshift-enterprise",
"ansible_sudo": "false",
"ansible_ssh_user": "root",
"openshift_override_hostname_check": "true",
"openshift_node_labels": "{'region': 'infra', 'zone':
'default'}",
"openshift_hostname": "__IP__",
"openshift_public_hostname": "__IP__",
"openshift_set_hostname": "true",
"openshift_docker_additional_registries": "
my.dockerregistry.com:8888",
"openshift_docker_insecure_registries": "
my.dockerregistry.com:8888",
"ansible-group": ["masters", "nodes", "OSEv3"]
}
}
]
}
Cheers,
herlo
On Wed, May 18, 2016 at 10:40 AM, Colin Walters <walters at verbum.org> wrote:
> 1) Public source code
> 2) Arbitrary metadata (could be JSON or just a blob) like
> /Node/get/?key=blah&metadata=<base64 encoded json>
> Then a new /InventoryExt verb that returns JSON like:
>
> [
> { "name": "n49.pufty", "ssid": "abcde", "metadata": "<base64 encoded
> json>" },
> { "name": "a29.pufty", "ssid": "abcde", "metadata": "<base64 encoded
> json>" }
> ]
>
> 3) Also add a new option to /get/ named "longpoll" which means the
> machine is automatically deallocated when the requester's TCP connection
> closes. This would help ensure that e.g. cancelling the job or a Jenkins
> restart etc. automatically deallocated the machine
> _______________________________________________
> Ci-users mailing list
> Ci-users at centos.org
> https://lists.centos.org/mailman/listinfo/ci-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/ci-users/attachments/20160518/2e5906ab/attachment-0005.html>