It would be great if this could be generated as dynamic ansible inventory.  We do this with the output of the node creation.  This way it becomes very easy to use ansible to do any follow on tasks once you have the resources.

On Wed, May 18, 2016 at 1:04 PM, Clint Savage <herlo@redhat.com> wrote:
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@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@centos.org
https://lists.centos.org/mailman/listinfo/ci-users


_______________________________________________
Ci-users mailing list
Ci-users@centos.org
https://lists.centos.org/mailman/listinfo/ci-users




--
-== @ri ==-