Commit 6ec1c9e3 authored by Jack Greenfield's avatar Jack Greenfield

Merge pull request #500 from jackgr/deployment

More tweaks to enable end to end deployment
parents c69ed291 0b3f545b
......@@ -756,44 +756,16 @@ func TestReplicatedService(t *testing.T) {
&expansion.ServiceResponse{
Resources: []interface{}{
map[string]interface{}{
"type": "Service",
"name": "test_invocation-service",
"properties": map[string]interface{}{
"kind": "Service",
"apiVersion": "v1",
"namespace": "default",
"metadata": map[string]interface{}{
"name": "test_invocation-service",
"labels": map[string]interface{}{
"name": "test_invocation-service",
},
},
"spec": map[string]interface{}{
"ports": []interface{}{
map[string]interface{}{
"name": "test_invocation",
"port": 1234.0,
"targetPort": 1234.0,
},
},
"selector": map[string]interface{}{
"name": "test_invocation",
},
},
},
},
map[string]interface{}{
"type": "ReplicationController",
"name": "test_invocation-rc",
"properties": map[string]interface{}{
"kind": "ReplicationController",
"apiVersion": "v1",
"namespace": "default",
"kind": "ReplicationController",
"metadata": map[string]interface{}{
"name": "test_invocation-rc",
"labels": map[string]interface{}{
"name": "test_invocation-rc",
},
"name": "test_invocation-rc",
"namespace": "default",
},
"spec": map[string]interface{}{
"replicas": 3.0,
......@@ -824,6 +796,34 @@ func TestReplicatedService(t *testing.T) {
},
},
},
"type": "ReplicationController",
},
map[string]interface{}{
"name": "test_invocation-service",
"properties": map[string]interface{}{
"apiVersion": "v1",
"kind": "Service",
"metadata": map[string]interface{}{
"labels": map[string]interface{}{
"name": "test_invocation-service",
},
"name": "test_invocation-service",
"namespace": "default",
},
"spec": map[string]interface{}{
"ports": []interface{}{
map[string]interface{}{
"name": "test_invocation",
"port": 1234.0,
"targetPort": 1234.0,
},
},
"selector": map[string]interface{}{
"name": "test_invocation",
},
},
},
"type": "Service",
},
},
},
......
......@@ -40,15 +40,15 @@ func parseProperties(kvstr string) (map[string]interface{}, error) {
// Allow for "k=v, k=v"
p = strings.TrimSpace(p)
pair := strings.Split(p, "=")
if len(pair) == 1 {
if len(pair) < 2 {
return properties, errInvalidProperty
}
// If the value looks int-like, convert it.
if i, err := strconv.Atoi(pair[1]); err == nil {
properties[pair[0]] = pair[1]
} else {
properties[pair[0]] = i
} else {
properties[pair[0]] = pair[1]
}
}
......
......@@ -37,20 +37,20 @@ def GenerateConfig(context):
service = {
'name': service_name,
'type': service_type,
'properties': {
'apiVersion': 'v1',
'kind': 'Service',
'namespace': namespace,
'metadata': {
'name': service_name,
'labels': GenerateLabels(context, service_name),
'name': service_name,
'namespace': namespace,
},
'spec': {
'ports': [GenerateServicePorts(context, container_name)],
'selector': GenerateLabels(context, name)
}
}
},
'type': service_type,
}
set_up_external_lb = context.properties.get('external_service', None)
if set_up_external_lb:
......@@ -58,7 +58,6 @@ def GenerateConfig(context):
cluster_ip = context.properties.get('cluster_ip', None)
if cluster_ip:
service['properties']['spec']['clusterIP'] = cluster_ip
config['resources'].append(service)
rc = {
'name': rc_name,
......@@ -66,10 +65,10 @@ def GenerateConfig(context):
'properties': {
'apiVersion': 'v1',
'kind': 'ReplicationController',
'namespace': namespace,
'metadata': {
'name': rc_name,
'labels': GenerateLabels(context, rc_name),
'name': rc_name,
'namespace': namespace,
},
'spec': {
'replicas': context.properties['replicas'],
......@@ -82,8 +81,8 @@ def GenerateConfig(context):
'containers': [
{
'env': GenerateEnv(context),
'name': container_name,
'image': context.properties['image'],
'name': container_name,
'ports': [
{
'name': container_name,
......@@ -121,6 +120,7 @@ def GenerateConfig(context):
}
config['resources'].append(rc)
config['resources'].append(service)
return yaml.dump(config)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment