Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Documentation about the cumulus integration.

The beginings of the quota work
  • Loading branch information...
commit a77445cb1e31aa5a3653cf402cded3843ad27ad7 1 parent eb33645
BuzzTroll authored timf committed
View
276 .idea/workspace.xml
@@ -5,25 +5,8 @@
</component>
<component name="ChangeListManager">
<list default="true" id="b30a1c75-983d-4a98-96dc-74ac6b73b911" name="Default" comment="">
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-sql.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-sql.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenssh/ShutdownNormal.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenssh/ShutdownNormal.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDecisionLogic.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDecisionLogic.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-python.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-python.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/binding/authorization/DisabledCallout.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/binding/authorization/DisabledCallout.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-groupauthz.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-groupauthz.xml" />
- <change type="MOVED" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/CumulusNamespaceTranslator.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/CumulusRepoFileSystemAdaptor.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-ACTIVE.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-ACTIVE.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/main.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/main.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/XenUtil.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/XenUtil.java" />
- <change type="MOVED" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/NamespaceTranslator.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/RepoFileSystemAdaptor.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/WorkspaceHomeImpl.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/WorkspaceHomeImpl.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/site/PropagationAdapterImpl.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/site/PropagationAdapterImpl.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-disabled.xml" afterPath="$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-disabled.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDBAdapter.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDBAdapter.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/site/PropagationAdapter.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/site/PropagationAdapter.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenlocal/ShutdownNormal.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenlocal/ShutdownNormal.java" />
- <change type="MOVED" beforePath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/DefaultNamespaceTranslatorImpl.java" afterPath="$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/DefaultRepoFileSystemAdaptorImpl.java" />
</list>
<ignored path="$USER_HOME_GRAILS$/" />
<ignored path="$USER_HOME_GRIFFON$/" />
@@ -208,8 +191,8 @@
<property name="field_breakpoints_groupByClasses" value="true" />
<property name="method_breakpoints_groupByClasses" value="true" />
<property name="exception_breakpoints_viewId" value="TABLE" />
- <property name="exception_breakpoints_groupByClasses" value="true" />
<property name="field_breakpoints_viewId" value="TABLE" />
+ <property name="exception_breakpoints_groupByClasses" value="true" />
<property name="method_breakpoints_groupByMethods" value="false" />
</ui_properties>
</component>
@@ -219,25 +202,10 @@
<component name="FileColors" enabled="true" enabledForTabs="true" />
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="authz-callout-ACTIVE.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-ACTIVE.xml">
- <provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
- <state />
- </provider>
- <provider selected="true" editor-type-id="text-editor">
- <state line="15" column="30" selection-start="453" selection-end="587" vertical-scroll-proportion="-10.714286">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
<file leaf-file-name="authz-callout-sql.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-sql.xml">
- <provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
- <state />
- </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="68" selection-start="1837" selection-end="1837" vertical-scroll-proportion="-13.428572">
+ <state line="48" column="68" selection-start="1837" selection-end="1837" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -245,11 +213,8 @@
</file>
<file leaf-file-name="authz-callout-groupauthz.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-groupauthz.xml">
- <provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
- <state />
- </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="4" selection-start="641" selection-end="641" vertical-scroll-proportion="-13.571428">
+ <state line="19" column="4" selection-start="641" selection-end="641" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -257,11 +222,8 @@
</file>
<file leaf-file-name="authz-callout-python.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-python.xml">
- <provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
- <state />
- </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="4" selection-start="643" selection-end="643" vertical-scroll-proportion="-13.571428">
+ <state line="19" column="4" selection-start="643" selection-end="643" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -269,11 +231,8 @@
</file>
<file leaf-file-name="authz-callout-disabled.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-disabled.xml">
- <provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
- <state />
- </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="15" column="12" selection-start="588" selection-end="588" vertical-scroll-proportion="-10.714286">
+ <state line="15" column="12" selection-start="588" selection-end="588" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -282,7 +241,7 @@
<file leaf-file-name="ShutdownNormal.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenssh/ShutdownNormal.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="65" column="66" selection-start="2392" selection-end="2392" vertical-scroll-proportion="0.0">
+ <state line="57" column="65" selection-start="2082" selection-end="2082" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -291,7 +250,16 @@
<file leaf-file-name="CumulusRepoFileSystemAdaptor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/CumulusRepoFileSystemAdaptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="34" column="0" selection-start="836" selection-end="836" vertical-scroll-proportion="0.0">
+ <state line="13" column="61" selection-start="331" selection-end="331" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="RepoFileSystemAdaptor.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/RepoFileSystemAdaptor.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="12" column="38" selection-start="241" selection-end="262" vertical-scroll-proportion="0.22900763">
<folding />
</state>
</provider>
@@ -300,7 +268,7 @@
<file leaf-file-name="AuthzDecisionLogic.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDecisionLogic.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="357" column="43" selection-start="12254" selection-end="12254" vertical-scroll-proportion="0.0">
+ <state line="350" column="44" selection-start="12061" selection-end="12061" vertical-scroll-proportion="-25.04">
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -311,19 +279,17 @@
<file leaf-file-name="XenUtil.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/XenUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="33" column="13" selection-start="1193" selection-end="1193" vertical-scroll-proportion="0.0">
+ <state line="177" column="43" selection-start="5773" selection-end="5779" vertical-scroll-proportion="-9.92">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="AuthzDBAdapter.java" pinned="false" current="true" current-in-tab="true">
+ <file leaf-file-name="AuthzDBAdapter.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDBAdapter.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="359" column="0" selection-start="11031" selection-end="11031" vertical-scroll-proportion="0.33333334">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="83" column="73" selection-start="3210" selection-end="3214" vertical-scroll-proportion="-9.92">
+ <folding />
</state>
</provider>
</entry>
@@ -392,65 +358,6 @@
<sortByType />
</navigator>
<panes>
- <pane id="Scope" />
- <pane id="PackagesPane">
- <subPane>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="org.globus.workspace" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="cloud-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="cloud-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="org.globus.workspace" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
- </PATH_ELEMENT>
- </PATH>
- </subPane>
- </pane>
<pane id="ProjectPane">
<subPane>
<PATH>
@@ -638,58 +545,69 @@
<option name="myItemId" value="workspace-service" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="Scope" />
+ <pane id="Favorites" />
+ <pane id="PackagesPane">
+ <subPane>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="source" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="etc" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemId" value="nimbus" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="source" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemId" value="org.globus.workspace" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="etc" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemId" value="nimbus" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemId" value="nimbus" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="other" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ <option name="myItemId" value="cloud-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="nimbus" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="workspace-service" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ <option name="myItemId" value="cloud-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="org.globus.workspace" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
- <pane id="Favorites" />
</panes>
</component>
<component name="PropertiesComponent">
@@ -880,12 +798,6 @@
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="false" />
</RunnerSettings>
- <RunnerSettings RunnerId="Debug">
- <option name="DEBUG_PORT" value="5005" />
- <option name="TRANSPORT" value="0" />
- <option name="LOCAL" value="false" />
- </RunnerSettings>
- <ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Debug" />
<method />
</configuration>
@@ -929,20 +841,20 @@
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298122" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3298122" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298122" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32936803" sideWeight="0.46713614" order="1" side_tool="true" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.333829" sideWeight="0.6619718" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32936803" sideWeight="0.0" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298122" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3298122" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3298122" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
@@ -986,32 +898,17 @@
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/binding/vm/VirtualMachine.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="101" column="36" selection-start="2870" selection-end="2895" vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="101" column="36" selection-start="2870" selection-end="2895" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenlocal/ShutdownNormal.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="25" column="13" selection-start="890" selection-end="890" vertical-scroll-proportion="0.0">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/RepoFileSystemAdaptor.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="12" column="33" selection-start="257" selection-end="257" vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="25" column="13" selection-start="890" selection-end="890" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/service/impls/WorkspaceHomeImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="156" column="21" selection-start="5918" selection-end="5918" vertical-scroll-proportion="-6.64">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
+ <state line="156" column="21" selection-start="5918" selection-end="5918" vertical-scroll-proportion="-6.64" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/main.xml">
@@ -1019,34 +916,30 @@
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="325" column="79" selection-start="13570" selection-end="13607" vertical-scroll-proportion="-18.571428">
- <folding />
- </state>
+ <state line="325" column="79" selection-start="13570" selection-end="13607" vertical-scroll-proportion="-18.571428" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/DefaultRepoFileSystemAdaptorImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="0" selection-start="161" selection-end="161" vertical-scroll-proportion="0.0">
- <folding />
- </state>
+ <state line="10" column="0" selection-start="161" selection-end="161" vertical-scroll-proportion="0.0" />
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-sql.xml">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-ACTIVE.xml">
<provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="68" selection-start="1837" selection-end="1837" vertical-scroll-proportion="-13.428572">
+ <state line="15" column="30" selection-start="453" selection-end="587" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-ACTIVE.xml">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/etc/workspace-service/other/authz-callout-sql.xml">
<provider editor-type-id="com.intellij.spring.perspectives.SpringBeansStructureEditorProvider">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="15" column="30" selection-start="453" selection-end="587" vertical-scroll-proportion="-10.714286">
+ <state line="48" column="68" selection-start="1837" selection-end="1837" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -1056,7 +949,7 @@
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="4" selection-start="641" selection-end="641" vertical-scroll-proportion="-13.571428">
+ <state line="19" column="4" selection-start="641" selection-end="641" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -1066,7 +959,7 @@
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="4" selection-start="643" selection-end="643" vertical-scroll-proportion="-13.571428">
+ <state line="19" column="4" selection-start="643" selection-end="643" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -1076,47 +969,52 @@
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="15" column="12" selection-start="588" selection-end="588" vertical-scroll-proportion="-10.714286">
+ <state line="15" column="12" selection-start="588" selection-end="588" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/CumulusRepoFileSystemAdaptor.java">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDBAdapter.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="34" column="0" selection-start="836" selection-end="836" vertical-scroll-proportion="0.0">
+ <state line="83" column="73" selection-start="3210" selection-end="3214" vertical-scroll-proportion="-9.92">
<folding />
</state>
</provider>
</entry>
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDecisionLogic.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="350" column="44" selection-start="12061" selection-end="12061" vertical-scroll-proportion="-25.04">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/XenUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="33" column="13" selection-start="1193" selection-end="1193" vertical-scroll-proportion="0.0">
+ <state line="177" column="43" selection-start="5773" selection-end="5779" vertical-scroll-proportion="-9.92">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/xen/xenssh/ShutdownNormal.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="65" column="66" selection-start="2392" selection-end="2392" vertical-scroll-proportion="0.0">
+ <state line="57" column="65" selection-start="2082" selection-end="2082" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDecisionLogic.java">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/CumulusRepoFileSystemAdaptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="357" column="43" selection-start="12254" selection-end="12254" vertical-scroll-proportion="0.0">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="13" column="61" selection-start="331" selection-end="331" vertical-scroll-proportion="0.0">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/sqlauthz/AuthzDBAdapter.java">
+ <entry file="file://$PROJECT_DIR$/service/service/java/source/src/org/globus/workspace/RepoFileSystemAdaptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="359" column="0" selection-start="11031" selection-end="11031" vertical-scroll-proportion="0.33333334">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="12" column="38" selection-start="241" selection-end="262" vertical-scroll-proportion="0.22900763">
+ <folding />
</state>
</provider>
</entry>
View
13 cumulus/etc/acl.sql
@@ -137,11 +137,12 @@ create table object_acl(
);
---create table object_quota(
--- id INTEGER PRIMARY KEY AUTOINCREMENT,
--- user_id char(36) REFERENCES users_canonical(id) NOT NULL,
--- limit INTEGER NOT NULL,
--- UNIQUE(user_id)
---);
+create table object_quota(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ user_id char(36) REFERENCES users_canonical(id) NOT NULL,
+ object_type INTEGER REFERENCES object_types(id) NOT NULL,
+ limit INTEGER NOT NULL,
+ UNIQUE(user_id, object_type)
+);
View
92 cumulus/pycb/cbBackendInterface.py
@@ -0,0 +1,92 @@
+import os
+import sys
+from pycb.cbException import cbException
+import pycb
+import stat
+import urllib
+import glob
+import errno
+import logging
+import threading
+import tempfile
+import hashlib
+import traceback
+import time
+
+class cbBackendInterface(object):
+
+ # create and return a DataObject for writing
+ # bucketName and objectName will likely just be used for seeding
+ # internal names, the plug should not need these values
+ def put_object(self, bucketName, objectName):
+ return obj
+
+
+ # copy an object, not yet implemented
+ def copy_object(self, srcObjectName, dstObjectName, moveOrCopy, httpHeaders):
+ pass
+
+
+ # find and return a dataobject with the given key for reading
+ def get_object(self, data_key):
+ obj = cbPosixData(data_key, "r")
+ return obj
+
+
+ # delete the data in the given datakey
+ def delete_object(self, data_key):
+ pass
+
+ # return the size of the dataset associated with the given key
+ def get_size(self, data_key):
+ pass
+
+ # get the modification time
+ def get_mod_time(self, data_key):
+ pass
+
+ # get the md5 sum of the file
+ def get_md5(self, data_key):
+ pass
+
+class cbDataObject(object):
+
+ def get_data_key(self):
+ pass
+
+ # this is part of the work around for twisted
+ def set_delete_on_close(self, delete_on_close):
+ pass
+
+ # implement file-like methods
+ def close(self):
+ pass
+
+ def flush(self):
+ pass
+
+ #def fileno(self):
+ #def isatty(self):
+
+ def next(self):
+ pass
+
+ def read(self, size=None):
+ pass
+
+# def readline(self, size=None):
+# def readlines(self, size=None):
+# def xreadlines(self):
+
+ def seek(self, offset, whence=None):
+ pass
+
+# def tell(self):
+# def truncate(self, size=None):
+
+ def write(self, st):
+ pass
+
+ def writelines(self, seq):
+ pass
+
View
16 cumulus/pynimbusauthz/user.py
@@ -183,6 +183,22 @@ def find_alias(db_obj, alias_name, alias_type=None):
return c
find_alias = staticmethod(find_alias)
+ def get_quota(self, object_type=object_type_s3):
+ s="SELECT limit from object_quota where user_id = ? and object_type = ?"
+ data = [self.uuid, object_type]
+ row = self.db_obj._run_fetch_one(s, data)
+ if row == None or len(row) == 0:
+ return None
+ return row[0]
+
+ def get_quota_usage(self, object_type=object_type_s3):
+ s = "SELECT SUM(object_size) FROM objects where owner_id = ? and object_type = ?"
+ data = [self.uuid, object_type]
+ row = self.db_obj._run_fetch_one(s, data)
+ if row == None or len(row) == 0:
+ return None
+ return row[0]
+
def get_user(db_obj, user_id):
s = "select id from users_canonical where id = ?"
data = (user_id,)
View
216 docs/src/dev/cumulus_integration.txt
@@ -0,0 +1,216 @@
+Cumulus Integration
+===================
+
+This document contains information on the changes to the Nimbus service
+and the cloud-client program that were needed in order to integrate
+Cumulus system. The goal is to give Nimbus developers insight into how
+the system works. The intended audience is not Nimbus users but Nimbus
+developers.
+
+Cumulus
+=======
+
+Cumulus is an S3 REST API look-a-like. It was written to be protocol
+compliant and semantically equivalent with the REST API documented here:
+
+http://docs.amazonwebservices.com/AmazonS3/latest/API/APIRest.html
+
+Absent features
+---------------
+
+The following features of S3 are absent in cumulus:
+
+- Versioning
+- Location
+- Logging
+- Object POST
+- Object COPY
+- torrent
+
+Dependencies
+------------
+
+Cumulus was implemented in python on top of the twisted.web framework.
+The internally created library pynimbusauthz is used for handling the
+ACL features of S3. At the moment pynimbusauthz uses sqlite, but it
+should be trivially ported to any other database.
+
+- python 2.5 or greater
+- twisted.web
+- boto
+- sqlite3
+
+Due to known bugs and security complications, internal modifications to
+twisted.web had to be made. More information about these modifications
+can be found here:
+
+http://www.mail-archive.com/twisted-web@twistedmatrix.com/msg02396.html
+http://twistedmatrix.com/trac/ticket/288
+
+Security Plug In
+----------------
+
+Cumulus has a plug in interface for security implementations. Two plug
+ins were created, one using text files and another using pynimbusauthz
+(and thus using sqlite). The text file plug in is already out of date.
+It could be brought up to date easily but at this point we expect the
+only security plugin to ever be used will be the pynimbusauthz one.
+This paragraph is only here just in the off chance that some developer
+from the future has a need for a new security interface. If you are
+that future developer, rest assured, there is a decent abstraction to
+ACL and security management in cumulus.
+
+Backend Plug In
+---------------
+
+Currently there is only one backend plugin written, but we expect others
+in the future. The backend plugin is responsible for handling the
+actual storage of data. The rest of cumulus handles marshalling the
+REST API wire protocol, authenticating users, managing bucket/object
+namespaces and mapping, etc. The backend plug in is specifically
+responsible for being a source and sink of data. The interface for the
+backend plugin can be seen in the file cbBackendInterface.py. There are
+two objects in the file, a DataObject and a BucketInterface. The Bucket
+interface is primarily a factory for DataObjects, but it also handles
+tasks like getting DataObject sizes and modification times, and deleting
+DataObject. The DataObject is a file-like object. The optional
+file-like methods are doc-ed out in the interface file.
+
+The reference implementation for the backend plugin is called
+cbPosixBackend.py. This plugin simply uses a filesystem as a DataStore.
+Other plug-ins that we expect to create in the near future are Cassandra
+and HDFS.
+
+cloud-client
+============
+
+The cloud client has been re-organized such that it now has Repository
+modules. The interface to these modules is defined in the file
+RepositoryInterface.java. The code needed to do the legacy GridFTP
+protocol was pulled out and put into the file
+GridFTPRepositoryUtil.java. The remainder of the code was re-factored so
+that calls were made into that file at the appropriate time.
+
+[ note: One area to note here is the use of getDerivedImageURL(). This
+method is called into by
+org/globus/workspace/cloud/meta/client/Cloud.java and in such a way that
+configuration options need to be inflated awkwardly (see line 205). ]
+
+A Cumulus repository interface was also created. The interface provides
+equivalent semantics to the previous GridFTP based implementation. When
+a user lists VMs, they see only their VMs as read/write and they see
+site common VMs as read only. No other VMs are listed. Cumulus itself
+does have rich file sharing capabilities, but these features are not yet
+exposed to the cloud client user.
+
+Currently the Cumulus repository interface picks up the following
+information form the conf/cloud.properties file.
+
+- vws.repository.s3id
+ The users S3 ID. This ID must be associated with the users x509 cert
+ in the authz database.
+
+- vws.repository.s3key
+ The users S3 secret key.
+
+- vws.repository.s3bucket
+ The site specific bucket name where all VM images (that will show
+ up in a listing) are kept.
+
+- vws.repository.s3basekey
+ A prefix for the VM image name. This is just an organizational
+ tool for the site admin.
+
+When cloud client transfers an image into the system with the cumulus
+repo utility (which is now the default), it forms the following url:
+
+ cumulus://<vws.repository.s3bucket>/<vws.repository.s3basekey><vws.repository.s3id>/<NAME>
+
+When the user does a listing, only images with the following form are
+listed:
+
+ cumulus://<vws.repository.s3bucket>/<vws.repository.s3basekey>
+
+And from there only those with the specific user id or the string
+'Common' will be listed. Similar urls are formed when the user --run(s)
+a VM.
+
+It should be noted that this is just cloud client convention to provide
+the user of the cloud client with a convenient experience. There is
+nothing in the Nimbus service that prevents a user from uploading a VM
+to any cumulus location and then specifying that location as run point.
+
+Dependencies
+-----------
+
+- jets3t-0.7.3.jar
+- commons-httpclient-3.1.jar
+- commons-codec-1.3.jar
+
+Nimbus service
+==============
+
+The main change to the nimbus service involved adding the concept of a
+namespace translator. The user supplies Nimbus with a external cumulus
+(and in the future potentially other) URL. This is the location of the
+VM according to the users external namespace. When the service receives
+this URL it can translate it into an internal location more suitable for
+propagation.
+
+The cumulus authorization database is directly tied to the Nimbus
+service. The service has intimate knowledge of it, and it is allowed to
+manipulate it directly without going through the cumulus REST interface.
+This comes with some inherent dangers, ie: the service MUST manipulate
+it properly. Any incorrect behavior could cause internal and undefined
+failures in cumulus. While this design choice is risky it allows for
+much needed optimizations. As a result of this choice, cumulus can be
+released without Nimbus, but Nimbus cannot be released without cumulus,
+and further, the only version of cumulus that can be allowed to operate
+with a given nimbus installation is the version of cumulus with which
+Nimbus was packages.
+
+Example event sequence
+----------------------
+
+In the initial implementation the following sequence of events occurs.
+The user uploads the VM image 'vmimage' to
+cumulus://hostname.com/Repo/vmimage, and they request that the service
+run it. The service then *directly* examines the cumulus database to
+see of the user has rights to that image. If they do not an error is
+thrown. However, if they do have rights the actual physical location of
+the file is looked up in the database and converted to an internal
+namespace suitable for propagation. This internal name is sent to the
+workspace-control program. An example internal name is
+scp://<repository host>/<file location>
+
+To handle the namespace translation and various other tasks needed to
+deal with the cumulus integration the RepoFileSystemAdaptor interface
+was created.
+
+
+Installation/Deployment
+=======================
+
+Cumulus is installed in via the ./bin/install script. It is installed
+prior to the nimbus service. Once it is installed the cumulus
+environment is sourced and the rest of Nimbus is installed. There are a
+few crucial variables that are set in the
+./services/etc/nimbus/workspace-service/other/common.conf. The
+variables are:
+
+- cumulus.home.dir
+ The cumulus install directory. Typically $NIMBUS_HOME/cumulus
+
+- cumulus.authz.db
+ The cumulus authz database. By default it is an sqlite database and
+ is located at $NIMBUS_HOME/cumulus/etc/authz.db
+
+- cumulus.repo.dir
+ The location of the cumulus posix backend file repository. By default
+ this is $NIMBUS_HOME/cumulus/posixdata. Quite often users will want
+ to change this to a more favorable location. Likely one with more
+ disk space or faster disks.
+
+If Nimbus is installed via ./scripts/all-build-and-install.sh these
+variables will have to be manually set.
+
View
4 service/service/java/source/src/org/globus/workspace/xen/xenssh/ShutdownNormal.java
@@ -55,8 +55,7 @@ protected Exception postExecute(Exception e, boolean fake) {
RepoFileSystemAdaptor nsTrans = XenUtil.getNsTrans();
- VirtualMachinePartition[] parts = vm.getPartitions();
-
+ VirtualMachinePartition[] parts = vm.getPartitions();
for(int i = 0; i < parts.length; i++) {
if (parts[i].isRootdisk()) {
@@ -65,6 +64,7 @@ protected Exception postExecute(Exception e, boolean fake) {
{
img = parts[i].getAlternateUnpropTarget();
}
+
if(nsTrans != null) {
nsTrans.unpropagationFinished(img);
}
Please sign in to comment.
Something went wrong with that request. Please try again.