File: ChangeLog

package info (click to toggle)
python-shade 1.30.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,172 kB
  • sloc: python: 33,348; sh: 111; makefile: 17
file content (1664 lines) | stat: -rw-r--r-- 62,800 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
CHANGES
=======

1.30.0
------

* Support v4-fixed-ip and v6-fixed-ip in create\_server
* Add release note about decoupling
* Decouple OpenStackCloud from Connection
* Trim away the cover and py35 jobs
* Remove the task manager
* Update the url in doc
* Cleanup .zuul.yaml
* Replace assertRaisesRegexp with assertRaisesRegex
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config
* Fix format in release notes
* Update reno for stable/rocky
* Add support for static routes
* python-shade expose MTU setting

1.29.0
------

* Remove redundant target in README
* Use valid filters to list floating IPs in neutron
* Fix doc mistake
* Make OpenStackCloud a subclass of Connection
* Fix for passing dict for get\_\* methods
* Switch bifrost jobs to nonvoting
* Finish migrating image tests to requests-mock
* Convert image\_client mocks in test\_shade\_operator
* Convert test\_caching to requests-mock
* Convert domain params tests to requests\_mock
* Use RequestsMockTestCase everywhere
* Improve Magnum cluster templates functions
* add release notes to README.rst
* Change 'Member' role reference to 'member'
* fix tox python3 overrides
* Remove shade-ansible-devel job
* Update ansible test job to run against stable-2.5
* Allow explicitly setting enable\_snat to either value
* Switch to iterable version of server listing (and expose iterable method)
* Fix recent pep8 issues
* Use openstack.config directly for config
* remove redundant information from release notes build
* Make name setting in connect\_as more resilient

1.28.0
------

* Backport connect\_as fix from openstacksdk
* Add get\_volume\_limits() support
* Trivial: Update pypi url to new url
* Build universal wheels
* add lower-constraints job
* list\_servers pagination support
* Rename python-openstacksdk to openstacksdk
* Updated from global requirements
* Updated from global requirements
* create\_subnet: Add filter on tenant\_id if specified
* Updated from global requirements
* Adds toggle port security on network create
* Add proper return value for validate\_node
* Add extra failure codes to bad request exception
* Make shade-tox-tips actually run shade tests
* Fix private\_v4 selection related to floating ip matching
* Functional test robustness and performance fix
* Update the invalid url in pages
* Fix for timeout=None in orchestration API calls
* Updated from global requirements
* Fetch tox dir and html reports
* Fix functional test about port
* Use openstacksdk for most transitive depends
* Allow not resolving outputs on get stacks
* Zuul: Remove project name
* Fix get\_server to work with use\_direct\_get
* Plumb use-direct-get through factory functions
* Switch to providing created\_at field for servers
* Shift voting flag and test\_matrix\_branch for ansible-devel job
* Updated from global requirements
* Update reno for stable/queens
* Add devel branches and override-checkout for ansible-devel job
* Shift doc requirements to doc/requirements.txt
* Use devstack functional test base job
* Updated from global requirements
* Remove inner\_exceptions plumbing
* Make meta.find\_best\_address() more generic
* Make floating IP to be prefered over fixed when looking for IP
* Updated from global requirements
* Fix address format used in find\_best\_address()
* Use Zuul v3 fetch-subunit-output
* List ansible/ansible in required-projects
* Add supported method for checking the network exts

1.26.0
------

* Throw OpenStackCloudCreateException on create errors
* Revert "Allow grant\_role to select users outside default domain"
* Add tag support to create\_stack
* Pass through all\_projects for get\_server
* Baremetal NIC list should return a list
* Fix batching for floating ips and ports
* Add retry logic mechanism
* Remove shade-functional-devstack-legacy
* Remove python-ironicclient
* De-client-ify fixed method get\_nic\_by\_mac
* Fix operator cloud get\_nic\_by\_mac
* De-client-ify many baremetal calls
* Add helper to wait until baremetal locks clear
* Add bifrost jobs
* Remove version arg from updated ironic calls
* De-client-ify machine patch operations
* De-client-ify baremetal machine port list
* De-clientify baremetal create/delete
* Avoid tox\_install.sh for constraints support
* Fix basepython setting in tox.ini
* Catch attrbute error for other APIs
* de-client-ify baremetal get\_machine
* De-client-ify baremetal node\_set\_provision\_state

1.25.0
------

* Implement availability\_zone\_hints for networks and routers
* Allow grant\_role to select users outside default domain
* Switch baremetal nics/ports tests over
* Complete move of baremetal machine tests
* Add method to cleanup autocreated image objects
* Remove setting of version/release from releasenotes
* Cleanup objects that we create on behalf of images
* Updated from global requirements
* Remove unnecessary roles reference
* Fix the devstack role for base functional job
* Document current\_user\_id in a release note
* Updated from global requirements
* Remove reference to context-managers from release note
* Fix creating a server with specifying scheduler\_hints
* Add helper property to get the current user id
* Add ability to work in other auth contexts
* Fix regression for list\_router\_interfaces
* Zuul: add file extension to playbook path
* Add project-template for functional tips jobs
* Turn on voting for functional tips jobs
* Add devstack jobs for zuul v3
* Add unittest tips jobs
* Support filtering servers in list\_servers using arbitrary parameters
* Handle glance image pagination links better

1.24.0
------

* Move role normalization to normalize.py
* Allow domain\_id for roles
* Add method to set bootable flag on volumes
* Image should be optional
* Add group parameter to create\_server
* Fix image task uploads
* Temporarily disable volume and os\_image functional tests
* Consume publish-openstack-sphinx-docs
* Record server.id in server creation exception
* Stop using openstack-doc-build
* Add support for network quota details command
* Add pypi and doc publication templates
* Updated from global requirements
* Fix search\_groups
* Remove EndpointCreate and \_project\_manager
* Remove use of legacy keystone client in functional tests
* Updated from global requirements
* Remove keystoneclient dependency
* De-client-ify Endpoint Create
* Refactor the create endpoint code
* Reorganize endpoint create code
* Switch to constraints version of tox job
* Convert test\_baremetal\_machine\_patch to testscenarios
* Add openstack-doc-build to shade
* Switch to normal tox-py35 job
* Switch to using stestr
* Migrate machine tests related to state transitions
* Migrate machine inspection tests to requests\_mock
* Migrate additional machine tests
* De-client-ify Endpoint Update
* De-client-ify List Role Assignments
* De-client-ify Endpoint List
* De-client-ify List Roles for User in v2.0
* De-client-ify Role Grant and Revoke
* De-client-ify Endpoint Delete
* De-client-ify User Password Update
* Begin converting baremetal node tests
* Remove improper exc handling in is\_user\_in\_group

1.23.0
------

* De-client-ify Remove User from Group
* Correct baremetal fake data model
* De-client-ify Check User in Group
* De-client-ify Add User to Group
* Use direct calls to get\_<resource>\_by\_id
* De-client-ify User Update
* Use new keystoneauth version discovery
* Fix typo in tox.ini
* Updated from global requirements
* Add tox\_install.sh to deal with upper-constraints
* Support domain\_id for user operations
* Add domain\_id to groups
* Add handling timeout in servers cleanup function
* Fix handling timeouts in volume functional tests cleanup
* Fix switched params
* Switch to \_is\_client\_version in list\_services
* De-client-ify Service Delete
* De-client-ify Service Update
* Fix cleaning of Cinder volumes in functional tests
* De-client-ify Service List
* Add option to force delete cinder volume
* Updated from global requirements
* Fix determining if IPv6 is supported when it's disabled
* Don't determine local IPv6 support if force\_ip4=True
* Consolidate client version checks in an utility method
* Add functional tests for Neutron QoS policies and rules
* Support to get resource by id
* Make get\_server\_console tests more resilient
* Make QoS rules required parameters to be not optional
* Use valid\_kwargs decorator in QoS related functions
* Add support for get details of available QoS rule type
* Use more specific asserts in tests
* Add Neutron QoS minimum bandwidth rule commands
* Update reno for stable/pike
* Add Neutron QoS dscp marking rule commands
* Updated from global requirements
* router: Ignore L3 HA ports when listing interfaces
* Initial commit of zuulv3 jobs
* Update the documentation link for doc migration
* Replace six.itervalues with dict.values()
* Consolidate the use of self.\_get\_and\_munchify
* De-client-ify Role Delete
* De-client-ify Role List
* De-client-ify Role Create
* De-client-ify Group Delete
* De-client-ify Group Update
* De-client-ify Group List
* De-client-ify Group Create
* Updated from global requirements
* Don't remove top-container element in the adapter
* Improve doc formatting a bit
* Added useful links to README
* Add Neutron QoS bandwidth limit rule commands
* De-client-ify Service Create
* Add debug to tox environment
* Remove hard-coding of timeout from API
* Make sure we don't fail open on bad input to validate
* Make sure we pass propert dicts to validate
* Add flag to include all images in image list
* Add support for list available QoS rule types
* Add validation of required QoS extensions in Neutron
* De-client-ify Domain Search
* De-client-ify Domain Get
* De-client-ify Domain List
* De-client-ify User Create
* Use the right variable name in userdata encoding
* Add searching for Neutron API extensions
* Add Neutron QoS policies commands
* De-client-ify Domain Update and Delete
* De-client-ify Domain Create
* switch from oslosphinx to openstackdocstheme
* reorganize docs using the new standard layout
* Don't remove top-container element for flavor, zones and server groups
* Updated from global requirements
* Don't remove top-container element for flavors and clusters
* Project update to change enabled only when provided

1.22.2
------

* Fix mismatch between port and port-id for REST call
* Remove a direct mocking of \_image\_client
* Fix image normalization when image has properties property
* Fix delete\_ips on delete\_server and add tests
* Fix config\_drive, scheduler\_hints and key\_name in create\_server
* Don't fail hard on 404 from neutron FIP listing
* Only search for floating ips if the server has them

1.22.1
------

* Don't try to delete fips on non-fip clouds
* Return an empty list on FIP listing failure

1.22.0
------

* Don't remove top-container element for server REST API calls
* base64 encode user\_data sent to create server
* Remove novaclient from shade's dependencies
* Translate final nova calls to REST
* Convert remaining nova tests to requests\_mock
* Convert host aggregates calls to REST
* Convert host aggregate tests to requests\_mock
* Convert hypervisor list to REST
* Convert hypervisor test to requests\_mock
* Convert Server Groups to REST
* Convert server group tests to requests\_mock
* Convert FakeSecGroup to dict
* Remove use of FakeServer from tests
* Don't remove top-container element for user and project REST API calls
* Convert keypairs calls to REST
* Add normalization and functional tests for keypairs
* Remove future document
* Add text about microversions
* Convert keypairs tests to requests\_mock
* Convert list\_servers to REST
* Convert list servers tests to requests\_mock
* Remove some unused mocks
* Break early from volume cleanup loop
* Add some release notes we forgot to add
* Retry to fetch paginated volumes if we get 404 for next link
* docs: make the first example easier to understand
* Properly expand server dicts after rebuild and update
* Migrate non-list server interactions to REST
* Increase timeout for volume tests
* Skip pagination test for now
* Fix urljoin for neutron endpoint
* Remove py34 and pypy in tox
* Replace six.iteritems() with .items()
* Update tests for server calls that aren't list
* Convert delete server calls to REST
* Convert delete server mocks to requests\_mock
* Convert get\_server\_by\_id
* RESTify create\_server
* Don't fetch extra\_specs in functional tests
* Convert create\_server mocks to request\_mock
* Add boot from volume unit tests
* Cleanup volumes in functional tests in parallel
* De-client-ify Project Update
* De-client-ify Project Create
* De-client-ify Project Delete
* De-client-ify Project List
* Don't remove top-container element for sec group REST API calls
* Improve grant docs on when and how use domain arg
* Don't remove top-container for stack and zone REST API calls
* Updated from global requirements
* Rename obj\_to\_dict and obj\_list\_to\_dict
* Don't remove top-container element for network REST API calls
* Convert data from raw clients to Munch objects
* Remove unneeded calls to shade\_exceptions
* Don't remove top-container element for volume REST API calls
* Use get\_discovery from keystoneauth
* De-client-ify User Ops
* Add links to user list dict
* Avoid keystoneclient making yet another discovery call
* Use shade discovery for keystone
* Updated from global requirements
* Migrate dns to new discovery method
* Generalize version discovery for re-use
* Pass hints to Cinder scheduler in create\_volume
* Remove designate client from shade's dependencies
* Do less work when deleting a server and floating ips
* Remove designateclient from commands related to recordsets
* Add pagination for the list\_volumes call
* Handle ports with no 'created\_at' attribute
* Update test\_user\_update\_password to overlay clouds.yaml
* Fix legacy clients helpers
* Remove unused occ version tie
* Remove designateclient from commands related to zones
* Add documentation about shade's use of logging
* Add novaclient interactions to http\_debug
* Set some logger names explicitly
* Add logging of non-standard error message documents
* Log specific error message from RetriableConnectionFailure
* Updated from global requirements
* Fix python3 issues in functional tests
* Add time reporting to Connection Retry message
* Log cloud name on Connection retry issues
* Use catalog endpoint on any errors in image version discovery

1.21.0
------

* Pick most recent rather than first fixed address
* Allow a user to submit start and end time as strings
* Fix get\_compute\_limits error message
* Fix get\_compute\_usage normalization problem
* Find private ip addr based on fip attachment
* Add ability to run any tox env in python3
* Fix issue with list\_volumes when pagination is used
* Make sure security\_groups is always a list
* Updated from global requirements
* Remove direct uses of nova\_client in functional tests
* Updated from global requirements
* Remove designateclient mock from recordset tests
* Convert list\_server\_security\_groups to REST
* Remove two unused nova tasks
* Include error message from server if one exists
* Optimize the case of versioned image endpoint in catalog
* Fix broken version discovery endpoints
* Remove cinderclient from install-tips.sh
* Fix tips jobs and convert Nova Floating IP calls
* Convert first ironic\_client test to REST
* Move mocks of designate API discovery calls to base test class
* Fix exception when using boot\_from\_volume for create\_server
* Move legacy client constructors to mixin
* Fix pep8 errors that were lurking
* Remove cinder client
* Make deprecated client helper method
* Add 'public' as a default interface for get\_mock\_url
* Add super basic machine normalization
* Remove designateclient mock from zones tests
* Remove direct calls to cinderclient
* Add "Multi Cloud with Shade" presentation
* Use REST API for volume quotas calls
* Add pprint and pformat helper methods
* extend security\_group and \_rule with project id
* Remove neutronclient from shade's dependencies
* Remove cinderclient mocks from quotas tests
* Fix Neutron floating IP test
* Use REST API for volume snapshot calls
* Remove usage of neutron\_client from functional tests
* Enable neutron service in server create and rebuild tests
* Replace neutronclient with REST API calls in FIP commands
* Updated from global requirements
* Add assert\_calls check testing volume calls with timeout enabled
* Remove has\_service mock from Neutron FIP tests
* Remove cinderclient mocks from snapshot tests
* Remove neutronclient mocks from floating ips tests
* Use REST API for volume attach and volume backup calls
* Replace neutronclient with REST API calls in ports commands
* Don't get ports info from unavailable neutron service
* Removing unsed fake methods and classes
* Replace neutronclient with REST API calls in quotas commands
* Replace neutronclient with REST API calls in security groups commands
* Use REST API for volume delete and detach calls
* Use REST API for volume type\_access and volume create
* Refactor the test\_create\_volume\_invalidates test
* Replace neutronclient with REST API calls in router commands
* Move REST error\_messages to error\_message argument
* Remove two lines that are leftover and broken
* Convert test\_role\_assignments to requests mock
* Remove neutronclient mocks from sec groups tests
* Remove neutronclient mocks from quotas tests
* Remove neutronclient mocks from ports tests
* Add optional error\_message to adapter.request
* Add in a bunch of TODOs about interface=admin
* Set interface=admin for keystonev2 keystone tests
* Add a \_normalize\_volume\_backups method
* Use requests-mock for the volume backup tests
* Remove neutronclient mocks from router tests
* Replace neutronclient with REST API calls in subnet commands
* Define a base function to remove unneeded attributes
* Remove neutronclient mocks from subnet tests
* Replace neutronclient with REST API calls in network commands
* Move router related tests to separate module
* Updated from global requirements
* Move subnet related tests to separate module
* Fix list\_servers tests to not need a ton of neutron
* Remove neutronclient mocks from network create tests
* Remove neutronclient mocks from network exceptions tests
* Remove neutronclient mocks from network delete tests
* Remove neutronclient mocks from network list tests
* Use requests-mock for the list/add/remove volume types tests
* Fix create/rebuild tests to not need a ton of neutron
* Don't do all the network stuff in the rebuild poll
* Move unit tests for list networks to test\_network.py file
* Include two transitive dependencies to work around conflicts
* Use requests-mock for all the attach/detach/delete tests
* Remove stray line
* Strip trailing slashes in test helper method

1.20.0
------

* Clarify some variable names in glance discovery
* \_discover\_latest\_version is private and not used
* Remove extra unneeded API calls
* Change versioned\_endpoint to endpoint\_uri
* Futureproof keystone unit tests against new occ
* Actually fix the app\_name protection
* Replace nova security groups with REST
* Transition nova security group tests to REST
* Remove dead ImageSnapshotCreate task
* Pass in app\_name information to keystoneauth
* Use REST for cinder list volumes
* Upgrade list volumes tests to use requests-mock
* Updated from global requirements
* Pass shade version info to session user\_agent
* Use keystone\_session in \_get\_raw\_client
* Don't fail on security\_groups=None
* Stop defaulting container\_format to ovf for vhd
* Don't run extra server info on every server in list
* Use REST for neutron floating IP list
* Migrate create\_image\_snapshot to REST
* Add ability to configure extra\_specs to be off
* Migrate server snapshot tests to requests\_mock

1.19.0
------

* Add test to validate multi \_ heat stack\_status
* Fixed stack\_status.split() exception
* Add server security groups to shade
* Updated from global requirements
* Add bare parameter to get/list/search server
* Update tox build settings
* Take care of multiple imports and update explanation
* Reenable hacking tests that already pass
* Enable H201 - don't throw bare exceptions
* Enable H238 - classes should be subclasses of object
* Fix a few minor annoyances that snuck in
* Don't use project-id in catalog tests
* Change metadata to align with team affiliation

1.18.1
------

* Move futures to requirements

1.18.0
------

* Remove python-heatclient and replace with REST
* Replace heatclient testing with requests\_mock
* Add normalization for heat stacks
* Add list\_availability\_zone\_names method
* Switch list\_floating\_ip\_pools to REST
* Strip out novaclient extra attributes
* Convert floating\_ip\_pools unittest to requests\_mock
* Migrate get\_server\_console to REST
* Migrate server console tests to requests\_mock
* Fix old-style mocking of nova\_client
* Accept device\_id option when updating ports
* Get rid of magnumclient dependency
* attach\_volume should always return a vol attachment
* wait\_for\_server: ensure we sleep a bit when waiting for server
* delete\_server: make sure we sleep a bit when waiting for server deletion
* Convert magnum service to requests\_mock
* RESTify cluster template tests
* Add normalization for cluster templates
* Get the ball rolling on magnumclient
* Use data when the request has a non-json content type
* Cleanup some workarounds for old OCC versions
* add separate releasenotes build
* Update sphinx and turn on warnings-is-error
* Convert test\_identity\_roles to requests mock
* change test\_endpoints to use requests mock

1.17.0
------

* Depend on pbr>=2.0.0
* Convert test\_services to requests\_mock
* Only do fnmatch compilation and logging once per loop
* Put fnmatch code back, but safely this time
* Replace keystone\_client mock in test\_groups
* Use unicode match for name\_or\_id
* Raise a more specific exception on nova 400 errors
* Don't glob match name\_or\_id
* Rename ClusterTemplate in OpenStackCloud docs
* Fix OpenStack and ID misspellings
* Remove service names in OpenStackCloud docs
* Convert test\_object to use .register\_uris
* Convert use of .register\_uri to .register\_uris
* Change request\_id logging to match nova format
* Actually normalize nova usage data
* Fix several concurrent shade gate issues
* Wait for volumes to detach before deleting them
* Add accessor method to pull URLs from the catalog
* Convert use of .register\_uri to .register\_uris
* Remove keystoneclient mocks in test\_caching for users
* Remove mock of keystoneclient for test\_caching for projects
* Remove mock of keystone where single projects are consumed
* Rename demo\_cloud to user\_cloud
* Add all\_projects parameter to list and search servers
* Convert test\_project to requests\_mock
* convert test\_domain to use requests\_mock
* Move mock utilies into base
* Convert test\_users to requests\_mock
* Add request validation to user v2 test
* Convert first V3 keystone test to requests\_mock
* Cleanup new requests\_mock stuff for test\_users
* First keystone test using request\_mock

1.16.0
------

* Add test of attaching a volume at boot time
* pass -1 for boot\_index of non-boot volumes
* Pass task to post\_task\_run hook
* Rename ENDPOINT to COMPUTE\_ENDPOINT
* Transition half of test\_floating\_ip\_neutron to requests\_mock
* Start switching neutron tests
* Port in log-on-failure code from zuul v3
* Honor cloud.private in the check for public connectivity
* Support globbing in name or id checks
* Stop spamming logs with unreachable address message
* Remove troveclient from the direct dependency list
* Move nova flavor interactions to REST
* Migrate flavor usage in test\_create\_server to request\_mock
* Migrate final flavor tests to requests\_mock
* Move flavor cache tests to requests\_mock
* Transition nova flavor tests to requests\_mock
* Add ability to create image from volume

1.15.0
------

* Use port list to find missing floating ips
* Process json based on content-type
* Copy in needed template processing utils from heatclient
* Upload images to swift as application/octet-stream
* Add ability to stream object directly to file
* Update coding document to mention direct REST calls
* Skip discovery for neutron
* Add helper test method for registering REST calls
* Do neutron version discovery and change one test
* Add raw client constructors for all the things
* Replace SwiftService with direct REST uploads
* Fix spin-lock behavior in \_iterate\_timeout
* Add helper script to install branch tips
* Basic volume\_type access
* Add support to task manager for async tasks
* Added list\_flavor\_access
* Removes unnecessary utf-8 encoding
* Log request ids when debug logging is enabled
* Honor image\_endpoint\_override for image discovery
* Rework limits normalization

1.14.1
------

* Handle pagination for glance images
* Add support for using the default subnetpool
* Remove link to modindex

1.14.0
------

* Fix exception name typo
* Add failure check to node\_set\_provision\_state
* Add test to verify devstack keystone config
* Make assert\_calls a bit more readable
* Update swift exception tests to use 416
* Make delete\_object return True and False
* Switch swift calls to REST
* Stop using full\_listing in prep for REST calls
* Stop calling HEAD before DELETE for objects
* Replace mocks of swiftclient with request\_mock
* Put in magnumclient service\_type workaround
* Let use\_glance handle adding the entry to self.calls
* Combine list of calls with list of request assertions
* Extract helper methods and change test default to v3
* Make munch aware assertEqual test method
* Extract assertion method for asserting calls made
* Change get\_object\_metadata to use REST
* Update test of object metadata to mock requests
* Add release notes and an error message for release
* Add total image import time to debug log
* Clear the exception stack when we catch and continue
* Magnum's keystone id is container-infra, not container
* Stop double-reporting extra\_data in exceptions
* Pass md5 and sha256 to create\_object sanely
* Convert glance parts of task test to requests\_mock
* Collapse base classes in test\_image
* Skip volume backup tests on clouds without swift
* Add new attributes to floating ips
* Add test to trap for missing services
* Change fixtures to use https
* Honor image\_api\_version when doing version discovery
* Replace swift capabilities call with REST
* Change register\_uri to use the per-method calls
* Convert test\_create\_image\_put\_v2 to requests\_mock
* Remove caching config from test\_image
* Move image tests from caching to image test file
* Remove glanceclient and warlock from shade
* Remove a few glance client mocks we missed
* Change image update to REST
* Make available\_floating\_ips use normalized keys
* Fix \_neutron\_available\_floating\_ips filtering
* Stop telling users to check logs
* Plumb nat\_destination through for ip\_pool case
* Update image downloads to use direct REST
* Move image tasks to REST
* Add support for limits
* Tox: optimize the \`docs\` target
* Replace Image Create/Delete v2 PUT with REST calls
* Replace Image Creation v1 with direct REST calls
* Remove test of having a thundering herd
* Pull service\_type directly off of the Adapter
* Add compute usage support

1.13.2
------

* Re-add metadata to image in non-strict mode
* Added documentation for delete\_image()
* Add an e to the word therefore
* Allow server to be snapshot to be name, id or dict
* Add docstring for create\_image\_snapshot
* Allow security\_groups to be a scalar
* Remove stray debugging line
* Start using requests-mock for REST unit tests
* Have OpenStackHTTPError inherit from HTTPError
* Use REST for listing images
* Create and use a Adapter wrapper for REST in TaskManager
* Normalize volumes
* Expose visibility on images

1.13.1
------

* Be specific about protected being bool
* Remove pointless and fragile unittest
* Fail up to date check on one out of sync value
* Normalize projects
* Cache file checksums by filename and mtime
* Only generate checksums if neither is given
* Make search\_projects a special case of list\_projects
* Make a private method more privater

1.13.0
------

* Add unit test to show herd protection in action
* Refactor out the fallback-to-router logic
* Update floating ip polling to account for DOWN status
* Use floating-ip-by-router
* Don't fail on trying to delete non-existant images
* Allow server-side filtering of Neutron floating IPs
* list\_servers(): thread safety: never return bogus data
* Depend on normalization in list\_flavors
* Add unit tests for image and flavor normalization
* Add strict mode for trimming out non-API data
* list\_security\_groups: enable server-side filtering
* Don't fail image create on failure of cleanup
* Try to return working IP if we get more than one
* Add test for os\_keystone\_role Ansible module
* Document and be more explicit in normalization
* Add external\_ipv4\_floating\_networks
* Logging: avoid string interpolation when not needed
* Add a devstack plugin for shade
* Allow setting env variables for functional options
* Add test for os\_keystone\_domain Ansible module
* Add abililty to find floating IP network by subnet
* Remove useless mocking in tests/unit/test\_shade.py
* Fix TypeError in list\_router\_interfaces
* Fix a NameError exc in operatorcloud.py
* Fix some docstrings
* Fix a NameError exception in \_nat\_destination\_port
* Implement create/get/list/delete volume backups
* Move normalize\_neutron\_floating\_ips to \_normalize
* Delete image if we timeout waiting for it to upload
* Add description field to create\_user method
* Allow boolean values to pass through to glance
* Update location info to include object owner
* Move and fix security group normalization
* Add location field to flavors
* Move normalize\_flavors to \_normalize
* Move image normalize calls to \_normalize
* Add location to server record
* Start splitting normalize functions into a mixin
* Make sure we're matching image status properly
* Normalize images
* Add helper properties to generate location info
* Update simple\_logging to not not log request ids by default
* Add simple field for disabled flavors
* List py35 in the default tox env list
* remove\_router\_interface: check subnet\_id or port\_id is provided
* Add test for os\_group Ansible module
* Add support for jmespath filter expressions

1.12.1
------

* Add libffi-dev to bindep.txt

1.12.0
------

* Use list\_servers for polling rather than get\_server\_by\_id
* Fix up image and flavor by name in create\_server
* Batch calls to list\_floating\_ips
* Allow str for ip\_version param in create\_subnet
* Skip test creating provider network if one exists
* Revert per-resource dogpile.cache work
* Fix two minor bugs in generate\_task\_class
* Change naming style of submitTask
* Add submit\_function method to TaskManager
* Refactor TaskManager to be more generic
* Poll for image to be ready for PUT protocol
* Cleanup old internal/external network handling
* Support dual-stack neutron networks
* Rename \_get\_free\_fixed\_port to \_nat\_destination\_port
* Log request ids
* Detect the need for FIPs better in auto\_ip
* Delete objname in image\_delete
* Move list\_server cache to dogpile
* Ensure per-resource caches work without global cache
* Support more than one network in create\_server
* Add support for fetching console logs from servers
* Allow image and flavor by name for create\_server
* Allow object storage endpoint to return 404 for missing /info endpoint
* Batch calls to list\_floating\_ips
* Get the status of the ip with ip.get('status')
* Stop getting extra flavor specs where they're useless
* Change deprecated assertEquals to assertEqual
* Use cloud fixtures from the unittest base class
* Add debug logging to unit test base class
* Update HACKING.rst with a couple of shade specific notes
* Only run flake8 on shade directory
* Add bindep.txt file listing distro depends
* Set physical\_network to public in devstack test
* Use "image" as argument for Glance V1 upload error path
* Honor default\_interface OCC setting in create\_server
* Validate config vs reality better than length of list
* Base auto\_ip on interface\_ip not public\_v4
* Add tests to show IP inference in missed conditions

1.11.1
------

* Deal with clouds that don't have fips betterer

1.11.0
------

* Infer nova-net security groups better
* Add update\_endpoint()
* Protect cinderclient import
* Do not instantiate logging on import
* Don't supplement floating ip list on clouds without
* Move list\_ports to using dogpile.cache
* Create and return per-resource caches
* Lay the groundwork for per-resource cache

1.10.0
------

* Rename baymodel to cluster\_template
* Make shared an optional keyword param to create\_network
* Add a 'meta' passthrough parameter for glance images
* Allow creating a floating ip on an arbitrary port
* Add ability to upload duplicate images
* Fix requirements for broken os-client-config
* Add new test with betamax for create flavors
* Stop creating cloud objects in functional tests
* Move list\_magnum\_services to OperatorCloud
* Go ahead and admit that we return Munch objects
* Depend on python-heatclient>=1.0.0
* Add update\_server method
* Remove discover from test-requirements
* Update hacking version
* Change operating to interacting with in README
* Add floating IPs to server dict ourselves
* Treat DELETE\_COMPLETE stacks as NotFound
* Add support for changing metadata of compute instances
* Use keystoneauth.betamax for shade mocks
* Add network quotas support
* Add reno note for create\_object and update\_object
* Add magnum services call to shade
* Add function to update object metadata
* incorporate unit test in test\_shade.py, remove test\_router.py fix tenant\_id in router add functional test test\_create\_router\_project to functional/test\_router.py add unit/test\_router.py add project\_id to create\_router
* Add magnum baymodel calls to shade
* Make it easier to give swift objects metadata
* Add volume quotas support
* Add quotas support

1.9.0
-----

* Add error logging around FIP delete
* Be more precise in our detection of provider networks
* Rework delete\_unattached\_floating\_ips function
* Make sure Ansible tests only use cirros images
* Don't fail getting flavors if extra\_specs is off
* Add initial setup for magnum in shade
* Amend the valid fields to update on recordsets
* Move cloud fixtures to independent yaml files
* Add support for host aggregates
* Add support for server groups
* Add release note doc to dev guide

1.8.0
-----

* Add Designate recordsets support
* Add support for Designate zones
* Fail if FIP doens't have the requested port\_id
* Add public helper method for cleaning floating ips
* Rework floating ip use test to be neutron based
* Delete floating IP on nova refresh failure
* Retry floating ip deletion before deleting server
* Have delete\_server use the timed server list cache
* Document create\_stack
* delete\_stack add wait argument
* Implement update\_stack
* Fix string formatting
* Add domain\_id param to project operations
* Remove get\_extra parameter from get\_flavor
* Honor floating\_ip\_source: nova everywhere
* Use configured overrides for internal/external
* Start stamping the has\_service debug messages
* Consume floating\_ip\_source config value
* Honor default\_network for interface\_ip
* Refactor the port search logic
* Allow passing nat\_destination to get\_active\_server
* Add nat\_destination filter to floating IP creation
* Refactor guts of \_find\_interesting\_networks
* Search subnets for gateway\_ip to discover NAT dest
* Consume config values for NAT destination
* Return boolean from delete\_project
* Correct error message when domain is required
* Add release note about the swift Large Object changes
* Delete image objects after failed upload
* Delete uploaded swift objects on image delete
* Add option to control whether SLO or DLO is used
* Upload large objects as SLOs
* Set min\_segment\_size from the swift capabilities
* Don't use singleton dicts unwittingly
* Update func tests for latest devstack flavors
* Fix search\_domains when not passing filters
* Wrap stack operations in a heat\_exceptions
* Use event\_utils.poll\_for\_events for stack polling
* Follow name\_or\_id pattern on domain operations

1.7.0
-----

* Remove conditional blocking on server list
* Cache ports like servers
* Workaround multiple private network ports
* Reset network caches after network create/delete
* Fix test\_list\_servers unit test
* Fix test\_get\_server\_ip unit test
* Remove duplicate FakeServer class from unit tests
* Mutex protect internal/external network detection
* Support provider networks in public network detection
* Re-allow list of networks for FIP assignment
* Support InsecureRequestWarning == None
* Add release notes for new create\_image\_snapshot() args
* Split waiting for images into its own method

1.6.2
-----

* Add wait support to create\_image\_snapshot()
* Also add server interfaces for server get
* Import os module as it is referenced in line 2097
* Fix grant\_role docstring

1.6.1
-----

* Add default value to wait parameter

1.6.0
-----

* Use OpenStackCloudException when \_delete\_server() raises
* Always do network interface introspection
* Fix race condition in deleting volumes
* Use direct requests for flavor extra\_specs set/unset
* Fix search\_projects docstring
* Fix search\_users docstring
* Add new tasks to os\_port playbook
* Deal with is\_public and ephemeral in normalize\_flavors
* Create clouds in Functional Test base class
* Run extra specs through TaskManager and use requests
* Bug fix: Make set/unset of flavor specs work again
* Refactor unit tests to construct cloud in base
* Add constructor param to turn on inner logging
* Log inner\_exception in test runs
* Pass specific cloud to openstack\_clouds function
* Make get\_stack fetch a single full stack
* Add environment\_files to stack\_create
* Add normalize stack function for heat stack\_list
* Add wait\_for\_server API call
* Update create\_endpoint()
* Make delete\_project to call get\_project
* Test v3 params on v2.0 endpoint; Add v3 unit
* Add update\_service()
* Use network in neutron\_available\_floating\_ips
* Allow passing project\_id to create\_network

1.5.1
-----

* In the service lock, reset the service, not the lock
* Bug fix: Do not fail on routers with no ext gw

1.5.0
-----

* Mock glance v1 image with object not dict
* Use warlock in the glance v2 tests
* Fixes for latest cinder and neutron clients
* Add debug message about file hash calculation
* Pass username/password to SwiftService
* Also reset swift service object at upload time
* Invalidate volume cache when waiting for attach
* Use isinstance() for result type checking
* Add test for os\_server Ansible module
* Fix create\_server() with a named network
* os\_router playbook cleanup
* Fix heat create\_stack and delete\_stack
* Catch failures with particular clouds
* Allow testing against Ansible dev branch
* Recognize subclasses of list types
* Add ability to pass just filename to create\_image
* Add support for provider network options
* Remove mock testing of os-client-config for swift
* Add a method to download an image from glance
* Add test option to use Ansible source repo
* Add enabled flag to keystone service data
* Clarify Munch object usage in documentation
* Add docs tox target
* create\_service() should normalize return value
* Prepare functional test subunit stream for collection
* Use release version of Ansible for testing
* Modify test workaround for extra\_dhcp\_opts
* Fix for stable/liberty job
* granting and revoking privs to users and groups
* Add release note for FIP timeout fix
* include keystonev2 role assignments
* Add release note for new get\_object() API call
* Pass timeout through to floating ip creation
* Fix normalize\_role\_assignments() return value
* Remove a done todo list item
* add the ability to get an object back from swift
* allow for updating passwords in keystone v2
* Support neutron subnets without gateway IPs
* Save the adminPass if returned on server create
* Fix unit tests that validate client call arguments
* Allow inventory filtering by cloud name
* Add range search functionality

1.4.0
-----

* correct rpmlint errors
* Add tests for stack search API
* Fix filtering in search\_stacks()
* Bug fix: Cinder v2 returns bools now
* Normalize server objects
* Make server variable expansion optional
* Have inventory use os-client-config extra\_config
* Fix unittest stack status
* Fix shade tests with OCC 1.13.0
* No Mutable Defaults
* Add option to enable HTTP tracing
* Add support for querying role assignments
* Add inventory unit tests
* Fix server deletes when cinder isn't available
* Pedantic spelling correction
* Bug fix: create\_stack() fails when waiting
* Stack API improvements
* Bug fix: delete\_object() returns True/False
* Add wait support for ironic node [de]activate
* Improve test coverage: container/object list API
* Make a new swift client prior to each image upload
* Improve test coverage: volume attach/detach API
* Bug fix: Allow name update for domains
* Improve test coverage: network delete API
* Bug fix: Fix pass thru filtering in list\_networks
* Consider 'in-use' a non-pending volume for caching
* Improve test coverage: private extension API
* Improve test coverage: hypervisor list
* Use reno for release notes
* Improve test coverage: list\_router\_interfaces API
* Change the client imports to stop shadowing
* Use non-versioned cinderclient constructor
* Improve test coverage: server secgroup API
* Improve test coverage: container API

1.3.0
-----

* Improve test coverage: project API
* Improve test coverage: user API
* Provide a better comment for the object short-circuit
* Remove cinderclient version pin
* Add functional tests for boot from volume
* Enable running tests against RAX and IBM
* Don't double-print exception subjects
* Accept objects in name\_or\_id parameter
* Normalize volume objects
* Fix argument sequences for boot from volume
* Make delete\_server() return True/False
* Adjust conditions when enable\_snat is specified
* Only log errors in exceptions on demand
* Fix resource leak in test\_compute
* Clean up compute functional tests
* Stop using nova client in test\_compute
* Retry API calls if they get a Retryable failure
* Fix call to shade\_exceptions in update\_project
* Add test for os\_volume Ansible module

1.2.0
-----

* Fix for min\_disk/min\_ram in create\_image API
* Add test for os\_image Ansible module
* Fix warnings.filterwarnings call
* boot-from-volume and network params for server create
* Do not send 'router:external' unless it is set
* Add test for os\_port Ansible module
* Allow specifying cloud name to ansible tests
* Fix a 60 second unit test
* Make sure timeouts are floats
* Remove default values from innner method
* Bump os-client-config requirement
* Add test for os\_user\_group Ansible module
* Add user group assignment API
* Add test for os\_user Ansible module
* Add test for os\_nova\_flavor Ansible module
* Stop using uuid in functional tests
* Make functional object tests actually run
* Add Ansible object role
* Fix for create\_object
* Four minor fixes that make debugging better
* Add new context manager for shade exceptions, final
* Add ability to selectively run ansible tests
* Add Ansible testing infrastructure
* Add new context manager for shade exceptions, cont. again
* Pull server list cache setting via API
* Plumb fixed\_address through add\_ips\_to\_server
* Let os-client-config handle session creation
* Remove designate support
* Remove test reference to api\_versions
* Update dated project methods
* Fix incorrect variable name
* Add CRUD methods for keystone groups
* Bump ironicclient depend
* Make sure cache expiration time is an int
* Add new context manager for shade exceptions, cont
* Use the requestsexceptions library
* Don't warn on configured insecure certs
* Normalize domain data
* Normalization methods should return Munch
* Fix keystone domain searching
* Add new context manager for shade exceptions
* teach shade how to list\_hypervisors
* Update ansible router playbook
* Stop calling obj\_to\_dict everwhere
* Always return a munch from Tasks
* Make raw-requests calls behave like client calls
* Minor logging improvements
* Remove another extraneous get for create\_server
* Don't wrap wrapped exception in create\_server
* Skip an extra unneeded server get
* Don't wrap wrapped exceptions in operatorcloud.py
* Add docs for create\_server
* Update README to not reference client passthrough
* Move ironic client attribute to correct class
* Move \_neutron\_exceptions context manager to \_utils
* Fix misspelling of ironic state name
* Timeout too aggressive for inspection tests
* Split out OpenStackCloud and OperatorCloud classes
* Adds volume snapshot functionality to shade
* Fix the return values of create and delete volume
* Remove removal of jenkins clouds.yaml
* Consume /etc/openstack/clouds.yaml
* Add logic to support baremetal inspection

1.0.0
-----

* node\_set\_provision\_state wait/timeout support
* Add warning suppression for keystoneauth loggers
* Suppress Rackspace SAN warnings again
* return additional detail about servers
* expand security groups in get\_hostvars\_from\_server
* add list\_server\_security\_groups method
* Add swift object and container list functionality
* Translate task name in log message always
* Add debug logging to iterate timeout
* Change the fallback on server wait to 2 seconds
* Add entry for James Blair to .mailmap
* handle routers without an external gateway in list\_router\_interfaces
* Fix projects list/search/get interface
* Remove unused parameter from create\_stack
* Move valid\_kwargs decorator to \_utils
* Add heat support
* Abstract out the name of the name key
* Add heatclient support
* Use OCC to create clouds in inventory
* novaclient 2.32.0 does not work against rackspace
* Support private address override in inventory
* Normalize user information
* Set cache information from clouds.yaml
* Make designate record methods private for now
* Rely on devstack for clouds.yaml
* Rename identity\_domain to domain
* Rename designate domains to zones
* Replace Bunch with compatible fork Munch
* Make a few IP methods private

0.16.0
------

* Push filtering down into neutron
* Make floating IP func tests less racey
* Make router func tests less racey
* Create neutron floating ips with server info
* Undecorate cache decorated methods on null cache
* Tweak create\_server to use list\_servers cache
* Add API method to list router interfaces
* Handle list\_servers caching more directly
* Split the nova server active check out
* Pass wait to add\_ips\_to\_server
* Fix floating ip removal on delete server
* Document filters for get methods
* Add some more docstrings
* Remove shared=False from get\_internal\_network
* Make attach\_instance return updated volume object
* Tell git to ignore .eggs directory
* Align users with list/search/get interface
* Add script to document deleting private networks
* Add create/delete for keystone roles
* Accept and emit union of keystone v2/v3 service
* Use keystone v3 service type argument
* Add get/list/search methods for identity roles
* Add methods to update internal router interfaces
* Add get\_server\_by\_id optmization
* Add option to floating ip creation to not reuse
* Provide option to delete floating IP with server
* Update python-troveclient requirement
* Add a private method for nodepool server vars
* Update required ironicclient version
* Split get\_hostvars\_from\_server into two
* Invalidate image cache everytime we make a change
* Use the ipaddress library for ip calculations
* Optimize network finding
* Fix create\_image\_snapshot

0.15.0
------

* Return IPv6 address for interface\_ip on request
* Plumb wait and timout down to add\_auto\_ip
* Pass parameters correctly for image snapshots
* Fix mis-named has\_service entry
* Provide shortcut around has\_service
* Provide short-circuit for finding server networks
* Update fake to match latest OCC
* Dont throw exception on missing service
* Add functional test for private\_v4
* Attempt to use glanceclient strip\_version
* Fix baremetal port deletion

0.14.0
------

* Add router ansible test and update network role
* Trap exceptions in helper functions
* Add more info to some exceptions
* Allow more complex router updates
* Allow more complex router creation
* Allow creating externally accessible networks
* Handle glance v1 and v2 difference with is\_public
* Get defaults for image type from occ
* Use the get\_auth function from occ
* Add a NullHandler to all of our loggers
* Remove many redundant debug logs
* Make inner\_exception a private member
* Just do the error logging in the base exception
* Store the inner exception when creating an OSCException
* Start using keystoneauth for keystone sessions
* Move keystone to common identity client interface
* Bump the default API version for python-ironicclient
* Avoid 2.27.0 of novaclient
* unregister\_machine blocking logic
* Fix exception lists in functional tests
* Migrate neutron to the common client interface
* Remove last vestige of glanceclient being different
* Pass timeout to session, not constructors
* Delete floating ip by ID instead of name

0.13.0
------

* Move glanceclient to new common interface
* Addition of shade unregister\_machine timeout
* Initial support for ironic enroll state
* Add flavor access API
* Make client constructor calls consistent
* Change functional testing to use clouds.yaml
* Add a developer coding standards doc

0.12.0
------

* Add flavor functional tests
* Bug fix for obj\_to\_dict()
* Add log message for when IP addresses fail
* Add methods to set and unset flavor extra specs
* Listing flavors should pull all flavors
* Be consistent with accessing server dict
* Throw an exception on a server without an IP
* Be smarter finding private IP
* Clarify future changes in docs
* Remove meta.get\_server\_public\_ip() function
* Document create\_object
* Remove unused server functions
* Fix two typos and one readablity on shade documentation
* Pass socket timeout to swiftclient
* Process config options via os-client-config
* Update ansible subnet test
* Fix test\_object.py test class name
* Fix for swift servers older than 1.11.0
* Use disable\_vendor\_agent flags in create\_image
* Use os-client-config SSL arg processing
* Correctly pass the server ID to add\_ip\_from\_pool
* Add initial designate read-only operations
* Always use a fixed address when attaching a floating IP to a server
* Catch leaky exceptions from create\_image()

0.11.0
------

* Add flavor admin support
* Fix debug logging lines
* Account for Error 396 on Rackspace
* Fix small error in README.rst
* Allow use of admin tokens in keystone
* Fix identity domain methods
* Update ansible module playbooks
* Rework how we get domains
* Fix "Bad floatingip request" when multiple fixed IPs are present
* Add Ansible module test for subnet
* Add Ansible module test for networks
* Add a testing framework for the Ansible modules
* Support project/tenant and domain vs. None
* Add CRUD methods for Keystone domains

0.10.0
------

* Raise exception for nova egress secgroup rule
* Modify secgroup rule processing
* Make sure we are returning floating IPs in current domain
* Correctly name the functional TestImage class

0.9.0
-----

* Locking ironic API microversion
* Add Neutron/Nova Floating IP tests
* Adding SSL arguments to glance client
* Remove list\_keypair\_dicts method
* Do not use environment for Swift unit tests
* Add Neutron/Nova Floating IP attach/detach
* Fix available\_floating\_ip when using Nova network
* Skip Swift functional tests if needed
* Fix AttributeError in keystone functional tests
* Update keypair APIs to latest standards
* Add Neutron/Nova Floating IP delete (i.e. deallocate from project)
* Add Neutron/Nova Floating IP create (i.e. allocate to project)
* Convert ironicclient node.update() call to Task
* Convert ironicclient node.get() call to Task
* Move TestShadeOperator in a separate file
* Fix intermittent error in unit tests
* Pin cinderclient
* Add comment explaining why finding an IP is hard
* Add IPv6 to the server information too
* Use accessIPv4 and accessIPv6 if they're there
* Add Neutron/Nova Floating IP list/search/get

0.8.2
-----

* Catch all exceptions around port for ip finding
* Centralize exception management for Neutron

0.8.1
-----

* Fix MD5 headers regression
* Ensure that service values are strings
* Pass token and endpoint to swift os\_options
* Convert ironicclient node.validate() call to Task
* Convert ironicclient node.list() call to Task
* Return True/False for delete methods

0.8.0
-----

* Add delete method for security group rules
* Add get\_server\_external\_ipv6() to meta
* Refactor find\_nova\_addresses()
* Replace get\_server\_public\_ip() with get\_server\_external\_ipv4()
* Add get\_server\_external\_ipv4() to meta
* Add more parameters to update\_port()
* Improve documentation for create\_port()
* Correct get\_machine\_by\_mac and add test
* Add create method for secgroup rule
* Coalesce port values in secgroup rules
* Move \_utils unit testing to separate file

0.7.0
-----

* Add secgroup update API
* Add very initial support for passing in occ object
* Don't emit volume tracebacks in inventory debug
* Return new secgroup object
* Port ironic client port.get\_by\_address() to a Task
* Port ironic client port.get() to a Task
* Add inventory command to shade
* Extract logging config into a helper function
* Add create method for security groups
* Add delete method for security groups
* Switch to SwiftService for segmented uploads
* Add support to get a SwiftService object
* Add port resource methods
* Split security group list operations
* Add keystone endpoint resource methods
* Add Keystone service resource methods
* Rely on defaults being present
* Consume os\_client\_config defaults as base defaults
* Remove hacking select line
* Add design for an object interface
* Port ironic client node.list\_ports() to a Task
* Port ironic client port.list() to a Task
* Split list filtering into \_utils

0.6.5
-----

* Cast nova server object to dict after refetch
* Split iterate\_timeout into \_utils
* Cleanup OperatorCloud doc errors/warnings
* Update pbr version pins

0.6.4
-----

* Set metadata headers on object create

0.6.3
-----

* Always refresh glanceclient for tokens validity
* Don't cache keystone tokens as KSC does it for us
* Make sure glance image list actually runs in Tasks

0.6.2
-----

* Make caching work when cloud name is None
* Handle novaclient exception in delete\_server wait
* Support PUT in Image v2 API
* Make ironic use the API version system
* Catch client exceptions during list ops
* Replace ci.o.o links with docs.o.o/infra
* Pass OS\_ variables through to functional tests
* Improve error message on auth\_plugin failure
* Handle novaclient exceptions during delete\_server
* Add floating IP pool resource methods
* Don't error on missing certs

0.6.1
-----

* Stop leaking server objects
* Use fakes instead of mocks for data objects
* Update images API for get/list/search interface
* Rewrite extension checking methods
* Update server API for get/list/search interface
* Fix delete\_server when wait=True
* Return Bunch objects instead of plain dicts

0.6.0
-----

* Switch tasks vs put on a boolean config flag
* Enhance the OperatorCloud constructor
* Convert node\_set\_provision\_state to task
* Update recent Ironic exceptions
* Enhance error message in update\_machine
* Rename get\_endpoint() to get\_session\_endpoint()
* Make warlock filtering match dict filtering
* Fix exception re-raise during task execution for py34
* Add more tests for server metadata processing
* Add thread sync points to Task
* Add early service fail and active check method
* Add a method for getting an endpoint
* Raise a shade exception on broken volumes
* Split exceptions into their own file
* Add minor OperatorCloud documentation
* Allow for int or string ID comparisons
* Change ironic maintenance method to align with power method
* Add Ironic machine power state pass-through
* Update secgroup API for new get/list/search API
* Fix functional tests to run against live clouds
* Add functional tests for create\_image
* Do not cache unsteady state images
* Add tests and invalidation for glance v2 upload
* Allow complex filtering with embedded dicts
* Call super in OpenStackCloudException
* Add Ironic maintenance state pass-through
* Add update\_machine method
* Replace e.message with str(e)
* Update flavor API for new get/list/search API
* Add a docstring to the Task class
* Remove REST links from inventory metadata
* Have get\_image\_name return an image\_name
* Fix get\_hostvars\_from\_server for volume API update
* Add test for create\_image with glance v1
* Explicitly request cloud name in test\_caching
* Add test for caching in list\_images
* Test flavor cache and add invalidation
* Fix major update\_user issues
* create\_user should return the user created
* Test that deleting user invalidates user cache
* Use new getters in update\_subnet and update\_router
* Update volume API for new getters and dict retval
* Search methods for networks, subnets and routers
* Update unregister\_machine to use tasks
* Invalidate user cache on user create
* Update register\_machine to use tasks
* Add test of OperatorCloud auth\_type=None
* Allow name or ID for update\_router()
* Allow name or ID for update\_subnet()
* Add test for user\_cache
* MonkeyPatch time.sleep in unit tests to avoid wait
* Add patch\_machine method and operator unit test substrate
* Wrap ironicclient methods that leak objects
* Basic test for meta method obj\_list\_to\_dict
* Change Ironic node lookups to support names
* Add meta method obj\_list\_to\_dict
* Add test for invalidation after delete
* Deprecate use of cache in list\_volumes
* Invalidate volume list cache when creating
* Make cache key generator ignore cache argument
* Add get\_subnet() method
* Add API method update\_subnet()
* Add API method delete\_subnet()
* Add API method create\_subnet()
* Unsteady state in volume list should prevent cache
* Test volume list caching
* Allow passing config into shade.openstack\_cloud
* Refactor caching to allow per-method invalidate
* Add tests for caching
* Rename auth\_plugin to auth\_type
* Update os-client-config min version
* Fix volume operations
* Fix exception in update\_router()
* Add API auto-generation based on docstrings

0.5.0
-----

* Fix docs nit - make it clear the arg is a string
* Poll on the actual image showing up
* Add delete\_image call
* Skip passing in timeout to glance if it's not set
* Add some unit test for create\_server
* Migrate API calls to task management
* Fix naming inconsistencies in rebuild\_server tests
* Add task management framework
* Namespace caching per cloud
* Allow for passing cache class in as a parameter
* Add 'rebuild' to shade
* Let router update to specify external gw net ID
* Create swift container if it does not exist
* Fix a use of in where it should be equality
* Disable warnings about old Rackspace certificates
* Pass socket timeout to all of the Client objects
* Add methods for logical router management
* Add api-level timeout parameter
* Custom exception needs str representation

0.4.0
-----

* Add basic unit test for shade.openstack\_cloud
* Small fixes found working on ansible modules
* Disable dogpile.cache if cache\_interval is None
* Add support for keystone projects
* Fix up and document input parameters
* Handle image name for boot from volume
* Clean up race condition in functional tests
* Add initial compute functional tests to Shade
* Add cover to .gitignore
* Add ironic node deployment support
* Align cert, key, cacert and verify with requests
* Add methods to create and delete networks
* Add behavior to enable ironic noauth mode
* Reorder envlist to avoid the rm -fr .testrepository when running tox -epy34

0.3.0
-----

* Make image processing work for v2
* Utilize dogpile.cache for caching
* Add support for volume attach/detach
* Do not allow to pass \*-cache on init
* Import from v2 instead of v1\_1
* Add unit test for meta.get\_groups\_from\_server
* Add unit tests for meta module
* Add a method to create image snapshots from nova
* Return extra information for debugging on failures
* Don't try to add an IP if there is one
* Revamp README file
* Add hasExtension method to check cloud capabilities
* Don't compare images when image is None
* Add service\_catalog property
* Remove unnecessary container creation
* Make is\_object\_stale() a public method
* Fix broken object hashing
* Adds some more swift operations
* Adds get\_network() and list\_networks function
* Add support for creating/deleting volumes
* Get auth token lazily
* Pass service\_name to nova\_client constructor
* Create a neutron client
* Port to use keystone sessions and auth plugins
* Add consistent methods for returning dicts
* Add get\_flavor method
* Make get\_image return None
* Use the "iterate timeout" idiom from nodepool
* Fix obj\_to\_dict type filtering
* Adds a method to get security group
* Pull in improvements from nodepool
* Remove positional args to create\_server
* Don't include deleted images by default
* Add image upload support
* Refactor glance version call into method
* Support uploading swift objects
* Debug log any time we re-raise an exception
* Remove py26 support
* Explain obj\_to\_dict
* Fix python3 unittests
* Change meta info to be an Infra project
* Fix flake8 errors and turn off hacking
* Fix up copyright headers
* Add better caching around volumes
* Support boot from volume
* Make get\_image work on name or id
* Add some additional server meta munging
* Support injecting mount-point meta info
* Move ironic node create/delete logic into shade
* Refactor ironic commands into OperatorCloud class
* fix typo in create\_server
* Don't die if we didn't grab a floating ip
* Process flavor and image names
* Stop prefixing values with slugify
* Don't access object members on a None
* Make all of the compute logic work
* Add delete and get server name
* Fixed up a bunch of flake8 warnings
* Add in server metadata routines
* Plumb through a small name change for args
* Consume project\_name from os-client-config
* add Ironic client
* Updates to use keystone session
* Discover Trove API version
* Offload config to the os-client-config library
* Add example code to README
* Add volumes and config file parsing
* Fix log invocations
* Remove some extra lines from the README
* Add the initial library code
* Initial cookiecutter repo