I'm using the UI to register storage.

- James

On Mon, Mar 12, 2018 at 3:50 PM, Rafael Weingärtner <
rafaelweingart...@gmail.com> wrote:

> So, you are getting the error while adding the storage in ACS. Right?
> I copied and pasted the SQL you have your logs, and I got this:
> Error: Column 'host_address' cannot be null
> SQLState:  23000
>
>
> This is the SQL I executed, which is in one of your emails:
>
> > INSERT INTO storage_pool
> > (storage_pool.id,storage_pool.name
> > ,storage_pool.uuid
> > ,storage_pool.pool_type,storage_pool.created
> > ,storage_pool.update_time,storage_pool.data_center_id,
> storage_pool.pod_id,storage_pool.used_bytes,storage_pool.
> capacity_bytes,storage_pool.status,storage_pool.storage_
> provider_name,storage_pool.host_address,storage_pool.path
> > ,storage_pool.port,storage_pool.user_info,storage_pool.
> cluster_id,storage_pool.scope,storage_pool.managed,storage_
> pool.capacity_iops,storage_pool.hypervisor)
> > VALUES
> > (0
> > ,_binary'PrimaryStorage1',_binary'9c279e74-15a5-3c8a-
> b0d1-14349b59710a','RBD'
> > ,'2018-03-12 14:55:18',null                    ,1
> > ,1                  ,0                      ,0
> > ,'Initialized'      ,_binary'DefaultPrimary'
> > ,null                     ,_binary'6A==@10.10.13.141/rbd',6789
> > ,null                  ,1                      ,null
> > ,0                   ,null                      ,null                   )
> >
>
> Are you using the API or UI to register this storage?
>
>
> On Mon, Mar 12, 2018 at 4:47 PM, McClune, James <
> mcclu...@norwalktruckers.net> wrote:
>
> > I started fresh with 4.11.0. The Ceph storage was already setup, however,
> > I'm just now adding it to ACS.
> >
> > I get this error anytime I add primary storage. Secondary storage can be
> > added with no problems.
> >
> > - James
> >
> > On Mon, Mar 12, 2018 at 3:39 PM, Rafael Weingärtner <
> > rafaelweingart...@gmail.com> wrote:
> >
> > > When are you receiving this error? I mean, are you receiving it when
> you
> > > add the storage? Or, when you do something else? Was the storage
> already
> > > confgured?
> > >
> > >
> > > On Mon, Mar 12, 2018 at 4:35 PM, McClune, James <
> > > mcclu...@norwalktruckers.net> wrote:
> > >
> > > > I'm using Oracle MySQL.
> > > >
> > > > - James
> > > >
> > > > On Mon, Mar 12, 2018 at 3:33 PM, Rafael Weingärtner <
> > > > rafaelweingart...@gmail.com> wrote:
> > > >
> > > > > Well, you can delete the entry you just inserted. the idea to run
> the
> > > SQL
> > > > > was to find the problem.
> > > > > It is odd, I was expecting to be a missing column problem. What is
> > the
> > > DB
> > > > > that you are using? MariaDB or Oracle MySQL?
> > > > >
> > > > > On Mon, Mar 12, 2018 at 4:29 PM, McClune, James <
> > > > > mcclu...@norwalktruckers.net> wrote:
> > > > >
> > > > > > Hi Rafael,
> > > > > >
> > > > > > I ran the SQL query and got these errors:
> > > > > >
> > > > > >
> > > > > > When I deleted the *_binary* and *storage_pool.* from the query
> > > > entries,
> > > > > > it seemed to work. However, I'm still experiencing oddities:
> > > > > >
> > > > > >
> > > > > > Some of my entries were 'null', when they shouldn't be.
> > > > > >
> > > > > > Any help is much appreciated.
> > > > > >
> > > > > > Thanks,
> > > > > > James
> > > > > >
> > > > > > On Mon, Mar 12, 2018 at 3:06 PM, Rafael Weingärtner <
> > > > > > rafaelweingart...@gmail.com> wrote:
> > > > > >
> > > > > >> Did you try running the insert that is causing the error
> manually?
> > > > > >>
> > > > > >> On Mon, Mar 12, 2018 at 4:04 PM, McClune, James <
> > > > > >> mcclu...@norwalktruckers.net> wrote:
> > > > > >>
> > > > > >> > Hello CloudStack Community,
> > > > > >> >
> > > > > >> > I just upgraded ACS from 4.9.3 to 4.11.0. I'm revamping my
> > primary
> > > > > >> storage
> > > > > >> > (Ceph RBD). The problem I'm experiencing is every time I try
> to
> > > > re-add
> > > > > >> my
> > > > > >> > Ceph storage pool, I get this error:
> > > > > >> >
> > > > > >> >
> > > > > >> >    - Something went wrong; please correct the following:
> > > > > >> >    Failed to add data store: DB Exception on:
> > > > > >> >    com.mysql.jdbc.JDBC42PreparedStatement@71996b4a: INSERT
> INTO
> > > > > >> >    storage_pool (storage_pool.id, storage_pool.name,
> > > > > storage_pool.uuid,
> > > > > >> >    storage_pool.pool_type, storage_pool.created,
> > > > > >> storage_pool.update_time,
> > > > > >> >    storage_pool.data_center_id, storage_pool.pod_id,
> > > > > >> > storage_pool.used_bytes,
> > > > > >> >    storage_pool.capacity_bytes, storage_pool.status,
> > > > > >> >    storage_pool.storage_provider_name,
> > storage_pool.host_address,
> > > > > >> >    storage_pool.path, storage_pool.port,
> storage_pool.user_info,
> > > > > >> >    storage_pool.cluster_id, storage_pool.scope,
> > > > storage_pool.managed,
> > > > > >> >    storage_pool.capacity_iops, storage_pool.hypervisor) VALUES
> > (0,
> > > > > >> >    _binary'PrimaryStorage1', _binary'9c279e74-15a5-3c8a-
> > > > > >> > b0d1-14349b59710a',
> > > > > >> >    'RBD', '2018-03-12 14:55:18', null, 1, 1, 0, 0,
> > 'Initialized',
> > > > > >> >    _binary'DefaultPrimary', null, _binary'6A==@
> 10.10.13.141/rbd
> > ',
> > > > > 6789,
> > > > > >> >    null, 1, null, 0, null, null)
> > > > > >> >
> > > > > >> > Here is the error from the management-server.log file:
> > > > > >> >
> > > > > >> > 2018-03-12 11:01:32,786 DEBUG [c.c.u.d.T.Transaction]
> > > > > >> > (qtp66233253-19:ctx-04c43d3a ctx-329be767) (logid:c19a8879)
> > > Rolling
> > > > > back
> > > > > >> > the transaction: Time = 1 Name =  qtp66233253-19; called by
> > > > > >> > -TransactionLegacy.rollback:889-TransactionLegacy.
> > removeUpTo:832-
> > > > > >> > TransactionLegacy.close:656-TransactionContextInterceptor.
> > > > invoke:36-
> > > > > >> > ReflectiveMethodInvocation.proceed:174-
> > > ExposeInvocationInterceptor.
> > > > > >> > invoke:92-ReflectiveMethodInvocation.proceed:185-
> > > > > >> > JdkDynamicAopProxy.invoke:212-$Proxy91.persist:-1-PrimaryDat
> > > > > >> aStoreHelper.
> > > > > >> > createPrimaryDataStore:135-CloudStackPrimaryDataStoreLife
> > > > > >> > CycleImpl.initialize:353-StorageManagerImpl.createPool:710
> > > > > >> > 2018-03-12 11:01:32,788 DEBUG [c.c.s.StorageManagerImpl]
> > > > > >> > (qtp66233253-19:ctx-04c43d3a ctx-329be767) (logid:c19a8879)
> > Failed
> > > > to
> > > > > >> add
> > > > > >> > data store: DB Exception on: com.mysql.jdbc.
> > > > JDBC42PreparedStatement@
> > > > > >> > 4901e335:
> > > > > >> > INSERT INTO storage_pool (storage_pool.id, storage_pool.name,
> > > > > >> > storage_pool.uuid, storage_pool.pool_type,
> storage_pool.created,
> > > > > >> > storage_pool.update_time, storage_pool.data_center_id,
> > > > > >> storage_pool.pod_id,
> > > > > >> > storage_pool.used_bytes, storage_pool.capacity_bytes,
> > > > > >> storage_pool.status,
> > > > > >> > storage_pool.storage_provider_name,
> storage_pool.host_address,
> > > > > >> > storage_pool.path, storage_pool.port, storage_pool.user_info,
> > > > > >> > storage_pool.cluster_id, storage_pool.scope,
> > storage_pool.managed,
> > > > > >> > storage_pool.capacity_iops, storage_pool.hypervisor) VALUES
> (0,
> > > > > >> > _binary'PrimaryStorage1', _binary'9c279e74-15a5-3c8a-b0d
> > > > > >> 1-14349b59710a',
> > > > > >> > 'RBD', '2018-03-12 15:01:32', null, 1, 1, 0, 0, 'Initialized',
> > > > > >> > _binary'DefaultPrimary', null, _binary'6A==@10.10.13.141/rbd'
> ,
> > > > 6789,
> > > > > >> null,
> > > > > >> > 1, null, 0, null, null)
> > > > > >> > com.cloud.utils.exception.CloudRuntimeException: DB Exception
> > on:
> > > > > >> > com.mysql.jdbc.JDBC42PreparedStatement@4901e335: INSERT INTO
> > > > > >> storage_pool
> > > > > >> > (
> > > > > >> > storage_pool.id, storage_pool.name, storage_pool.uuid,
> > > > > >> > storage_pool.pool_type, storage_pool.created,
> > > > > storage_pool.update_time,
> > > > > >> > storage_pool.data_center_id, storage_pool.pod_id,
> > > > > >> storage_pool.used_bytes,
> > > > > >> > storage_pool.capacity_bytes, storage_pool.status,
> > > > > >> > storage_pool.storage_provider_name,
> storage_pool.host_address,
> > > > > >> > storage_pool.path, storage_pool.port, storage_pool.user_info,
> > > > > >> > storage_pool.cluster_id, storage_pool.scope,
> > storage_pool.managed,
> > > > > >> > storage_pool.capacity_iops, storage_pool.hypervisor) VALUES
> (0,
> > > > > >> > _binary'PrimaryStorage1', _binary'9c279e74-15a5-3c8a-b0d
> > > > > >> 1-14349b59710a',
> > > > > >> > 'RBD', '2018-03-12 15:01:32', null, 1, 1, 0, 0, 'Initialized',
> > > > > >> > _binary'DefaultPrimary', null, _binary'6A==@10.10.13.141/rbd'
> ,
> > > > 6789,
> > > > > >> null,
> > > > > >> > 1, null, 0, null, null)
> > > > > >> > at com.cloud.utils.db.GenericDaoBase.persist(
> > > > > GenericDaoBase.java:1436)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.storage.datastore.db.
> > > PrimaryDataStoreDaoImpl.
> > > > > >> > persist(PrimaryDataStoreDaoImpl.java:274)
> > > > > >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > > >> > at
> > > > > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> > > > > >> ssorImpl.java:
> > > > > >> > 62)
> > > > > >> > at
> > > > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > > > >> > DelegatingMethodAccessorImpl.java:43)
> > > > > >> > at java.lang.reflect.Method.invoke(Method.java:498)
> > > > > >> > at
> > > > > >> > org.springframework.aop.support.AopUtils.
> > > > > invokeJoinpointUsingReflection
> > > > > >> > (AopUtils.java:338)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > > >> > invokeJoinpoint(ReflectiveMethodInvocation.java:197)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > proceed(
> > > > > >> > ReflectiveMethodInvocation.java:163)
> > > > > >> > at
> > > > > >> > com.cloud.utils.db.TransactionContextInterceptor.invoke(
> > > > > >> > TransactionContextInterceptor.java:34)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > proceed(
> > > > > >> > ReflectiveMethodInvocation.java:174)
> > > > > >> > at
> > > > > >> > org.springframework.aop.interceptor.
> > ExposeInvocationInterceptor.
> > > > > invoke(
> > > > > >> > ExposeInvocationInterceptor.java:92)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > proceed(
> > > > > >> > ReflectiveMethodInvocation.java:185)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.JdkDynamicAopProxy.
> > > > > >> > invoke(JdkDynamicAopProxy.java:212)
> > > > > >> > at com.sun.proxy.$Proxy91.persist(Unknown Source)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.storage.volume.datastore.
> > > > > PrimaryDataStoreHelper.
> > > > > >> > createPrimaryDataStore(PrimaryDataStoreHelper.java:135)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.storage.datastore.lifecycle.
> > > > > >> > CloudStackPrimaryDataStoreLifeCycleImpl.initialize(
> > > > > >> > CloudStackPrimaryDataStoreLifeCycleImpl.java:353)
> > > > > >> > at
> > > > > >> > com.cloud.storage.StorageManagerImpl.createPool(
> > > > > >> > StorageManagerImpl.java:710)
> > > > > >> > at
> > > > > >> > com.cloud.storage.StorageManagerImpl.createPool(
> > > > > >> > StorageManagerImpl.java:203)
> > > > > >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > > >> > at
> > > > > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> > > > > >> ssorImpl.java:
> > > > > >> > 62)
> > > > > >> > at
> > > > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > > > >> > DelegatingMethodAccessorImpl.java:43)
> > > > > >> > at java.lang.reflect.Method.invoke(Method.java:498)
> > > > > >> > at
> > > > > >> > org.springframework.aop.support.AopUtils.
> > > > > invokeJoinpointUsingReflection
> > > > > >> > (AopUtils.java:338)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > > >> > invokeJoinpoint(ReflectiveMethodInvocation.java:197)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > proceed(
> > > > > >> > ReflectiveMethodInvocation.java:163)
> > > > > >> > at
> > > > > >> > org.springframework.aop.interceptor.
> > ExposeInvocationInterceptor.
> > > > > invoke(
> > > > > >> > ExposeInvocationInterceptor.java:92)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.ReflectiveMethodInvocation.
> > > > proceed(
> > > > > >> > ReflectiveMethodInvocation.java:185)
> > > > > >> > at
> > > > > >> > org.springframework.aop.framework.JdkDynamicAopProxy.
> > > > > >> > invoke(JdkDynamicAopProxy.java:212)
> > > > > >> > at com.sun.proxy.$Proxy94.createPool(Unknown Source)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.api.command.admin.storage.
> > > > > >> > CreateStoragePoolCmd.execute(CreateStoragePoolCmd.java:163)
> > > > > >> > at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:
> 150)
> > > > > >> > at com.cloud.api.ApiServer.queueCommand(ApiServer.java:731)
> > > > > >> > at com.cloud.api.ApiServer.handleRequest(ApiServer.java:555)
> > > > > >> > at com.cloud.api.ApiServlet.processRequestInContext(
> ApiServlet.
> > > > > >> java:310)
> > > > > >> > at com.cloud.api.ApiServlet$1.run(ApiServlet.java:130)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.managed.context.impl.DefaultManagedCon
> > > > > >> text$1.call(
> > > > > >> > DefaultManagedContext.java:56)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.managed.context.impl.
> > DefaultManagedContext.
> > > > > >> > callWithContext(DefaultManagedContext.java:103)
> > > > > >> > at
> > > > > >> > org.apache.cloudstack.managed.context.impl.
> > DefaultManagedContext.
> > > > > >> > runWithContext(DefaultManagedContext.java:53)
> > > > > >> > at com.cloud.api.ApiServlet.processRequest(ApiServlet.
> java:127)
> > > > > >> > at com.cloud.api.ApiServlet.doGet(ApiServlet.java:89)
> > > > > >> > at javax.servlet.http.HttpServlet.service(
> HttpServlet.java:686)
> > > > > >> > at javax.servlet.http.HttpServlet.service(
> HttpServlet.java:791)
> > > > > >> > at org.eclipse.jetty.servlet.ServletHolder.handle(
> ServletHolder
> > > > > >> .java:852)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHan
> > > > > >> dler.java:535)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > > > > >> > ScopedHandler.java:143)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.security.SecurityHandler.handle(
> > > > > >> > SecurityHandler.java:548)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> > > > > >> > HandlerWrapper.java:132)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.
> > > > > >> > nextHandle(ScopedHandler.java:190)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.session.SessionHandler.
> > > > > >> > doHandle(SessionHandler.java:1595)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.
> > > > > >> > nextHandle(ScopedHandler.java:188)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ContextHandler.
> > > > > >> > doHandle(ContextHandler.java:1253)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.
> > > > > >> > nextScope(ScopedHandler.java:168)
> > > > > >> > at org.eclipse.jetty.servlet.ServletHandler.doScope(
> > > > > >> > ServletHandler.java:473)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.session.SessionHandler.
> > > > > >> > doScope(SessionHandler.java:1564)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.
> > > > > >> > nextScope(ScopedHandler.java:166)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ContextHandler.
> > > > > >> > doScope(ContextHandler.java:1155)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > > > > >> > ScopedHandler.java:141)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.gzip.GzipHandler.
> > > > > >> > handle(GzipHandler.java:527)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.HandlerCollection.
> > > > > >> > handle(HandlerCollection.java:126)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> > > > > >> > HandlerWrapper.java:132)
> > > > > >> > at org.eclipse.jetty.server.Server.handle(Server.java:530)
> > > > > >> > at org.eclipse.jetty.server.HttpChannel.handle(
> > > > HttpChannel.java:347)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.server.HttpConnection.onFillable(
> > > > > >> > HttpConnection.java:256)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.io.AbstractConnection$
> ReadCallback.succeeded(
> > > > > >> > AbstractConnection.java:279)
> > > > > >> > at org.eclipse.jetty.io.FillInterest.fillable(
> > > > FillInterest.java:102)
> > > > > >> > at org.eclipse.jetty.io.ChannelEndPoint$2.run(
> > > > > ChannelEndPoint.java:124)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.
> > > > > >> > doProduce(EatWhatYouKill.java:247)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.
> > > > > >> > produce(EatWhatYouKill.java:140)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(
> > > > > >> > EatWhatYouKill.java:131)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.ReservedThreadExecutor$Reserve
> > > > > >> dThread.run(
> > > > > >> > ReservedThreadExecutor.java:382)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> > > > > >> > QueuedThreadPool.java:708)
> > > > > >> > at
> > > > > >> > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
> > > > > >> > QueuedThreadPool.java:626)
> > > > > >> > at java.lang.Thread.run(Thread.java:748)
> > > > > >> > Caused by:
> > > > > >> > com.mysql.jdbc.exceptions.jdbc4.
> MySQLIntegrityConstraintViolat
> > > > > >> > ionException:
> > > > > >> > Column 'host_address' cannot be null
> > > > > >> > at sun.reflect.NativeConstructorAccessorImpl.
> > newInstance0(Native
> > > > > >> Method)
> > > > > >> > at
> > > > > >> > sun.reflect.NativeConstructorAccessorImpl.newInstance(
> > > > > >> > NativeConstructorAccessorImpl.java:62)
> > > > > >> > at
> > > > > >> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> > > > > >> > DelegatingConstructorAccessorImpl.java:45)
> > > > > >> > ... 90 more
> > > > > >> >
> > > > > >> > Is there something I'm missing or did not do correctly? I've
> > been
> > > > > >> getting
> > > > > >> > this error many times today. If anyone knows anything about
> > this,
> > > > > please
> > > > > >> > let me know. I can also produce server logs, if that will be
> any
> > > > help.
> > > > > >> >
> > > > > >> > Thanks,
> > > > > >> > James
> > > > > >> >
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> --
> > > > > >> Rafael Weingärtner
> > > > > >>
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > >
> > > > > >
> > > > > >
> > > > > > James McClune
> > > > > >
> > > > > > Technical Support Specialist
> > > > > >
> > > > > > Norwalk City Schools
> > > > > >
> > > > > > Phone: 419-660-6590
> > > > > >
> > > > > > mcclu...@norwalktruckers.net
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Rafael Weingärtner
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > >
> > > >
> > > >
> > > > James McClune
> > > >
> > > > Technical Support Specialist
> > > >
> > > > Norwalk City Schools
> > > >
> > > > Phone: 419-660-6590
> > > >
> > > > mcclu...@norwalktruckers.net
> > > >
> > >
> > >
> > >
> > > --
> > > Rafael Weingärtner
> > >
> >
> >
> >
> > --
> >
> >
> >
> > James McClune
> >
> > Technical Support Specialist
> >
> > Norwalk City Schools
> >
> > Phone: 419-660-6590
> >
> > mcclu...@norwalktruckers.net
> >
>
>
>
> --
> Rafael Weingärtner
>



-- 



James McClune

Technical Support Specialist

Norwalk City Schools

Phone: 419-660-6590

mcclu...@norwalktruckers.net

Reply via email to