Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue with some resource types not updating (eg. 'hostgroup'). #34

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 28 additions & 18 deletions foreman/foreman.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,10 +307,14 @@ def create_resource(self, resource_type, resource, data,
resource_data[resource] = data
return self._post_request(url=url, data=resource_data)

def update_resource(self, resource_type, resource_id, data, component=None, component_id=None):
def update_resource(self, resource_type, resource, resource_id, data, component=None, component_id=None):
url = self._get_resource_url(resource_type=resource_type, resource_id=resource_id,
component=component, component_id=component_id)
return self._put_request(url=url, data=data)
resource_data = {
"id": resource_id,
resource: data
}
return self._put_request(url=url, data=resource_data)

def delete_resource(self, resource_type, resource_id, component=None, component_id=None):
url = self._get_resource_url(resource_type=resource_type, resource_id=resource_id,
Expand Down Expand Up @@ -372,7 +376,7 @@ def delete_auth_source_ldap(self, id):
return self.delete_resource(resource_type=AUTH_SOURCE_LDAPS, resource_id=id)

def update_auth_source_ldap(self, id, data):
return self.update_resource(resource_type=AUTH_SOURCE_LDAPS, resource_id=id, data=data)
return self.update_resource(resource_type=AUTH_SOURCE_LDAPS, resource=AUTH_SOURCE_LDAP, resource_id=id, data=data)

def get_common_parameters(self):
return self.get_resources(resource_type=COMMON_PARAMETERS)
Expand Down Expand Up @@ -421,6 +425,7 @@ def create_compute_attribute(self, compute_resource_id, compute_profile_id, data

def update_compute_attribute(self, id, data):
return self.update_resource(resource_type=COMPUTE_ATTRIBUTES,
resource=COMPUTE_ATTRIBUTE,
resource_id=id,
data={'vm_attrs': data})

Expand Down Expand Up @@ -458,6 +463,7 @@ def create_compute_resource(self, data):
def update_compute_resource(self, id, data):
"""Update the parameters of a compute resources"""
return self.update_resource(resource_type=COMPUTE_RESOURCES,
resource=COMPUTE_RESOURCE,
data=data,
resource_id=id)

Expand Down Expand Up @@ -488,6 +494,7 @@ def delete_compute_resource_image(self, compute_resource_id, image_id):
def update_compute_resource_image(self, compute_resource_id, data):
"""Update the parameters of an image on a given compute resource"""
return self.update_resource(resource_type=COMPUTE_RESOURCES,
resource=COMPUTE_RESOURCE,
data=data,
resource_id=compute_resource_id,
component=IMAGES,
Expand All @@ -508,7 +515,7 @@ def create_config_template(self, data):
data=data)

def update_config_template(self, id, data):
return self.update_resource(resource_type=CONFIG_TEMPLATES, resource_id=id, data=data)
return self.update_resource(resource_type=CONFIG_TEMPLATES, resource=CONFIG_TEMPLATE, resource_id=id, data=data)

def delete_config_template(self, id):
return self.delete_resource(resource_type=CONFIG_TEMPLATES, resource_id=id)
Expand All @@ -526,7 +533,7 @@ def create_domain(self, data):
return self.create_resource(resource_type=DOMAINS, resource=DOMAIN, data=data)

def update_domain(self, id, data):
return self.update_resource(resource_type=DOMAINS, resource_id=id, data=data)
return self.update_resource(resource_type=DOMAINS, resource=DOMAIN, resource_id=id, data=data)

def delete_domain(self, id):
return self.delete_resource(resource_type=DOMAINS, resource_id=id)
Expand Down Expand Up @@ -593,13 +600,14 @@ def create_host(self, data):
return self.create_resource(resource_type=HOSTS, resource=HOST, data=data)

def update_host(self, id, data):
return self.update_resource(resource_type=HOSTS, resource_id=id, data=data)
return self.update_resource(resource_type=HOSTS, resource=HOST, resource_id=id, data=data)

def delete_host(self, id):
return self.delete_resource(resource_type=HOSTS, resource_id=id)

def set_host_power(self, host_id, action):
return self.update_resource(resource_type=HOSTS,
resource=HOST,
resource_id=host_id,
component='power',
data={'power_action': action, HOST: {}})
Expand Down Expand Up @@ -640,6 +648,7 @@ def create_host_parameter(self, host_id, data):

def update_host_parameter(self, host_id, parameter_id, data):
return self.update_resource(resource_type=HOSTS,
resource=HOST,
resource_id=host_id,
component=PARAMETERS,
component_id=parameter_id,
Expand All @@ -664,7 +673,7 @@ def create_hostgroup(self, data):
return self.create_resource(resource_type=HOSTGROUPS, resource=HOSTGROUP, data=data)

def update_hostgroup(self, id, data):
return self.update_resource(resource_type=HOSTGROUPS, resource_id=id, data=data)
return self.update_resource(resource_type=HOSTGROUPS, resource=HOSTGROUP, resource_id=id, data=data)

def delete_hostgroup(self, id):
return self.delete_resource(resource_type=HOSTGROUPS, resource_id=id)
Expand All @@ -684,6 +693,7 @@ def create_hostgroup_parameter(self, hostgroup_id, data):

def update_hostgroup_parameter(self, hostgroup_id, parameter_id, data):
return self.update_resource(resource_type=HOSTGROUPS,
resource=HOSTGROUP,
resource_id=hostgroup_id,
component=PARAMETERS,
component_id=parameter_id,
Expand Down Expand Up @@ -726,7 +736,7 @@ def delete_medium(self, id):
return self.delete_resource(resource_type=MEDIA, resource_id=id)

def update_medium(self, id, data):
return self.update_resource(resource_type=MEDIA, resource_id=id, data=data)
return self.update_resource(resource_type=MEDIA, resource=MEDIUM, resource_id=id, data=data)

def get_organizations(self):
return self.get_resources(resource_type=ORGANIZATIONS)
Expand Down Expand Up @@ -756,7 +766,7 @@ def create_operatingsystem(self, data):
return self.create_resource(resource_type=OPERATINGSYSTEMS, resource=OPERATINGSYSTEM, data=data)

def update_operatingsystem(self, id, data):
return self.update_resource(resource_type=OPERATINGSYSTEMS, resource_id=id, data=data)
return self.update_resource(resource_type=OPERATINGSYSTEMS, resource=OPERATINGSYSTEM, resource_id=id, data=data)

def delete_operatingsystem(self, id):
return self.delete_resource(resource_type=OPERATINGSYSTEMS, resource_id=id)
Expand All @@ -773,9 +783,9 @@ def create_operatingsystem_default_template(self, id, data):
resource_id=id, component=OS_DEFAULT_TEMPLATES)

def update_operatingsystem_default_template(self, id, template_id, data):
return self.update_resource(resource_type=OPERATINGSYSTEMS, resource_id=id,
return self.update_resource(resource_type=OPERATINGSYSTEMS, resource=OS_DEFAULT_TEMPLATE, resource_id=id,
component=OS_DEFAULT_TEMPLATES, component_id=template_id,
resource=OS_DEFAULT_TEMPLATE, data=data)
data=data)

def delete_operatingsystem_default_template(self, id, template_id):
return self.delete_resource(resource_type=OPERATINGSYSTEMS, resource_id=id,
Expand All @@ -794,7 +804,7 @@ def create_partition_table(self, data):
return self.create_resource(resource_type=PARTITION_TABLES, resource=PARTITION_TABLE, data=data)

def update_partition_table(self, id, data):
return self.update_resource(resource_type=PARTITION_TABLES, resource_id=id, data=data)
return self.update_resource(resource_type=PARTITION_TABLES, resource=PARTITION_TABLE, resource_id=id, data=data)

def delete_partition_table(self, id):
return self.delete_resource(resource_type=PARTITION_TABLES, resource_id=id)
Expand Down Expand Up @@ -824,7 +834,7 @@ def delete_realm(self, id):
return self.delete_resource(resource_type=REALMS, resource_id=id)

def update_realm(self, id, data):
return self.update_resource(resource_type=REALMS, resource_id=id, data=data)
return self.update_resource(resource_type=REALMS, resource=REALM, resource_id=id, data=data)

def get_roles(self):
return self.get_resources(resource_type=ROLES)
Expand All @@ -848,7 +858,7 @@ def search_setting(self, data):
return self.search_resource(resource_type=SETTINGS, data=data)

def update_setting(self, id, data):
return self.update_resource(resource_type=SETTINGS, resource_id=id, data=data)
return self.update_resource(resource_type=SETTINGS, resource=SETTING, resource_id=id, data=data)

def get_smart_proxies(self):
return self.get_resources(resource_type=SMART_PROXIES)
Expand All @@ -863,7 +873,7 @@ def create_smart_proxy(self, data):
return self.create_resource(resource_type=SMART_PROXIES, resource=SMART_PROXY, data=data)

def update_smart_proxy(self, id, data):
return self.update_resource(resource_type=SMART_PROXIES, resource_id=id, data=data)
return self.update_resource(resource_type=SMART_PROXIES, resource=SMART_PROXY, resource_id=id, data=data)

def delete_smart_proxy(self, id):
return self.delete_resource(resource_type=SMART_PROXIES, resource_id=id)
Expand All @@ -881,7 +891,7 @@ def create_subnet(self, data):
return self.create_resource(resource_type=SUBNETS, resource=SUBNET, data=data)

def update_subnet(self, id, data):
return self.update_resource(resource_type=SUBNETS, resource_id=id, data=data)
return self.update_resource(resource_type=SUBNETS, resource=SUBNET, resource_id=id, data=data)

def delete_subnet(self, id):
return self.delete_resource(resource_type=SUBNETS, resource_id=id)
Expand All @@ -902,7 +912,7 @@ def create_user(self, data):
return self.create_resource(resource_type=USERS, resource=USER, data=data)

def update_user(self, id, data):
return self.update_resource(resource_type=USERS, resource_id=id, data=data)
return self.update_resource(resource_type=USERS, resource=USER, resource_id=id, data=data)

def delete_user(self, id):
return self.delete_resource(resource_type=USERS, resource_id=id)
Expand All @@ -920,7 +930,7 @@ def create_usergroup(self, data):
return self.create_resource(resource_type=USERGROUPS, resource=USERGROUP, data=data)

def update_usergroup(self, id, data):
return self.update_resource(resource_type=USERGROUPS, resource_id=id, data=data)
return self.update_resource(resource_type=USERGROUPS, resource=USERGROUP, resource_id=id, data=data)

def delete_usergroup(self, id):
return self.delete_resource(resource_type=USERGROUPS, resource_id=id)
Expand Down