Revision 271baf11 README.develop

b/README.develop
30 30

  
31 31

  
32 32
2. You do not need to setup your own RabbitMQ nodes, use the AMQP endpoints
33
   contained in settings.py.dist. MAKE SURE to call fix_amqp_settings()
34
   after settings a custom BACKEND_PREFIX_ID.
33
   contained in settings.py.dist. MAKE SURE to call fix_amqp_settings() after
34
   settings a custom BACKEND_PREFIX_ID.
35 35

  
36 36

  
37
3. For development purposes, Django's own development server, ./manage.py runserver
38
   will suffice.
37
3. For development purposes, Django's own development
38
   `server, ./manage.py runserver' will suffice.
39 39

  
40 40

  
41 41
4. Use a virtual environment to install the Django project, or packages provided
......
57 57

  
58 58

  
59 59
8. MAKE SURE you setup a distinct BACKEND_PREFIX_ID, e.g., use your commit
60
   username. Make sure you call fix_amqp_settings() to setup use of
61
   individual queues on RabbiMQ.
60
   username. Make sure you call fix_amqp_settings() to setup use of individual
61
   queues on RabbiMQ.
62 62

  
63 63

  
64 64
9. The Ganeti monitoring daemon from the latest Synnefo release is already
......
73 73

  
74 74

  
75 75
12.The VNC authentication proxy is already running on the Ganeti development
76
   backend. You *cannot* run your own, unless you install your own Ganeti backend,
77
   because it needs direct access to the hypervisor's VNC port on GANETI-NODEs.
76
   backend. You *cannot* run your own, unless you install your own Ganeti
77
   backend, because it needs direct access to the hypervisor's VNC port on
78
   GANETI-NODEs.
78 79

  
79 80

  
80 81
13.The development Ganeti backend already has a number of OS Images available.
81 82

  
82 83

  
83
14.The development Ganeti backend already has a number of pre-provisioned bridges
84
   available, per each BACKEND_PREFIX_ID.
84
14.The development Ganeti backend already has a number of pre-provisioned
85
   bridges available, per each BACKEND_PREFIX_ID.
85 86

  
86 87
   To setup simple NAT-based networking on a Ganeti backend on your own,
87 88
   please see the provided patches under contrib/patches/.
88 89
   You will need minor patches to the sample KVM ifup hook, kvm-vif-bridge,
89
   and a small patch to NFDHCPD to enable it to work with bridged tap+ interfaces.
90
   To support bridged tap interfaces you also need to patch the python-nfqueue
91
   package, patches against python-nfqueue-0.3 [part of Debian Sid] are also
92
   provided under contrib/patches/.
90
   and a small patch to NFDHCPD to enable it to work with bridged tap+
91
   interfaces. To support bridged tap interfaces you also need to patch the
92
   python-nfqueue package, patches against python-nfqueue-0.3 [part of Debian
93
   Sid] are also provided under contrib/patches/.
93 94

  
94 95

  
95 96
15.As is.
......
112 113
    $ ./bin/python manage.py syncdb       # Create / update the database with the south tables
113 114
    $ ./bin/python manage.py migrate db   # Perform migration in the database
114 115

  
115
Note that syncdb will create the latest models that exist in the db app, so
116
some migrations may fail.  If you are sure a migration has already taken place
117
you must use the "--fake" option, to apply it.
116
Note that syncdb will create the latest models that exist in the db app, so some
117
migrations may fail.  If you are sure a migration has already taken place you
118
must use the "--fake" option, to apply it.
118 119

  
119 120
For example:
120 121

  
......
127 128
All starred migrations are applied.
128 129

  
129 130
Remember, the migration is performed mainly for the data, not for the database
130
schema. If you do not want to migrate the data, a syncdb and fake migrations
131
for all the migration versions will suffice.
131
schema. If you do not want to migrate the data, a syncdb and fake migrations for
132
all the migration versions will suffice.
132 133

  
133 134
* Schema migrations:
134 135

  
135
Do not use the syncdb management command. It can only be used
136
the first time and/or if you drop the database and must recreate it from
137
scratch.
138
See "Initial Migration" section.
136
Do not use the syncdb management command. It can only be used the first time
137
and/or if you drop the database and must recreate it from scratch. See
138
"Initial Migration" section.
139 139

  
140 140
Every time you make changes to the database and data migration is not required
141 141
(WARNING: always perform this with extreme care):
142 142

  
143 143
    $ ./bin/python manage.py schemamigration db --auto
144 144

  
145
The above will create the migration script. Now this must be applied to the
146
live database.
145
The above will create the migration script. Now this must be applied to the live
146
database.
147 147

  
148 148
    $ ./bin/python migrate db
149 149

  
150 150
Consider this example (adding a field to the SynnefoUser model):
151 151

  
152
    bkarak@nefarian:~/devel/synnefo$ ./bin/python manage.py schemamigration db --auto
152
    $ ./bin/python manage.py schemamigration db --auto
153 153
     + Added field new_south_test_field on db.SynnefoUser
154 154
     Created 0002_auto__add_field_synnefouser_new_south_test_field.py.
155 155

  
......
177 177

  
178 178
* Data migrations:
179 179

  
180
If we need to do data migration as well, for example rename a field, we use tha
180
If we need to do data migration as well, for example rename a field, we use the
181 181
'datamigration' management command.
182 182

  
183 183
In contrast with schemamigration, to perform complex data migration, we must

Also available in: Unified diff