Skip to content

Commit

Permalink
Cross-link swift manager to openstack cloud manager
Browse files Browse the repository at this point in the history
  • Loading branch information
agrare committed Mar 20, 2020
1 parent 303d434 commit 925b3bf
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,31 +1,34 @@
class ManageIQ::Providers::StorageManager::Inventory::Parser::SwiftManager < ManageIQ::Providers::StorageManager::Inventory::Parser
def parse
collector.directories.each do |dir|
persister_conatiner = parse_container(dir)
tenant_ref = dir.project.id
persister_conatiner = parse_container(dir, tenant_ref)
collector.files(dir).each do |file|
parse_object(file, persister_conatiner)
parse_object(file, persister_conatiner, tenant_ref)
end
end
end

def parse_container(container)
def parse_container(container, cloud_tenant_ref)
persister.cloud_object_store_containers.build(
:ems_ref => container_ems_ref(container),
:key => container.key,
:object_count => container.count,
:bytes => container.bytes
:bytes => container.bytes,
:cloud_tenant => persister.cloud_tenants.lazy_find(cloud_tenant_ref)
)
end

def parse_object(object, persister_conatiner)
def parse_object(object, persister_conatiner, cloud_tenant_ref)
persister.cloud_object_store_objects.build(
:ems_ref => object.key,
:etag => object.etag,
:last_modified => object.last_modified,
:content_length => object.content_length,
:content_type => object.content_type,
:key => object.key,
:cloud_object_store_container => persister_conatiner
:cloud_object_store_container => persister_conatiner,
:cloud_tenant => persister.cloud_tenants.lazy_find(cloud_tenant_ref)
)
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,9 @@ class ManageIQ::Providers::StorageManager::Inventory::Persister::SwiftManager <
def initialize_inventory_collections
add_collection(storage, :cloud_object_store_objects)
add_collection(storage, :cloud_object_store_containers)

add_collection(cloud, :cloud_tenants, :parent => manager.parent_manager) do |builder|
builder.add_properties(:strategy => :local_db_cache_all, :complete => false)
end
end
end

0 comments on commit 925b3bf

Please sign in to comment.