Enable swift payload upgrades for wallaby+
Sync charm-helpers to pick up fix for openstack_upgrade_available that enables successful payload upgrades. This will need backporting to stable/wallaby. https://github.com/juju/charm-helpers/pull/867 Closes-Bug: #2040606 Change-Id: I91880c6b17e70d7c522b5e56e011fcc1e817efeb
This commit is contained in:
		| @@ -1748,6 +1748,9 @@ class WSGIWorkerConfigContext(WorkerConfigContext): | |||||||
|  |  | ||||||
|     def __call__(self): |     def __call__(self): | ||||||
|         total_processes = _calculate_workers() |         total_processes = _calculate_workers() | ||||||
|  |         enable_wsgi_socket_rotation = config('wsgi-socket-rotation') | ||||||
|  |         if enable_wsgi_socket_rotation is None: | ||||||
|  |             enable_wsgi_socket_rotation = True | ||||||
|         ctxt = { |         ctxt = { | ||||||
|             "service_name": self.service_name, |             "service_name": self.service_name, | ||||||
|             "user": self.user, |             "user": self.user, | ||||||
| @@ -1761,6 +1764,7 @@ class WSGIWorkerConfigContext(WorkerConfigContext): | |||||||
|             "public_processes": int(math.ceil(self.public_process_weight * |             "public_processes": int(math.ceil(self.public_process_weight * | ||||||
|                                               total_processes)), |                                               total_processes)), | ||||||
|             "threads": 1, |             "threads": 1, | ||||||
|  |             "wsgi_socket_rotation": enable_wsgi_socket_rotation, | ||||||
|         } |         } | ||||||
|         return ctxt |         return ctxt | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,6 +12,12 @@ Listen {{ admin_port }} | |||||||
| Listen {{ public_port }} | Listen {{ public_port }} | ||||||
| {% endif -%} | {% endif -%} | ||||||
|  |  | ||||||
|  | {% if wsgi_socket_rotation -%} | ||||||
|  | WSGISocketRotation On | ||||||
|  | {% else -%} | ||||||
|  | WSGISocketRotation Off | ||||||
|  | {% endif -%} | ||||||
|  |  | ||||||
| {% if port -%} | {% if port -%} | ||||||
| <VirtualHost *:{{ port }}> | <VirtualHost *:{{ port }}> | ||||||
|     WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \ |     WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \ | ||||||
|   | |||||||
| @@ -12,6 +12,12 @@ Listen {{ admin_port }} | |||||||
| Listen {{ public_port }} | Listen {{ public_port }} | ||||||
| {% endif -%} | {% endif -%} | ||||||
|  |  | ||||||
|  | {% if wsgi_socket_rotation -%} | ||||||
|  | WSGISocketRotation On | ||||||
|  | {% else -%} | ||||||
|  | WSGISocketRotation Off | ||||||
|  | {% endif -%} | ||||||
|  |  | ||||||
| {% if port -%} | {% if port -%} | ||||||
| <VirtualHost *:{{ port }}> | <VirtualHost *:{{ port }}> | ||||||
|     WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \ |     WSGIDaemonProcess {{ service_name }} processes={{ processes }} threads={{ threads }} user={{ user }} group={{ group }} \ | ||||||
|   | |||||||
| @@ -415,17 +415,6 @@ def get_os_version_codename(codename, version_map=OPENSTACK_CODENAMES, | |||||||
|     error_out(e) |     error_out(e) | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_os_version_codename_swift(codename): |  | ||||||
|     '''Determine OpenStack version number of swift from codename.''' |  | ||||||
|     # for k, v in six.iteritems(SWIFT_CODENAMES): |  | ||||||
|     for k, v in SWIFT_CODENAMES.items(): |  | ||||||
|         if k == codename: |  | ||||||
|             return v[-1] |  | ||||||
|     e = 'Could not derive swift version for '\ |  | ||||||
|         'codename: %s' % codename |  | ||||||
|     error_out(e) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_swift_codename(version): | def get_swift_codename(version): | ||||||
|     '''Determine OpenStack codename that corresponds to swift version.''' |     '''Determine OpenStack codename that corresponds to swift version.''' | ||||||
|     codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v] |     codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v] | ||||||
| @@ -846,14 +835,10 @@ def openstack_upgrade_available(package): | |||||||
|     if not cur_vers: |     if not cur_vers: | ||||||
|         # The package has not been installed yet do not attempt upgrade |         # The package has not been installed yet do not attempt upgrade | ||||||
|         return False |         return False | ||||||
|     if "swift" in package: |     try: | ||||||
|         codename = get_os_codename_install_source(src) |         avail_vers = get_os_version_install_source(src) | ||||||
|         avail_vers = get_os_version_codename_swift(codename) |     except Exception: | ||||||
|     else: |         avail_vers = cur_vers | ||||||
|         try: |  | ||||||
|             avail_vers = get_os_version_install_source(src) |  | ||||||
|         except Exception: |  | ||||||
|             avail_vers = cur_vers |  | ||||||
|     apt.init() |     apt.init() | ||||||
|     return apt.version_compare(avail_vers, cur_vers) >= 1 |     return apt.version_compare(avail_vers, cur_vers) >= 1 | ||||||
|  |  | ||||||
| @@ -957,7 +942,7 @@ def os_requires_version(ostack_release, pkg): | |||||||
|     def wrap(f): |     def wrap(f): | ||||||
|         @wraps(f) |         @wraps(f) | ||||||
|         def wrapped_f(*args): |         def wrapped_f(*args): | ||||||
|             if os_release(pkg) < ostack_release: |             if CompareOpenStackReleases(os_release(pkg)) < ostack_release: | ||||||
|                 raise Exception("This hook is not supported on releases" |                 raise Exception("This hook is not supported on releases" | ||||||
|                                 " before %s" % ostack_release) |                                 " before %s" % ostack_release) | ||||||
|             f(*args) |             f(*args) | ||||||
|   | |||||||
| @@ -159,15 +159,19 @@ def get_osd_settings(relation_name): | |||||||
|     return _order_dict_by_key(osd_settings) |     return _order_dict_by_key(osd_settings) | ||||||
|  |  | ||||||
|  |  | ||||||
| def send_application_name(relid=None): | def send_application_name(relid=None, app_name=None): | ||||||
|     """Send the application name down the relation. |     """Send the application name down the relation. | ||||||
|  |  | ||||||
|     :param relid: Relation id to set application name in. |     :param relid: Relation id to set application name in. | ||||||
|     :type relid: str |     :type relid: str | ||||||
|  |     :param app_name: Application name to send in the relation. | ||||||
|  |     :type app_name: str | ||||||
|     """ |     """ | ||||||
|  |     if app_name is None: | ||||||
|  |         app_name = application_name() | ||||||
|     relation_set( |     relation_set( | ||||||
|         relation_id=relid, |         relation_id=relid, | ||||||
|         relation_settings={'application-name': application_name()}) |         relation_settings={'application-name': app_name}) | ||||||
|  |  | ||||||
|  |  | ||||||
| def send_osd_settings(): | def send_osd_settings(): | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ def _snap_exec(commands): | |||||||
|     :param commands: List commands |     :param commands: List commands | ||||||
|     :return: Integer exit code |     :return: Integer exit code | ||||||
|     """ |     """ | ||||||
|     assert type(commands) == list |     assert type(commands) is list | ||||||
|  |  | ||||||
|     retry_count = 0 |     retry_count = 0 | ||||||
|     return_code = None |     return_code = None | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Corey Bryant
					Corey Bryant