Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit e1b6cbb

Browse files
committed
Fix time format used for cloud orchestration
The format used to represent time is slightly different than RFC standard and the one present in golang time lib.
1 parent 1d8b6f1 commit e1b6cbb

File tree

7 files changed

+29
-26
lines changed

7 files changed

+29
-26
lines changed

openstack/orchestration/v1/stackevents/fixtures.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ const FindOutput = `
6767
"events": [
6868
{
6969
"resource_name": "hello_world",
70-
"event_time": "2015-02-05T21:33:11Z",
70+
"event_time": "2015-02-05T21:33:11",
7171
"links": [
7272
{
7373
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/06feb26f-9298-4a9b-8749-9d770e5d577a",
@@ -90,7 +90,7 @@ const FindOutput = `
9090
},
9191
{
9292
"resource_name": "hello_world",
93-
"event_time": "2015-02-05T21:33:27Z",
93+
"event_time": "2015-02-05T21:33:27",
9494
"links": [
9595
{
9696
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/93940999-7d40-44ae-8de4-19624e7b8d18",
@@ -184,7 +184,7 @@ const ListOutput = `
184184
"events": [
185185
{
186186
"resource_name": "hello_world",
187-
"event_time": "2015-02-05T21:33:11Z",
187+
"event_time": "2015-02-05T21:33:11",
188188
"links": [
189189
{
190190
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/06feb26f-9298-4a9b-8749-9d770e5d577a",
@@ -207,7 +207,7 @@ const ListOutput = `
207207
},
208208
{
209209
"resource_name": "hello_world",
210-
"event_time": "2015-02-05T21:33:27Z",
210+
"event_time": "2015-02-05T21:33:27",
211211
"links": [
212212
{
213213
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/93940999-7d40-44ae-8de4-19624e7b8d18",
@@ -309,7 +309,7 @@ const ListResourceEventsOutput = `
309309
"events": [
310310
{
311311
"resource_name": "hello_world",
312-
"event_time": "2015-02-05T21:33:11Z",
312+
"event_time": "2015-02-05T21:33:11",
313313
"links": [
314314
{
315315
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/06feb26f-9298-4a9b-8749-9d770e5d577a",
@@ -332,7 +332,7 @@ const ListResourceEventsOutput = `
332332
},
333333
{
334334
"resource_name": "hello_world",
335-
"event_time": "2015-02-05T21:33:27Z",
335+
"event_time": "2015-02-05T21:33:27",
336336
"links": [
337337
{
338338
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/93940999-7d40-44ae-8de4-19624e7b8d18",
@@ -408,7 +408,7 @@ const GetOutput = `
408408
{
409409
"event":{
410410
"resource_name": "hello_world",
411-
"event_time": "2015-02-05T21:33:27Z",
411+
"event_time": "2015-02-05T21:33:27",
412412
"links": [
413413
{
414414
"href": "http://166.78.160.107:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/5f57cff9-93fc-424e-9f78-df0515e7f48b/resources/hello_world/events/93940999-7d40-44ae-8de4-19624e7b8d18",

openstack/orchestration/v1/stackevents/results.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (r FindResult) Extract() ([]Event, error) {
5757
for i, eventRaw := range events {
5858
event := eventRaw.(map[string]interface{})
5959
if date, ok := event["event_time"]; ok && date != nil {
60-
t, err := time.Parse(time.RFC3339, date.(string))
60+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
6161
if err != nil {
6262
return nil, err
6363
}
@@ -121,7 +121,7 @@ func ExtractEvents(page pagination.Page) ([]Event, error) {
121121
for i, eventRaw := range events {
122122
event := eventRaw.(map[string]interface{})
123123
if date, ok := event["event_time"]; ok && date != nil {
124-
t, err := time.Parse(time.RFC3339, date.(string))
124+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
125125
if err != nil {
126126
return nil, err
127127
}
@@ -161,7 +161,7 @@ func (r GetResult) Extract() (*Event, error) {
161161
event := r.Body.(map[string]interface{})["event"].(map[string]interface{})
162162

163163
if date, ok := event["event_time"]; ok && date != nil {
164-
t, err := time.Parse(time.RFC3339, date.(string))
164+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
165165
if err != nil {
166166
return nil, err
167167
}

openstack/orchestration/v1/stackresources/fixtures.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const FindOutput = `
5353
],
5454
"logical_resource_id": "hello_world",
5555
"resource_status_reason": "state changed",
56-
"updated_time": "2015-02-05T21:33:11Z",
56+
"updated_time": "2015-02-05T21:33:11",
5757
"required_by": [],
5858
"resource_status": "CREATE_IN_PROGRESS",
5959
"physical_resource_id": "49181cd6-169a-4130-9455-31185bbfc5bf",
@@ -117,7 +117,7 @@ const ListOutput = `{
117117
],
118118
"logical_resource_id": "hello_world",
119119
"resource_status_reason": "state changed",
120-
"updated_time": "2015-02-05T21:33:11Z",
120+
"updated_time": "2015-02-05T21:33:11",
121121
"required_by": [],
122122
"resource_status": "CREATE_IN_PROGRESS",
123123
"physical_resource_id": "49181cd6-169a-4130-9455-31185bbfc5bf",
@@ -188,7 +188,7 @@ const GetOutput = `
188188
],
189189
"logical_resource_id": "wordpress_instance",
190190
"resource_status": "CREATE_COMPLETE",
191-
"updated_time": "2014-12-10T18:34:35Z",
191+
"updated_time": "2014-12-10T18:34:35",
192192
"required_by": [],
193193
"resource_status_reason": "state changed",
194194
"physical_resource_id": "00e3a2fe-c65d-403c-9483-4db9930dd194",

openstack/orchestration/v1/stackresources/results.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (r FindResult) Extract() ([]Resource, error) {
4848
for i, resourceRaw := range resources {
4949
resource := resourceRaw.(map[string]interface{})
5050
if date, ok := resource["updated_time"]; ok && date != nil {
51-
t, err := time.Parse(time.RFC3339, date.(string))
51+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
5252
if err != nil {
5353
return nil, err
5454
}
@@ -109,7 +109,7 @@ func ExtractResources(page pagination.Page) ([]Resource, error) {
109109
for i, resourceRaw := range resources {
110110
resource := resourceRaw.(map[string]interface{})
111111
if date, ok := resource["updated_time"]; ok && date != nil {
112-
t, err := time.Parse(time.RFC3339, date.(string))
112+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
113113
if err != nil {
114114
return nil, err
115115
}
@@ -143,7 +143,7 @@ func (r GetResult) Extract() (*Resource, error) {
143143
resource := r.Body.(map[string]interface{})["resource"].(map[string]interface{})
144144

145145
if date, ok := resource["updated_time"]; ok && date != nil {
146-
t, err := time.Parse(time.RFC3339, date.(string))
146+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
147147
if err != nil {
148148
return nil, err
149149
}

openstack/orchestration/v1/stacks/fixtures.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ const FullListOutput = `
9595
],
9696
"stack_status_reason": "Stack CREATE completed successfully",
9797
"stack_name": "postman_stack",
98-
"creation_time": "2015-02-03T20:07:39Z",
98+
"creation_time": "2015-02-03T20:07:39",
9999
"updated_time": null,
100100
"stack_status": "CREATE_COMPLETE",
101101
"id": "16ef0584-4458-41eb-87c8-0dc8d5f66c87"
@@ -110,8 +110,8 @@ const FullListOutput = `
110110
],
111111
"stack_status_reason": "Stack successfully updated",
112112
"stack_name": "gophercloud-test-stack-2",
113-
"creation_time": "2014-12-11T17:39:16Z",
114-
"updated_time": "2014-12-11T17:40:37Z",
113+
"creation_time": "2014-12-11T17:39:16",
114+
"updated_time": "2014-12-11T17:40:37",
115115
"stack_status": "UPDATE_COMPLETE",
116116
"id": "db6977b2-27aa-4775-9ae7-6213212d4ada"
117117
}
@@ -181,7 +181,7 @@ const GetOutput = `
181181
"stack_status_reason": "Stack CREATE completed successfully",
182182
"stack_name": "postman_stack",
183183
"outputs": [],
184-
"creation_time": "2015-02-03T20:07:39Z",
184+
"creation_time": "2015-02-03T20:07:39",
185185
"links": [
186186
{
187187
"href": "http://166.76.160.117:8004/v1/98606384f58d4ad0b3db7d0d779549ac/stacks/postman_stack/16ef0584-4458-41eb-87c8-0dc8d5f66c87",

openstack/orchestration/v1/stacks/results.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,15 @@ func ExtractStacks(page pagination.Page) ([]ListedStack, error) {
100100
thisStack := (rawStacks[i]).(map[string]interface{})
101101

102102
if t, ok := thisStack["creation_time"].(string); ok && t != "" {
103-
creationTime, err := time.Parse(time.RFC3339, t)
103+
creationTime, err := time.Parse(gophercloud.STACK_TIME_FMT, t)
104104
if err != nil {
105105
return res.Stacks, err
106106
}
107107
res.Stacks[i].CreationTime = creationTime
108108
}
109109

110110
if t, ok := thisStack["updated_time"].(string); ok && t != "" {
111-
updatedTime, err := time.Parse(time.RFC3339, t)
111+
updatedTime, err := time.Parse(gophercloud.STACK_TIME_FMT, t)
112112
if err != nil {
113113
return res.Stacks, err
114114
}
@@ -170,15 +170,15 @@ func (r GetResult) Extract() (*RetrievedStack, error) {
170170
b := r.Body.(map[string]interface{})["stack"].(map[string]interface{})
171171

172172
if date, ok := b["creation_time"]; ok && date != nil {
173-
t, err := time.Parse(time.RFC3339, date.(string))
173+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
174174
if err != nil {
175175
return nil, err
176176
}
177177
res.Stack.CreationTime = t
178178
}
179179

180180
if date, ok := b["updated_time"]; ok && date != nil {
181-
t, err := time.Parse(time.RFC3339, date.(string))
181+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
182182
if err != nil {
183183
return nil, err
184184
}
@@ -249,15 +249,15 @@ func (r PreviewResult) Extract() (*PreviewedStack, error) {
249249
b := r.Body.(map[string]interface{})["stack"].(map[string]interface{})
250250

251251
if date, ok := b["creation_time"]; ok && date != nil {
252-
t, err := time.Parse(time.RFC3339, date.(string))
252+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
253253
if err != nil {
254254
return nil, err
255255
}
256256
res.Stack.CreationTime = t
257257
}
258258

259259
if date, ok := b["updated_time"]; ok && date != nil {
260-
t, err := time.Parse(time.RFC3339, date.(string))
260+
t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
261261
if err != nil {
262262
return nil, err
263263
}

results.go

+3
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ func DecodeHeader(from, to interface{}) error {
113113
// RFC3339Milli describes a common time format used by some API responses.
114114
const RFC3339Milli = "2006-01-02T15:04:05.999999Z"
115115

116+
// Time format used in cloud orchestration
117+
const STACK_TIME_FMT = "2006-01-02T15:04:05"
118+
116119
/*
117120
Link is an internal type to be used in packages of collection resources that are
118121
paginated in a certain way.

0 commit comments

Comments
 (0)