<commit_before>The Omni GENI Client -

Omni is an end-user GENI client that communicates with GENI Aggregate
Managers and presents their resources with a uniform specification,
known as the omnispec.  The Omni client can also communicate with
control frameworks in order to create slices, delete slices, and
enumerate available GENI Aggregate Managers.

To configure Omni, please copy the src/omni_config file to your ~/.omni
directory and fill in the parameters for at least one control
framework.  The "omni" section should be filled in with the
certificate and key that you use in your control framework.

See src/documented_omni_config_dont_use for commentary explaining how to
customize your omni_config file.

The currently supported control frameworks are SFA, PG and GCF.

Omni works by 
- The Framework classes know the API for each clearinghouse
- Aggregate Managers are contacted via the GENI API
- RSpecs are converted to a very simple common 'omnispec'
format. Users (hand) edit these and supply these to createsliver calls.

Each OmniResource has a name, a description, a type, booleans
indicating whether the resource is allocated and whether the request
wants to allocate it, and then hashes for options and misc fields.

Extending Omni to support additional types of Aggregate Managers with
different RSpec formats requires adding a new omnispec/rspec conversion file.

Extending Omni to support additional frameworks with their own
clearinghouse APIs requires adding a new Framework extension class.


Running Omni -

== The following options are supported: ==

-c FILE -- location of your config file (default ~/.omni/omni_config)

-f FRAMEWORK -- control framework to use (e.g. sfa), overiding default
 in config file

--debug -- Enable debug output

== The following commands are supported: ==

** createslice
- format:  omni.py createslice <slice urn>
- example: omni.py createslice <plc:gpo:site+slice+foobar>

  Creates the slice in your chosen control framework.

  Default GCF certs require a slice named geni.net:gpo:gcf+slice+<name>
  based on the GCF_CERT_PREFIX constant in init-ca.py


** deleteslice
- format:  omni.py deleteslice <slice urn>
- example: omni.py deleteslice <plc:gpo:site+slice+foobar>

  Deletes the slice in your chosen control framework


** listresources
- format:  omni.py listresources <optional slice urn>
- example: omni.py listresources <plc:gpo:site+slice+foobar>

  This command will list the rspecs of all geni aggregates available
  through your chosen framework, and present them in omnispec form.
  If a slice urn is supplied, then resources for that slice will be
  displayed.


** createsliver
- format:  omni.py createsliver <slice urn> <omnispec file>
- example: omni.py createsliver plc:gpo:site+slice+foobar ospec
- argument: the omnispec file should have been created by a call to 
            listresources (e.g. omni.py listresources > ospec)
            Then, edit the file and set "allocate": true, for each
			resource that you want to allocate.

  This command will allocate the requested resources (those marked
  with allocate: true in the rspec).  It will send an rspec to each
  aggregate manager that a resource is requested for.



** deletesliver
- format:  omni.py deletesliver <slice urn>
- example: omni.py deletesliver plc:gpo:site+slice+foobar

	This command will free any resources associated with your slice.  



** renewsliver
- format:  omni.py renewsliver <slice urn> "<time>"
- example: omni.py renewsliver plc:gpo:site+slice+foobar "12/12/10 4:15pm"
- example: omni.py renewsliver plc:gpo:site+slice+foobar "12/12/10 16:15"

	This command will renew your resources at each aggregate up to the<commit_msg>a little more usage info<commit_after>The Omni GENI Client -

Omni is an end-user GENI client that communicates with GENI Aggregate
Managers and presents their resources with a uniform specification,
known as the omnispec.  The Omni client can also communicate with
control frameworks in order to create slices, delete slices, and
enumerate available GENI Aggregate Managers.

To configure Omni, please copy the src/omni_config file to your ~/.omni
directory and fill in the parameters for at least one control
framework.  The "omni" section should be filled in with the
certificate and key that you use in your control framework.

See src/documented_omni_config_dont_use for commentary explaining how to
customize your omni_config file.

The currently supported control frameworks are SFA, PG and GCF.

Omni works by 
- The Framework classes know the API for each clearinghouse
- Aggregate Managers are contacted via the GENI API
- RSpecs are converted to a very simple common 'omnispec'
format. Users (hand) edit these and supply these to createsliver calls.

Each OmniResource has a name, a description, a type, booleans
indicating whether the resource is allocated and whether the request
wants to allocate it, and then hashes for options and misc fields.

Extending Omni to support additional types of Aggregate Managers with
different RSpec formats requires adding a new omnispec/rspec conversion file.

Extending Omni to support additional frameworks with their own
clearinghouse APIs requires adding a new Framework extension class.


Running Omni -

== The following options are supported: ==

-c FILE -- location of your config file (default ~/.omni/omni_config)

-f FRAMEWORK -- control framework to use (e.g. sfa), overiding default
 in config file

--debug -- Enable debug output

== The following commands are supported: ==

** createslice
- format:  omni.py createslice <slice urn>
- example: omni.py createslice <plc:gpo:site+slice+foobar>

  Creates the slice in your chosen control framework.

  Default GCF certs require a slice named geni.net:gpo:gcf+slice+<name>
  based on the GCF_CERT_PREFIX constant in init-ca.py
  (also see ch.py SLICEPUBID_PREFIX)


** deleteslice
- format:  omni.py deleteslice <slice urn>
- example: omni.py deleteslice <plc:gpo:site+slice+foobar>

  Deletes the slice in your chosen control framework


** listresources
- format:  omni.py listresources <optional slice urn>
- example: omni.py listresources <plc:gpo:site+slice+foobar>

  This command will list the rspecs of all geni aggregates available
  through your chosen framework, and present them in omnispec form.
  Save the result to a file and edit the allocate value to true
  to set up a reservation RSpec, suitable for use in a call to
  createsliver.
  If a slice urn is supplied, then resources for that slice only 
  will be displayed.



** createsliver
- format:  omni.py createsliver <slice urn> <omnispec file>
- example: omni.py createsliver plc:gpo:site+slice+foobar ospec
- argument: the omnispec file should have been created by a call to 
            listresources (e.g. omni.py listresources > ospec)
            Then, edit the file and set "allocate": true, for each
			resource that you want to allocate.

  This command will allocate the requested resources (those marked
  with allocate: true in the rspec).  It will send an rspec to each
  aggregate manager that a resource is requested for.



** deletesliver
- format:  omni.py deletesliver <slice urn>
- example: omni.py deletesliver plc:gpo:site+slice+foobar

	This command will free any resources associated with your slice.  



** renewsliver
- format:  omni.py renewsliver <slice urn> "<time>"
- example: omni.py renewsliver plc:gpo:site+slice+foobar "12/12/10 4:15pm"
- example: omni.py renewsliver plc:gpo:site+slice+foobar "12/12/10 16:15"

	This command will renew your resources at each aggregate up to the
{'fraction_non_alphanumeric': 0.058304817057120296, 'fraction_numerical': 0.005001316135825217, 'mean_word_length': 4.258823529411765, 'pattern_counts': {'":': 2, '<': 27, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2172019', 'n_tokens_mistral': 2266, 'n_tokens_neox': 2162, 'n_words': 1005}