pyfos_rule_manager
- PyFOS module to provide rule based handling Support.¶
The pyfos_rule_manager
Provides the rule management for REST
supported classes.
Introduction¶
The module pyfos_rule_manager
supports rules a method for config
management support. User can write rules based on various classes/object
and attribute with conditionals for config operations.
Table for all predefined rules¶
Rule Pyfos Class Details R1 defined_configuration Save the Zoning configuration after POST Rule-R1 R2 defined_configuration Save the Zoning configuration after DELETE Rule-R2 R3 defined_configuration Save the Zoning configuration after PATCH Rule-R3 R4 extension_ip_route Ignore non static route entries for DELETE Rule-R4 R5 extension_ip_route Ignore non static route entries for POST Rule-R5 R6 fibrechannel Disable/Enable ports while applying configs Rule-R6 R7 effective_configuration Handle the effective configuration for PATCH Rule-R7 R8 fibrechannel_switch Disable the switch after applying the configs Rule-R8 R9 n_port_map Delete all n-port-map instance configured fports Rule-R9 R10 n_port_map Patch all n-port-map instance configured fports Rule-R10 R11 port_group Delete all port-groups except for pg0 Rule-R11 R12 port_group Create all port-groups other than pg0 Rule-R12 R13 port_group Patch only port-group instance for pg0 Rule-R13
Rule-R1¶
This rule is a predefined rule for defined-configuration POST operation.
As part of rule its meant to fetch the effective-configuration before POST
operation of defined-configuration and then execute cfgsave after the POST
operation is complete using effective-configuration PATCH operation.
This is used by the switch_config_apply
for config apply sequence.
Create defined-configuration config diff:
> +{ > + "defined-configuration": { > + "alias": [ > + { > + "alias-name": "ali1_test", > + "member-entry": { > + "alias-entry-name": [ > + "70:00:8c:7c:ff:5f:54:00", > + "70:00:8c:7c:ff:5f:55:00" > + ] > + } > + }, > + ], > + "cfg": [ > + { > + "cfg-name": "testcfg", > + "member-zone": { > + "zone-name": [ > + "zone1", > + "zone2" > + ] > + } > + } > + ], > + "zone": [ > + { > + "member-entry": { > + "entry-name": [ > + "11:22:33:44:55:66:77:88", > + "21:22:33:44:55:66:77:88" > + ] > + }, > + "zone-name": "zone1", > + "zone-type": "0" > + }, > + { > + "member-entry": { > + "entry-name": [ > + "11:22:33:44:55:66:77:88", > + "21:22:33:44:55:66:77:88" > + ] > + }, > + "zone-name": "zone2", > + "zone-type": "0" > + } > + ] > + } > +}Example:
Execute R1 <class 'pyfos.pyfos_brocade_zone.defined_configuration'> POST http://<IP_ADDRESS>/rest/running/zoning/ defined-configuration?vf-id=128 - CONTENT -> <defined-configuration> <cfg> <member-zone> <zone-name>zone1</zone-name> <zone-name>zone2</zone-name> </member-zone> <cfg-name>testcfg</cfg-name> </cfg> <alias> <alias-name>ali1_test</alias-name> <member-entry> <alias-entry-name>70:00:8c:7c:ff:5f:54:00 </alias-entry-name> <alias-entry-name>70:00:8c:7c:ff:5f:55:00 </alias-entry-name> </member-entry> </alias> <zone> <zone-type>0</zone-type> <member-entry> <entry-name>11:22:33:44:55:66:77:88 </entry-name> <entry-name>21:22:33:44:55:66:77:88 </entry-name> </member-entry> <zone-name>zone1</zone-name> </zone> <zone> <zone-type>0</zone-type> <member-entry> <entry-name>11:22:33:44:55:66:77:88 </entry-name> <entry-name>21:22:33:44:55:66:77:88 </entry-name> </member-entry> <zone-name>zone2</zone-name> </zone> </defined-configuration> {'success-code': 201, 'success-message': 'Created', 'success-type': 'Success'} PATCH http://<IP_ADDRESS>/rest/running/zoning/ effective-configuration?vf-id=128 - CONTENT -> <effective-configuration> <cfg-action>1</cfg-action> <checksum>f4edaf2cfa6c629ecaef3ee3460bb1ea</checksum> </effective-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'}
Rule-R2¶
This rule is a predefined rule for defined-configuration DELETE
operation. As part of rule its meant to fetch the effective-configuration
before DELETE`operation of *defined-configuration* and then execute cfgsave
after the `DELETE operation is complete using effective-configuration
PATCH operation. This is used by the switch_config_apply
for
config apply sequence.
Delete defined-configuration config diff:
< -{ < - "defined-configuration": { < - "alias": [ < - { < - "alias-name": "ali2_test", < - "member-entry": { < - "alias-entry-name": [ < - "90:00:8c:7c:ff:5f:54:00", < - "90:00:8c:7c:ff:5f:55:00" < - ] < - } < - }, < - { < - "alias-name": "ali3_test", < - "member-entry": { < - "alias-entry-name": [ < - "80:00:8c:7c:ff:5f:54:00", < - "80:00:8c:7c:ff:5f:55:00" < - ] < - } < - } < - ] < - } < -}Example:
Execute R2 <class 'pyfos.pyfos_brocade_zone.defined_configuration'> DELETE http://<IP_ADDRESS>/rest/running/zoning/ defined-configuration?vf-id=128 - CONTENT -> <defined-configuration> <alias> <member-entry> <alias-entry-name>90:00:8c:7c:ff:5f:54:00 </alias-entry-name> <alias-entry-name>90:00:8c:7c:ff:5f:55:00 </alias-entry-name> </member-entry> <alias-name>ali2_test</alias-name> </alias> <alias> <member-entry> <alias-entry-name>80:00:8c:7c:ff:5f:54:00 </alias-entry-name> <alias-entry-name>80:00:8c:7c:ff:5f:55:00 </alias-entry-name> </member-entry> <alias-name>ali3_test</alias-name> </alias> </defined-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'} PATCH http://<IP_ADDRESS>/rest/running/zoning/ effective-configuration?vf-id=128 - CONTENT -> <effective-configuration> <cfg-action>1</cfg-action> <checksum>dee3f061746beddbf4ad1c417bc0a61b</checksum> </effective-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'}
Rule-R3¶
This rule is a predefined rule for defined-configuration PATCH
operation. As part of rule its meant to fetch the effective-configuration
before PATCH`operation of *defined-configuration* and then execute cfgsave
after the `PATCH operation is complete using effective-configuration
PATCH operation. This is used by the switch_config_apply
for
config apply sequence.
PATCH defined-configuration config diff:
{ "defined-configuration": { "alias": [ { "alias-name": "ali1_test", "member-entry": { < - "alias-entry-name": "['70:00:8c:7c:ff:5f:54:00', '70:00:8c:7c:ff:5f:55:00']" --- > + "alias-entry-name": "['70:00:8c:7c:ff:5f:54:00', '70:00:8c:7c:ff:5f:55:00', '80:00:8c:7c:ff:5f:55:00']" } } ], "zone": [ { "member-entry": { < - "entry-name": "['11:22:33:44:55:66:77:88', '21:22:33:44:55:66:77:88']" --- > + "entry-name": "['11:22:33:44:55:66:77:88']" }, "zone-name": "zone1" } ] } }Example:
Execute R3 <class 'pyfos.pyfos_brocade_zone.defined_configuration'> PATCH http://<IP_ADDRESS>/rest/running/zoning/ defined-configuration?vf-id=128 - CONTENT -> <defined-configuration> <zone> <zone-name>zone1</zone-name> <member-entry> <entry-name>11:22:33:44:55:66:77:88 </entry-name> </member-entry> </zone> <alias> <member-entry> <alias-entry-name>70:00:8c:7c:ff:5f:54:00 </alias-entry-name> <alias-entry-name>70:00:8c:7c:ff:5f:55:00 </alias-entry-name> <alias-entry-name>80:00:8c:7c:ff:5f:55:00 </alias-entry-name> </member-entry> <alias-name>ali1_test</alias-name> </alias> </defined-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'} PATCH http://<IP_ADDRESS>/rest/running/zoning/ effective-configuration?vf-id=128 - CONTENT -> <effective-configuration> <cfg-action>1</cfg-action> <checksum>e4356bad642e80b7509002c03161e048</checksum> </effective-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'}
Rule-R4¶
This rule is a predefined rule for extension_ip_route DELETE operation to ignore default routes. If only default routes are identified for config operation then there wont be any creation of iproute seen.
Delete extension-ip-route config diff:
< -[ < - { < - "extension-ip-route": { < - "dp-id": "0", < - "ip-address": "<IP_ADDRESS>", < - "ip-gateway": "*", < - "ip-prefix-length": "24", < - "name": "0/7" < - } < - } < -]Example:
Execute R5 <class 'pyfos.pyfos_brocade_extension_ip_route.extension_ip_route'>
Rule-R5¶
This rule is a predefined rule for extension_ip_route POST operation to ignore default routes. If only default routes are identified for config operation then there wont be any creation of iproute seen.
Create extension-ip-route config diff:
> +[ > + { > + "extension-ip-route": { > + "dp-id": "0", > + "ip-address": "<IP_ADDRESS>", > + "ip-gateway": "*", > + "ip-prefix-length": "24", > + "name": "0/7" > + } > + } > +]Example:
Execute R4 <class 'pyfos.pyfos_brocade_extension_ip_route.extension_ip_route'>
Rule-R6¶
This rule is a predefined rule for fibrechannel PATCH operation. As part of rule its meant to disable the ports and enable them after PATCH operation.
Example:
Execute R5 <class 'pyfos.pyfos_brocade_fibrechannel.fibrechannel'> PATCH http://<IP_ADDRESS>/rest/running/brocade-interface/ fibrechannel?vf-id=128 - CONTENT -> <fibrechannel> <name>0/0</name> <enabled-state>6</enabled-state> </fibrechannel> {'success-type': 'Success', 'success-message': 'No Content', 'success-code': 204} PATCH http://<IP_ADDRESS>/rest/running/brocade-interface/ fibrechannel?vf-id=128 - CONTENT -> <fibrechannel> <name>0/0</name> <npiv-enabled>0</npiv-enabled> <speed>16000000000</speed> </fibrechannel> {'success-type': 'Success', 'success-message': 'No Content', 'success-code': 204} PATCH http://<IP_ADDRESS>/rest/running/brocade-interface/ fibrechannel?vf-id=128 - CONTENT -> <fibrechannel> <name>0/0</name> <enabled-state>2</enabled-state> </fibrechannel> {'success-type': 'Success', 'success-message': 'No Content', 'success-code': 204}
Rule-R7¶
This rule is a predefined rule for effective-configuration PATCH operation. As part of rule its meant to fetch the effective-configuration before PATCH operation and use it to populate the checksum for the PATCH operation
Example:
Execute R7 <class 'pyfos.pyfos_brocade_zone.effective_configuration'> PATCH http://<IP_ADDRESS>/rest/running/zoning/ effective-configuration?vf-id=128 - CONTENT -> <effective-configuration> <cfg-name>testcfg</cfg-name> <checksum>dee3f061746beddbf4ad1c417bc0a61b</checksum> </effective-configuration> {'success-code': 204, 'success-message': 'No Content', 'success-type': 'Success'}
Rule-R8¶
This rule is a predefined rule for fibrechannel-switch PATCH operation. As part of rule its meant to disable the fibrechannel-switch before PATCH operation and then perform the expected patch operation for the PATCH operation
Example:
Execute R8 <class 'pyfos.pyfos_brocade_fibrechannel_switch.fibrechannel_switch'> PATCH http://<IP_ADDRESS>/rest/running/brocade-fibrechannel-switch/ fibrechannel-switch - CONTENT -> <fibrechannel-switch> <name>10:00:00:27:f8:fd:1f:80</name> <enabled-state>3</enabled-state> </fibrechannel-switch> {'http-resp-code': 204, 'success-type': 'Success', 'success-code': 204, 'success-message': 'No Content'} PATCH http://<IP_ADDRESS>/rest/running/brocade-fibrechannel-switch/ fibrechannel-switch - CONTENT -> <fibrechannel-switch> <name>10:00:00:27:f8:fd:1f:80</name> <ag-mode>3</ag-mode> </fibrechannel-switch> {'http-resp-code': 204, 'success-type': 'Success', 'success-code': 204, 'success-message': 'No Content'} .......More ports below.......
Rule-R9¶
This rule is a predefined rule for n-port-map DELETE operation where all n-port-map with configured fports are deleted.
DELETE n-port-map config diff:
< -{ < - "n-port-map": { < - "configured-f-port-list": { < - "f-port": [ < - "0/0", < - "0/1" < - ] < - }, < - "failback-enabled": "1", < - "failover-enabled": "1", < - "n-port": "0/16", < - "online-status": "0", < - "reliable-status": "1" < - } < -},Example:
Execute R9 <class 'pyfos.pyfos_brocade_access_gateway.n_port_map'> DELETE http://<IP_ADDRESS>/rest/running/brocade-access-gateway/ n-port-map - CONTENT -> <n-port-map> <n-port>0/16</n-port> </n-port-map> .......More ports below.......
Rule-R10¶
This rule is a predefined rule for n-port-map PATCH operation. As part of rule its meant to configure all n-port-maps with configured fports.
PATCH n-port-map config diff:
> +{ > + [ > + { > + "n-port-map": { > + "failback-enabled": "1", > + "failover-enabled": "1", > + "n-port": "0/23", > + "online-status": "0", > + "reliable-status": "1" > + } > + } > + ]Example:
Execute R10 <class 'pyfos.pyfos_brocade_access_gateway.n_port_map'> PATCH http://<IP_ADDRESS>/rest/running/brocade-access-gateway/ n-port-map - CONTENT -> <n-port-map> <n-port>0/16</n-port> <failover-enabled>1</failover-enabled> <failback-enabled>1</failback-enabled> <configured-f-port-list> <f-port>0/0</f-port> <f-port>0/1</f-port> </configured-f-port-list> </n-port-map> {'success-message': 'No Content', 'success-type': 'Success', 'success-code': 204, 'http-resp-code': 204}
Rule-R11¶
This rule is a predefined rule for port-group DELETE operation to skip default port-group pg0. if there are no port-group deltions then it wont do anything.
Example:
Execute R11 <class 'pyfos.pyfos_brocade_access_gateway.port_group'>
Rule-R12¶
This rule is a predefined rule for port-group POST operation to skip default port-group pg0 from creation.
POST port-group config diff:
> +{ > + "port-group": { > + "port-group-id": "1", > + "port-group-mode": { > + "load-balancing-mode-enabled": "0", > + "multiple-fabric-name-monitoring-mode-enabled": "0" > + }, > + "port-group-n-ports": { > + "n-port": [ > + "0/4" > + ] > + }, > + "port-group-name": "pg1" > + } > +}Example:
Execute R12 <class 'pyfos.pyfos_brocade_access_gateway.port_group'> POST http://<IP_ADDRESS>/rest/running/brocade-access-gateway/ port-group - CONTENT -> <port-group> <port-group-id>1</port-group-id> <port-group-mode> <load-balancing-mode-enabled>0 </load-balancing-mode-enabled> <multiple-fabric-name-monitoring-mode-enabled>0 </multiple-fabric-name-monitoring-mode-enabled> </port-group-mode> <port-group-n-ports> <n-port>0/4</n-port> </port-group-n-ports> <port-group-name>pg1</port-group-name> </port-group> {'success-message': 'Created', 'success-type': 'Success', 'success-code': 201, 'http-resp-code': 201}
Rule-R13¶
This rule is a predefined rule for port-group PATCH operation to only use default port-group pg0 for modification.
PATCH port-group config diff:
{ "port-group": { "port-group-id": "0", "port-group-n-ports": { < - "n-port": "['0/16', '0/17', '0/18', '0/19', '0/20', '0/21', '0/22', '0/23']" --- > + "n-port": "['0/6', '0/7', '0/8', '0/9', '0/12', '0/13', '0/14', '0/15', '0/16', '0/17', '0/18', '0/19', '0/20', '0/21', '0/22', '0/23']" } } }Example:
Execute R13 <class 'pyfos.pyfos_brocade_access_gateway.port_group'> PATCH http://<IP_ADDRESS>/rest/running/brocade-access-gateway/ port-group - CONTENT -> <port-group> <port-group-id>0</port-group-id> <port-group-n-ports> <n-port>0/6</n-port> <n-port>0/7</n-port> <n-port>0/8</n-port> <n-port>0/9</n-port> <n-port>0/12</n-port> <n-port>0/13</n-port> <n-port>0/14</n-port> <n-port>0/15</n-port> <n-port>0/16</n-port> <n-port>0/17</n-port> <n-port>0/18</n-port> <n-port>0/19</n-port> <n-port>0/20</n-port> <n-port>0/21</n-port> <n-port>0/22</n-port> <n-port>0/23</n-port> </port-group-n-ports> </port-group> {'success-message': 'No Content', 'success-type': 'Success', 'success-code': 204, 'http-resp-code': 204}
-
class
pyfos_rule_manager.
rmanyclass
(key, cls=None, op=None, flags=1, obj=None)¶ The class represents a pyfos class dynamically in runtime as a rule element to work with Rule Manager.
-
class
pyfos_rule_manager.
rmattribute
(key, attrib)¶ The class represents a pyfos class object attribute as a rule element to work with Rule Manager.
-
class
pyfos_rule_manager.
rmclass
(key, cls, request, flags=1, obj=None)¶ The class represents a pyfos class as a rule element to work with Rule Manager.
-
class
pyfos_rule_manager.
rmcond
(key, op, lhs, rhs)¶ The class represents a conditional variable as a rule element to work with Rule Manager.
-
class
pyfos_rule_manager.
rmconst
(val)¶ The class represents a value constant as a rule element to work with Rule Manager.
-
class
pyfos_rule_manager.
rmelem
(elemtype=0, key=None)¶ The Base class for all Rule elements of Rule Manager.
-
class
pyfos_rule_manager.
rmmanager
(rulelist=[], cfgmgr=None)¶ The class represents the Rule Manager to manage a set of rules.
-
addRule
(rule)¶ Add rule to Rule Manager.
-
allconfigrules
(session, listoffids, listofslots)¶ Add default config Rules for all operation in Rule Manager.
-
code
(key, session, inputarg={})¶ Generate the code equivalent of rule from Rule Manager.
-
configoprules
(op, session, listfids, slot)¶ Execute Config Rules added in the Rule Manager.
-
configrunrules
(rule, cls, op, session, fid, cfgmgr)¶ Execute a specific config rule from Rule Manager.
-
classmethod
defaultconfigrules
()¶ Default config rules list for Rule Manager.
-
displayclsorm
()¶ Display ORM per class.
-
displayorm
()¶ Display ORM for all the rules.
-
getclsrules
(cls, op)¶ Get All the rules for a given class based on REST request method.
-
initorm
()¶ Init the ORM for a Rule Manager.
-
process
()¶ Process all the rules/ORM/Priority of the Rule Manager.
-
process_priority
()¶ Process priority for all the rules.
-
processorm
()¶ Process ORM for all the rules.
-
processrules
()¶ Process the rules of the Rule Manager for dependency evaluations and mapping.
-
run
(key, session, inputarg={})¶ Execute a Rule from a set of rules of Rule Manager.
-
-
class
pyfos_rule_manager.
rmrule
(rule, tag, inarg=[], fargs=[], operator=[], targ=[], post=[], deps=[])¶ The class represents a rule to work with Rule Manager.
-
class
pyfos_rule_manager.
rule_element_encoder
(skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶ -
default
(obj)¶ Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
-
See also
Module pyfos_class_manager
Module pyfos_config_manager


This app works best with JavaScript enabled.
Pandas Eating Lots
About
this is the static Html page and will receive dynamic content in a moment. ⌛
Pandas are really sweet.
Here is a video of a panda eating sweets
🎗🖼🎫🎐🧶👔👔🥽🎪🎀🎋🎐🎐🏒🥌🎿🛶🏸🥏🥏🥏


Details emerge of moments before Derbyshire woman drowned in floods
Annie Hall had been the Queen's representative in the county
by Michael BroomheadAn inquest has opened into the death of a Derbyshire woman who lost her life in floods earlier this month.
Annie Hall, former High Sheriff of Derbyshire, was swept away in the swollen River Derwent in Rowsley.
Her body was later found downstream in Darley Dale.
Mrs Hall's inquest was opened at Chesterfield coroners' court on Monday, November 18, Derbyshire Times reports.
Sergeant Phillip Bateman, of Matlock police station, told the court: "At approximately 1am on November 8, she and her husband drove into floodwater near Darley Dale.
"Unfortunately the car became partially submerged and the engine seized.
"They left the vehicle on foot and we believe she got swept away by the current.
"Her body was recovered from flooded farmland half a mile from where she was last seen."
The 69-year-old, of Buxton Road, Ashford-in-the-Water, was pronounced dead at the scene by a doctor.
Dr Robert Hunter, Derbyshire's senior coroner, said a pathologist listed the cause of Mrs Hall's death as drowning.
Dr Hunter adjourned the inquest to a later date.
Mrs Hall, who was retired, served as the county’s High Sheriff in 2017.


So I have come to accept the fact I am a ‘victim’ of Imposter Syndrome.
I have felt this way for a while, however, it became completely clear as I was having my Sinatra Portfolio Project. My instructor told me I’m doing a phenomenal job and he could really tell I put a lot of work into my project. He said I was right on track with where I need to be. I didn’t expect these comments at all.
You see, as I go through my lessons, I actually understand what is going on. I could not say that a few months ago. All that code would give me a headache. Now, coding makes so much sense to me. I have learned to slow down and understand what is being asked of me before I just jump into a lab. I find solving a problem becomes easier and easier. I take the ‘Red, Green, Refactor’ to heart. I can make my code work and then I can find ways to make the code better. My confidence in coding has increased so much, however, I still don’t feel ‘good enough’.
There is always a nagging feeling in the back of my mind that I just know I can do better. I am learning to take what I used to believe is a flaw and accept it as a gift. The best advice I can give is that if you feel like you can do better, then you are right on track. It means you have a thirst to learn more and more. Programming is not about knowing everything, it is all about being willing to learn and grow. To take the knowledge you have to make something work and then dig deeper to find a way to make it better and more efficient. Soon, the practice becomes second nature. Programming is about being willing to tackle a challenge. You don’t need to know how to solve the problem, you just need to be willing to look for the answer. I am starting to accept the fact that I know I can do better as a challenge to keep improving, to keep finding ways to make the code behind my programs more elegant efficient.
I still have a hard time talking through my code given my introverted personality. I get tongue-tied when speaking out loud. But nobody is perfect. People seem to think coding is all about being alone in a room in front of a computer. Coding is so much more. It builds up life skills that you didn’t even think you would have. You learn to approach a problem from more than one perspective. It builds a bond between fellow developers to where you can feed off each other’s thoughts and ideas. Just like a basketball team has members who use their individual strengths to work together to win games, web development is a team effort where the strengths of individuals flourish into something amazing that can possibly change the world.


ABOUT
A team started works at 1994th. Our corporation will save you from all problems. We have a lots experience to work with people, who deviated of normal live. Start your life newly. Don't ignore it!
READ MOREA team started works at 1994th. Our corporation will save you from all problems. We have a lots experience to work with people, who deviated of normal live. Start your life newly. Don't ignore it!
READ MORE


The program is expected to be complete around Septemeber 17, 2017.
This website is created by team Lucio for the HACC of 2017. For more information please check our Contact Us page
This webiste is a helpful way for the public and government officials to search through different grants and sponsorships. It includes previous historical data that you can compare and see more information about the grant or sponsorship. It also allows users to narrow down searchers to find which grant applies to them.


Bamboo Buddies
Home
Meet the Pandas
Date Ideas
Merchandise
"A dating site for pandas across the world!"


{% extends "template.html" %} {% block content %}
Congrats! This should only be accesible after logging in!
There is no functionality yet.
Select a Time period
1d
5d
1mo
3mo
6mo
1y
2y
5y
10y
ytd
max
{% endblock %}


We are 70 students from the University of Padova, chosen through a careful and targeted recruiting. Our team is based on values such as collaboration, involvement, willingness to share and learn. Race Up members develop cross-disciplinary skills such as teamwork, project planning and problem solving; skills that will prove to be fundamental in the job market . We believe that only with this environment we can achieve the goals we set for each season. Our commitment continues beyond competitions through a constant research that leads to innovation in materials and working techniques. The desire to innovate pushed the team to introduce, in addition to the internal combustion engine, a second wholly electric car.


{% extends "base.html" %} {% load bootstrap i18n markitup_tags %} {% block title %} - Submit a Proposal for a {{ kind.name }}{% endblock %} {% block body %}
You will be able to edit your proposal after it has been submitted. The program committee may ask questions, provide feedback, and even suggest changes to your proposal as part of the review processes.


Jan 2017 - Dec 2015
Jan 2017 - Dec 2015
Jan 2017 - Dec 2015
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
Photoshop
islustrator
Javascript
HTML/CSS
Creativity
Team Work
Hard Work
Leader ship
Jan 2017 - Dec 2015
Jan 2017 - Dec 2015
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing