author | Shawn Walker <srw@sun.com> |
Fri, 11 Sep 2009 05:01:08 -0500 | |
changeset 1352 | 5c92c9d342ef |
parent 1335 | 3dde2385d05c |
child 1389 | 1827f487a235 |
permissions | -rw-r--r-- |
1352
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
1 |
Version 21: |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
2 |
Incompatible with clients using version 0-20. |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
3 |
Changes: |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
4 |
The pkg.client.api_errors module has changed as follows: |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
5 |
* All CatalogCacheError class exceptions were removed as the |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
6 |
catalog cache no longer exists. |
5c92c9d342ef
11065 client v1 catalog support for v0 catalogs
Shawn Walker <srw@sun.com>
parents:
1335
diff
changeset
|
7 |
|
1335
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
8 |
Version 20: |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
9 |
Compatible with clients using version 19. |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
10 |
Changes: |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
11 |
The following exceptions were added to pkg.client.api_errors: |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
12 |
|
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
13 |
class ReadOnlyFileSystemException(PermissionsException): |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
14 |
"""Used to indicate that the operation was attempted on a |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
15 |
read-only filesystem""" |
3dde2385d05c
516 Clean up traceback for installs to read-only filesystems
John Sonnenschein <John.Sonnenschein@Sun.COM>
parents:
1279
diff
changeset
|
16 |
|
1279
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
17 |
Version 19: |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
18 |
Incompatible with clients using versions 0-18. |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
19 |
Changes: |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
20 |
The ImageInterface class changed as follows: |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
21 |
* plan_update_all no longer returns a third value, the exception |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
22 |
caught. This value was never set. |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
23 |
|
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
24 |
* plan_install no longer returns a second value, the exception |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
25 |
caught. This value was never set. |
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
26 |
|
1256
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
27 |
Version 18: |
1279
12624144230f
10419 client api revisions doc update required
Shawn Walker <srw@sun.com>
parents:
1256
diff
changeset
|
28 |
Compatible with clients using versions 15-17. |
1256
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
29 |
Changes: |
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
30 |
The following exceptions were added to pkg.client.api_errors: |
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
31 |
|
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
32 |
class SetDisabledPublisherPreferred(PublisherError): |
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
33 |
"""Used to indicate an attempt to set a disabled publisher as |
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
34 |
the preferred publisher was made.""" |
921590dc232b
8863 error message unclear when trying to disable preferred publisher
Shawn Walker <srw@sun.com>
parents:
1255
diff
changeset
|
35 |
|
1255
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
36 |
Version 17: |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
37 |
Compatible with clients using versions 15-16. |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
38 |
Changes: |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
39 |
The following properties were added to pkg.client.api |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
40 |
ImageInterface class: |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
41 |
|
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
42 |
root |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
43 |
The absolute pathname of the filesystem root of the image. |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
44 |
This property is read-only. |
13914487fd06
8854 access to ImageInterface img root desired
Shawn Walker <srw@sun.com>
parents:
1254
diff
changeset
|
45 |
|
1254
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
46 |
Version 16: |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
47 |
Compatible with clients using version 15. |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
48 |
Changes: |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
49 |
The following exceptions were added to pkg.client.api_errors: |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
50 |
|
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
51 |
class NoSuchKey(CertificateError): |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
52 |
"""Used to indicate that a key could not be found.""" |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
53 |
|
1141
a74d6815a7fc
4178 unfound_fmris is a poor name
Rich Burridge <rich.burridge@sun.com>
parents:
1087
diff
changeset
|
54 |
Version 15: |
a74d6815a7fc
4178 unfound_fmris is a poor name
Rich Burridge <rich.burridge@sun.com>
parents:
1087
diff
changeset
|
55 |
Incompatible with clients using versions 1-14. |
a74d6815a7fc
4178 unfound_fmris is a poor name
Rich Burridge <rich.burridge@sun.com>
parents:
1087
diff
changeset
|
56 |
Changes: |
1254
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
57 |
The unfound_fmris variable in the |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
58 |
pkg.client.api_errors.PlanCreationException class is now called |
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
59 |
unmatched_fmris. |
1141
a74d6815a7fc
4178 unfound_fmris is a poor name
Rich Burridge <rich.burridge@sun.com>
parents:
1087
diff
changeset
|
60 |
|
1087
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
61 |
Version 14: |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
62 |
Compatible with clients using versions 12-14. |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
63 |
Changes: |
1254
28871b08d49c
8463 missing key file error message says certificate is missing
Shawn Walker <srw@sun.com>
parents:
1141
diff
changeset
|
64 |
The following methods were added to pkg.client.publisher.Publisher: |
1087
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
65 |
|
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
66 |
def create_meta_root(self): |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
67 |
"""Create the publisher's meta_root.""" |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
68 |
|
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
69 |
def remove_meta_root(self): |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
70 |
"""Removes the publisher's meta_root.""" |
293c0aa5f32e
8214 load_catalogs should only load catalog data when needed
Shawn Walker <srw@sun.com>
parents:
996
diff
changeset
|
71 |
|
996
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
72 |
Version 13: |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
73 |
Compatible with clients using version 12. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
74 |
Changes: |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
75 |
By default, publisher repositories will be checked for new metadata no more |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
76 |
than once every four hours unless otherwise requested. Each time a |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
77 |
publisher's selected repository is checked for updates, the client will |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
78 |
store a timestamp (in UTC) marking when the refresh was performed. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
79 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
80 |
ImageInterface.refresh() has changed as follows: |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
81 |
* Changed 'full_refresh' to an optional keyword argument that defaults |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
82 |
to False. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
83 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
84 |
* Added optional boolean keyword 'immediate' that allows the client to |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
85 |
request that a publisher be checked for updates even if a check is |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
86 |
not yet needed. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
87 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
88 |
* Changed to properly use progress tracker for refreshing of publisher |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
89 |
metadata. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
90 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
91 |
* Now only refreshes publisher metadata based on the update interval |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
92 |
specified by the refresh_seconds property on the publisher's |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
93 |
selected_repository. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
94 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
95 |
ImageInterface.update_publisher() has changed as follows: |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
96 |
* When updating a publisher with 'refresh_allowed' set to False, its |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
97 |
catalog will no longer be removed. Instead, it is marked as needing |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
98 |
refresh, and the next time the client can do so, it will. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
99 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
100 |
pkg.client.publisher.Publisher has changed as follows: |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
101 |
* New property 'last_refreshed': |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
102 |
A datetime object representing the time (in UTC) the |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
103 |
publisher's selected repository was last refreshed for new |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
104 |
metadata (such as catalog updates). 'None' if the publisher |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
105 |
hasn't been refreshed yet or the time is not available. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
106 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
107 |
The above property will be automatically set by the api as needed |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
108 |
although api consumers are free to retrieve its value. Manually |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
109 |
setting this value is not recommended. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
110 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
111 |
* New property 'meta_root': |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
112 |
The absolute pathname of the directory where the publisher's |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
113 |
metadata should be written to and read from. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
114 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
115 |
The above property will be automatically set by the api as needed |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
116 |
although api consumers are free to retrieve its value. Manually |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
117 |
setting this value is not recommended. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
118 |
|
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
119 |
* New property 'needs_refresh': |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
120 |
A boolean value indicating whether the publisher's metadata for |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
121 |
the currently selected repository needs to be refreshed. |
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
122 |
|
941
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
123 |
Version 12: |
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
124 |
Incompatible with clients using versions 1-12 |
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
125 |
Changes: |
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
126 |
This versions adds local_search and remote_search to the api and removes |
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
127 |
those functions from pkg.client.image. |
e7bff46da54e
6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
926
diff
changeset
|
128 |
|
926
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
129 |
Version 11: |
996
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
130 |
Incompatible with clients using versions 1-10 |
926
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
131 |
Changes: |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
132 |
This version changes all parameter names and property names from 'authority' |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
133 |
to 'publisher'. For example, parameters named 'auths' were changed to |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
134 |
'pubs'; parameters named 'authent' were changed to 'pubent' and so forth. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
135 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
136 |
In addition, the following new api functions were added to ImageInterface: |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
137 |
def add_publisher(self, pub, refresh_allowed=True): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
138 |
"""Add the provided publisher object to the image |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
139 |
configuration.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
140 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
141 |
def get_preferred_publisher(self): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
142 |
"""Returns the preferred publisher object for the image.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
143 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
144 |
def get_publisher(self, prefix=None, alias=None, duplicate=False): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
145 |
"""Retrieves a publisher object matching the provided prefix |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
146 |
(name) or alias. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
147 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
148 |
'duplicate' is an optional boolean value indicating whether |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
149 |
a copy of the publisher object should be returned instead |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
150 |
of the original. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
151 |
""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
152 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
153 |
def get_publishers(self, duplicate=False): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
154 |
"""Returns a list of the publisher objects for the current |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
155 |
image. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
156 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
157 |
'duplicate' is an optional boolean value indicating whether |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
158 |
copies of the publisher objects should be returned instead |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
159 |
of the originals. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
160 |
""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
161 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
162 |
def get_publisher_last_update_time(self, prefix=None, alias=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
163 |
"""Returns a datetime object representing the last time the |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
164 |
catalog for a publisher was modified or None.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
165 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
166 |
def has_publisher(self, prefix=None, alias=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
167 |
"""Retrieves a publisher object matching the provided prefix |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
168 |
(name) or alias.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
169 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
170 |
def remove_publisher(self, prefix=None, alias=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
171 |
"""Removes a publisher object matching the provided prefix |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
172 |
(name) or alias.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
173 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
174 |
def set_preferred_publisher(self, prefix=None, alias=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
175 |
"""Sets the preferred publisher for the image.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
176 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
177 |
def update_publisher(self, pub, refresh_allowed=True): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
178 |
"""Replaces an existing publisher object with the provided one |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
179 |
using the _source_object_id identifier set during copy.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
180 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
181 |
def update_publisher(self, pub, refresh_allowed=True): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
182 |
"""Replaces an existing publisher object with the provided one |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
183 |
using the _source_object_id identifier set during copy. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
184 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
185 |
'refresh_allowed' is an optional boolean value indicating |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
186 |
whether a refresh of publisher metadata (such as its catalog) |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
187 |
should be performed if transport information is changed for a |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
188 |
repository, mirror, or origin. If False, no attempt will be |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
189 |
made to retrieve publisher metadata.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
190 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
191 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
192 |
def log_operation_end(self, error=None, result=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
193 |
"""Marks the end of an operation to be recorded in image |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
194 |
history. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
195 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
196 |
'result' should be a pkg.client.history constant value |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
197 |
representing the outcome of an operation. If not provided, |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
198 |
and 'error' is provided, the final result of the operation will |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
199 |
be based on the class of 'error' and 'error' will be recorded |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
200 |
for the current operation. If 'result' and 'error' is not |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
201 |
provided, success is assumed.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
202 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
203 |
def log_operation_error(self, error): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
204 |
"""Adds an error to the list of errors to be recorded in image |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
205 |
history for the current opreation.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
206 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
207 |
def log_operation_start(self, name): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
208 |
"""Marks the start of an operation to be recorded in image |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
209 |
history.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
210 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
211 |
def parse_p5i(self, fileobj=None, location=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
212 |
"""Reads the pkg(5) publisher json formatted data at 'location' |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
213 |
or from the provided file-like object 'fileobj' and returns a |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
214 |
list of tuples of the format (publisher object, pkg_names). |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
215 |
pkg_names is a list of strings representing package names or |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
216 |
FMRIs. If any pkg_names not specific to a publisher were |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
217 |
provided, the last tuple returned will be of the format (None, |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
218 |
pkg_names). |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
219 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
220 |
'fileobj' is an optional file-like object that must support a |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
221 |
'read' method for retrieving data. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
222 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
223 |
'location' is an optional string value that should either start |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
224 |
with a leading slash and be pathname of a file or a URI string. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
225 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
226 |
'fileobj' or 'location' must be provided.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
227 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
228 |
def write_p5i(self, fileobj, pkg_names=None, pubs=None): |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
229 |
"""Writes the publisher, repository, and provided package names |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
230 |
to the provided file-like object 'fileobj' in json p5i format. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
231 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
232 |
'fileobj' is only required to have a 'write' method that accepts |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
233 |
data to be written as a parameter. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
234 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
235 |
'pkg_names' is a dict of lists, tuples, or sets indexed by |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
236 |
publisher prefix that contain package names, FMRI strings, or |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
237 |
package info objects. A prefix of "" can be used for packages |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
238 |
that are not specific to a publisher. |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
239 |
|
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
240 |
'pubs' is an optional list of publisher prefixes or Publisher |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
241 |
objects. If not provided, the information for all publishers |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
242 |
(excluding those disabled) will be output.""" |
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
243 |
|
917
eed22f430a9f
6902 api.info needs a "fast" flag or a way to pass a set of the information required
Brock Pytlik <bpytlik@sun.com>
parents:
884
diff
changeset
|
244 |
Version 10: |
996
31d152a5212b
7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
941
diff
changeset
|
245 |
Incompatible with clients using versions 1-9 |
917
eed22f430a9f
6902 api.info needs a "fast" flag or a way to pass a set of the information required
Brock Pytlik <bpytlik@sun.com>
parents:
884
diff
changeset
|
246 |
Changes: |
eed22f430a9f
6902 api.info needs a "fast" flag or a way to pass a set of the information required
Brock Pytlik <bpytlik@sun.com>
parents:
884
diff
changeset
|
247 |
This version changes the interface to info. It removes the action info |
920
5cb8100e9cea
6902 api.info needs a "fast" flag or a way to pass a set of the information required (followup)
Brock Pytlik <bpytlik@sun.com>
parents:
917
diff
changeset
|
248 |
and licenses flag and replaces them with a set of options to allow |
5cb8100e9cea
6902 api.info needs a "fast" flag or a way to pass a set of the information required (followup)
Brock Pytlik <bpytlik@sun.com>
parents:
917
diff
changeset
|
249 |
the caller control over which information is retrieved. |
917
eed22f430a9f
6902 api.info needs a "fast" flag or a way to pass a set of the information required
Brock Pytlik <bpytlik@sun.com>
parents:
884
diff
changeset
|
250 |
|
884
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
251 |
Version 9: |
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
252 |
Compatible with clients using versions 1-8 |
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
253 |
Changes: |
917
eed22f430a9f
6902 api.info needs a "fast" flag or a way to pass a set of the information required
Brock Pytlik <bpytlik@sun.com>
parents:
884
diff
changeset
|
254 |
This version adds an optional argument to plan_update_all to allow the |
884
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
255 |
specification of a name for the clone of the BE which is made. It also |
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
256 |
exposes check_be_name as part of the api. |
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
257 |
|
835
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
258 |
Version 8: |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
259 |
Compatible with clients using versions 1-7 |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
260 |
Changes: |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
261 |
This version introduces InvalidDepotResponseException. The |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
262 |
exception is thrown when operations that refresh the catalog |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
263 |
discover that the server is not a pkg depot. Clients of the api |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
264 |
should catch this exception and respond appropriately. |
34ec4401dc48
686 Client needs a way to tell that a response is actually from an IPS server
johansen <johansen@sun.com>
parents:
696
diff
changeset
|
265 |
|
696
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
266 |
Version 7: |
884
d780afc023ff
3718 plan_update_all needs to have an optional argument for the new BE name
Brock Pytlik <bpytlik@sun.com>
parents:
835
diff
changeset
|
267 |
Compatible with clients using versions 1-6 |
696
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
268 |
Changes: |
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
269 |
Ignore the pkg_client_name parameter passed to api.ImageInterface() if |
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
270 |
pkg.client.global_settings.client_name isn't None. This latter object |
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
271 |
is now the preferred way to set the client name, and the |
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
272 |
pkg_client_name parameter may be ignored or removed in the future. |
6bbfd2dece6f
4371 user-agent string needs to be different for different client front-ends
Danek Duvall <danek.duvall@sun.com>
parents:
688
diff
changeset
|
273 |
|
688
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
274 |
Version 6: |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
275 |
Compatible with clients using versions 1-5 |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
276 |
Changes: |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
277 |
Adds a new field to PackageInfo, category_info_list, which is a list of |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
278 |
PackageCategory objects. These objects contain the scheme and category |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
279 |
information for packages. |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
280 |
|
685
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
281 |
Version 5: |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
282 |
Compatible with clients using versions 1-4 as long as they have a generic |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
283 |
APIException. This is the case for PackageManager and UpdateManaget. |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
284 |
Changes: |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
285 |
plan_install and plan_update_all can now raise PermissionsException. |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
286 |
|
625
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
287 |
Version 4: |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
288 |
Compatible with clients using versions 1, 2, and 3 |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
289 |
Changes: |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
290 |
Modifies where certain progress tracking calls were made, calling |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
291 |
evaluate_start much sooner. |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
292 |
Adds refresh tracking to progress.py. This allows for active feedback when |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
293 |
the catalogs of authorities are being refreshed. |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
294 |
|
615
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
295 |
Version 3: |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
296 |
Compatible with clients using Versions 1 and 2 |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
297 |
Changes: |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
298 |
Adds an optional argument to info which determines whether detailed information |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
299 |
about actions will be returned |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
300 |
Adds the following new fields to PackageInfo objects: links, hardlinks, |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
301 |
files, dirs, dependencies |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
302 |
|
598
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
303 |
Version 2: |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
304 |
Compatible with clients using Version 1 |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
305 |
Changes: |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
306 |
Adds the optional argument update_index to plan_install, plan_uninstall, and |
615
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
307 |
plan_update_all. When the argument is false, no automatic update to the |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
308 |
index occurs. By default, the argument is true. |
598
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
309 |
|
594
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
310 |
Version 1: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
311 |
Incompatible with clients using Version 0 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
312 |
Changes: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
313 |
plan_install now returns a tuple of whether there is anything to do and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
314 |
a catalog refresh exception, if one was caught. In this, it mirrors the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
315 |
first and third return values from plan_update_all. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
316 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
317 |
Version 0: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
318 |
def __init__(self, img_path, version_id, progesstracker, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
319 |
cancel_state_callable, pkg_client_name): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
320 |
"""Constructs an ImageInterface. img_path should point to an |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
321 |
existing image. version_id indicates the version of the api |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
322 |
the client is expecting to use. progesstracker is the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
323 |
progresstracker the client wants the api to use for UI |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
324 |
callbacks. cancel_state_callable is a function which the client |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
325 |
wishes to have called each time whether the operation can be |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
326 |
canceled changes. It can raise VersionException and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
327 |
ImageNotFoundException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
328 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
329 |
def plan_install(self, pkg_list, filters, refresh_catalogs=True, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
330 |
noexecute=False, verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
331 |
"""Contructs a plan to install the packages provided in |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
332 |
pkg_list. pkg_list is a list of packages to install. filters |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
333 |
is a list of filters to apply to the actions of the installed |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
334 |
packages. refresh_catalogs controls whether the catalogs will |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
335 |
automatically be refreshed. noexecute determines whether the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
336 |
history will be recorded after planning is finished. verbose |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
337 |
controls whether verbose debugging output will be printed to the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
338 |
terminal. Its existence is temporary. If there are things to do |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
339 |
to complete the install, it returns True, otherwise it returns |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
340 |
False. It can raise InvalidCertException, PlanCreationException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
341 |
NetworkUnavailableException, and InventoryException. The |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
342 |
noexecute argument is included for compatibility with |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
343 |
operational history. The hope is it can be removed in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
344 |
future.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
345 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
346 |
def plan_uninstall(self, pkg_list, recursive_removal, noexecute=False, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
347 |
verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
348 |
"""Contructs a plan to uninstall the packages provided in |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
349 |
pkg_list. pkg_list is a list of packages to install. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
350 |
recursive_removal controls whether recursive removal is |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
351 |
allowed. noexecute determines whether the history will be |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
352 |
recorded after planning is finished. verbose controls whether |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
353 |
verbose debugging output will be printed to the terminal. Its |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
354 |
existence is temporary. If there are things to do to complete |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
355 |
the uninstall, it returns True, otherwise it returns False. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
356 |
can raise NonLeafPackageException and PlanCreationException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
357 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
358 |
def plan_update_all(self, actual_cmd, refresh_catalogs=True, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
359 |
noexecute=False, force=False, pkgs_must_be_up_to_date=None, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
360 |
verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
361 |
"""Creates a plan to update all packages on the system to the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
362 |
latest known versions. actual_cmd is the command used to start |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
363 |
the client. It is used to determine the image to check whether |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
364 |
SUNWipkg is up to date. refresh_catalogs controls whether the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
365 |
catalogs will automatically be refreshed. noexecute determines |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
366 |
whether the history will be recorded after planning is finished. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
367 |
force controls whether update should proceed even if ipkg is not |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
368 |
up to date. verbose controls whether verbose debugging output |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
369 |
will be printed to the terminal. Its existence is temporary. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
370 |
returns a tuple of three things. The first is a boolean which |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
371 |
tells the client whether there is anything to do. The second |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
372 |
tells whether the image is an opensolaris image. The third is |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
373 |
either None, or an exception which indicates partial success. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
374 |
This is currently used to indicate a failure in refreshing |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
375 |
catalogs. It can raise CatalogRefreshException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
376 |
IpkgOutOfDateException, NetworkUnavailableException, and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
377 |
PlanCreationException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
378 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
379 |
def describe(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
380 |
"""Returns None if no plan is ready yet, otherwise returns |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
381 |
a PlanDescription""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
382 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
383 |
def prepare(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
384 |
"""Takes care of things which must be done before the plan |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
385 |
can be executed. This includes downloading the packages to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
386 |
disk and preparing the indexes to be updated during |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
387 |
execution. It can raise ProblematicPermissionsIndexException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
388 |
and PlanMissingException. Should only be called once a |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
389 |
plan_X method has been called.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
390 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
391 |
def execute_plan(self, be_name=None): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
392 |
"""Executes the plan. This is uncancelable one it begins. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
393 |
can raise CorruptedIndexException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
394 |
ProblematicPermissionsIndexException, ImageplanStateException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
395 |
ImageUpdateOnLiveImageException, and PlanMissingException. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
396 |
Should only be called after the prepare method has been |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
397 |
called.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
398 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
399 |
def refresh(self, full_refresh, auths=None): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
400 |
"""Refreshes the catalogs. full_refresh controls whether to do |
926
6ee411c9026a
5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
920
diff
changeset
|
401 |
a full retrieval of the catalog from the publisher or only |
594
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
402 |
update the existing catalog. auths is a list of authorities to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
403 |
refresh. Passing an empty list or using the default value means |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
404 |
all known authorities will be refreshed. While it currently |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
405 |
returns an image object, this is an expedient for allowing |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
406 |
existing code to work while the rest of the API is put into |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
407 |
place.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
408 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
409 |
def info(self, fmri_strings, local, get_licenses): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
410 |
"""Gathers information about fmris. fmri_strings is a list |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
411 |
of fmri_names for which information is desired. local |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
412 |
determines whether to retrieve the information locally. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
413 |
get_licenses determines whether to retrieve the text of |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
414 |
the licenses. It returns a dictionary of lists. The keys |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
415 |
for the dictionary are the constants specified in the class |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
416 |
definition. The values are lists of PackageInfo objects or |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
417 |
strings.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
418 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
419 |
def can_be_canceled(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
420 |
"""Returns true if the API is in a cancelable state.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
421 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
422 |
def reset(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
423 |
"""Resets the API back the the initial state. Note: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
424 |
this does not necessarily return the disk to its initial state |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
425 |
since the indexes or download cache may have been changed by |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
426 |
the prepare method.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
427 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
428 |
def cancel(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
429 |
"""Used for asynchronous cancelation. It returns the API |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
430 |
to the state it was in prior to the current method being |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
431 |
invoked. Canceling during a plan phase returns the API to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
432 |
its initial state. Canceling during prepare puts the API |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
433 |
into the state it was in just after planning had completed. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
434 |
Plan execution cannot be canceled. A call to this method blocks |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
435 |
until the canelation has happened. Note: this does not |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
436 |
necessarily return the disk to its initial state since the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
437 |
indexes or download cache may have been changed by the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
438 |
prepare method.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
439 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
440 |
class PlanDescription(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
441 |
"""A class which describes the changes the plan will make. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
442 |
provides a list of tuples of PackageInfo's. The first item in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
443 |
tuple is the package that is being changed. The second item in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
444 |
tuple is the package that will be in the image after the change.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
445 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
446 |
def get_changes(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
447 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
448 |
class LicenseInfo(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
449 |
"""A class representing the license information a package |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
450 |
provides.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
451 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
452 |
def get_text(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
453 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
454 |
class PackageInfo(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
455 |
"""A class capturing the information about packages that a client |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
456 |
could need. The fmri is guaranteed to be set. All other values may |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
457 |
be None, depending on how the PackageInfo instance was created.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
458 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
459 |
# Possible package installation states |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
460 |
INSTALLED = 1 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
461 |
NOT_INSTALLED = 2 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
462 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
463 |
self.pkg_stem |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
464 |
self.summary |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
465 |
self.state |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
466 |
self.authority |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
467 |
self.preferred_authority |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
468 |
self.version |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
469 |
self.build_release |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
470 |
self.branch |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
471 |
self.packaging_date |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
472 |
self.size |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
473 |
self.fmri |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
474 |
self.licenses |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
475 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
476 |
def __str__(self): |