39a159f8c7
This feature allow the disable of most of the project resources in some cases the admin want to disable the project and wait for period of time before deleting the resources just in case some resources are still usable or need to be moved to another project for nova the disable will stop the servers for neutron it will change the admin_state_up to false which will change the status of resource to down for glance it will deactivate the images for swift it will remove the read/write acls to container for octaivia chenge the admin_state_up to false making the status of loadbalancer down for cinder it will change the volume to readonly for the resources that dont have a way of disabling the resource it will just log a warning Change-Id: Ic2af6ad1ffb1e749a3d1ba687950264b5098bcdb
31 lines
1016 B
Python
31 lines
1016 B
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
from ospurge.resources import base
|
|
|
|
|
|
class Servers(base.ServiceResource):
|
|
ORDER = 15
|
|
|
|
def list(self):
|
|
return self.cloud.list_servers()
|
|
|
|
def delete(self, resource):
|
|
self.cloud.delete_server(resource['id'])
|
|
|
|
def disable(self, resource):
|
|
self.cloud.compute.stop_server(resource['id'])
|
|
|
|
@staticmethod
|
|
def to_str(resource):
|
|
return "VM (id='{}', name='{}')".format(
|
|
resource['id'], resource['name'])
|