def install(self):
"""Install packages or snaps related to this charm based on
contents of self.packages or self.snaps attribute.
"""
packages = fetch.filter_installed_packages(
self.all_packages)
if packages:
hookenv.status_set('maintenance', 'Installing packages')
fetch.apt_install(packages, fatal=True)
if os_utils.snap_install_requested():
if self.all_snaps:
hookenv.status_set('maintenance', 'Installing snaps')
os_utils.install_os_snaps(
os_utils.get_snaps_install_info_from_origin(
self.all_snaps,
self.config['openstack-origin'],
mode=self.snap_mode)
)
# AJK: we set this as charms can use it to detect installed state
self.set_state('{}-installed'.format(self.name))
self.update_api_ports()
hookenv.status_set('maintenance',
'Installation complete - awaiting next status')
评论列表
文章目录